]>
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; | |
13 | ||
14 | typedef int (*event_sample)(struct perf_tool *tool, union perf_event *event, | |
15 | struct perf_sample *sample, | |
16 | struct perf_evsel *evsel, struct machine *machine); | |
17 | ||
18 | typedef int (*event_op)(struct perf_tool *tool, union perf_event *event, | |
19 | struct perf_sample *sample, struct machine *machine); | |
20 | ||
47c3d109 AH |
21 | typedef int (*event_attr_op)(struct perf_tool *tool, |
22 | union perf_event *event, | |
45694aa7 | 23 | struct perf_evlist **pevlist); |
45694aa7 | 24 | |
45694aa7 ACM |
25 | typedef int (*event_op2)(struct perf_tool *tool, union perf_event *event, |
26 | struct perf_session *session); | |
27 | ||
28 | struct perf_tool { | |
29 | event_sample sample, | |
30 | read; | |
31 | event_op mmap, | |
5c5e854b | 32 | mmap2, |
45694aa7 ACM |
33 | comm, |
34 | fork, | |
35 | exit, | |
36 | lost, | |
37 | throttle, | |
38 | unthrottle; | |
39 | event_attr_op attr; | |
47c3d109 | 40 | event_op2 tracing_data; |
45694aa7 ACM |
41 | event_op2 finished_round, |
42 | build_id; | |
43 | bool ordered_samples; | |
44 | bool ordering_requires_timestamps; | |
45 | }; | |
46 | ||
47 | #endif /* __PERF_TOOL_H */ |