diff options
Diffstat (limited to 'tools/perf/util/event.h')
-rw-r--r-- | tools/perf/util/event.h | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/tools/perf/util/event.h b/tools/perf/util/event.h index d972b4b0d38c..1f771ce3a957 100644 --- a/tools/perf/util/event.h +++ b/tools/perf/util/event.h @@ -61,6 +61,20 @@ struct sample_event{ u64 array[]; }; +#define BUILD_ID_SIZE 20 + +struct build_id_event { + struct perf_event_header header; + u8 build_id[ALIGN(BUILD_ID_SIZE, sizeof(u64))]; + char filename[]; +}; + +struct build_id_list { + struct build_id_event event; + struct list_head list; + const char *dso_name; + int len; +}; typedef union event_union { struct perf_event_header header; @@ -105,10 +119,15 @@ struct symbol; typedef int (*symbol_filter_t)(struct map *map, struct symbol *sym); -struct map *map__new(struct mmap_event *event, char *cwd, int cwdlen, - unsigned int sym_priv_size, symbol_filter_t filter); +void map__init(struct map *self, u64 start, u64 end, u64 pgoff, + struct dso *dso); +struct map *map__new(struct mmap_event *event, char *cwd, int cwdlen); struct map *map__clone(struct map *self); int map__overlap(struct map *l, struct map *r); size_t map__fprintf(struct map *self, FILE *fp); +struct symbol *map__find_symbol(struct map *self, u64 ip, symbol_filter_t filter); + +int event__synthesize_thread(pid_t pid, int (*process)(event_t *event)); +void event__synthesize_threads(int (*process)(event_t *event)); #endif /* __PERF_RECORD_H */ |