Merge tag 'ntb-5.11' of git://github.com/jonmason/ntb
[linux/fpc-iii.git] / tools / lib / traceevent / Documentation / libtraceevent-fields.txt
blob1ccb531d5114fd72b90f9b659e2773d447a510af
1 libtraceevent(3)
2 ================
4 NAME
5 ----
6 tep_event_common_fields, tep_event_fields - Get a list of fields for an event.
8 SYNOPSIS
9 --------
10 [verse]
12 *#include <event-parse.h>*
14 struct tep_format_field pass:[*]pass:[*]*tep_event_common_fields*(struct tep_event pass:[*]_event_);
15 struct tep_format_field pass:[*]pass:[*]*tep_event_fields*(struct tep_event pass:[*]_event_);
18 DESCRIPTION
19 -----------
20 The _tep_event_common_fields()_ function returns an array of pointers to common
21 fields for the _event_. The array is allocated in the function and must be freed
22 by free(). The last element of the array is NULL.
24 The _tep_event_fields()_ function returns an array of pointers to event specific
25 fields for the _event_. The array is allocated in the function and must be freed
26 by free(). The last element of the array is NULL.
28 RETURN VALUE
29 ------------
30 Both _tep_event_common_fields()_ and _tep_event_fields()_ functions return
31 an array of pointers to tep_format_field structures in case of success, or
32 NULL in case of an error.
34 EXAMPLE
35 -------
36 [source,c]
38 #include <event-parse.h>
39 ...
40 struct tep_handle *tep = tep_alloc();
41 ...
42 int i;
43 struct tep_format_field **fields;
44 struct tep_event *event = tep_find_event_by_name(tep, "kvm", "kvm_exit");
45 if (event != NULL) {
46         fields = tep_event_common_fields(event);
47         if (fields != NULL) {
48                 i = 0;
49                 while (fields[i]) {
50                         /*
51                           walk through the list of the common fields
52                           of the kvm_exit event
53                         */
54                         i++;
55                 }
56                 free(fields);
57         }
58         fields = tep_event_fields(event);
59         if (fields != NULL) {
60                 i = 0;
61                 while (fields[i]) {
62                         /*
63                           walk through the list of the event specific
64                           fields of the kvm_exit event
65                         */
66                         i++;
67                 }
68                 free(fields);
69         }
71 ...
74 FILES
75 -----
76 [verse]
78 *event-parse.h*
79         Header file to include in order to have access to the library APIs.
80 *-ltraceevent*
81         Linker switch to add when building a program that uses the library.
84 SEE ALSO
85 --------
86 _libtraceevent(3)_, _trace-cmd(1)_
88 AUTHOR
89 ------
90 [verse]
92 *Steven Rostedt* <rostedt@goodmis.org>, author of *libtraceevent*.
93 *Tzvetomir Stoyanov* <tz.stoyanov@gmail.com>, author of this man page.
95 REPORTING BUGS
96 --------------
97 Report bugs to  <linux-trace-devel@vger.kernel.org>
99 LICENSE
100 -------
101 libtraceevent is Free Software licensed under the GNU LGPL 2.1
103 RESOURCES
104 ---------
105 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git