1 #ifndef __LIBELFU_MODEL_H__
2 #define __LIBELFU_MODEL_H__
10 typedef struct ElfuData {
13 CIRCLEQ_ENTRY(ElfuData) elem;
17 typedef struct ElfuScn {
20 CIRCLEQ_HEAD(DataList, ElfuData) dataList;
22 CIRCLEQ_ENTRY(ElfuScn) elem;
26 typedef struct ElfuPhdr {
29 CIRCLEQ_ENTRY(ElfuPhdr) elem;
37 CIRCLEQ_HEAD(ScnList, ElfuScn) scnList;
38 CIRCLEQ_HEAD(PhdrList, ElfuPhdr) phdrList;
45 size_t elfu_countSections(ElfuElf *me);
46 size_t elfu_countPHDRs(ElfuElf *me);
48 char* elfu_modelScnName(ElfuElf *me, ElfuScn *ms);
50 int elfu_modelCheck(ElfuElf *me);
52 ElfuPhdr* elfu_modelFromPhdr(GElf_Phdr *phdr);
53 ElfuScn* elfu_modelFromSection(Elf_Scn *scn);
54 ElfuElf* elfu_modelFromElf(Elf *e);
56 void elfu_modelToElf(ElfuElf *me, Elf *e);