logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

tep_list_events, tep_list_events_copy - Get list of events, sorted by given criteria.

Author

StevenRostedt <rostedt@goodmis.org[1]>, author of libtraceevent.
           TzvetomirStoyanov <tz.stoyanov@gmail.com[2]>, author of this man page.

Description

       The tep_list_events() function returns an array of pointers to the events, sorted by the sort_type
       criteria. The last element of the array is NULL. The returned memory must not be freed, it is managed by
       the library. The function is not thread safe. The tep argument is trace event parser context. The
       sort_type argument is the required sort criteria:

                   TEP_EVENT_SORT_ID     - sort by the event ID.
                   TEP_EVENT_SORT_NAME   - sort by the event (name, system, id) triplet.
                   TEP_EVENT_SORT_SYSTEM - sort by the event (system, name, id) triplet.

       The tep_list_events_copy() is a thread safe version of tep_list_events(). It has the same behavior, but
       the returned array is allocated internally and must be freed by the caller. Note that the content of the
       array must not be freed (see the EXAMPLE below).

Example

           #include <event-parse.h>
           ...
           struct tep_handle *tep = tep_alloc();
           ...
           int i;
           struct tep_event_format **events;

           i=0;
           events = tep_list_events(tep, TEP_EVENT_SORT_ID);
           if (events == NULL) {
                   /* Failed to get the events, sorted by ID */
           } else {
                   while(events[i]) {
                           /* walk through the list of the events, sorted by ID */
                           i++;
                   }
           }

           i=0;
           events = tep_list_events_copy(tep, TEP_EVENT_SORT_NAME);
           if (events == NULL) {
                   /* Failed to get the events, sorted by name */
           } else {
                   while(events[i]) {
                           /* walk through the list of the events, sorted by name */
                           i++;
                   }
                   free(events);
           }

           ...

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

Name

       tep_list_events, tep_list_events_copy - Get list of events, sorted by given criteria.

Notes

Reporting Bugs

       Report bugs to <linux-trace-devel@vger.kernel.org[3]>

Resources

https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/

Return Value

       The tep_list_events() function returns an array of pointers to events. In case of an error, NULL is
       returned. The returned array must not be freed, it is managed by the library.

       The tep_list_events_copy() function returns an array of pointers to events. In case of an error, NULL is
       returned. The returned array must be freed by the caller.

See Also

libtraceevent(3), trace-cmd(1)

Synopsis

#include<event-parse.h>

       enum tep_event_sort_type {
               TEP_EVENT_SORT_ID,
               TEP_EVENT_SORT_NAME,
               TEP_EVENT_SORT_SYSTEM,
       };

       struct tep_event **tep_list_events(struct tep_handle *tep, enum tep_event_sort_type sort_type);
       struct tep_event **tep_list_events_copy(struct tep_handle *tep, enum tep_event_sort_type sort_type);

See Also