# libtraceevent(3) Manual Page

## NAME

tep_parse_header_page - Parses the data stored in the header page.

## SYNOPSIS

    #include <event-parse.h>

    int tep_parse_header_page(struct tep_handle *tep, char *buf, unsigned long size, int long_size);

## DESCRIPTION

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.

## RETURN VALUE

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

## EXAMPLE

    #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 */
    }
    ...

## 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), trace-cmd(1)

## AUTHOR

    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/