mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
123 lines
2.6 KiB
123 lines
2.6 KiB
// SPDX-License-Identifier: LGPL-2.1 |
|
/* |
|
* Copyright (C) 2009, 2010 Red Hat Inc, Steven Rostedt <[email protected]> |
|
* |
|
*/ |
|
|
|
#ifndef _PARSE_EVENTS_INT_H |
|
#define _PARSE_EVENTS_INT_H |
|
|
|
struct tep_cmdline; |
|
struct cmdline_list; |
|
struct func_map; |
|
struct func_list; |
|
struct event_handler; |
|
struct func_resolver; |
|
struct tep_plugins_dir; |
|
|
|
#define __hidden __attribute__((visibility ("hidden"))) |
|
|
|
struct tep_handle { |
|
int ref_count; |
|
|
|
int header_page_ts_offset; |
|
int header_page_ts_size; |
|
int header_page_size_offset; |
|
int header_page_size_size; |
|
int header_page_data_offset; |
|
int header_page_data_size; |
|
int header_page_overwrite; |
|
|
|
enum tep_endian file_bigendian; |
|
enum tep_endian host_bigendian; |
|
|
|
int old_format; |
|
|
|
int cpus; |
|
int long_size; |
|
int page_size; |
|
|
|
struct tep_cmdline *cmdlines; |
|
struct cmdline_list *cmdlist; |
|
int cmdline_count; |
|
|
|
struct func_map *func_map; |
|
struct func_resolver *func_resolver; |
|
struct func_list *funclist; |
|
unsigned int func_count; |
|
|
|
struct printk_map *printk_map; |
|
struct printk_list *printklist; |
|
unsigned int printk_count; |
|
|
|
struct tep_event **events; |
|
int nr_events; |
|
struct tep_event **sort_events; |
|
enum tep_event_sort_type last_type; |
|
|
|
int type_offset; |
|
int type_size; |
|
|
|
int pid_offset; |
|
int pid_size; |
|
|
|
int pc_offset; |
|
int pc_size; |
|
|
|
int flags_offset; |
|
int flags_size; |
|
|
|
int ld_offset; |
|
int ld_size; |
|
|
|
int test_filters; |
|
|
|
int flags; |
|
|
|
struct tep_format_field *bprint_ip_field; |
|
struct tep_format_field *bprint_fmt_field; |
|
struct tep_format_field *bprint_buf_field; |
|
|
|
struct event_handler *handlers; |
|
struct tep_function_handler *func_handlers; |
|
|
|
/* cache */ |
|
struct tep_event *last_event; |
|
|
|
struct tep_plugins_dir *plugins_dir; |
|
}; |
|
|
|
enum tep_print_parse_type { |
|
PRINT_FMT_STRING, |
|
PRINT_FMT_ARG_DIGIT, |
|
PRINT_FMT_ARG_POINTER, |
|
PRINT_FMT_ARG_STRING, |
|
}; |
|
|
|
struct tep_print_parse { |
|
struct tep_print_parse *next; |
|
|
|
char *format; |
|
int ls; |
|
enum tep_print_parse_type type; |
|
struct tep_print_arg *arg; |
|
struct tep_print_arg *len_as_arg; |
|
}; |
|
|
|
void free_tep_event(struct tep_event *event); |
|
void free_tep_format_field(struct tep_format_field *field); |
|
void free_tep_plugin_paths(struct tep_handle *tep); |
|
|
|
unsigned short data2host2(struct tep_handle *tep, unsigned short data); |
|
unsigned int data2host4(struct tep_handle *tep, unsigned int data); |
|
unsigned long long data2host8(struct tep_handle *tep, unsigned long long data); |
|
|
|
/* access to the internal parser */ |
|
int peek_char(void); |
|
void init_input_buf(const char *buf, unsigned long long size); |
|
unsigned long long get_input_buf_ptr(void); |
|
const char *get_input_buf(void); |
|
enum tep_event_type read_token(char **tok); |
|
void free_token(char *tok); |
|
|
|
#endif /* _PARSE_EVENTS_INT_H */
|
|
|