libtraceevent(3)
================

NAME
----
tep_get_event, tep_get_first_event, tep_get_events_count - Access events.

SYNOPSIS
--------
[verse]
--
*#include <event-parse.h>*

struct tep_event pass:[*]*tep_get_event*(struct tep_handle pass:[*]_tep_, int _index_);
struct tep_event pass:[*]*tep_get_first_event*(struct tep_handle pass:[*]_tep_);
int *tep_get_events_count*(struct tep_handle pass:[*]_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
-------
[source,c]
--
#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
-----
[verse]
--
*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
------
[verse]
--
*Steven Rostedt* <rostedt@goodmis.org>, author of *libtraceevent*.
*Tzvetomir Stoyanov* <tz.stoyanov@gmail.com>, author of this man page.
--
REPORTING BUGS
--------------
Report bugs to  <linux-trace-devel@vger.kernel.org>

LICENSE
-------
libtraceevent is Free Software licensed under the GNU LGPL 2.1

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