kallsyms.h 618 B

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