diff options
Diffstat (limited to 'tools/perf/util/header.h')
| -rw-r--r-- | tools/perf/util/header.h | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/tools/perf/util/header.h b/tools/perf/util/header.h index 30aee5160dc0..0eb4a9126b7c 100644 --- a/tools/perf/util/header.h +++ b/tools/perf/util/header.h | |||
| @@ -12,19 +12,29 @@ struct perf_header_attr { | |||
| 12 | off_t id_offset; | 12 | off_t id_offset; |
| 13 | }; | 13 | }; |
| 14 | 14 | ||
| 15 | #define HEADER_TRACE_INFO 1 | ||
| 16 | |||
| 17 | #define HEADER_FEAT_BITS 256 | ||
| 18 | |||
| 19 | typedef typeof(u64[HEADER_FEAT_BITS / 8]) feat_mask_t; | ||
| 20 | |||
| 15 | struct perf_header { | 21 | struct perf_header { |
| 16 | int frozen; | 22 | int frozen; |
| 17 | int attrs, size; | 23 | int attrs, size; |
| 18 | struct perf_header_attr **attr; | 24 | struct perf_header_attr **attr; |
| 19 | s64 attr_offset; | 25 | s64 attr_offset; |
| 20 | u64 data_offset; | 26 | u64 data_offset; |
| 21 | u64 data_size; | 27 | u64 data_size; |
| 22 | u64 event_offset; | 28 | u64 event_offset; |
| 23 | u64 event_size; | 29 | u64 event_size; |
| 24 | u64 trace_info_offset; | 30 | feat_mask_t adds_features; |
| 25 | u64 trace_info_size; | ||
| 26 | }; | 31 | }; |
| 27 | 32 | ||
| 33 | static inline unsigned long *perf_header__adds_mask(struct perf_header *self) | ||
| 34 | { | ||
| 35 | return (unsigned long *)(void *)&self->adds_features; | ||
| 36 | } | ||
| 37 | |||
| 28 | struct perf_header *perf_header__read(int fd); | 38 | struct perf_header *perf_header__read(int fd); |
| 29 | void perf_header__write(struct perf_header *self, int fd); | 39 | void perf_header__write(struct perf_header *self, int fd); |
| 30 | 40 | ||
| @@ -42,7 +52,7 @@ void perf_header_attr__add_id(struct perf_header_attr *self, u64 id); | |||
| 42 | u64 perf_header__sample_type(struct perf_header *header); | 52 | u64 perf_header__sample_type(struct perf_header *header); |
| 43 | struct perf_event_attr * | 53 | struct perf_event_attr * |
| 44 | perf_header__find_attr(u64 id, struct perf_header *header); | 54 | perf_header__find_attr(u64 id, struct perf_header *header); |
| 45 | void perf_header__set_trace_info(void); | 55 | void perf_header__feat_trace_info(struct perf_header *header); |
| 46 | 56 | ||
| 47 | struct perf_header *perf_header__new(void); | 57 | struct perf_header *perf_header__new(void); |
| 48 | 58 | ||
