| #ifndef __PERF_TOOL_H |
| #define __PERF_TOOL_H |
| |
| struct perf_session; |
| struct perf_evsel; |
| struct perf_tool; |
| struct machine; |
| |
| typedef int (*event_sample)(struct perf_tool *tool, union perf_event *event, |
| struct perf_sample *sample, |
| struct perf_evsel *evsel, struct machine *machine); |
| |
| typedef int (*event_op)(struct perf_tool *tool, union perf_event *event, |
| struct perf_sample *sample, struct machine *machine); |
| |
| typedef int (*event_attr_op)(union perf_event *event, |
| struct perf_evlist **pevlist); |
| typedef int (*event_simple_op)(struct perf_tool *tool, union perf_event *event); |
| |
| typedef int (*event_synth_op)(union perf_event *event, |
| struct perf_session *session); |
| |
| typedef int (*event_op2)(struct perf_tool *tool, union perf_event *event, |
| struct perf_session *session); |
| |
| struct perf_tool { |
| event_sample sample, |
| read; |
| event_op mmap, |
| comm, |
| fork, |
| exit, |
| lost, |
| throttle, |
| unthrottle; |
| event_attr_op attr; |
| event_synth_op tracing_data; |
| event_simple_op event_type; |
| event_op2 finished_round, |
| build_id; |
| bool ordered_samples; |
| bool ordering_requires_timestamps; |
| }; |
| |
| #endif /* __PERF_TOOL_H */ |