at v4.13-rc3 73 lines 1.6 kB view raw
1#ifndef __PERF_TOOL_H 2#define __PERF_TOOL_H 3 4#include <stdbool.h> 5 6#include <linux/types.h> 7 8struct perf_session; 9union perf_event; 10struct perf_evlist; 11struct perf_evsel; 12struct perf_sample; 13struct perf_tool; 14struct machine; 15struct ordered_events; 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 24typedef int (*event_attr_op)(struct perf_tool *tool, 25 union perf_event *event, 26 struct perf_evlist **pevlist); 27 28typedef int (*event_op2)(struct perf_tool *tool, union perf_event *event, 29 struct perf_session *session); 30 31typedef int (*event_oe)(struct perf_tool *tool, union perf_event *event, 32 struct ordered_events *oe); 33 34typedef s64 (*event_op3)(struct perf_tool *tool, union perf_event *event, 35 struct perf_session *session); 36 37struct perf_tool { 38 event_sample sample, 39 read; 40 event_op mmap, 41 mmap2, 42 comm, 43 namespaces, 44 fork, 45 exit, 46 lost, 47 lost_samples, 48 aux, 49 itrace_start, 50 context_switch, 51 throttle, 52 unthrottle; 53 event_attr_op attr; 54 event_attr_op event_update; 55 event_op2 tracing_data; 56 event_oe finished_round; 57 event_op2 build_id, 58 id_index, 59 auxtrace_info, 60 auxtrace_error, 61 time_conv, 62 thread_map, 63 cpu_map, 64 stat_config, 65 stat, 66 stat_round; 67 event_op3 auxtrace; 68 bool ordered_events; 69 bool ordering_requires_timestamps; 70 bool namespace_events; 71}; 72 73#endif /* __PERF_TOOL_H */