1 // SPDX-License-Identifier: GPL-2.0 2 #ifndef __PERF_EVSEL_FPRINTF_H 3 #define __PERF_EVSEL_FPRINTF_H 1 4 5 #include <stdio.h> 6 #include <stdbool.h> 7 8 struct evsel; 9 10 struct perf_attr_details { 11 bool freq; 12 bool verbose; 13 bool event_group; 14 bool force; 15 bool trace_fields; 16 }; 17 18 int evsel__fprintf(struct evsel *evsel, struct perf_attr_details *details, FILE *fp); 19 20 #define EVSEL__PRINT_IP (1<<0) 21 #define EVSEL__PRINT_SYM (1<<1) 22 #define EVSEL__PRINT_DSO (1<<2) 23 #define EVSEL__PRINT_SYMOFFSET (1<<3) 24 #define EVSEL__PRINT_ONELINE (1<<4) 25 #define EVSEL__PRINT_SRCLINE (1<<5) 26 #define EVSEL__PRINT_UNKNOWN_AS_ADDR (1<<6) 27 #define EVSEL__PRINT_CALLCHAIN_ARROW (1<<7) 28 #define EVSEL__PRINT_SKIP_IGNORED (1<<8) 29 #define EVSEL__PRINT_DSOFF (1<<9) 30 31 struct addr_location; 32 struct perf_event_attr; 33 struct perf_sample; 34 struct callchain_cursor; 35 struct strlist; 36 37 int sample__fprintf_callchain(struct perf_sample *sample, int left_alignment, 38 unsigned int print_opts, struct callchain_cursor *cursor, 39 struct strlist *bt_stop_list, FILE *fp); 40 41 int sample__fprintf_sym(struct perf_sample *sample, struct addr_location *al, 42 int left_alignment, unsigned int print_opts, 43 struct callchain_cursor *cursor, 44 struct strlist *bt_stop_list, FILE *fp); 45 46 typedef int (*attr__fprintf_f)(FILE *, const char *, const char *, void *); 47 48 int perf_event_attr__fprintf(FILE *fp, struct perf_event_attr *attr, 49 attr__fprintf_f attr__fprintf, void *priv); 50 #endif // __PERF_EVSEL_H 51