linux/tools/perf/util/module.h
<<
>>
Prefs
   1#ifndef _PERF_MODULE_
   2#define _PERF_MODULE_ 1
   3
   4#include <linux/types.h>
   5#include "../types.h"
   6#include <linux/list.h>
   7#include <linux/rbtree.h>
   8
   9struct section {
  10        struct rb_node  rb_node;
  11        u64             hash;
  12        u64             vma;
  13        char            *name;
  14        char            *path;
  15};
  16
  17struct sec_dso {
  18        struct list_head node;
  19        struct rb_root   secs;
  20        struct section    *(*find_section)(struct sec_dso *, const char *name);
  21        char             name[0];
  22};
  23
  24struct module {
  25        struct rb_node  rb_node;
  26        u64             hash;
  27        char            *name;
  28        char            *path;
  29        struct sec_dso  *sections;
  30        int             active;
  31};
  32
  33struct mod_dso {
  34        struct list_head node;
  35        struct rb_root   mods;
  36        struct module    *(*find_module)(struct mod_dso *, const char *name);
  37        char             name[0];
  38};
  39
  40struct sec_dso *sec_dso__new_dso(const char *name);
  41void sec_dso__delete_sections(struct sec_dso *self);
  42void sec_dso__delete_self(struct sec_dso *self);
  43size_t sec_dso__fprintf(struct sec_dso *self, FILE *fp);
  44struct section *sec_dso__find_section(struct sec_dso *self, const char *name);
  45
  46struct mod_dso *mod_dso__new_dso(const char *name);
  47void mod_dso__delete_modules(struct mod_dso *self);
  48void mod_dso__delete_self(struct mod_dso *self);
  49size_t mod_dso__fprintf(struct mod_dso *self, FILE *fp);
  50struct module *mod_dso__find_module(struct mod_dso *self, const char *name);
  51int mod_dso__load_modules(struct mod_dso *dso);
  52
  53#endif /* _PERF_MODULE_ */
  54