aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util/header.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/perf/util/header.h')
-rw-r--r--tools/perf/util/header.h40
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
37enum perf_header_version {
38 PERF_HEADER_VERSION_1,
39 PERF_HEADER_VERSION_2,
40};
41
37struct perf_file_section { 42struct 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
86struct perf_header { 92struct 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
97struct perf_evlist; 102struct perf_evlist;
98struct perf_session; 103struct perf_session;
99 104
100int perf_session__read_header(struct perf_session *session, int fd); 105int perf_session__read_header(struct perf_session *session);
101int perf_session__write_header(struct perf_session *session, 106int 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);
104int perf_header__write_pipe(int fd); 109int perf_header__write_pipe(int fd);
105 110
106int perf_header__push_event(u64 id, const char *name);
107char *perf_header__find_event(u64 id);
108
109void perf_header__set_feat(struct perf_header *header, int feat); 111void perf_header__set_feat(struct perf_header *header, int feat);
110void perf_header__clear_feat(struct perf_header *header, int feat); 112void perf_header__clear_feat(struct perf_header *header, int feat);
111bool perf_header__has_feat(const struct perf_header *header, int feat); 113bool perf_header__has_feat(const struct perf_header *header, int feat);
@@ -130,22 +132,14 @@ int perf_event__synthesize_attr(struct perf_tool *tool,
130int perf_event__synthesize_attrs(struct perf_tool *tool, 132int 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);
133int perf_event__process_attr(union perf_event *event, struct perf_evlist **pevlist); 135int perf_event__process_attr(struct perf_tool *tool, union perf_event *event,
134 136 struct perf_evlist **pevlist);
135int 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);
139int perf_event__synthesize_event_types(struct perf_tool *tool,
140 perf_event__handler_t process,
141 struct machine *machine);
142int perf_event__process_event_type(struct perf_tool *tool,
143 union perf_event *event);
144 137
145int perf_event__synthesize_tracing_data(struct perf_tool *tool, 138int 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);
148int perf_event__process_tracing_data(union perf_event *event, 141int 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
151int perf_event__synthesize_build_id(struct perf_tool *tool, 145int perf_event__synthesize_build_id(struct perf_tool *tool,