DOKK / manpages / debian 11 / libtraceevent-doc / tep_parse_header_page.3.en
LIBTRACEEVENT(3) libtraceevent Manual LIBTRACEEVENT(3)

tep_parse_header_page - Parses the data stored in the header page.

#include <event-parse.h>
int tep_parse_header_page(struct tep_handle *tep, char *buf, unsigned long size, int long_size);

The tep_parse_header_page() function parses the header page data from buf, and initializes the tep, trace event parser context, with it. The buffer buf is with size, and is supposed to be copied from tracefs/events/header_page.

Some old kernels do not have header page info, in this case the tep_parse_header_page() function can be called with size equal to 0. The tep context is initialized with default values. The long_size can be used in this use case, to set the size of a long integer to be used.

The tep_parse_header_page() function returns 0 in case of success, or -1 in case of an error.

#include <event-parse.h>
...
struct tep_handle *tep = tep_alloc();
...
char *buf;
int size;
buf = read_file("/sys/kernel/tracing/events/header_page", &size);
if (tep_parse_header_page(tep, buf, size, sizeof(unsigned long)) != 0) {

/* Failed to parse the header page */ } ...

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
02/15/2021 libtraceevent 1.1.2