~ubuntu-branches/ubuntu/precise/linux-ti-omap4/precise

« back to all changes in this revision

Viewing changes to tools/perf/util/header.h

  • Committer: Bazaar Package Importer
  • Author(s): Paolo Pisati
  • Date: 2011-06-29 15:23:51 UTC
  • mfrom: (26.1.1 natty-proposed)
  • Revision ID: james.westby@ubuntu.com-20110629152351-xs96tm303d95rpbk
Tags: 3.0.0-1200.2
* Rebased against 3.0.0-6.7
* BSP from TI based on 3.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
9
9
 
10
10
#include <linux/bitmap.h>
11
11
 
12
 
struct perf_header_attr {
13
 
        struct perf_event_attr attr;
14
 
        int ids, size;
15
 
        u64 *id;
16
 
        off_t id_offset;
17
 
};
18
 
 
19
12
enum {
20
13
        HEADER_TRACE_INFO = 1,
21
14
        HEADER_BUILD_ID,
46
39
 
47
40
struct perf_header;
48
41
 
49
 
int perf_file_header__read(struct perf_file_header *self,
 
42
int perf_file_header__read(struct perf_file_header *header,
50
43
                           struct perf_header *ph, int fd);
51
44
 
52
45
struct perf_header {
53
46
        int                     frozen;
54
 
        int                     attrs, size;
55
47
        bool                    needs_swap;
56
 
        struct perf_header_attr **attr;
57
48
        s64                     attr_offset;
58
49
        u64                     data_offset;
59
50
        u64                     data_size;
62
53
        DECLARE_BITMAP(adds_features, HEADER_FEAT_BITS);
63
54
};
64
55
 
65
 
int perf_header__init(struct perf_header *self);
66
 
void perf_header__exit(struct perf_header *self);
 
56
struct perf_evlist;
67
57
 
68
 
int perf_header__read(struct perf_session *session, int fd);
69
 
int perf_header__write(struct perf_header *self, int fd, bool at_exit);
 
58
int perf_session__read_header(struct perf_session *session, int fd);
 
59
int perf_session__write_header(struct perf_session *session,
 
60
                               struct perf_evlist *evlist,
 
61
                               int fd, bool at_exit);
70
62
int perf_header__write_pipe(int fd);
71
63
 
72
 
int perf_header__add_attr(struct perf_header *self,
73
 
                          struct perf_header_attr *attr);
74
 
 
75
64
int perf_header__push_event(u64 id, const char *name);
76
65
char *perf_header__find_event(u64 id);
77
66
 
78
 
struct perf_header_attr *perf_header_attr__new(struct perf_event_attr *attr);
79
 
void perf_header_attr__delete(struct perf_header_attr *self);
80
 
 
81
 
int perf_header_attr__add_id(struct perf_header_attr *self, u64 id);
82
 
 
83
 
u64 perf_header__sample_type(struct perf_header *header);
84
 
bool perf_header__sample_id_all(const struct perf_header *header);
85
 
struct perf_event_attr *
86
 
perf_header__find_attr(u64 id, struct perf_header *header);
87
 
void perf_header__set_feat(struct perf_header *self, int feat);
88
 
void perf_header__clear_feat(struct perf_header *self, int feat);
89
 
bool perf_header__has_feat(const struct perf_header *self, int feat);
90
 
 
91
 
int perf_header__process_sections(struct perf_header *self, int fd,
92
 
                                  int (*process)(struct perf_file_section *self,
 
67
void perf_header__set_feat(struct perf_header *header, int feat);
 
68
void perf_header__clear_feat(struct perf_header *header, int feat);
 
69
bool perf_header__has_feat(const struct perf_header *header, int feat);
 
70
 
 
71
int perf_header__process_sections(struct perf_header *header, int fd,
 
72
                                  int (*process)(struct perf_file_section *section,
93
73
                                                 struct perf_header *ph,
94
74
                                                 int feat, int fd));
95
75
 
97
77
                          const char *name, bool is_kallsyms);
98
78
int build_id_cache__remove_s(const char *sbuild_id, const char *debugdir);
99
79
 
100
 
int event__synthesize_attr(struct perf_event_attr *attr, u16 ids, u64 *id,
101
 
                           event__handler_t process,
102
 
                           struct perf_session *session);
103
 
int event__synthesize_attrs(struct perf_header *self,
104
 
                            event__handler_t process,
105
 
                            struct perf_session *session);
106
 
int event__process_attr(event_t *self, struct perf_session *session);
107
 
 
108
 
int event__synthesize_event_type(u64 event_id, char *name,
109
 
                                 event__handler_t process,
 
80
int perf_event__synthesize_attr(struct perf_event_attr *attr, u16 ids, u64 *id,
 
81
                                perf_event__handler_t process,
 
82
                                struct perf_session *session);
 
83
int perf_session__synthesize_attrs(struct perf_session *session,
 
84
                                   perf_event__handler_t process);
 
85
int perf_event__process_attr(union perf_event *event, struct perf_session *session);
 
86
 
 
87
int perf_event__synthesize_event_type(u64 event_id, char *name,
 
88
                                      perf_event__handler_t process,
 
89
                                      struct perf_session *session);
 
90
int perf_event__synthesize_event_types(perf_event__handler_t process,
 
91
                                       struct perf_session *session);
 
92
int perf_event__process_event_type(union perf_event *event,
 
93
                                   struct perf_session *session);
 
94
 
 
95
int perf_event__synthesize_tracing_data(int fd, struct perf_evlist *evlist,
 
96
                                        perf_event__handler_t process,
 
97
                                        struct perf_session *session);
 
98
int perf_event__process_tracing_data(union perf_event *event,
 
99
                                     struct perf_session *session);
 
100
 
 
101
int perf_event__synthesize_build_id(struct dso *pos, u16 misc,
 
102
                                    perf_event__handler_t process,
 
103
                                    struct machine *machine,
 
104
                                    struct perf_session *session);
 
105
int perf_event__process_build_id(union perf_event *event,
110
106
                                 struct perf_session *session);
111
 
int event__synthesize_event_types(event__handler_t process,
112
 
                                  struct perf_session *session);
113
 
int event__process_event_type(event_t *self,
114
 
                              struct perf_session *session);
115
 
 
116
 
int event__synthesize_tracing_data(int fd, struct list_head *pattrs,
117
 
                                   event__handler_t process,
118
 
                                   struct perf_session *session);
119
 
int event__process_tracing_data(event_t *self,
120
 
                                struct perf_session *session);
121
 
 
122
 
int event__synthesize_build_id(struct dso *pos, u16 misc,
123
 
                               event__handler_t process,
124
 
                               struct machine *machine,
125
 
                               struct perf_session *session);
126
 
int event__process_build_id(event_t *self, struct perf_session *session);
127
 
 
128
107
#endif /* __PERF_HEADER_H */