1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef __TOOLS_KALLSYMS_H_ 3 #define __TOOLS_KALLSYMS_H_ 1 4 5 #include <elf.h> 6 #include <linux/ctype.h> 7 #include <linux/types.h> 8 9 #ifndef KSYM_NAME_LEN 10 #define KSYM_NAME_LEN 256 11 #endif 12 kallsyms2elf_binding(char type)13static inline u8 kallsyms2elf_binding(char type) 14 { 15 if (type == 'W') 16 return STB_WEAK; 17 18 return isupper(type) ? STB_GLOBAL : STB_LOCAL; 19 } 20 21 int hex2u64(const char *ptr, u64 *long_val); 22 23 u8 kallsyms2elf_type(char type); 24 25 bool kallsyms__is_function(char symbol_type); 26 27 int kallsyms__parse(const char *filename, void *arg, 28 int (*process_symbol)(void *arg, const char *name, 29 char type, u64 start)); 30 31 #endif /* __TOOLS_KALLSYMS_H_ */ 32