1 #ifndef __PERF_RECORD_H
2 #define __PERF_RECORD_H
6 #include <linux/rbtree.h>
15 * PERF_SAMPLE_IP | PERF_SAMPLE_TID | *
18 struct perf_event_header header
;
21 unsigned char __more_data
[];
25 struct perf_event_header header
;
30 char filename
[PATH_MAX
];
34 struct perf_event_header header
;
40 struct perf_event_header header
;
47 struct perf_event_header header
;
53 * PERF_FORMAT_ENABLED | PERF_FORMAT_RUNNING | PERF_FORMAT_ID
56 struct perf_event_header header
;
65 struct perf_event_header header
;
70 typedef union event_union
{
71 struct perf_event_header header
;
73 struct mmap_event mmap
;
74 struct comm_event comm
;
75 struct fork_event fork
;
76 struct lost_event lost
;
77 struct read_event read
;
78 struct sample_event sample
;
82 struct rb_node rb_node
;
86 u64 (*map_ip
)(struct map
*, u64
);
90 static inline u64
map__map_ip(struct map
*map
, u64 ip
)
92 return ip
- map
->start
+ map
->pgoff
;
95 static inline u64
vdso__map_ip(struct map
*map __used
, u64 ip
)
100 struct map
*map__new(struct mmap_event
*event
, char *cwd
, int cwdlen
);
101 struct map
*map__clone(struct map
*self
);
102 int map__overlap(struct map
*l
, struct map
*r
);
103 size_t map__fprintf(struct map
*self
, FILE *fp
);
105 #endif /* __PERF_RECORD_H */