Loading...
Note: File does not exist in v6.2.
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
10struct tep_cmdline;
11struct cmdline_list;
12struct func_map;
13struct func_list;
14struct event_handler;
15struct func_resolver;
16struct tep_plugins_dir;
17
18struct tep_handle {
19 int ref_count;
20
21 int header_page_ts_offset;
22 int header_page_ts_size;
23 int header_page_size_offset;
24 int header_page_size_size;
25 int header_page_data_offset;
26 int header_page_data_size;
27 int header_page_overwrite;
28
29 enum tep_endian file_bigendian;
30 enum tep_endian host_bigendian;
31
32 int old_format;
33
34 int cpus;
35 int long_size;
36 int page_size;
37
38 struct tep_cmdline *cmdlines;
39 struct cmdline_list *cmdlist;
40 int cmdline_count;
41
42 struct func_map *func_map;
43 struct func_resolver *func_resolver;
44 struct func_list *funclist;
45 unsigned int func_count;
46
47 struct printk_map *printk_map;
48 struct printk_list *printklist;
49 unsigned int printk_count;
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 struct tep_plugins_dir *plugins_dir;
86};
87
88enum tep_print_parse_type {
89 PRINT_FMT_STRING,
90 PRINT_FMT_ARG_DIGIT,
91 PRINT_FMT_ARG_POINTER,
92 PRINT_FMT_ARG_STRING,
93};
94
95struct tep_print_parse {
96 struct tep_print_parse *next;
97
98 char *format;
99 int ls;
100 enum tep_print_parse_type type;
101 struct tep_print_arg *arg;
102 struct tep_print_arg *len_as_arg;
103};
104
105void tep_free_event(struct tep_event *event);
106void tep_free_format_field(struct tep_format_field *field);
107void tep_free_plugin_paths(struct tep_handle *tep);
108
109unsigned short tep_data2host2(struct tep_handle *tep, unsigned short data);
110unsigned int tep_data2host4(struct tep_handle *tep, unsigned int data);
111unsigned long long tep_data2host8(struct tep_handle *tep, unsigned long long data);
112
113#endif /* _PARSE_EVENTS_INT_H */