Merge tag 'ntb-5.11' of git://github.com/jonmason/ntb
[linux/fpc-iii.git] / tools / lib / traceevent / Documentation / libtraceevent-event_list.txt
blobfba350e5a4cb9e337b8f51bef972b15ae3d19b1d
1 libtraceevent(3)
2 ================
4 NAME
5 ----
6 tep_list_events, tep_list_events_copy -
7 Get list of events, sorted by given criteria.
9 SYNOPSIS
10 --------
11 [verse]
13 *#include <event-parse.h>*
15 enum *tep_event_sort_type* {
16         _TEP_EVENT_SORT_ID_,
17         _TEP_EVENT_SORT_NAME_,
18         _TEP_EVENT_SORT_SYSTEM_,
21 struct tep_event pass:[*]pass:[*]*tep_list_events*(struct tep_handle pass:[*]_tep_, enum tep_event_sort_type _sort_type_);
22 struct tep_event pass:[*]pass:[*]*tep_list_events_copy*(struct tep_handle pass:[*]_tep_, enum tep_event_sort_type _sort_type_);
25 DESCRIPTION
26 -----------
27 The _tep_list_events()_ function returns an array of pointers to the events,
28 sorted by the _sort_type_ criteria. The last element of the array is NULL.
29 The returned memory must not be freed, it is managed by the library.
30 The function is not thread safe. The _tep_ argument is trace event parser
31 context. The _sort_type_ argument is the required sort criteria:
32 [verse]
34         _TEP_EVENT_SORT_ID_     - sort by the event ID.
35         _TEP_EVENT_SORT_NAME_   - sort by the event (name, system, id) triplet.
36         _TEP_EVENT_SORT_SYSTEM_ - sort by the event (system, name, id) triplet.
39 The _tep_list_events_copy()_ is a thread safe version of _tep_list_events()_.
40 It has the same behavior, but the returned array is allocated internally and
41 must be freed by the caller. Note that the content of the array must not be
42 freed (see the EXAMPLE below).
44 RETURN VALUE
45 ------------
46 The _tep_list_events()_ function returns an array of pointers to events.
47 In case of an error, NULL is returned. The returned array must not be freed,
48 it is managed by the library.
50 The _tep_list_events_copy()_ function returns an array of pointers to events.
51 In case of an error, NULL is returned. The returned array must be freed by
52 the caller.
54 EXAMPLE
55 -------
56 [source,c]
58 #include <event-parse.h>
59 ...
60 struct tep_handle *tep = tep_alloc();
61 ...
62 int i;
63 struct tep_event_format **events;
65 i=0;
66 events = tep_list_events(tep, TEP_EVENT_SORT_ID);
67 if (events == NULL) {
68         /* Failed to get the events, sorted by ID */
69 } else {
70         while(events[i]) {
71                 /* walk through the list of the events, sorted by ID */
72                 i++;
73         }
76 i=0;
77 events = tep_list_events_copy(tep, TEP_EVENT_SORT_NAME);
78 if (events == NULL) {
79         /* Failed to get the events, sorted by name */
80 } else {
81         while(events[i]) {
82                 /* walk through the list of the events, sorted by name */
83                 i++;
84         }
85         free(events);
88 ...
91 FILES
92 -----
93 [verse]
95 *event-parse.h*
96         Header file to include in order to have access to the library APIs.
97 *-ltraceevent*
98         Linker switch to add when building a program that uses the library.
101 SEE ALSO
102 --------
103 _libtraceevent(3)_, _trace-cmd(1)_
105 AUTHOR
106 ------
107 [verse]
109 *Steven Rostedt* <rostedt@goodmis.org>, author of *libtraceevent*.
110 *Tzvetomir Stoyanov* <tz.stoyanov@gmail.com>, author of this man page.
112 REPORTING BUGS
113 --------------
114 Report bugs to  <linux-trace-devel@vger.kernel.org>
116 LICENSE
117 -------
118 libtraceevent is Free Software licensed under the GNU LGPL 2.1
120 RESOURCES
121 ---------
122 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git