On Fri, 12 Apr 2019 16:37:56 +0300 Tzvetomir Stoyanov <tstoyanov@xxxxxxxxxx> wrote: > Create man pages for libtraceevent APIs: > tep_find_event() > tep_find_event_by_name() > tep_find_event_by_record() > > Signed-off-by: Tzvetomir Stoyanov <tstoyanov@xxxxxxxxxx> > --- > .../libtraceevent-event_find.txt | 101 ++++++++++++++++++ > 1 file changed, 101 insertions(+) > create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-event_find.txt > > diff --git a/tools/lib/traceevent/Documentation/libtraceevent-event_find.txt b/tools/lib/traceevent/Documentation/libtraceevent-event_find.txt > new file mode 100644 > index 000000000000..797a5cb4e38a > --- /dev/null > +++ b/tools/lib/traceevent/Documentation/libtraceevent-event_find.txt > @@ -0,0 +1,101 @@ > +libtraceevent(3) > +================ > + > +NAME > +---- > +tep_find_event,tep_find_event_by_name,tep_find_event_by_record - > +Find events by given key. > + > +SYNOPSIS > +-------- > +[verse] > +-- > +*#include <event-parse.h>* > + > +struct tep_event pass:[*]*tep_find_event*(struct tep_handle pass:[*]_tep_, int _id_); > +struct tep_event pass:[*]*tep_find_event_by_name*(struct tep_handle pass:[*]_tep_, const char pass:[*]_sys_, const char pass:[*]_name_); > +struct tep_event pass:[*]*tep_find_event_by_record*(struct tep_handle pass:[*]_tep_, struct tep_record pass:[*]_record_); > +-- > + > +DESCRIPTION > +----------- > +This set of functions can be used to search for an event, based on a given > +criteria. All functions require a pointer to a _tep_, trace event parser > +context. > + > +The _tep_find_event()_ function searches for an event by given event _id_. I would state that the id is the number that corresponds to the ID: number that is found in the tracefs event format file. -- Steve > + > +The tep_find_event_by_name()_ function searches for an event by given > +event _name_, under the system _sys_. If the _sys_ is NULL (not specified), > +the first event with _name_ is returned. > + > +The tep_find_event_by_record()_ function searches for an event from a given > +_record_. > + > +RETURN VALUE > +------------ > +All these functions return a pointer to the found event, or NULL if there is no > +such event. > + > +EXAMPLE > +------- > +[source,c] > +-- > +#include <event-parse.h> > +... > +struct tep_handle *tep = tep_alloc(); > +... > +struct tep_event *event; > + > +event = tep_find_event(tep, 1857); > +if (event == NULL) { > + /* There is no event with ID 1857 */ > +} > + > +event = tep_find_event_by_name(tep, "kvm", "kvm_exit"); > +if (event == NULL) { > + /* There is no kvm_exit event, from kvm system */ > +} > + > +void event_from_record(struct tep_record *record) > +{ > + struct tep_event *event = tep_find_event_by_record(tep, record); > + if (event == NULL) { > + /* There is no event from given record */ > + } > +} > +... > +-- > + > +FILES > +----- > +[verse] > +-- > +*event-parse.h* > + Header file to include in order to have access to the library APIs. > +*-ltraceevent* > + Linker switch to add when building a program that uses the library. > +-- > + > +SEE ALSO > +-------- > +_libtraceevent(3)_, _trace-cmd(1)_ > + > +AUTHOR > +------ > +[verse] > +-- > +*Steven Rostedt* <rostedt@xxxxxxxxxxx>, author of *libtraceevent*. > +*Tzvetomir Stoyanov* <tz.stoyanov@xxxxxxxxx>, author of this man page. > +-- > +REPORTING BUGS > +-------------- > +Report bugs to <linux-trace-devel@xxxxxxxxxxxxxxx> > + > +LICENSE > +------- > +libtraceevent is Free Software licensed under the GNU LGPL 2.1 > + > +RESOURCES > +--------- > +https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git