Merge tag 'block-5.11-2021-01-10' of git://git.kernel.dk/linux-block
[linux/fpc-iii.git] / tools / lib / traceevent / Documentation / libtraceevent-header_page.txt
blob615d117dc39fd54a07d9ce314d7999185b9e70da
1 libtraceevent(3)
2 ================
4 NAME
5 ----
6 tep_get_header_page_size, tep_get_header_timestamp_size, tep_is_old_format -
7 Get the data stored in the header page, in kernel context.
9 SYNOPSIS
10 --------
11 [verse]
13 *#include <event-parse.h>*
15 int *tep_get_header_page_size*(struct tep_handle pass:[*]_tep_);
16 int *tep_get_header_timestamp_size*(struct tep_handle pass:[*]_tep_);
17 bool *tep_is_old_format*(struct tep_handle pass:[*]_tep_);
19 DESCRIPTION
20 -----------
21 These functions retrieve information from kernel context, stored in tracefs
22 events/header_page. Old kernels do not have header page info, so default values
23 from user space context are used.
25 The _tep_get_header_page_size()_ function returns the size of a long integer,
26 in kernel context. The _tep_ argument is trace event parser context.
27 This information is retrieved from tracefs events/header_page, "commit" field.
29 The _tep_get_header_timestamp_size()_ function returns the size of timestamps,
30 in kernel context. The _tep_ argument is trace event parser context. This
31 information is retrieved from tracefs events/header_page, "timestamp" field.
33 The _tep_is_old_format()_ function returns true if the kernel predates
34 the addition of events/header_page, otherwise it returns false.
36 RETURN VALUE
37 ------------
38 The _tep_get_header_page_size()_ function returns the size of a long integer,
39 in bytes.
41 The _tep_get_header_timestamp_size()_ function returns the size of timestamps,
42 in bytes.
44 The _tep_is_old_format()_ function returns true, if an old kernel is used to
45 generate the tracing data, which has no event/header_page. If the kernel is new,
46 or _tep_ is NULL, false is returned.
48 EXAMPLE
49 -------
50 [source,c]
52 #include <event-parse.h>
53 ...
54 struct tep_handle *tep = tep_alloc();
55 ...
56         int longsize;
57         int timesize;
58         bool old;
60         longsize = tep_get_header_page_size(tep);
61         timesize = tep_get_header_timestamp_size(tep);
62         old = tep_is_old_format(tep);
64         printf ("%s kernel is used to generate the tracing data.\n",
65                 old?"Old":"New");
66         printf("The size of a long integer is %d bytes.\n", longsize);
67         printf("The timestamps size is %d bytes.\n", timesize);
68 ...
71 FILES
72 -----
73 [verse]
75 *event-parse.h*
76         Header file to include in order to have access to the library APIs.
77 *-ltraceevent*
78         Linker switch to add when building a program that uses the library.
81 SEE ALSO
82 --------
83 _libtraceevent(3)_, _trace-cmd(1)_
85 AUTHOR
86 ------
87 [verse]
89 *Steven Rostedt* <rostedt@goodmis.org>, author of *libtraceevent*.
90 *Tzvetomir Stoyanov* <tz.stoyanov@gmail.com>, author of this man page.
92 REPORTING BUGS
93 --------------
94 Report bugs to  <linux-trace-devel@vger.kernel.org>
96 LICENSE
97 -------
98 libtraceevent is Free Software licensed under the GNU LGPL 2.1
100 RESOURCES
101 ---------
102 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git