Enable cirrus continous integration task for freebsd
[elfdbg/.git] / elf.h
CommitLineData
418b72b3
SB
1#ifndef ELFDBG_ELF_H
2#define ELFDBG_ELF_H 1
3
1960d10e
SB
4#include <elf.h>
5#include <sys/stat.h>
6
418b72b3
SB
7#include "compat.h"
8
1960d10e 9typedef struct Elf_Obj {
3efce6f1
SB
10 int fd; /* file descriptor */
11 struct stat sb; /* file stat */
12 char *mm; /* memory mapping */
13 char *strtab; /* string table */
14 size_t strtab_size; /* string table size */
15 Elf_Ehdr *ehdr; /* header pointer */
16 size_t ehdr_size; /* header size */
17 Elf_Shdr *shdr; /* section header pointer */
18 size_t shdr_size; /* section header size */
1960d10e
SB
19} Elf_Obj;
20
d0dd0df1 21Elf_Obj *elf_init(const char *);
1960d10e
SB
22int elf_destroy(Elf_Obj *);
23Elf_Shdr *elf_strtab(Elf_Obj *);
d0dd0df1 24char *elf_str_get(Elf_Obj *, int);
0a595fdf 25int elf_debug_count(Elf_Obj *);
363fc57e 26void elf_debug_print(Elf_Obj *);
418b72b3
SB
27
28#endif /* ELFDBG_ELF_H */