# tep_find_event

## 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 <event-parse.h>**
    
           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 <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



               **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.
    


## 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
    


* * *