diff options
Diffstat (limited to 'tools/perf/util/session.h')
-rw-r--r-- | tools/perf/util/session.h | 49 |
1 files changed, 7 insertions, 42 deletions
diff --git a/tools/perf/util/session.h b/tools/perf/util/session.h index 1c5823c7d6dc..30e9c6b6fc3c 100644 --- a/tools/perf/util/session.h +++ b/tools/perf/util/session.h | |||
@@ -53,55 +53,20 @@ struct perf_session { | |||
53 | char filename[0]; | 53 | char filename[0]; |
54 | }; | 54 | }; |
55 | 55 | ||
56 | struct perf_evsel; | 56 | struct perf_tool; |
57 | struct perf_event_ops; | ||
58 | |||
59 | typedef int (*event_sample)(struct perf_event_ops *ops, | ||
60 | union perf_event *event, struct perf_sample *sample, | ||
61 | struct perf_evsel *evsel, struct machine *machine); | ||
62 | typedef int (*event_op)(struct perf_event_ops *ops, union perf_event *event, | ||
63 | struct perf_sample *sample, | ||
64 | struct machine *machine); | ||
65 | typedef int (*event_synth_op)(union perf_event *self, | ||
66 | struct perf_session *session); | ||
67 | typedef int (*event_attr_op)(union perf_event *event, | ||
68 | struct perf_evlist **pevlist); | ||
69 | typedef int (*event_simple_op)(struct perf_event_ops *ops, | ||
70 | union perf_event *event); | ||
71 | typedef int (*event_op2)(struct perf_event_ops *ops, union perf_event *event, | ||
72 | struct perf_session *session); | ||
73 | |||
74 | struct perf_event_ops { | ||
75 | event_sample sample, | ||
76 | read; | ||
77 | event_op mmap, | ||
78 | comm, | ||
79 | fork, | ||
80 | exit, | ||
81 | lost, | ||
82 | throttle, | ||
83 | unthrottle; | ||
84 | event_attr_op attr; | ||
85 | event_synth_op tracing_data; | ||
86 | event_simple_op event_type; | ||
87 | event_op2 finished_round, | ||
88 | build_id; | ||
89 | bool ordered_samples; | ||
90 | bool ordering_requires_timestamps; | ||
91 | }; | ||
92 | 57 | ||
93 | struct perf_session *perf_session__new(const char *filename, int mode, | 58 | struct perf_session *perf_session__new(const char *filename, int mode, |
94 | bool force, bool repipe, | 59 | bool force, bool repipe, |
95 | struct perf_event_ops *ops); | 60 | struct perf_tool *tool); |
96 | void perf_session__delete(struct perf_session *self); | 61 | void perf_session__delete(struct perf_session *self); |
97 | 62 | ||
98 | void perf_event_header__bswap(struct perf_event_header *self); | 63 | void perf_event_header__bswap(struct perf_event_header *self); |
99 | 64 | ||
100 | int __perf_session__process_events(struct perf_session *self, | 65 | int __perf_session__process_events(struct perf_session *self, |
101 | u64 data_offset, u64 data_size, u64 size, | 66 | u64 data_offset, u64 data_size, u64 size, |
102 | struct perf_event_ops *ops); | 67 | struct perf_tool *tool); |
103 | int perf_session__process_events(struct perf_session *self, | 68 | int perf_session__process_events(struct perf_session *self, |
104 | struct perf_event_ops *event_ops); | 69 | struct perf_tool *tool); |
105 | 70 | ||
106 | int perf_session__resolve_callchain(struct perf_session *self, struct perf_evsel *evsel, | 71 | int perf_session__resolve_callchain(struct perf_session *self, struct perf_evsel *evsel, |
107 | struct thread *thread, | 72 | struct thread *thread, |
@@ -142,11 +107,11 @@ struct machine *perf_session__findnew_machine(struct perf_session *self, pid_t p | |||
142 | 107 | ||
143 | static inline | 108 | static inline |
144 | void perf_session__process_machines(struct perf_session *self, | 109 | void perf_session__process_machines(struct perf_session *self, |
145 | struct perf_event_ops *ops, | 110 | struct perf_tool *tool, |
146 | machine__process_t process) | 111 | machine__process_t process) |
147 | { | 112 | { |
148 | process(&self->host_machine, ops); | 113 | process(&self->host_machine, tool); |
149 | return machines__process(&self->machines, process, ops); | 114 | return machines__process(&self->machines, process, tool); |
150 | } | 115 | } |
151 | 116 | ||
152 | struct thread *perf_session__findnew(struct perf_session *self, pid_t pid); | 117 | struct thread *perf_session__findnew(struct perf_session *self, pid_t pid); |