NAME |SYNOPSIS |DESCRIPTION |RETURN VALUE |EXAMPLE |FILES |SEE ALSO |AUTHOR |REPORTING BUGS |LICENSE |RESOURCES |NOTES |COLOPHON | |
LIBTRACEEVENT(3) libtraceevent ManualLIBTRACEEVENT(3)tep_alloc, tep_free, tep_ref, tep_unref, tep_get_ref, tep_kbuffer - Create, destroy, manage references of trace event parser context.
#include <event-parse.h> struct tep_handle *tep_alloc(void); voidtep_free(struct tep_handle *tep); voidtep_ref(struct tep_handle *tep); voidtep_unref(struct tep_handle *tep); inttep_get_ref(struct tep_handle *tep); struct kbuffer *tep_kbuffer(struct tep_handle *tep);
These are the main functions to create and destroy tep_handle - the main structure, representing the trace event parser context. This context is used as the input parameter of most library APIs. Thetep_alloc()function allocates and initializes the tep context. Thetep_free()function will decrement the reference of thetep handler. When there is no more references, then it will free the handler, as well as clean up all its resources that it had used. The argumenttep is the pointer to the trace event parser context. Thetep_ref()function adds a reference to thetep handler. Thetep_unref()function removes a reference from thetep handler. When the last reference is removed, thetep is destroyed, and all resources that it had used are cleaned up. Thetep_ref_get()functions gets the current references of thetep handler. Thetep_kbuffer()function allocates a kbuffer descriptor that can be used to parse raw data that is represented by thetep handle descriptor. It must be freed withkbuf_free(3).
tep_alloc()returns a pointer to a newly created tep_handle structure. NULL is returned in case there is not enough free memory to allocate it.tep_ref_get()returns the current references oftep. Iftep is NULL, 0 is returned.tep_kbuffer()returns a kbuffer descriptor that can parse the raw data that represents the tep handle. Must be freed withkbuf_free(3).
#include <event-parse.h> ... struct tep_handle *tep = tep_alloc(); ... int ref = tep_get_ref(tep); tep_ref(tep); if ( (ref+1) != tep_get_ref(tep)) { /* Something wrong happened, the counter is not incremented by 1 */ } tep_unref(tep); ... tep_free(tep); ...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.8.2 06/07/2024LIBTRACEEVENT(3)Pages that refer to this page:tracefs_local_events(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. | ![]() |