tep_alloc - Man Page

Create, destroy, manage references of trace event parser context​.

Synopsis

#include <event-parse​.h>

struct tep_handle *tep_alloc(void);
void tep_free(struct tep_handle *tep);
void tep_ref(struct tep_handle *tep);
void tep_unref(struct tep_handle *tep);
int tep_get_ref(struct tep_handle *tep);
struct kbuffer *tep_kbuffer(struct tep_handle *tep);

Description

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

The tep_alloc() function allocates and initializes the tep context​.

The tep_free() function will decrement the reference of the tep 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 argument tep is the pointer to the trace event parser context​.

The tep_ref() function adds a reference to the tep handler​.

The tep_unref() function removes a reference from the tep handler​. When the last reference is removed, the tep is destroyed, and all resources that it had used are cleaned up​.

The tep_ref_get() functions gets the current references of the tep handler​.

The tep_kbuffer() function allocates a kbuffer descriptor that can be used to parse raw data that is represented by the tep handle descriptor​. It must be freed with kbuf_free(3)​.

Return Value

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 of tep​. If tep 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 with kbuf_free(3)​.

Example

#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);
​.​.​.

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 <rostedt@goodmis​.org​[1]>, author of libtraceevent​.
Tzvetomir Stoyanov <tz​.stoyanov@gmail​.com​[2]>, author of this man page​.

Reporting Bugs

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

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

Info

10/02/2026 libtraceevent 1.9.0 libtraceevent Manual