diff options
Diffstat (limited to 'tools/perf/util/session.h')
-rw-r--r-- | tools/perf/util/session.h | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/tools/perf/util/session.h b/tools/perf/util/session.h index d2f430367713..6de3d1368900 100644 --- a/tools/perf/util/session.h +++ b/tools/perf/util/session.h | |||
@@ -56,16 +56,18 @@ struct perf_session { | |||
56 | struct perf_evsel; | 56 | struct perf_evsel; |
57 | struct perf_event_ops; | 57 | struct perf_event_ops; |
58 | 58 | ||
59 | typedef int (*event_sample)(union perf_event *event, struct perf_sample *sample, | 59 | typedef int (*event_sample)(struct perf_event_ops *ops, |
60 | union perf_event *event, struct perf_sample *sample, | ||
60 | struct perf_evsel *evsel, struct perf_session *session); | 61 | struct perf_evsel *evsel, struct perf_session *session); |
61 | typedef int (*event_op)(union perf_event *self, struct perf_sample *sample, | 62 | typedef int (*event_op)(struct perf_event_ops *ops, union perf_event *event, |
63 | struct perf_sample *sample, | ||
62 | struct perf_session *session); | 64 | struct perf_session *session); |
63 | typedef int (*event_synth_op)(union perf_event *self, | 65 | typedef int (*event_synth_op)(union perf_event *self, |
64 | struct perf_session *session); | 66 | struct perf_session *session); |
65 | typedef int (*event_attr_op)(union perf_event *event, | 67 | typedef int (*event_attr_op)(union perf_event *event, |
66 | struct perf_evlist **pevlist); | 68 | struct perf_evlist **pevlist); |
67 | typedef int (*event_op2)(union perf_event *self, struct perf_session *session, | 69 | typedef int (*event_op2)(struct perf_event_ops *ops, union perf_event *event, |
68 | struct perf_event_ops *ops); | 70 | struct perf_session *session); |
69 | 71 | ||
70 | struct perf_event_ops { | 72 | struct perf_event_ops { |
71 | event_sample sample; | 73 | event_sample sample; |
@@ -78,10 +80,10 @@ struct perf_event_ops { | |||
78 | throttle, | 80 | throttle, |
79 | unthrottle; | 81 | unthrottle; |
80 | event_attr_op attr; | 82 | event_attr_op attr; |
81 | event_synth_op event_type, | 83 | event_synth_op tracing_data; |
82 | tracing_data, | 84 | event_op2 event_type, |
83 | build_id; | 85 | build_id, |
84 | event_op2 finished_round; | 86 | finished_round; |
85 | bool ordered_samples; | 87 | bool ordered_samples; |
86 | bool ordering_requires_timestamps; | 88 | bool ordering_requires_timestamps; |
87 | }; | 89 | }; |
@@ -142,10 +144,11 @@ struct machine *perf_session__findnew_machine(struct perf_session *self, pid_t p | |||
142 | 144 | ||
143 | static inline | 145 | static inline |
144 | void perf_session__process_machines(struct perf_session *self, | 146 | void perf_session__process_machines(struct perf_session *self, |
147 | struct perf_event_ops *ops, | ||
145 | machine__process_t process) | 148 | machine__process_t process) |
146 | { | 149 | { |
147 | process(&self->host_machine, self); | 150 | process(&self->host_machine, ops); |
148 | return machines__process(&self->machines, process, self); | 151 | return machines__process(&self->machines, process, ops); |
149 | } | 152 | } |
150 | 153 | ||
151 | size_t perf_session__fprintf_dsos(struct perf_session *self, FILE *fp); | 154 | size_t perf_session__fprintf_dsos(struct perf_session *self, FILE *fp); |