Provided by: libtraceevent-doc_1.7.1-1ubuntu1_all bug

NAME

       tep_alloc, tep_free, tep_ref, tep_unref, tep_get_ref, tep_kbuffer - 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);

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