1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- #ifndef _PERF_MODULE_
- #define _PERF_MODULE_ 1
- #include <linux/types.h>
- #include "../types.h"
- #include <linux/list.h>
- #include <linux/rbtree.h>
- struct section {
- struct rb_node rb_node;
- u64 hash;
- u64 vma;
- char *name;
- char *path;
- };
- struct sec_dso {
- struct list_head node;
- struct rb_root secs;
- struct section *(*find_section)(struct sec_dso *, const char *name);
- char name[0];
- };
- struct module {
- struct rb_node rb_node;
- u64 hash;
- char *name;
- char *path;
- struct sec_dso *sections;
- int active;
- };
- struct mod_dso {
- struct list_head node;
- struct rb_root mods;
- struct module *(*find_module)(struct mod_dso *, const char *name);
- char name[0];
- };
- struct sec_dso *sec_dso__new_dso(const char *name);
- void sec_dso__delete_sections(struct sec_dso *self);
- void sec_dso__delete_self(struct sec_dso *self);
- size_t sec_dso__fprintf(struct sec_dso *self, FILE *fp);
- struct section *sec_dso__find_section(struct sec_dso *self, const char *name);
- struct mod_dso *mod_dso__new_dso(const char *name);
- void mod_dso__delete_modules(struct mod_dso *self);
- void mod_dso__delete_self(struct mod_dso *self);
- size_t mod_dso__fprintf(struct mod_dso *self, FILE *fp);
- struct module *mod_dso__find_module(struct mod_dso *self, const char *name);
- int mod_dso__load_modules(struct mod_dso *dso);
- #endif /* _PERF_MODULE_ */
|