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 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 evlist
**pevlist
);
29 typedef int (*event_op2
)(struct perf_session
*session
, union perf_event
*event
);
30 typedef s64 (*event_op3
)(struct perf_session
*session
, union perf_event
*event
);
31 typedef int (*event_op4
)(struct perf_session
*session
, union perf_event
*event
, u64 data
);
33 typedef int (*event_oe
)(struct perf_tool
*tool
, union perf_event
*event
,
34 struct ordered_events
*oe
);
36 enum show_feature_header
{
37 SHOW_FEAT_NO_HEADER
= 0,
39 SHOW_FEAT_HEADER_FULL_INFO
,
64 event_attr_op event_update
;
65 event_op2 tracing_data
;
66 event_oe finished_round
;
81 bool ordering_requires_timestamps
;
82 bool namespace_events
;
85 enum show_feature_header show_feat_hdr
;
88 #endif /* __PERF_TOOL_H */