LIBTRACEEVENT(3) libtraceevent Manual LIBTRACEEVENT(3) NAME tep_find_event, tep_find_event_by_name, tep_find_event_by_record, tep_record_is_event - Find events by given key. SYNOPSIS #include struct tep_event *tep_find_event(struct tep_handle *tep, int id); struct tep_event *tep_find_event_by_name(struct tep_handle *tep, const char *sys, const char *name); struct tep_event *tep_find_event_by_record(struct tep_handle *tep, struct tep_record *record); bool tep_record_is_event(struct tep_record *record, struct tep_event *event); 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. The event ID is assigned dynamically and can be viewed in event's format file, "ID" field. 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. The tep_record_is_event() function tests if the given record is of the type of the event. This is normally used to know if the record being processed is of an event where further processing should be done. RETURN VALUE All these functions except tep_record_is_event() return a pointer to the found event, or NULL if there is no such event. EXAMPLE #include ... 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 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 Steven Rostedt , author of libtraceevent. Tzvetomir Stoyanov , author of this man page. REPORTING BUGS Report bugs to LICENSE libtraceevent is Free Software licensed under the GNU LGPL 2.1 RESOURCES https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/ NOTES 1. rostedt@goodmis.org mailto:rostedt@goodmis.org 2. tz.stoyanov@gmail.com mailto:tz.stoyanov@gmail.com 3. linux-trace-devel@vger.kernel.org mailto:linux-trace-devel@vger.kernel.org libtraceevent 01/13/2024 LIBTRACEEVENT(3)