1 /* SPDX-License-Identifier: GPL-2.0 */
7 #include <linux/types.h>
16 struct ordered_events
;
18 typedef int (*event_sample
)(struct perf_tool
*tool
, union perf_event
*event
,
19 struct perf_sample
*sample
,
20 struct perf_evsel
*evsel
, struct machine
*machine
);
22 typedef int (*event_op
)(struct perf_tool
*tool
, union perf_event
*event
,
23 struct perf_sample
*sample
, struct machine
*machine
);
25 typedef int (*event_attr_op
)(struct perf_tool
*tool
,
26 union perf_event
*event
,
27 struct perf_evlist
**pevlist
);
29 typedef int (*event_op2
)(struct perf_tool
*tool
, union perf_event
*event
,
30 struct perf_session
*session
);
32 typedef int (*event_oe
)(struct perf_tool
*tool
, union perf_event
*event
,
33 struct ordered_events
*oe
);
35 typedef s64 (*event_op3
)(struct perf_tool
*tool
, union perf_event
*event
,
36 struct perf_session
*session
);
38 enum show_feature_header
{
39 SHOW_FEAT_NO_HEADER
= 0,
41 SHOW_FEAT_HEADER_FULL_INFO
,
61 event_attr_op event_update
;
62 event_op2 tracing_data
;
63 event_oe finished_round
;
77 bool ordering_requires_timestamps
;
78 bool namespace_events
;
80 enum show_feature_header show_feat_hdr
;
83 #endif /* __PERF_TOOL_H */