tep_alloc(3) — Linux manual page

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | EXAMPLE | FILES | SEE ALSO | AUTHOR | REPORTING BUGS | LICENSE | RESOURCES | NOTES | COLOPHON

LIBTRACEEVENT(3)          libtraceevent Manual          LIBTRACEEVENT(3)

NAME         top

       tep_alloc, tep_free, tep_ref, tep_unref, tep_get_ref, tep_kbuffer
       - Create, destroy, manage references of trace event parser
       context.

SYNOPSIS         top

       #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         top

       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         top

       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         top

           #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         top

           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         top

       libtraceevent(3), trace-cmd(1)

AUTHOR         top

           Steven Rostedt <rostedt@goodmis.org[1]>, author of libtraceevent.
           Tzvetomir Stoyanov <tz.stoyanov@gmail.com[2]>, author of this man page.

REPORTING BUGS         top

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

LICENSE         top

       libtraceevent is Free Software licensed under the GNU LGPL 2.1

RESOURCES         top

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

NOTES         top

        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

COLOPHON         top

       This page is part of the libtraceevent (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 2023-12-22.  (At that time, the date of the most recent commit
       that was found in the repository was 2023-06-07.)  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 is not part of the original
       manual page), send a mail to man-pages@man7.org

libtraceevent 1.7.3            09/24/2023               LIBTRACEEVENT(3)

Pages that refer to this page: tracefs_local_events(3)