33a68a3d66ea27420579b4efbbd44e3bac1a2df8
[centaur.git] / include / libelfu / modeltypes.h
1 #ifndef __LIBELFU_MODELTYPES_H__
2 #define __LIBELFU_MODELTYPES_H__
3
4 #include <sys/queue.h>
5
6 #include <elf.h>
7 #include <gelf.h>
8
9
10 typedef struct ElfuScn {
11   GElf_Shdr shdr;
12
13   Elf_Data data;
14
15   CIRCLEQ_ENTRY(ElfuScn) elem;
16 } ElfuScn;
17
18
19 typedef struct ElfuPhdr {
20   GElf_Phdr phdr;
21
22   CIRCLEQ_ENTRY(ElfuPhdr) elem;
23 } ElfuPhdr;
24
25
26 typedef struct {
27   int elfclass;
28   GElf_Ehdr ehdr;
29
30   CIRCLEQ_HEAD(ScnList, ElfuScn) scnList;
31   CIRCLEQ_HEAD(PhdrList, ElfuPhdr) phdrList;
32
33   ElfuScn *shstrtab;
34 } ElfuElf;
35
36
37 #endif