NAME |SYNOPSIS |DESCRIPTION |RETURN VALUE |EXAMPLE |FILES |SEE ALSO |AUTHOR |REPORTING BUGS |LICENSE |RESOURCES |NOTES |COLOPHON | |
LIBTRACEEVENT(3) libtraceevent ManualLIBTRACEEVENT(3)tep_list_events, tep_list_events_copy - Get list of events, sorted by given criteria.
#include <event-parse.h> enumtep_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_typesort_type); struct tep_event **tep_list_events_copy(struct tep_handle *tep, enum tep_event_sort_typesort_type);Thetep_list_events()function returns an array of pointers to the events, sorted by thesort_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. Thetep argument is trace event parser context. Thesort_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. Thetep_list_events_copy()is a thread safe version oftep_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).
Thetep_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. Thetep_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.
#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); } ...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.
libtraceevent(3),trace-cmd(1)
Steven Rostedt<rostedt@goodmis.org[1]>, author oflibtraceevent.Tzvetomir Stoyanov<tz.stoyanov@gmail.com[2]>, author of this man page.
Report bugs to <linux-trace-devel@vger.kernel.org[3]>
libtraceevent is Free Software licensed under the GNU LGPL 2.1
https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/
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
This page is part of thelibtraceevent (Linux kernel trace event library) project. Information about the project can be found at ⟨https://www.trace-cmd.org/⟩. If you have a bug report for this manual page, see ⟨https://www.trace-cmd.org/⟩. This page was obtained from the project's upstream Git repository ⟨https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git⟩ on 2025-08-11. (At that time, the date of the most recent commit that was found in the repository was 2025-05-30.) If you discover any rendering problems in this HTML version of the page, or you believe there is a better or more up-to-date source for the page, or you have corrections or improvements to the information in this COLOPHON (which isnot part of the original manual page), send a mail to man-pages@man7.orglibtraceevent 1.7.3 09/24/2023LIBTRACEEVENT(3)HTML rendering created 2025-09-06 byMichael Kerrisk, author ofThe Linux Programming Interface. For details of in-depthLinux/UNIX system programming training courses that I teach, lookhere. Hosting byjambit GmbH. | ![]() |