Commit | Line | Data |
---|---|---|
45694aa7 ACM |
1 | #ifndef __PERF_TOOL_H |
2 | #define __PERF_TOOL_H | |
3 | ||
ee29be62 ACM |
4 | #include <stdbool.h> |
5 | ||
45694aa7 | 6 | struct perf_session; |
ee29be62 ACM |
7 | union perf_event; |
8 | struct perf_evlist; | |
45694aa7 | 9 | struct perf_evsel; |
ee29be62 | 10 | struct perf_sample; |
45694aa7 ACM |
11 | struct perf_tool; |
12 | struct machine; | |
d704ebda | 13 | struct ordered_events; |
45694aa7 ACM |
14 | |
15 | typedef int (*event_sample)(struct perf_tool *tool, union perf_event *event, | |
16 | struct perf_sample *sample, | |
17 | struct perf_evsel *evsel, struct machine *machine); | |
18 | ||
19 | typedef int (*event_op)(struct perf_tool *tool, union perf_event *event, | |
20 | struct perf_sample *sample, struct machine *machine); | |
21 | ||
47c3d109 AH |
22 | typedef int (*event_attr_op)(struct perf_tool *tool, |
23 | union perf_event *event, | |
45694aa7 | 24 | struct perf_evlist **pevlist); |
45694aa7 | 25 | |
45694aa7 ACM |
26 | typedef int (*event_op2)(struct perf_tool *tool, union perf_event *event, |
27 | struct perf_session *session); | |
28 | ||
d704ebda ACM |
29 | typedef int (*event_oe)(struct perf_tool *tool, union perf_event *event, |
30 | struct ordered_events *oe); | |
31 | ||
45694aa7 ACM |
32 | struct perf_tool { |
33 | event_sample sample, | |
34 | read; | |
35 | event_op mmap, | |
5c5e854b | 36 | mmap2, |
45694aa7 ACM |
37 | comm, |
38 | fork, | |
39 | exit, | |
40 | lost, | |
41 | throttle, | |
42 | unthrottle; | |
43 | event_attr_op attr; | |
47c3d109 | 44 | event_op2 tracing_data; |
d704ebda ACM |
45 | event_oe finished_round; |
46 | event_op2 build_id, | |
3c659eed | 47 | id_index; |
0a8cb85c | 48 | bool ordered_events; |
45694aa7 ACM |
49 | bool ordering_requires_timestamps; |
50 | }; | |
51 | ||
52 | #endif /* __PERF_TOOL_H */ |