3697d0f240eedf0ddaba56c9eec0ed0a97a9eaaa
[elfdbg/.git] / elf.h
1 #include <elf.h>
2 #include <sys/stat.h>
3
4 typedef struct Elf_Obj {
5     int         fd; /* file descriptor */
6     struct stat sb; /* file stat */
7     char        *mm; /* memory mapping */
8     char        *strtab; /* string table */
9     size_t      strtab_size; /* string table size */
10     Elf_Ehdr    *ehdr; /* header pointer */
11     size_t      ehdr_size; /* header size */
12     Elf_Shdr    *shdr; /* section header pointer */
13     size_t      shdr_size; /* section header size */
14 } Elf_Obj;
15
16 Elf_Obj *elf_init(const char *);
17 int elf_destroy(Elf_Obj *);
18 Elf_Shdr *elf_strtab(Elf_Obj *);
19 char *elf_str_get(Elf_Obj *, int);
20 int elf_debug(Elf_Obj *);
21 void elf_debug_print(Elf_Obj *);