---
name: "tep_get_header_page_size"
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_header_page_size"
---

# tep\_get\_header\_page\_size(3)

Get the data stored in the header page, in kernel context.

## NAME

tep\_get\_header\_page\_size, tep\_get\_header\_timestamp\_size, tep\_is\_old\_format - Get the data stored in the header page, in kernel context.

## SYNOPSIS

```
#include <event-parse.h>
int tep_get_header_page_size(struct tep_handle *tep);
int tep_get_header_timestamp_size(struct tep_handle *tep);
bool tep_is_old_format(struct tep_handle *tep);
```

## DESCRIPTION

These functions retrieve information from kernel context, stored in tracefs events/header\_page. Old kernels do not have header page info, so default values from user space context are used.

The **tep\_get\_header\_page\_size()** function returns the size of a long integer, in kernel context. The *tep* argument is trace event parser context. This information is retrieved from tracefs events/header\_page, "commit" field.

The **tep\_get\_header\_timestamp\_size()** function returns the size of timestamps, in kernel context. The *tep* argument is trace event parser context. This information is retrieved from tracefs events/header\_page, "timestamp" field.

The **tep\_is\_old\_format()** function returns true if the kernel predates the addition of events/header\_page, otherwise it returns false.

## RETURN VALUE

The **tep\_get\_header\_page\_size()** function returns the size of a long integer, in bytes.

The **tep\_get\_header\_timestamp\_size()** function returns the size of timestamps, in bytes.

The **tep\_is\_old\_format()** function returns true, if an old kernel is used to generate the tracing data, which has no event/header\_page. If the kernel is new, or *tep* is NULL, false is returned.

## EXAMPLE

```
#include <event-parse.h>
...
struct tep_handle *tep = tep_alloc();
...
        int longsize;
        int timesize;
        bool old;
        longsize = tep_get_header_page_size(tep);
        timesize = tep_get_header_timestamp_size(tep);
        old = tep_is_old_format(tep);
        printf ("%s kernel is used to generate the tracing data.\n",
                old?"Old":"New");
        printf("The size of a long integer is %d bytes.\n", longsize);
        printf("The timestamps size is %d bytes.\n", timesize);
...
```

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