diff options
Diffstat (limited to 'tools/perf/util/header.h')
-rw-r--r-- | tools/perf/util/header.h | 40 |
1 files changed, 17 insertions, 23 deletions
diff --git a/tools/perf/util/header.h b/tools/perf/util/header.h index 16a3e83c584e..307c9aed972e 100644 --- a/tools/perf/util/header.h +++ b/tools/perf/util/header.h | |||
@@ -34,6 +34,11 @@ enum { | |||
34 | HEADER_FEAT_BITS = 256, | 34 | HEADER_FEAT_BITS = 256, |
35 | }; | 35 | }; |
36 | 36 | ||
37 | enum perf_header_version { | ||
38 | PERF_HEADER_VERSION_1, | ||
39 | PERF_HEADER_VERSION_2, | ||
40 | }; | ||
41 | |||
37 | struct perf_file_section { | 42 | struct perf_file_section { |
38 | u64 offset; | 43 | u64 offset; |
39 | u64 size; | 44 | u64 size; |
@@ -45,6 +50,7 @@ struct perf_file_header { | |||
45 | u64 attr_size; | 50 | u64 attr_size; |
46 | struct perf_file_section attrs; | 51 | struct perf_file_section attrs; |
47 | struct perf_file_section data; | 52 | struct perf_file_section data; |
53 | /* event_types is ignored */ | ||
48 | struct perf_file_section event_types; | 54 | struct perf_file_section event_types; |
49 | DECLARE_BITMAP(adds_features, HEADER_FEAT_BITS); | 55 | DECLARE_BITMAP(adds_features, HEADER_FEAT_BITS); |
50 | }; | 56 | }; |
@@ -84,28 +90,24 @@ struct perf_session_env { | |||
84 | }; | 90 | }; |
85 | 91 | ||
86 | struct perf_header { | 92 | struct perf_header { |
87 | bool needs_swap; | 93 | enum perf_header_version version; |
88 | s64 attr_offset; | 94 | bool needs_swap; |
89 | u64 data_offset; | 95 | u64 data_offset; |
90 | u64 data_size; | 96 | u64 data_size; |
91 | u64 event_offset; | 97 | u64 feat_offset; |
92 | u64 event_size; | ||
93 | DECLARE_BITMAP(adds_features, HEADER_FEAT_BITS); | 98 | DECLARE_BITMAP(adds_features, HEADER_FEAT_BITS); |
94 | struct perf_session_env env; | 99 | struct perf_session_env env; |
95 | }; | 100 | }; |
96 | 101 | ||
97 | struct perf_evlist; | 102 | struct perf_evlist; |
98 | struct perf_session; | 103 | struct perf_session; |
99 | 104 | ||
100 | int perf_session__read_header(struct perf_session *session, int fd); | 105 | int perf_session__read_header(struct perf_session *session); |
101 | int perf_session__write_header(struct perf_session *session, | 106 | int perf_session__write_header(struct perf_session *session, |
102 | struct perf_evlist *evlist, | 107 | struct perf_evlist *evlist, |
103 | int fd, bool at_exit); | 108 | int fd, bool at_exit); |
104 | int perf_header__write_pipe(int fd); | 109 | int perf_header__write_pipe(int fd); |
105 | 110 | ||
106 | int perf_header__push_event(u64 id, const char *name); | ||
107 | char *perf_header__find_event(u64 id); | ||
108 | |||
109 | void perf_header__set_feat(struct perf_header *header, int feat); | 111 | void perf_header__set_feat(struct perf_header *header, int feat); |
110 | void perf_header__clear_feat(struct perf_header *header, int feat); | 112 | void perf_header__clear_feat(struct perf_header *header, int feat); |
111 | bool perf_header__has_feat(const struct perf_header *header, int feat); | 113 | bool perf_header__has_feat(const struct perf_header *header, int feat); |
@@ -130,22 +132,14 @@ int perf_event__synthesize_attr(struct perf_tool *tool, | |||
130 | int perf_event__synthesize_attrs(struct perf_tool *tool, | 132 | int perf_event__synthesize_attrs(struct perf_tool *tool, |
131 | struct perf_session *session, | 133 | struct perf_session *session, |
132 | perf_event__handler_t process); | 134 | perf_event__handler_t process); |
133 | int perf_event__process_attr(union perf_event *event, struct perf_evlist **pevlist); | 135 | int perf_event__process_attr(struct perf_tool *tool, union perf_event *event, |
134 | 136 | struct perf_evlist **pevlist); | |
135 | int perf_event__synthesize_event_type(struct perf_tool *tool, | ||
136 | u64 event_id, char *name, | ||
137 | perf_event__handler_t process, | ||
138 | struct machine *machine); | ||
139 | int perf_event__synthesize_event_types(struct perf_tool *tool, | ||
140 | perf_event__handler_t process, | ||
141 | struct machine *machine); | ||
142 | int perf_event__process_event_type(struct perf_tool *tool, | ||
143 | union perf_event *event); | ||
144 | 137 | ||
145 | int perf_event__synthesize_tracing_data(struct perf_tool *tool, | 138 | int perf_event__synthesize_tracing_data(struct perf_tool *tool, |
146 | int fd, struct perf_evlist *evlist, | 139 | int fd, struct perf_evlist *evlist, |
147 | perf_event__handler_t process); | 140 | perf_event__handler_t process); |
148 | int perf_event__process_tracing_data(union perf_event *event, | 141 | int perf_event__process_tracing_data(struct perf_tool *tool, |
142 | union perf_event *event, | ||
149 | struct perf_session *session); | 143 | struct perf_session *session); |
150 | 144 | ||
151 | int perf_event__synthesize_build_id(struct perf_tool *tool, | 145 | int perf_event__synthesize_build_id(struct perf_tool *tool, |