perf_counter tools: Move symbol resolution classes from report to libperf
[pandora-kernel.git] / Documentation / perf_counter / util / symbol.h
1 #ifndef _PERF_SYMBOL_
2 #define _PERF_SYMBOL_ 1
3
4 #include <linux/types.h>
5 #include "list.h"
6 #include "rbtree.h"
7
8 struct symbol {
9         struct rb_node  rb_node;
10         __u64           start;
11         __u64           end;
12         char            name[0];
13 };
14
15 struct dso {
16         struct list_head node;
17         struct rb_root   syms;
18         char             name[0];
19 };
20
21 struct dso *dso__new(const char *name);
22 void dso__delete(struct dso *self);
23
24 struct symbol *dso__find_symbol(struct dso *self, uint64_t ip);
25
26 int dso__load_kallsyms(struct dso *self);
27 int dso__load_vmlinux(struct dso *self, const char *vmlinux);
28 int dso__load(struct dso *self);
29
30 size_t dso__fprintf(struct dso *self, FILE *fp);
31
32 void symbol__init(void);
33 #endif /* _PERF_SYMBOL_ */