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 8struct evsel; 9 10struct perf_attr_details { 11 bool freq; 12 bool verbose; 13 bool event_group; 14 bool force; 15 bool trace_fields; 16}; 17 18int 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 31struct addr_location; 32struct perf_event_attr; 33struct perf_sample; 34struct callchain_cursor; 35struct strlist; 36 37int 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 41int 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 46typedef int (*attr__fprintf_f)(FILE *, const char *, const char *, void *); 47 48int 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