xref: /aosp_15_r20/external/libtraceevent/Documentation/libtraceevent.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 Workerlibtraceevent - Linux kernel trace event library
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 WorkerManagement of tep handler data structure and access of its members:
15*436bf2bcSAndroid Build Coastguard Worker	struct tep_handle pass:[*]*tep_alloc*(void);
16*436bf2bcSAndroid Build Coastguard Worker	void *tep_free*(struct tep_handle pass:[*]_tep_);
17*436bf2bcSAndroid Build Coastguard Worker	void *tep_ref*(struct tep_handle pass:[*]_tep_);
18*436bf2bcSAndroid Build Coastguard Worker	void *tep_unref*(struct tep_handle pass:[*]_tep_);
19*436bf2bcSAndroid Build Coastguard Worker	int *tep_get_ref*(struct tep_handle pass:[*]_tep_);
20*436bf2bcSAndroid Build Coastguard Worker	void *tep_set_flag*(struct tep_handle pass:[*]_tep_, enum tep_flag _flag_);
21*436bf2bcSAndroid Build Coastguard Worker	void *tep_clear_flag*(struct tep_handle pass:[*]_tep_, enum tep_flag _flag_);
22*436bf2bcSAndroid Build Coastguard Worker	bool *tep_test_flag*(struct tep_handle pass:[*]_tep_, enum tep_flag _flags_);
23*436bf2bcSAndroid Build Coastguard Worker	int *tep_get_cpus*(struct tep_handle pass:[*]_tep_);
24*436bf2bcSAndroid Build Coastguard Worker	void *tep_set_cpus*(struct tep_handle pass:[*]_tep_, int _cpus_);
25*436bf2bcSAndroid Build Coastguard Worker	int *tep_get_long_size*(strucqt tep_handle pass:[*]_tep_);
26*436bf2bcSAndroid Build Coastguard Worker	void *tep_set_long_size*(struct tep_handle pass:[*]_tep_, int _long_size_);
27*436bf2bcSAndroid Build Coastguard Worker	int *tep_get_page_size*(struct tep_handle pass:[*]_tep_);
28*436bf2bcSAndroid Build Coastguard Worker	void *tep_set_page_size*(struct tep_handle pass:[*]_tep_, int _page_size_);
29*436bf2bcSAndroid Build Coastguard Worker	int *tep_get_sub_buffer_size*(struct tep_handle pass:[*]_tep_);
30*436bf2bcSAndroid Build Coastguard Worker	int *tep_get_sub_buffer_data_size*(struct tep_handle pass:[*]_tep_);
31*436bf2bcSAndroid Build Coastguard Worker	int *tep_get_sub_buffer_commit_offset*(struct tep_handle pass:[*]_tep_);
32*436bf2bcSAndroid Build Coastguard Worker	int *tep_get_header_page_size*(struct tep_handle pass:[*]_tep_);
33*436bf2bcSAndroid Build Coastguard Worker	int *tep_get_header_timestamp_size*(struct tep_handle pass:[*]_tep_);
34*436bf2bcSAndroid Build Coastguard Worker	bool *tep_is_old_format*(struct tep_handle pass:[*]_tep_);
35*436bf2bcSAndroid Build Coastguard Worker	int *tep_strerror*(struct tep_handle pass:[*]_tep_, enum tep_errno _errnum_, char pass:[*]_buf_, size_t _buflen_);
36*436bf2bcSAndroid Build Coastguard Worker	struct kbuffer pass:[*]*tep_kbuffer*(struct tep_handle pass:[*]_tep_);
37*436bf2bcSAndroid Build Coastguard Worker
38*436bf2bcSAndroid Build Coastguard WorkerRegister / unregister APIs:
39*436bf2bcSAndroid Build Coastguard Worker	int *tep_register_function*(struct tep_handle pass:[*]_tep_, char pass:[*]_name_, unsigned long long _addr_, char pass:[*]_mod_);
40*436bf2bcSAndroid Build Coastguard Worker	int *tep_register_event_handler*(struct tep_handle pass:[*]_tep_, int _id_, const char pass:[*]_sys_name_, const char pass:[*]_event_name_, tep_event_handler_func _func_, void pass:[*]_context_);
41*436bf2bcSAndroid Build Coastguard Worker	int *tep_unregister_event_handler*(struct tep_handle pass:[*]tep, int id, const char pass:[*]sys_name, const char pass:[*]event_name, tep_event_handler_func func, void pass:[*]_context_);
42*436bf2bcSAndroid Build Coastguard Worker	int *tep_register_print_string*(struct tep_handle pass:[*]_tep_, const char pass:[*]_fmt_, unsigned long long _addr_);
43*436bf2bcSAndroid Build Coastguard Worker	int *tep_register_print_function*(struct tep_handle pass:[*]_tep_, tep_func_handler _func_, enum tep_func_arg_type _ret_type_, char pass:[*]_name_, _..._);
44*436bf2bcSAndroid Build Coastguard Worker	int *tep_unregister_print_function*(struct tep_handle pass:[*]_tep_, tep_func_handler _func_, char pass:[*]_name_);
45*436bf2bcSAndroid Build Coastguard Worker	int *tep_get_function_count*(struct tep_handle *_tep_);
46*436bf2bcSAndroid Build Coastguard Worker
47*436bf2bcSAndroid Build Coastguard WorkerTrace printk parsing:
48*436bf2bcSAndroid Build Coastguard Worker	void *tep_print_printk*(struct tep_handle pass:[*]tep);
49*436bf2bcSAndroid Build Coastguard Worker	void *tep_print_funcs*(struct tep_handle pass:[*]tep);
50*436bf2bcSAndroid Build Coastguard Worker	void *tep_set_test_filters*(struct tep_handle pass:[*]tep, int test_filters);
51*436bf2bcSAndroid Build Coastguard Worker	void *tep_plugin_print_options*(struct trace_seq pass:[*]s);
52*436bf2bcSAndroid Build Coastguard Worker	int *tep_plugin_add_option*(const char pass:[*]_name_, const char pass:[*]_val_);
53*436bf2bcSAndroid Build Coastguard Worker
54*436bf2bcSAndroid Build Coastguard WorkerMeta data parsing:
55*436bf2bcSAndroid Build Coastguard Worker	int *tep_parse_saved_cmdlines*(struct tep_handle pass:[*]_tep_, const char pass:[*]_buf_);
56*436bf2bcSAndroid Build Coastguard Worker	int *tep_parse_printk_formats*(struct tep_handle pass:[*]_tep_, const char pass:[*]_buf_);
57*436bf2bcSAndroid Build Coastguard Worker	int *tep_parse_kallsyms*(struct tep_handle pass:[*]_tep_, const char pass:[*]_buf_);
58*436bf2bcSAndroid Build Coastguard Worker
59*436bf2bcSAndroid Build Coastguard WorkerPlugins management:
60*436bf2bcSAndroid Build Coastguard Worker	struct tep_plugin_list pass:[*]*tep_load_plugins*(struct tep_handle pass:[*]_tep_);
61*436bf2bcSAndroid Build Coastguard Worker	void *tep_unload_plugins*(struct tep_plugin_list pass:[*]_plugin_list_, struct tep_handle pass:[*]_tep_);
62*436bf2bcSAndroid Build Coastguard Worker	char pass:[*]pass:[*]*tep_plugin_list_options*(void);
63*436bf2bcSAndroid Build Coastguard Worker	void *tep_plugin_free_options_list*(char pass:[*]pass:[*]_list_);
64*436bf2bcSAndroid Build Coastguard Worker	int *tep_plugin_add_options*(const char pass:[*]_name_, struct tep_plugin_option pass:[*]_options_);
65*436bf2bcSAndroid Build Coastguard Worker	void *tep_plugin_remove_options*(struct tep_plugin_option pass:[*]_options_);
66*436bf2bcSAndroid Build Coastguard Worker	void *tep_print_plugins*(struct trace_seq pass:[*]_s_, const char pass:[*]_prefix_, const char pass:[*]_suffix_, const struct tep_plugin_list pass:[*]_list_);
67*436bf2bcSAndroid Build Coastguard Worker	void *tep_load_plugins_hook*(struct tep_handle pass:[*]_tep_, const char pass:[*]_suffix_,
68*436bf2bcSAndroid Build Coastguard Worker			   void (pass:[*]_load_plugin_)(struct tep_handle pass:[*]tep,
69*436bf2bcSAndroid Build Coastguard Worker					       const char pass:[*]path,
70*436bf2bcSAndroid Build Coastguard Worker					       const char pass:[*]name,
71*436bf2bcSAndroid Build Coastguard Worker					       void pass:[*]data),
72*436bf2bcSAndroid Build Coastguard Worker			   void pass:[*]_data_);
73*436bf2bcSAndroid Build Coastguard Worker	int *tep_add_plugin_path*(struct tep_handle pass:[*]tep, char pass:[*]path,
74*436bf2bcSAndroid Build Coastguard Worker			  enum tep_plugin_load_priority prio);
75*436bf2bcSAndroid Build Coastguard Worker
76*436bf2bcSAndroid Build Coastguard WorkerEvent related APIs:
77*436bf2bcSAndroid Build Coastguard Worker	struct tep_event pass:[*]*tep_get_event*(struct tep_handle pass:[*]_tep_, int _index_);
78*436bf2bcSAndroid Build Coastguard Worker	struct tep_event pass:[*]*tep_get_first_event*(struct tep_handle pass:[*]_tep_);
79*436bf2bcSAndroid Build Coastguard Worker	int *tep_get_events_count*(struct tep_handle pass:[*]_tep_);
80*436bf2bcSAndroid Build Coastguard Worker	struct tep_event pass:[*]pass:[*]*tep_list_events*(struct tep_handle pass:[*]_tep_, enum tep_event_sort_type _sort_type_);
81*436bf2bcSAndroid Build Coastguard Worker	struct tep_event pass:[*]pass:[*]*tep_list_events_copy*(struct tep_handle pass:[*]_tep_, enum tep_event_sort_type _sort_type_);
82*436bf2bcSAndroid Build Coastguard Worker	void *tep_print_event*(struct tep_handle pass:[*]_tep_, struct trace_seq pass:[*]_s_, struct tep_record pass:[*]_record_, const char pass:[*]_fmt_, _..._);
83*436bf2bcSAndroid Build Coastguard Worker
84*436bf2bcSAndroid Build Coastguard WorkerEvent finding:
85*436bf2bcSAndroid Build Coastguard Worker	struct tep_event pass:[*]*tep_find_event*(struct tep_handle pass:[*]_tep_, int _id_);
86*436bf2bcSAndroid Build Coastguard Worker	struct tep_event pass:[*]*tep_find_event_by_name*(struct tep_handle pass:[*]_tep_, const char pass:[*]_sys_, const char pass:[*]_name_);
87*436bf2bcSAndroid Build Coastguard Worker	struct tep_event pass:[*]*tep_find_event_by_record*(struct tep_handle pass:[*]_tep_, struct tep_record pass:[*]_record_);
88*436bf2bcSAndroid Build Coastguard Worker	bool *tep_record_is_event*(struct tep_record pass:[*]record, struct tep_event pass:[*]event);
89*436bf2bcSAndroid Build Coastguard Worker
90*436bf2bcSAndroid Build Coastguard WorkerParsing of event files:
91*436bf2bcSAndroid Build Coastguard Worker	int *tep_parse_header_page*(struct tep_handle pass:[*]_tep_, char pass:[*]_buf_, unsigned long _size_, int _long_size_);
92*436bf2bcSAndroid Build Coastguard Worker	enum tep_errno *tep_parse_event*(struct tep_handle pass:[*]_tep_, const char pass:[*]_buf_, unsigned long _size_, const char pass:[*]_sys_);
93*436bf2bcSAndroid Build Coastguard Worker	enum tep_errno *tep_parse_format*(struct tep_handle pass:[*]_tep_, struct tep_event pass:[*]pass:[*]_eventp_, const char pass:[*]_buf_, unsigned long _size_, const char pass:[*]_sys_);
94*436bf2bcSAndroid Build Coastguard Worker
95*436bf2bcSAndroid Build Coastguard WorkerAPIs related to fields from event's format files:
96*436bf2bcSAndroid Build Coastguard Worker	struct tep_format_field pass:[*]pass:[*]*tep_event_common_fields*(struct tep_event pass:[*]_event_);
97*436bf2bcSAndroid Build Coastguard Worker	struct tep_format_field pass:[*]pass:[*]*tep_event_fields*(struct tep_event pass:[*]_event_);
98*436bf2bcSAndroid Build Coastguard Worker	void pass:[*]*tep_get_field_raw*(struct trace_seq pass:[*]_s_, struct tep_event pass:[*]_event_, const char pass:[*]_name_, struct tep_record pass:[*]_record_, int pass:[*]_len_, int _err_);
99*436bf2bcSAndroid Build Coastguard Worker	int *tep_get_field_val*(struct trace_seq pass:[*]_s_, struct tep_event pass:[*]_event_, const char pass:[*]_name_, struct tep_record pass:[*]_record_, unsigned long long pass:[*]_val_, int _err_);
100*436bf2bcSAndroid Build Coastguard Worker	int *tep_get_common_field_val*(struct trace_seq pass:[*]_s_, struct tep_event pass:[*]_event_, const char pass:[*]_name_, struct tep_record pass:[*]_record_, unsigned long long pass:[*]_val_, int _err_);
101*436bf2bcSAndroid Build Coastguard Worker	int *tep_get_any_field_val*(struct trace_seq pass:[*]_s_, struct tep_event pass:[*]_event_, const char pass:[*]_name_, struct tep_record pass:[*]_record_, unsigned long long pass:[*]_val_, int _err_);
102*436bf2bcSAndroid Build Coastguard Worker	int *tep_read_number_field*(struct tep_format_field pass:[*]_field_, const void pass:[*]_data_, unsigned long long pass:[*]_value_);
103*436bf2bcSAndroid Build Coastguard Worker
104*436bf2bcSAndroid Build Coastguard WorkerEvent fields printing:
105*436bf2bcSAndroid Build Coastguard Worker	void *tep_print_field_content*(struct trace_seq pass:[*]_s_, void pass:[*]_data_, int size, struct tep_format_field pass:[*]_field_);
106*436bf2bcSAndroid Build Coastguard Worker	void *tep_print_fields*(struct trace_seq pass:[*]_s_, void pass:[*]_data_, int _size_, struct tep_event pass:[*]_event_);
107*436bf2bcSAndroid Build Coastguard Worker	int *tep_print_num_field*(struct trace_seq pass:[*]_s_, const char pass:[*]_fmt_, struct tep_event pass:[*]_event_, const char pass:[*]_name_, struct tep_record pass:[*]_record_, int _err_);
108*436bf2bcSAndroid Build Coastguard Worker	int *tep_print_func_field*(struct trace_seq pass:[*]_s_, const char pass:[*]_fmt_, struct tep_event pass:[*]_event_, const char pass:[*]_name_, struct tep_record pass:[*]_record_, int _err_);
109*436bf2bcSAndroid Build Coastguard Worker	void *tep_record_print_fields*(struct trace_seq pass:[*]_s_, struct tep_record pass:[*]_record_, struct tep_event pass:[*]_event_);
110*436bf2bcSAndroid Build Coastguard Worker	void *tep_record_print_selected_fields*(struct trace_seq pass:[*]_s_, struct tep_record pass:[*]_record_, struct tep_event pass:[*]_event_, int _select_mask_);
111*436bf2bcSAndroid Build Coastguard Worker
112*436bf2bcSAndroid Build Coastguard WorkerEvent fields finding:
113*436bf2bcSAndroid Build Coastguard Worker	struct tep_format_field pass:[*]*tep_find_common_field*(struct tep_event pass:[*]_event_, const char pass:[*]_name_);
114*436bf2bcSAndroid Build Coastguard Worker	struct tep_format_field pass:[*]*tep_find_field*(struct tep_event_ormat pass:[*]_event_, const char pass:[*]_name_);
115*436bf2bcSAndroid Build Coastguard Worker	struct tep_format_field pass:[*]*tep_find_any_field*(struct tep_event pass:[*]_event_, const char pass:[*]_name_);
116*436bf2bcSAndroid Build Coastguard Worker
117*436bf2bcSAndroid Build Coastguard WorkerFunctions resolver:
118*436bf2bcSAndroid Build Coastguard Worker	int *tep_set_function_resolver*(struct tep_handle pass:[*]_tep_, tep_func_resolver_t pass:[*]_func_, void pass:[*]_priv_);
119*436bf2bcSAndroid Build Coastguard Worker	void *tep_reset_function_resolver*(struct tep_handle pass:[*]_tep_);
120*436bf2bcSAndroid Build Coastguard Worker	const char pass:[*]*tep_find_function*(struct tep_handle pass:[*]_tep_, unsigned long long _addr_);
121*436bf2bcSAndroid Build Coastguard Worker	unsigned long long *tep_find_function_address*(struct tep_handle pass:[*]_tep_, unsigned long long _addr_);
122*436bf2bcSAndroid Build Coastguard Worker	int *tep_find_function_info*(struct tep_handle pass:[*]_tep_, unsigned long long _addr_, const char pass:[**]_name_,
123*436bf2bcSAndroid Build Coastguard Worker			   unsigned long long pass:[*]_start_, unsigned long pass:[*]_size_);
124*436bf2bcSAndroid Build Coastguard Worker
125*436bf2bcSAndroid Build Coastguard WorkerFilter management:
126*436bf2bcSAndroid Build Coastguard Worker	struct tep_event_filter pass:[*]*tep_filter_alloc*(struct tep_handle pass:[*]_tep_);
127*436bf2bcSAndroid Build Coastguard Worker	enum tep_errno *tep_filter_add_filter_str*(struct tep_event_filter pass:[*]_filter_, const char pass:[*]_filter_str_);
128*436bf2bcSAndroid Build Coastguard Worker	enum tep_errno *tep_filter_match*(struct tep_event_filter pass:[*]_filter_, struct tep_record pass:[*]_record_);
129*436bf2bcSAndroid Build Coastguard Worker	int *tep_filter_strerror*(struct tep_event_filter pass:[*]_filter_, enum tep_errno _err_, char pass:[*]buf, size_t _buflen_);
130*436bf2bcSAndroid Build Coastguard Worker	int *tep_event_filtered*(struct tep_event_filter pass:[*]_filter_, int _event_id_);
131*436bf2bcSAndroid Build Coastguard Worker	void *tep_filter_reset*(struct tep_event_filter pass:[*]_filter_);
132*436bf2bcSAndroid Build Coastguard Worker	void *tep_filter_free*(struct tep_event_filter pass:[*]_filter_);
133*436bf2bcSAndroid Build Coastguard Worker	char pass:[*]*tep_filter_make_string*(struct tep_event_filter pass:[*]_filter_, int _event_id_);
134*436bf2bcSAndroid Build Coastguard Worker	int *tep_filter_remove_event*(struct tep_event_filter pass:[*]_filter_, int _event_id_);
135*436bf2bcSAndroid Build Coastguard Worker	int *tep_filter_copy*(struct tep_event_filter pass:[*]_dest_, struct tep_event_filter pass:[*]_source_);
136*436bf2bcSAndroid Build Coastguard Worker	int *tep_filter_compare*(struct tep_event_filter pass:[*]_filter1_, struct tep_event_filter pass:[*]_filter2_);
137*436bf2bcSAndroid Build Coastguard Worker
138*436bf2bcSAndroid Build Coastguard WorkerParsing various data from the records:
139*436bf2bcSAndroid Build Coastguard Worker	int *tep_data_type*(struct tep_handle pass:[*]_tep_, struct tep_record pass:[*]_rec_);
140*436bf2bcSAndroid Build Coastguard Worker	int *tep_data_pid*(struct tep_handle pass:[*]_tep_, struct tep_record pass:[*]_rec_);
141*436bf2bcSAndroid Build Coastguard Worker	int *tep_data_preempt_count*(struct tep_handle pass:[*]_tep_, struct tep_record pass:[*]_rec_);
142*436bf2bcSAndroid Build Coastguard Worker	int *tep_data_flags*(struct tep_handle pass:[*]_tep_, struct tep_record pass:[*]_rec_);
143*436bf2bcSAndroid Build Coastguard Worker
144*436bf2bcSAndroid Build Coastguard WorkerCommand and task related APIs:
145*436bf2bcSAndroid Build Coastguard Worker	const char pass:[*]*tep_data_comm_from_pid*(struct tep_handle pass:[*]_tep_, int _pid_);
146*436bf2bcSAndroid Build Coastguard Worker	struct cmdline pass:[*]*tep_data_pid_from_comm*(struct tep_handle pass:[*]_tep_, const char pass:[*]_comm_, struct cmdline pass:[*]_next_);
147*436bf2bcSAndroid Build Coastguard Worker	int *tep_register_comm*(struct tep_handle pass:[*]_tep_, const char pass:[*]_comm_, int _pid_);
148*436bf2bcSAndroid Build Coastguard Worker	int *tep_override_comm*(struct tep_handle pass:[*]_tep_, const char pass:[*]_comm_, int _pid_);
149*436bf2bcSAndroid Build Coastguard Worker	bool *tep_is_pid_registered*(struct tep_handle pass:[*]_tep_, int _pid_);
150*436bf2bcSAndroid Build Coastguard Worker	int *tep_cmdline_pid*(struct tep_handle pass:[*]_tep_, struct cmdline pass:[*]_cmdline_);
151*436bf2bcSAndroid Build Coastguard Worker
152*436bf2bcSAndroid Build Coastguard WorkerEndian related APIs:
153*436bf2bcSAndroid Build Coastguard Worker	int *tep_is_bigendian*(void);
154*436bf2bcSAndroid Build Coastguard Worker	unsigned long long *tep_read_number*(struct tep_handle pass:[*]_tep_, const void pass:[*]_ptr_, int _size_);
155*436bf2bcSAndroid Build Coastguard Worker	bool *tep_is_file_bigendian*(struct tep_handle pass:[*]_tep_);
156*436bf2bcSAndroid Build Coastguard Worker	void *tep_set_file_bigendian*(struct tep_handle pass:[*]_tep_, enum tep_endian _endian_);
157*436bf2bcSAndroid Build Coastguard Worker	bool *tep_is_local_bigendian*(struct tep_handle pass:[*]_tep_);
158*436bf2bcSAndroid Build Coastguard Worker	void *tep_set_local_bigendian*(struct tep_handle pass:[*]_tep_, enum tep_endian _endian_);
159*436bf2bcSAndroid Build Coastguard Worker
160*436bf2bcSAndroid Build Coastguard WorkerControl library logs:
161*436bf2bcSAndroid Build Coastguard Worker	int *tep_set_loglevel*(enum tep_loglevel _level_);
162*436bf2bcSAndroid Build Coastguard Worker
163*436bf2bcSAndroid Build Coastguard WorkerKVM plugin calllbacks: (Defined by the application and complied with -rdynamic)
164*436bf2bcSAndroid Build Coastguard Worker	const char pass:[*]*tep_plugin_kvm_get_func*(struct tep_event pass:[*]event,
165*436bf2bcSAndroid Build Coastguard Worker				    struct tep_record pass:[*]record,
166*436bf2bcSAndroid Build Coastguard Worker				    unsigned long long pass:[*]paddr);
167*436bf2bcSAndroid Build Coastguard Worker	void *tep_plugin_kvm_put_func*(const char pass:[*]func);
168*436bf2bcSAndroid Build Coastguard Worker
169*436bf2bcSAndroid Build Coastguard WorkerTrace sequences:
170*436bf2bcSAndroid Build Coastguard Worker*#include <trace-seq.h>*
171*436bf2bcSAndroid Build Coastguard Worker	void *trace_seq_init*(struct trace_seq pass:[*]_s_);
172*436bf2bcSAndroid Build Coastguard Worker	void *trace_seq_reset*(struct trace_seq pass:[*]_s_);
173*436bf2bcSAndroid Build Coastguard Worker	void *trace_seq_destroy*(struct trace_seq pass:[*]_s_);
174*436bf2bcSAndroid Build Coastguard Worker	int *trace_seq_printf*(struct trace_seq pass:[*]_s_, const char pass:[*]_fmt_, ...);
175*436bf2bcSAndroid Build Coastguard Worker	int *trace_seq_vprintf*(struct trace_seq pass:[*]_s_, const char pass:[*]_fmt_, va_list _args_);
176*436bf2bcSAndroid Build Coastguard Worker	int *trace_seq_puts*(struct trace_seq pass:[*]_s_, const char pass:[*]_str_);
177*436bf2bcSAndroid Build Coastguard Worker	int *trace_seq_putc*(struct trace_seq pass:[*]_s_, unsigned char _c_);
178*436bf2bcSAndroid Build Coastguard Worker	void *trace_seq_terminate*(struct trace_seq pass:[*]_s_);
179*436bf2bcSAndroid Build Coastguard Worker	int *trace_seq_do_fprintf*(struct trace_seq pass:[*]_s_, FILE pass:[*]_fp_);
180*436bf2bcSAndroid Build Coastguard Worker	int *trace_seq_do_printf*(struct trace_seq pass:[*]_s_);
181*436bf2bcSAndroid Build Coastguard Worker
182*436bf2bcSAndroid Build Coastguard Workerkbuffer parsing:
183*436bf2bcSAndroid Build Coastguard Worker#include <kbuffer.h>
184*436bf2bcSAndroid Build Coastguard Worker	struct kbuffer pass:[*]*kbuffer_alloc*(enum kbuffer_long_size _size_, enum kbuffer_endian _endian_);
185*436bf2bcSAndroid Build Coastguard Worker	struct kbuffer pass:[*]*kbuffer_dup*(struct kbuffer pass:[*]_kbuf_);
186*436bf2bcSAndroid Build Coastguard Worker	void *kbuffer_free*(struct kbuffer pass:[*]_kbuf_);
187*436bf2bcSAndroid Build Coastguard Worker	int *kbuffer_load_subbuffer*(struct kbuffer pass:[*]_kbuf_, void pass:[*]_subbuffer_);
188*436bf2bcSAndroid Build Coastguard Worker	int *kbuffer_subbuffer_size*(struct kbuffer pass:[*]_kbuf);
189*436bf2bcSAndroid Build Coastguard Worker	void pass:[*]*kbuffer_subbuffer*(struct kbuffer pass:[*]_kbuf);
190*436bf2bcSAndroid Build Coastguard Worker	int *kbuffer_refresh*(struct kbuffer pass:[*]_kbuf_);
191*436bf2bcSAndroid Build Coastguard Worker	int *kbuffer_start_of_data*(struct kbuffer pass:[*]_kbuf_);
192*436bf2bcSAndroid Build Coastguard Worker	unsigned long long *kbuffer_timestamp*(struct kbuffer pass:[*]_kbuf_);
193*436bf2bcSAndroid Build Coastguard Worker	unsigned long long *kbuffer_subbuf_timestamp*(struct kbuffer pass:[*]_kbuf_, void pass:[*]_subbuf_);
194*436bf2bcSAndroid Build Coastguard Worker	void pass:[*]*kbuffer_read_event*(struct kbuffer pass:[*]_kbuf_, unsigned long long pass:[*]_ts_);
195*436bf2bcSAndroid Build Coastguard Worker	void pass:[*]*kbuffer_next_event*(struct kbuffer pass:[*]_kbuf_, unsigned long long pass:[*]_ts_);
196*436bf2bcSAndroid Build Coastguard Worker	void pass:[*]*kbuffer_read_at_offset*(struct kbuffer pass:[*]_kbuf_, int _offset_, unsigned long long pass:[*]_ts_);
197*436bf2bcSAndroid Build Coastguard Worker	int *kbuffer_missed_events*(struct kbuffer pass:[*]_kbuf_);
198*436bf2bcSAndroid Build Coastguard Worker	int *kbuffer_event_size*(struct kbuffer pass:[*]_kbuf_);
199*436bf2bcSAndroid Build Coastguard Worker	int *kbuffer_curr_size*(struct kbuffer pass:[*]_kbuf_);
200*436bf2bcSAndroid Build Coastguard Worker	int *kbuffer_curr_offset*(struct kbuffer pass:[*]_kbuf_);
201*436bf2bcSAndroid Build Coastguard Worker	int *kbuffer_curr_index*(struct kbuffer pass:[*]_kbuf_);
202*436bf2bcSAndroid Build Coastguard Worker	int *kbuffer_read_buffer*(struct kbuffer pass:[*]_kbuf_, void pass:[*]_buffer_, int _start_, int _len_);
203*436bf2bcSAndroid Build Coastguard Worker--
204*436bf2bcSAndroid Build Coastguard Worker
205*436bf2bcSAndroid Build Coastguard WorkerDESCRIPTION
206*436bf2bcSAndroid Build Coastguard Worker-----------
207*436bf2bcSAndroid Build Coastguard WorkerThe libtraceevent(3) library provides APIs to access kernel tracepoint events,
208*436bf2bcSAndroid Build Coastguard Workerlocated in the tracefs file system under the events directory.
209*436bf2bcSAndroid Build Coastguard Worker
210*436bf2bcSAndroid Build Coastguard WorkerENVIRONMENT
211*436bf2bcSAndroid Build Coastguard Worker-----------
212*436bf2bcSAndroid Build Coastguard Worker[verse]
213*436bf2bcSAndroid Build Coastguard Worker--
214*436bf2bcSAndroid Build Coastguard WorkerTRACEEVENT_PLUGIN_DIR
215*436bf2bcSAndroid Build Coastguard Worker	Additional plugin directory. All shared object files, located in this directory will be loaded as traceevent plugins.
216*436bf2bcSAndroid Build Coastguard Worker--
217*436bf2bcSAndroid Build Coastguard Worker
218*436bf2bcSAndroid Build Coastguard WorkerFILES
219*436bf2bcSAndroid Build Coastguard Worker-----
220*436bf2bcSAndroid Build Coastguard Worker[verse]
221*436bf2bcSAndroid Build Coastguard Worker--
222*436bf2bcSAndroid Build Coastguard Worker*event-parse.h*
223*436bf2bcSAndroid Build Coastguard Worker	Header file to include in order to have access to the library APIs.
224*436bf2bcSAndroid Build Coastguard Worker*trace-seq.h*
225*436bf2bcSAndroid Build Coastguard Worker	Header file to include in order to have access to trace sequences related APIs.
226*436bf2bcSAndroid Build Coastguard Worker	Trace sequences are used to allow a function to call several other functions
227*436bf2bcSAndroid Build Coastguard Worker	to create a string of data to use.
228*436bf2bcSAndroid Build Coastguard Worker*-ltraceevent*
229*436bf2bcSAndroid Build Coastguard Worker	Linker switch to add when building a program that uses the library.
230*436bf2bcSAndroid Build Coastguard Worker--
231*436bf2bcSAndroid Build Coastguard Worker
232*436bf2bcSAndroid Build Coastguard WorkerSEE ALSO
233*436bf2bcSAndroid Build Coastguard Worker--------
234*436bf2bcSAndroid Build Coastguard Worker*trace-cmd*(1)
235*436bf2bcSAndroid Build Coastguard Worker
236*436bf2bcSAndroid Build Coastguard WorkerAUTHOR
237*436bf2bcSAndroid Build Coastguard Worker------
238*436bf2bcSAndroid Build Coastguard Worker[verse]
239*436bf2bcSAndroid Build Coastguard Worker--
240*436bf2bcSAndroid Build Coastguard Worker*Steven Rostedt* <[email protected]>, author of *libtraceevent*.
241*436bf2bcSAndroid Build Coastguard Worker*Tzvetomir Stoyanov* <[email protected]>, author of this man page.
242*436bf2bcSAndroid Build Coastguard Worker--
243*436bf2bcSAndroid Build Coastguard WorkerREPORTING BUGS
244*436bf2bcSAndroid Build Coastguard Worker--------------
245*436bf2bcSAndroid Build Coastguard WorkerReport bugs to  <[email protected]>
246*436bf2bcSAndroid Build Coastguard Worker
247*436bf2bcSAndroid Build Coastguard WorkerLICENSE
248*436bf2bcSAndroid Build Coastguard Worker-------
249*436bf2bcSAndroid Build Coastguard Workerlibtraceevent is Free Software licensed under the GNU LGPL 2.1
250*436bf2bcSAndroid Build Coastguard Worker
251*436bf2bcSAndroid Build Coastguard WorkerRESOURCES
252*436bf2bcSAndroid Build Coastguard Worker---------
253*436bf2bcSAndroid Build Coastguard Workerhttps://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/
254