Merge branch 'for-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata
[sfrench/cifs-2.6.git] / tools / lib / symbol / kallsyms.h
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
13 static 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 u8 kallsyms2elf_type(char type);
22
23 int kallsyms__parse(const char *filename, void *arg,
24                     int (*process_symbol)(void *arg, const char *name,
25                                           char type, u64 start));
26
27 #endif /* __TOOLS_KALLSYMS_H_ */