]> Git Repo - linux.git/blob - tools/lib/traceevent/event-parse-local.h
enetc: Migrate to PHYLINK and PCS_LYNX
[linux.git] / tools / lib / traceevent / event-parse-local.h
1 // SPDX-License-Identifier: LGPL-2.1
2 /*
3  * Copyright (C) 2009, 2010 Red Hat Inc, Steven Rostedt <[email protected]>
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 struct tep_plugins_dir;
17
18 struct 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
88 enum 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
95 struct 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
105 void tep_free_event(struct tep_event *event);
106 void tep_free_format_field(struct tep_format_field *field);
107 void tep_free_plugin_paths(struct tep_handle *tep);
108
109 unsigned short tep_data2host2(struct tep_handle *tep, unsigned short data);
110 unsigned int tep_data2host4(struct tep_handle *tep, unsigned int data);
111 unsigned long long tep_data2host8(struct tep_handle *tep, unsigned long long data);
112
113 #endif /* _PARSE_EVENTS_INT_H */
This page took 0.037448 seconds and 4 git commands to generate.