Commit | Line | Data |
---|---|---|
7c6a1c65 PZ |
1 | #ifndef _PERF_HEADER_H |
2 | #define _PERF_HEADER_H | |
3 | ||
4 | #include "../../../include/linux/perf_counter.h" | |
5 | #include <sys/types.h> | |
6 | #include "types.h" | |
7 | ||
8 | struct perf_header_attr { | |
9 | struct perf_counter_attr attr; | |
10 | int ids, size; | |
11 | u64 *id; | |
12 | off_t id_offset; | |
13 | }; | |
14 | ||
15 | struct perf_header { | |
16 | int frozen; | |
17 | int attrs, size; | |
18 | struct perf_header_attr **attr; | |
19 | off_t attr_offset; | |
20 | u64 data_offset; | |
21 | u64 data_size; | |
22 | }; | |
23 | ||
24 | struct perf_header *perf_header__read(int fd); | |
25 | void perf_header__write(struct perf_header *self, int fd); | |
26 | ||
27 | void perf_header__add_attr(struct perf_header *self, | |
28 | struct perf_header_attr *attr); | |
29 | ||
30 | struct perf_header_attr * | |
31 | perf_header_attr__new(struct perf_counter_attr *attr); | |
32 | void perf_header_attr__add_id(struct perf_header_attr *self, u64 id); | |
33 | ||
34 | ||
35 | struct perf_header *perf_header__new(void); | |
36 | ||
37 | #endif /* _PERF_HEADER_H */ |