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
20void die(char *fmt, ...) __attribute__((noreturn));
21
22#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
23
24enum symtype {
25 S_ABS,
26 S_REL,
27 S_SEG,
28 S_LIN,
29 S_NSYMTYPES
30};
31
32void process_32(FILE *fp, int use_real_mode, int as_text,
33 int show_absolute_syms, int show_absolute_relocs,
34 int show_reloc_info);
35void process_64(FILE *fp, int use_real_mode, int as_text,
36 int show_absolute_syms, int show_absolute_relocs,
37 int show_reloc_info);
38#endif /* RELOCS_H */
39