1 #ifndef __PERF_RECORD_H
2 #define __PERF_RECORD_H
6 #include <linux/list.h>
7 #include <linux/rbtree.h>
10 * PERF_SAMPLE_IP | PERF_SAMPLE_TID | *
13 struct perf_event_header header
;
16 unsigned char __more_data
[];
20 struct perf_event_header header
;
25 char filename
[PATH_MAX
];
29 struct perf_event_header header
;
35 struct perf_event_header header
;
42 struct perf_event_header header
;
48 * PERF_FORMAT_ENABLED | PERF_FORMAT_RUNNING | PERF_FORMAT_ID
51 struct perf_event_header header
;
60 struct perf_event_header header
;
65 typedef union event_union
{
66 struct perf_event_header header
;
68 struct mmap_event mmap
;
69 struct comm_event comm
;
70 struct fork_event fork
;
71 struct lost_event lost
;
72 struct read_event read
;
73 struct sample_event sample
;
78 struct rb_node rb_node
;
79 struct list_head node
;
84 u64 (*map_ip
)(struct map
*, u64
);
88 static inline u64
map__map_ip(struct map
*map
, u64 ip
)
90 return ip
- map
->start
+ map
->pgoff
;
93 static inline u64
vdso__map_ip(struct map
*map __used
, u64 ip
)
98 struct map
*map__new(struct mmap_event
*event
, char *cwd
, int cwdlen
);
99 struct map
*map__clone(struct map
*self
);
100 int map__overlap(struct map
*l
, struct map
*r
);
101 size_t map__fprintf(struct map
*self
, FILE *fp
);
103 #endif /* __PERF_RECORD_H */