Linux Audio

Check our new training course

Loading...
v5.14.15
  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
 18#define __hidden __attribute__((visibility ("hidden")))
 19
 20struct tep_handle {
 21	int ref_count;
 22
 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;
 30
 31	enum tep_endian file_bigendian;
 32	enum tep_endian host_bigendian;
 33
 34	int old_format;
 35
 36	int cpus;
 37	int long_size;
 38	int page_size;
 39
 40	struct tep_cmdline *cmdlines;
 41	struct cmdline_list *cmdlist;
 42	int cmdline_count;
 43
 44	struct func_map *func_map;
 45	struct func_resolver *func_resolver;
 46	struct func_list *funclist;
 47	unsigned int func_count;
 48
 49	struct printk_map *printk_map;
 50	struct printk_list *printklist;
 51	unsigned int printk_count;
 52
 53	struct tep_event **events;
 54	int nr_events;
 55	struct tep_event **sort_events;
 56	enum tep_event_sort_type last_type;
 57
 58	int type_offset;
 59	int type_size;
 60
 61	int pid_offset;
 62	int pid_size;
 63
 64	int pc_offset;
 65	int pc_size;
 66
 67	int flags_offset;
 68	int flags_size;
 69
 70	int ld_offset;
 71	int ld_size;
 72
 73	int test_filters;
 74
 75	int flags;
 76
 77	struct tep_format_field *bprint_ip_field;
 78	struct tep_format_field *bprint_fmt_field;
 79	struct tep_format_field *bprint_buf_field;
 80
 81	struct event_handler *handlers;
 82	struct tep_function_handler *func_handlers;
 83
 84	/* cache */
 85	struct tep_event *last_event;
 86
 87	struct tep_plugins_dir *plugins_dir;
 88};
 89
 90enum tep_print_parse_type {
 91	PRINT_FMT_STRING,
 92	PRINT_FMT_ARG_DIGIT,
 93	PRINT_FMT_ARG_POINTER,
 94	PRINT_FMT_ARG_STRING,
 95};
 96
 97struct tep_print_parse {
 98	struct tep_print_parse	*next;
 99
100	char				*format;
101	int				ls;
102	enum tep_print_parse_type	type;
103	struct tep_print_arg		*arg;
104	struct tep_print_arg		*len_as_arg;
105};
106
107void free_tep_event(struct tep_event *event);
108void free_tep_format_field(struct tep_format_field *field);
109void free_tep_plugin_paths(struct tep_handle *tep);
110
111unsigned short data2host2(struct tep_handle *tep, unsigned short data);
112unsigned int data2host4(struct tep_handle *tep, unsigned int data);
113unsigned long long data2host8(struct tep_handle *tep, unsigned long long data);
114
115/* access to the internal parser */
116int peek_char(void);
117void init_input_buf(const char *buf, unsigned long long size);
118unsigned long long get_input_buf_ptr(void);
119const char *get_input_buf(void);
120enum tep_event_type read_token(char **tok);
121void free_token(char *tok);
122
123#endif /* _PARSE_EVENTS_INT_H */
v5.9
  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 */