1 // SPDX-License-Identifier: LGPL-2.1
3 * Copyright (C) 2009, 2010 Red Hat Inc, Steven Rostedt <srostedt@redhat.com>
7 #ifndef _PARSE_EVENTS_INT_H
8 #define _PARSE_EVENTS_INT_H
16 struct tep_plugins_dir;
18 #define __hidden __attribute__((visibility ("hidden")))
23 int header_page_ts_offset;
24 int header_page_ts_size;
25 int header_page_size_offset;
26 int header_page_size_size;
27 int header_page_data_offset;
28 int header_page_data_size;
29 int header_page_overwrite;
31 enum tep_endian file_bigendian;
32 enum tep_endian host_bigendian;
40 struct tep_cmdline *cmdlines;
41 struct cmdline_list *cmdlist;
44 struct func_map *func_map;
45 struct func_resolver *func_resolver;
46 struct func_list *funclist;
47 unsigned int func_count;
49 struct printk_map *printk_map;
50 struct printk_list *printklist;
51 unsigned int printk_count;
53 struct tep_event **events;
55 struct tep_event **sort_events;
56 enum tep_event_sort_type last_type;
77 struct tep_format_field *bprint_ip_field;
78 struct tep_format_field *bprint_fmt_field;
79 struct tep_format_field *bprint_buf_field;
81 struct event_handler *handlers;
82 struct tep_function_handler *func_handlers;
85 struct tep_event *last_event;
87 struct tep_plugins_dir *plugins_dir;
90 enum tep_print_parse_type {
93 PRINT_FMT_ARG_POINTER,
97 struct tep_print_parse {
98 struct tep_print_parse *next;
102 enum tep_print_parse_type type;
103 struct tep_print_arg *arg;
104 struct tep_print_arg *len_as_arg;
107 void free_tep_event(struct tep_event *event);
108 void free_tep_format_field(struct tep_format_field *field);
109 void free_tep_plugin_paths(struct tep_handle *tep);
111 unsigned short data2host2(struct tep_handle *tep, unsigned short data);
112 unsigned int data2host4(struct tep_handle *tep, unsigned int data);
113 unsigned long long data2host8(struct tep_handle *tep, unsigned long long data);
115 /* access to the internal parser */
117 void init_input_buf(const char *buf, unsigned long long size);
118 unsigned long long get_input_buf_ptr(void);
119 const char *get_input_buf(void);
120 enum tep_event_type read_token(char **tok);
121 void free_token(char *tok);
123 #endif /* _PARSE_EVENTS_INT_H */