---
name: "tep_get_event"
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_get_event"
---

# tep\_get\_event(3)

Access events.

## NAME

tep\_get\_event, tep\_get\_first\_event, tep\_get\_events\_count - Access events.

## SYNOPSIS

```
#include <event-parse.h>
struct tep_event *tep_get_event(struct tep_handle *tep, int index);
struct tep_event *tep_get_first_event(struct tep_handle *tep);
int tep_get_events_count(struct tep_handle *tep);
```

## DESCRIPTION

The **tep\_get\_event()** function returns a pointer to event at the given *index*. The *tep* argument is trace event parser context, the *index* is the index of the requested event.

The **tep\_get\_first\_event()** function returns a pointer to the first event. As events are stored in an array, this function returns the pointer to the beginning of the array. The *tep* argument is trace event parser context.

The **tep\_get\_events\_count()** function returns the number of the events in the array. The *tep* argument is trace event parser context.

## RETURN VALUE

The **tep\_get\_event()** returns a pointer to the event located at *index*. NULL is returned in case of error, in case there are no events or *index* is out of range.

The **tep\_get\_first\_event()** returns a pointer to the first event. NULL is returned in case of error, or in case there are no events.

The **tep\_get\_events\_count()** returns the number of the events. 0 is returned in case of error, or in case there are no events.

## EXAMPLE

```
#include <event-parse.h>
...
struct tep_handle *tep = tep_alloc();
...
int i,count = tep_get_events_count(tep);
struct tep_event *event, *events = tep_get_first_event(tep);
if (events == NULL) {
        /* There are no events */
} else {
        for (i = 0; i < count; i++) {
                event = (events+i);
                /* process events[i] */
        }
        /* Get the last event */
        event = tep_get_event(tep, count-1);
}
```

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