2 #ifndef __PERF_PARSE_EVENTS_H 3 #define __PERF_PARSE_EVENTS_H 8 #include <linux/list.h> 10 #include <linux/types.h> 11 #include <linux/perf_event.h> 40 #define EVENTS_HELP_MAX (128*1024) 97 struct list_head list;
116 struct list_head list;
127 int type_term,
char *
config, u64 num,
129 void *loc_term,
void *loc_val);
132 void *loc_term,
void *loc_val);
134 char *
config,
unsigned idx);
144 const char *sys,
const char *
event,
146 struct list_head *head_config);
148 struct list_head *list,
151 struct list_head *head_config);
155 struct list_head *list,
156 struct bpf_object *obj,
157 struct list_head *head_config);
159 struct list_head *list,
161 struct list_head *head_config);
163 char *type,
char *op_result1,
char *op_result2,
165 struct list_head *head_config);
167 void *ptr,
char *type, u64 len);
169 struct list_head *list,
char *
name,
170 struct list_head *head_config,
171 bool auto_merge_stats,
176 struct list_head **listp);
179 struct list_head **
new);
186 struct list_head *list_all);
188 int idx,
const char *
str);
215 #ifdef HAVE_LIBELF_SUPPORT 223 return (str[0] ==
'%' ||
224 (!strncmp(str,
"sdt_", 4) &&
225 !!strchr(str,
':') && !strchr(str,
'=')));
void parse_events_terms__delete(struct list_head *terms)
void parse_events_terms__purge(struct list_head *terms)
char * parse_events_formats_error_string(char *additional_terms)
int exclude_perf(const struct option *opt, const char *arg, int unset)
void print_tracepoint_events(const char *subsys_glob, const char *event_glob, bool name_only)
void print_symbol_events(const char *event_glob, unsigned type, struct event_symbol *syms, unsigned max, bool name_only)
int parse_events__is_hardcoded_term(struct parse_events_term *term)
int parse_events_name(struct list_head *list, char *name)
static int term(yyscan_t scanner, int type)
struct perf_evlist * evlist
int parse_events_add_cache(struct list_head *list, int *idx, char *type, char *op_result1, char *op_result2, struct parse_events_error *error, struct list_head *head_config)
int valid_event_mount(const char *eventfs)
int parse_events_load_bpf(struct parse_events_state *parse_state, struct list_head *list, char *bpf_file_name, bool source, struct list_head *head_config)
struct tracepoint_path * tracepoint_id_to_path(u64 config)
void print_events(const char *event_glob, bool name_only, bool quiet, bool long_desc, bool details_flag)
struct tracepoint_path * tracepoint_name_to_path(const char *name)
struct tracepoint_path * next
void parse_events_print_error(struct parse_events_error *err, const char *event)
int parse_filter(const struct option *opt, const char *str, int unset)
void parse_events__shrink_config_terms(void)
struct parse_events_error * error
void parse_events_evlist_error(struct parse_events_state *parse_state, int idx, const char *str)
int parse_events__modifier_group(struct list_head *list, char *event_mod)
static int str(yyscan_t scanner, int token)
enum perf_pmu_event_symbol_type perf_pmu__parse_check(const char *name)
struct event_symbol event_symbols_hw[]
int parse_events_term__str(struct parse_events_term **term, int type_term, char *config, char *str, void *loc_term, void *loc_val)
int print_hwcache_events(const char *event_glob, bool name_only)
int parse_events_load_bpf_obj(struct parse_events_state *parse_state, struct list_head *list, struct bpf_object *obj, struct list_head *head_config)
int parse_events_term__num(struct parse_events_term **term, int type_term, char *config, u64 num, bool novalue, void *loc_term, void *loc_val)
int parse_events_add_tracepoint(struct list_head *list, int *idx, const char *sys, const char *event, struct parse_events_error *error, struct list_head *head_config)
int is_valid_tracepoint(const char *event_string)
perf_pmu_event_symbol_type
void parse_events__clear_array(struct parse_events_array *a)
bool have_tracepoints(struct list_head *evlist)
int parse_events(struct perf_evlist *evlist, const char *str, struct parse_events_error *error)
const char * event_type(int type)
void parse_events_update_lists(struct list_head *list_event, struct list_head *list_all)
void print_sdt_events(const char *subsys_glob, const char *event_glob, bool name_only)
struct event_symbol event_symbols_sw[]
int parse_events_multi_pmu_add(struct parse_events_state *parse_state, char *str, struct list_head **listp)
int parse_events_term__sym_hw(struct parse_events_term **term, char *config, unsigned idx)
int parse_events_option(const struct option *opt, const char *str, int unset)
int parse_events_add_breakpoint(struct list_head *list, int *idx, void *ptr, char *type, u64 len)
int parse_events_terms(struct list_head *terms, const char *str)
int parse_events__modifier_event(struct list_head *list, char *str, bool add)
int parse_events_add_pmu(struct parse_events_state *parse_state, struct list_head *list, char *name, struct list_head *head_config, bool auto_merge_stats, bool use_alias)
int parse_events_copy_term_list(struct list_head *old, struct list_head **new)
void parse_events__set_leader(char *name, struct list_head *list, struct parse_events_state *parse_state)
static bool is_sdt_event(char *str __maybe_unused)
int parse_events_add_numeric(struct parse_events_state *parse_state, struct list_head *list, u32 type, u64 config, struct list_head *head_config)
int parse_events_term__clone(struct parse_events_term **new, struct parse_events_term *term)