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