1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef RELOCS_H
3 #define RELOCS_H
4 
5 #include <stdio.h>
6 #include <stdarg.h>
7 #include <stdlib.h>
8 #include <stdint.h>
9 #include <inttypes.h>
10 #include <string.h>
11 #include <errno.h>
12 #include <unistd.h>
13 #include <elf.h>
14 #include <byteswap.h>
15 #define USE_BSD
16 #include <endian.h>
17 #include <regex.h>
18 #include <tools/le_byteshift.h>
19 
20 __attribute__((__format__(printf, 1, 2)))
21 void die(char *fmt, ...) __attribute__((noreturn));
22 
23 #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
24 
25 enum symtype {
26 	S_ABS,
27 	S_REL,
28 	S_SEG,
29 	S_LIN,
30 	S_NSYMTYPES
31 };
32 
33 void process_32(FILE *fp, int use_real_mode, int as_text,
34 		int show_absolute_syms, int show_absolute_relocs,
35 		int show_reloc_info);
36 void process_64(FILE *fp, int use_real_mode, int as_text,
37 		int show_absolute_syms, int show_absolute_relocs,
38 		int show_reloc_info);
39 #endif /* RELOCS_H */
40