diff options
author | Peter Zijlstra <a.p.zijlstra@chello.nl> | 2009-06-25 19:05:54 +0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-06-25 23:39:04 +0400 |
commit | 7c6a1c65bbd3be688e581511f45818663efc1877 (patch) | |
tree | 28bfa19c484b266d5ef3daa04aba8a6831277bc2 /tools/perf/util/header.h | |
parent | e5c59547791f171b280bc4c4b2c3ff171824c1a3 (diff) | |
download | linux-7c6a1c65bbd3be688e581511f45818663efc1877.tar.xz |
perf_counter tools: Rework the file format
Create a structured file format that includes the full
perf_counter_attr and all its relevant counter IDs so that
the reporting program has full information.
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <new-submission>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'tools/perf/util/header.h')
-rw-r--r-- | tools/perf/util/header.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/tools/perf/util/header.h b/tools/perf/util/header.h new file mode 100644 index 000000000000..b5ef53ad4c7a --- /dev/null +++ b/tools/perf/util/header.h @@ -0,0 +1,37 @@ +#ifndef _PERF_HEADER_H +#define _PERF_HEADER_H + +#include "../../../include/linux/perf_counter.h" +#include <sys/types.h> +#include "types.h" + +struct perf_header_attr { + struct perf_counter_attr attr; + int ids, size; + u64 *id; + off_t id_offset; +}; + +struct perf_header { + int frozen; + int attrs, size; + struct perf_header_attr **attr; + off_t attr_offset; + u64 data_offset; + u64 data_size; +}; + +struct perf_header *perf_header__read(int fd); +void perf_header__write(struct perf_header *self, int fd); + +void perf_header__add_attr(struct perf_header *self, + struct perf_header_attr *attr); + +struct perf_header_attr * +perf_header_attr__new(struct perf_counter_attr *attr); +void perf_header_attr__add_id(struct perf_header_attr *self, u64 id); + + +struct perf_header *perf_header__new(void); + +#endif /* _PERF_HEADER_H */ |