1 // SPDX-License-Identifier: LGPL-2.1
2 /*
3  * Copyright (C) 2009, 2010 Red Hat Inc, Steven Rostedt <srostedt@redhat.com>
4  *
5  */
6 
7 #ifndef _PARSE_EVENTS_INT_H
8 #define _PARSE_EVENTS_INT_H
9 
10 struct tep_cmdline;
11 struct cmdline_list;
12 struct func_map;
13 struct func_list;
14 struct event_handler;
15 struct func_resolver;
16 
17 struct tep_handle {
18 	int ref_count;
19 
20 	int header_page_ts_offset;
21 	int header_page_ts_size;
22 	int header_page_size_offset;
23 	int header_page_size_size;
24 	int header_page_data_offset;
25 	int header_page_data_size;
26 	int header_page_overwrite;
27 
28 	enum tep_endian file_bigendian;
29 	enum tep_endian host_bigendian;
30 
31 	int old_format;
32 
33 	int cpus;
34 	int long_size;
35 	int page_size;
36 
37 	struct tep_cmdline *cmdlines;
38 	struct cmdline_list *cmdlist;
39 	int cmdline_count;
40 
41 	struct func_map *func_map;
42 	struct func_resolver *func_resolver;
43 	struct func_list *funclist;
44 	unsigned int func_count;
45 
46 	struct printk_map *printk_map;
47 	struct printk_list *printklist;
48 	unsigned int printk_count;
49 
50 
51 	struct tep_event **events;
52 	int nr_events;
53 	struct tep_event **sort_events;
54 	enum tep_event_sort_type last_type;
55 
56 	int type_offset;
57 	int type_size;
58 
59 	int pid_offset;
60 	int pid_size;
61 
62 	int pc_offset;
63 	int pc_size;
64 
65 	int flags_offset;
66 	int flags_size;
67 
68 	int ld_offset;
69 	int ld_size;
70 
71 	int test_filters;
72 
73 	int flags;
74 
75 	struct tep_format_field *bprint_ip_field;
76 	struct tep_format_field *bprint_fmt_field;
77 	struct tep_format_field *bprint_buf_field;
78 
79 	struct event_handler *handlers;
80 	struct tep_function_handler *func_handlers;
81 
82 	/* cache */
83 	struct tep_event *last_event;
84 };
85 
86 void tep_free_event(struct tep_event *event);
87 void tep_free_format_field(struct tep_format_field *field);
88 
89 unsigned short tep_data2host2(struct tep_handle *tep, unsigned short data);
90 unsigned int tep_data2host4(struct tep_handle *tep, unsigned int data);
91 unsigned long long tep_data2host8(struct tep_handle *tep, unsigned long long data);
92 
93 #endif /* _PARSE_EVENTS_INT_H */
94