1 #ifndef __TOOLS_KALLSYMS_H_ 2 #define __TOOLS_KALLSYMS_H_ 1 3 4 #include <elf.h> 5 #include <linux/ctype.h> 6 #include <linux/types.h> 7 8 #ifndef KSYM_NAME_LEN 9 #define KSYM_NAME_LEN 256 10 #endif 11 12 static inline u8 kallsyms2elf_binding(char type) 13 { 14 if (type == 'W') 15 return STB_WEAK; 16 17 return isupper(type) ? STB_GLOBAL : STB_LOCAL; 18 } 19 20 int kallsyms__parse(const char *filename, void *arg, 21 int (*process_symbol)(void *arg, const char *name, 22 char type, u64 start)); 23 24 #endif /* __TOOLS_KALLSYMS_H_ */ 25