1 #ifndef _XEN_SYMBOLS_H
2 #define _XEN_SYMBOLS_H
3 
4 #include <xen/types.h>
5 
6 #define KSYM_NAME_LEN 127
7 
8 /*
9  * Typedef for the callback functions that symbols_lookup
10  * can call if virtual_region_list has an callback for it.
11  */
12 typedef const char *symbols_lookup_t(unsigned long addr,
13                                      unsigned long *symbolsize,
14                                      unsigned long *offset,
15                                      char *namebuf);
16 
17 /* Lookup an address. */
18 const char *symbols_lookup(unsigned long addr,
19                            unsigned long *symbolsize,
20                            unsigned long *offset,
21                            char *namebuf);
22 
23 int xensyms_read(uint32_t *symnum, char *type,
24                  unsigned long *address, char *name);
25 
26 unsigned long symbols_lookup_by_name(const char *symname);
27 
28 /*
29  * A sorted (by symbols) lookup table table to symbols_names (stream)
30  * and symbols_address (or offset).
31  */
32 struct symbol_offset {
33     uint32_t stream; /* .. in the compressed stream.*/
34     uint32_t addr;   /* .. and in the fixed size address array. */
35 };
36 #endif /*_XEN_SYMBOLS_H*/
37