]>
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 | ||
21 | typedef int (*event_attr_op)(union perf_event *event, | |
22 | struct perf_evlist **pevlist); | |
23 | typedef int (*event_simple_op)(struct perf_tool *tool, union perf_event *event); | |
24 | ||
25 | typedef int (*event_synth_op)(union perf_event *event, | |
26 | struct perf_session *session); | |
27 | ||
28 | typedef int (*event_op2)(struct perf_tool *tool, union perf_event *event, | |
29 | struct perf_session *session); | |
30 | ||
31 | struct perf_tool { | |
32 | event_sample sample, | |
33 | read; | |
34 | event_op mmap, | |
35 | comm, | |
36 | fork, | |
37 | exit, | |
38 | lost, | |
39 | throttle, | |
40 | unthrottle; | |
41 | event_attr_op attr; | |
42 | event_synth_op tracing_data; | |
43 | event_simple_op event_type; | |
44 | event_op2 finished_round, | |
45 | build_id; | |
46 | bool ordered_samples; | |
47 | bool ordering_requires_timestamps; | |
48 | }; | |
49 | ||
50 | #endif /* __PERF_TOOL_H */ |