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 30 struct addr_location; 31 struct perf_event_attr; 32 struct perf_sample; 33 struct callchain_cursor; 34 struct strlist; 35 36 int sample__fprintf_callchain(struct perf_sample *sample, int left_alignment, 37 unsigned int print_opts, struct callchain_cursor *cursor, 38 struct strlist *bt_stop_list, FILE *fp); 39 40 int sample__fprintf_sym(struct perf_sample *sample, struct addr_location *al, 41 int left_alignment, unsigned int print_opts, 42 struct callchain_cursor *cursor, 43 struct strlist *bt_stop_list, FILE *fp); 44 45 typedef int (*attr__fprintf_f)(FILE *, const char *, const char *, void *); 46 47 int perf_event_attr__fprintf(FILE *fp, struct perf_event_attr *attr, 48 attr__fprintf_f attr__fprintf, void *priv); 49 #endif // __PERF_EVSEL_H 50