xref: /aosp_15_r20/external/libtraceevent/Documentation/libtraceevent-fields.txt (revision 436bf2bcd5202612ffffe471bbcc1f277cc8d28e)
1*436bf2bcSAndroid Build Coastguard Workerlibtraceevent(3)
2*436bf2bcSAndroid Build Coastguard Worker================
3*436bf2bcSAndroid Build Coastguard Worker
4*436bf2bcSAndroid Build Coastguard WorkerNAME
5*436bf2bcSAndroid Build Coastguard Worker----
6*436bf2bcSAndroid Build Coastguard Workertep_event_common_fields, tep_event_fields - Get a list of fields for an event.
7*436bf2bcSAndroid Build Coastguard Worker
8*436bf2bcSAndroid Build Coastguard WorkerSYNOPSIS
9*436bf2bcSAndroid Build Coastguard Worker--------
10*436bf2bcSAndroid Build Coastguard Worker[verse]
11*436bf2bcSAndroid Build Coastguard Worker--
12*436bf2bcSAndroid Build Coastguard Worker*#include <event-parse.h>*
13*436bf2bcSAndroid Build Coastguard Worker
14*436bf2bcSAndroid Build Coastguard Workerstruct tep_format_field pass:[*]pass:[*]*tep_event_common_fields*(struct tep_event pass:[*]_event_);
15*436bf2bcSAndroid Build Coastguard Workerstruct tep_format_field pass:[*]pass:[*]*tep_event_fields*(struct tep_event pass:[*]_event_);
16*436bf2bcSAndroid Build Coastguard Worker--
17*436bf2bcSAndroid Build Coastguard Worker
18*436bf2bcSAndroid Build Coastguard WorkerDESCRIPTION
19*436bf2bcSAndroid Build Coastguard Worker-----------
20*436bf2bcSAndroid Build Coastguard WorkerThe *tep_event_common_fields()* function returns an array of pointers to common
21*436bf2bcSAndroid Build Coastguard Workerfields for the _event_. The array is allocated in the function and must be freed
22*436bf2bcSAndroid Build Coastguard Workerby free(). The last element of the array is NULL.
23*436bf2bcSAndroid Build Coastguard Worker
24*436bf2bcSAndroid Build Coastguard WorkerThe *tep_event_fields()* function returns an array of pointers to event specific
25*436bf2bcSAndroid Build Coastguard Workerfields for the _event_. The array is allocated in the function and must be freed
26*436bf2bcSAndroid Build Coastguard Workerby free(). The last element of the array is NULL.
27*436bf2bcSAndroid Build Coastguard Worker
28*436bf2bcSAndroid Build Coastguard WorkerRETURN VALUE
29*436bf2bcSAndroid Build Coastguard Worker------------
30*436bf2bcSAndroid Build Coastguard WorkerBoth *tep_event_common_fields()* and *tep_event_fields()* functions return
31*436bf2bcSAndroid Build Coastguard Workeran array of pointers to tep_format_field structures in case of success, or
32*436bf2bcSAndroid Build Coastguard WorkerNULL in case of an error.
33*436bf2bcSAndroid Build Coastguard Worker
34*436bf2bcSAndroid Build Coastguard WorkerEXAMPLE
35*436bf2bcSAndroid Build Coastguard Worker-------
36*436bf2bcSAndroid Build Coastguard Worker[source,c]
37*436bf2bcSAndroid Build Coastguard Worker--
38*436bf2bcSAndroid Build Coastguard Worker#include <event-parse.h>
39*436bf2bcSAndroid Build Coastguard Worker...
40*436bf2bcSAndroid Build Coastguard Workerstruct tep_handle *tep = tep_alloc();
41*436bf2bcSAndroid Build Coastguard Worker...
42*436bf2bcSAndroid Build Coastguard Workerint i;
43*436bf2bcSAndroid Build Coastguard Workerstruct tep_format_field **fields;
44*436bf2bcSAndroid Build Coastguard Workerstruct tep_event *event = tep_find_event_by_name(tep, "kvm", "kvm_exit");
45*436bf2bcSAndroid Build Coastguard Workerif (event != NULL) {
46*436bf2bcSAndroid Build Coastguard Worker	fields = tep_event_common_fields(event);
47*436bf2bcSAndroid Build Coastguard Worker	if (fields != NULL) {
48*436bf2bcSAndroid Build Coastguard Worker		i = 0;
49*436bf2bcSAndroid Build Coastguard Worker		while (fields[i]) {
50*436bf2bcSAndroid Build Coastguard Worker			/*
51*436bf2bcSAndroid Build Coastguard Worker			  walk through the list of the common fields
52*436bf2bcSAndroid Build Coastguard Worker			  of the kvm_exit event
53*436bf2bcSAndroid Build Coastguard Worker			*/
54*436bf2bcSAndroid Build Coastguard Worker			i++;
55*436bf2bcSAndroid Build Coastguard Worker		}
56*436bf2bcSAndroid Build Coastguard Worker		free(fields);
57*436bf2bcSAndroid Build Coastguard Worker	}
58*436bf2bcSAndroid Build Coastguard Worker	fields = tep_event_fields(event);
59*436bf2bcSAndroid Build Coastguard Worker	if (fields != NULL) {
60*436bf2bcSAndroid Build Coastguard Worker		i = 0;
61*436bf2bcSAndroid Build Coastguard Worker		while (fields[i]) {
62*436bf2bcSAndroid Build Coastguard Worker			/*
63*436bf2bcSAndroid Build Coastguard Worker			  walk through the list of the event specific
64*436bf2bcSAndroid Build Coastguard Worker			  fields of the kvm_exit event
65*436bf2bcSAndroid Build Coastguard Worker			*/
66*436bf2bcSAndroid Build Coastguard Worker			i++;
67*436bf2bcSAndroid Build Coastguard Worker		}
68*436bf2bcSAndroid Build Coastguard Worker		free(fields);
69*436bf2bcSAndroid Build Coastguard Worker	}
70*436bf2bcSAndroid Build Coastguard Worker}
71*436bf2bcSAndroid Build Coastguard Worker...
72*436bf2bcSAndroid Build Coastguard Worker--
73*436bf2bcSAndroid Build Coastguard Worker
74*436bf2bcSAndroid Build Coastguard WorkerFILES
75*436bf2bcSAndroid Build Coastguard Worker-----
76*436bf2bcSAndroid Build Coastguard Worker[verse]
77*436bf2bcSAndroid Build Coastguard Worker--
78*436bf2bcSAndroid Build Coastguard Worker*event-parse.h*
79*436bf2bcSAndroid Build Coastguard Worker	Header file to include in order to have access to the library APIs.
80*436bf2bcSAndroid Build Coastguard Worker*-ltraceevent*
81*436bf2bcSAndroid Build Coastguard Worker	Linker switch to add when building a program that uses the library.
82*436bf2bcSAndroid Build Coastguard Worker--
83*436bf2bcSAndroid Build Coastguard Worker
84*436bf2bcSAndroid Build Coastguard WorkerSEE ALSO
85*436bf2bcSAndroid Build Coastguard Worker--------
86*436bf2bcSAndroid Build Coastguard Worker*libtraceevent*(3), *trace-cmd*(1)
87*436bf2bcSAndroid Build Coastguard Worker
88*436bf2bcSAndroid Build Coastguard WorkerAUTHOR
89*436bf2bcSAndroid Build Coastguard Worker------
90*436bf2bcSAndroid Build Coastguard Worker[verse]
91*436bf2bcSAndroid Build Coastguard Worker--
92*436bf2bcSAndroid Build Coastguard Worker*Steven Rostedt* <[email protected]>, author of *libtraceevent*.
93*436bf2bcSAndroid Build Coastguard Worker*Tzvetomir Stoyanov* <[email protected]>, author of this man page.
94*436bf2bcSAndroid Build Coastguard Worker--
95*436bf2bcSAndroid Build Coastguard WorkerREPORTING BUGS
96*436bf2bcSAndroid Build Coastguard Worker--------------
97*436bf2bcSAndroid Build Coastguard WorkerReport bugs to  <[email protected]>
98*436bf2bcSAndroid Build Coastguard Worker
99*436bf2bcSAndroid Build Coastguard WorkerLICENSE
100*436bf2bcSAndroid Build Coastguard Worker-------
101*436bf2bcSAndroid Build Coastguard Workerlibtraceevent is Free Software licensed under the GNU LGPL 2.1
102*436bf2bcSAndroid Build Coastguard Worker
103*436bf2bcSAndroid Build Coastguard WorkerRESOURCES
104*436bf2bcSAndroid Build Coastguard Worker---------
105*436bf2bcSAndroid Build Coastguard Workerhttps://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/
106