---
name: "tep_event_common_fields"
section: "3"
platform: "linux"
package: "libtraceevent"
version: "1:1.9.1-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/tep_event_common_fields"
---

# tep\_event\_common\_fields(3)

Get a list of fields for an event.

## NAME

tep\_event\_common\_fields, tep\_event\_fields - Get a list of fields for an event.

## SYNOPSIS

```
#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);
```

## DESCRIPTION

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.

## RETURN VALUE

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.

## EXAMPLE

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

## 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)](/libtraceevent/3.md), [**trace-cmd**(1)](/trace-cmd/1.md)

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