1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __PERF_PRINT_EVENTS_H
3 #define __PERF_PRINT_EVENTS_H
5 #include <linux/perf_event.h>
6 #include <linux/types.h>
11 struct print_callbacks
{
12 void (*print_start
)(void *print_state
);
13 void (*print_end
)(void *print_state
);
14 void (*print_event
)(void *print_state
, const char *topic
,
16 const char *event_name
, const char *event_alias
,
17 const char *scale_unit
,
18 bool deprecated
, const char *event_type_desc
,
19 const char *desc
, const char *long_desc
,
20 const char *encoding_desc
);
21 void (*print_metric
)(void *print_state
,
25 const char *long_desc
,
27 const char *threshold
,
29 bool (*skip_duplicate_pmus
)(void *print_state
);
32 /** Print all events, the default when no options are specified. */
33 void print_events(const struct print_callbacks
*print_cb
, void *print_state
);
34 int print_hwcache_events(const struct print_callbacks
*print_cb
, void *print_state
);
35 void print_sdt_events(const struct print_callbacks
*print_cb
, void *print_state
);
36 void print_symbol_events(const struct print_callbacks
*print_cb
, void *print_state
,
37 unsigned int type
, const struct event_symbol
*syms
,
39 void print_tracepoint_events(const struct print_callbacks
*print_cb
, void *print_state
);
40 bool is_event_supported(u8 type
, u64 config
);
42 #endif /* __PERF_PRINT_EVENTS_H */