]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blame - tools/perf/util/tool.h
Merge tag 'v4.11-rc6' into perf/core, to pick up fixes
[mirror_ubuntu-bionic-kernel.git] / tools / perf / util / tool.h
CommitLineData
45694aa7
ACM
1#ifndef __PERF_TOOL_H
2#define __PERF_TOOL_H
3
ee29be62
ACM
4#include <stdbool.h>
5
a16ac023
AH
6#include <linux/types.h>
7
45694aa7 8struct perf_session;
ee29be62
ACM
9union perf_event;
10struct perf_evlist;
45694aa7 11struct perf_evsel;
ee29be62 12struct perf_sample;
45694aa7
ACM
13struct perf_tool;
14struct machine;
d704ebda 15struct ordered_events;
45694aa7
ACM
16
17typedef int (*event_sample)(struct perf_tool *tool, union perf_event *event,
18 struct perf_sample *sample,
19 struct perf_evsel *evsel, struct machine *machine);
20
21typedef int (*event_op)(struct perf_tool *tool, union perf_event *event,
22 struct perf_sample *sample, struct machine *machine);
23
47c3d109
AH
24typedef int (*event_attr_op)(struct perf_tool *tool,
25 union perf_event *event,
45694aa7 26 struct perf_evlist **pevlist);
45694aa7 27
45694aa7
ACM
28typedef int (*event_op2)(struct perf_tool *tool, union perf_event *event,
29 struct perf_session *session);
30
d704ebda
ACM
31typedef int (*event_oe)(struct perf_tool *tool, union perf_event *event,
32 struct ordered_events *oe);
33
a16ac023
AH
34typedef s64 (*event_op3)(struct perf_tool *tool, union perf_event *event,
35 struct perf_session *session);
36
45694aa7
ACM
37struct perf_tool {
38 event_sample sample,
39 read;
40 event_op mmap,
5c5e854b 41 mmap2,
45694aa7 42 comm,
f3b3614a 43 namespaces,
45694aa7
ACM
44 fork,
45 exit,
46 lost,
c4937a91 47 lost_samples,
4a96f7a0 48 aux,
0ad21f68 49 itrace_start,
0286039f 50 context_switch,
45694aa7
ACM
51 throttle,
52 unthrottle;
53 event_attr_op attr;
ffe77725 54 event_attr_op event_update;
47c3d109 55 event_op2 tracing_data;
d704ebda
ACM
56 event_oe finished_round;
57 event_op2 build_id,
a16ac023 58 id_index,
e9bf54d2 59 auxtrace_info,
5f3339d2 60 auxtrace_error,
46bc29b9 61 time_conv,
6640b6c2 62 thread_map,
374fb9e3 63 cpu_map,
d80518c9 64 stat_config,
2d8f0f18
JO
65 stat,
66 stat_round;
a16ac023 67 event_op3 auxtrace;
0a8cb85c 68 bool ordered_events;
45694aa7 69 bool ordering_requires_timestamps;
f3b3614a 70 bool namespace_events;
45694aa7
ACM
71};
72
73#endif /* __PERF_TOOL_H */