LIBTRACEEVENT(3) libtraceevent Manual LIBTRACEEVENT(3)

tep_event_common_fields, tep_event_fields - Get a list of fields for an event.

#include <event-parse.h>
struct tep_format_field **tep_event_common_fields(struct tep_event *event);
struct tep_format_field **tep_event_fields(struct tep_event *event);

The tep_event_common_fields() function returns an array of pointers to common fields for the event. The array is allocated in the function and must be freed by free(). The last element of the array is NULL.

The tep_event_fields() function returns an array of pointers to event specific fields for the event. The array is allocated in the function and must be freed by free(). The last element of the array is NULL.

Both tep_event_common_fields() and tep_event_fields() functions return an array of pointers to tep_format_field structures in case of success, or NULL in case of an error.

#include <event-parse.h>
...
struct tep_handle *tep = tep_alloc();
...
int i;
struct tep_format_field **fields;
struct tep_event *event = tep_find_event_by_name(tep, "kvm", "kvm_exit");
if (event != NULL) {
        fields = tep_event_common_fields(event);
        if (fields != NULL) {
                i = 0;
                while (fields[i]) {
                        /*
                          walk through the list of the common fields
                          of the kvm_exit event
                        */
                        i++;
                }
                free(fields);
        }
        fields = tep_event_fields(event);
        if (fields != NULL) {
                i = 0;
                while (fields[i]) {
                        /*
                          walk through the list of the event specific
                          fields of the kvm_exit event
                        */
                        i++;
                }
                free(fields);
        }
}
...

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 of libtraceevent.
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
01/13/2024 libtraceevent