c4122810e48996cfe8a7fc6c5c3ca048cca498a5
[safe/jmp/linux-2.6] / tools / perf / util / data_map.h
1 #ifndef __PERF_DATAMAP_H
2 #define __PERF_DATAMAP_H
3
4 #include "event.h"
5 #include "header.h"
6
7 typedef int (*event_type_handler_t)(event_t *, unsigned long, unsigned long);
8
9 struct perf_file_handler {
10         event_type_handler_t    process_sample_event;
11         event_type_handler_t    process_mmap_event;
12         event_type_handler_t    process_comm_event;
13         event_type_handler_t    process_fork_event;
14         event_type_handler_t    process_exit_event;
15         event_type_handler_t    process_lost_event;
16         event_type_handler_t    process_read_event;
17         event_type_handler_t    process_throttle_event;
18         event_type_handler_t    process_unthrottle_event;
19         int                     (*sample_type_check)(u64 sample_type);
20         unsigned long           total_unknown;
21 };
22
23 void register_perf_file_handler(struct perf_file_handler *handler);
24 int mmap_dispatch_perf_file(struct perf_header **pheader,
25                             const char *input_name,
26                             int force,
27                             int full_paths,
28                             int *cwdlen,
29                             char **cwd);
30 int perf_header__read_build_ids(const struct perf_header *self,
31                                 int input, off_t file_size);
32
33 #endif