Implement orphaned sections
[centaur.git] / include / libelfu / modeltypes.h
index c02eb3405eee72aee6948fbd73f41bdf0818b60d..bea93222f358088a38696aac2f0f1aa80c456bb1 100644 (file)
@@ -12,9 +12,10 @@ typedef struct ElfuScn {
 
   Elf_Data data;
 
-  struct ElfuScn *link;
+  struct ElfuScn *linkptr;
+  struct ElfuScn *infoptr;
 
-  CIRCLEQ_ENTRY(ElfuScn) elemPhdrToScn;
+  CIRCLEQ_ENTRY(ElfuScn) elemChildScn;
   CIRCLEQ_ENTRY(ElfuScn) elem;
 } ElfuScn;
 
@@ -22,8 +23,10 @@ typedef struct ElfuScn {
 typedef struct ElfuPhdr {
   GElf_Phdr phdr;
 
-  CIRCLEQ_HEAD(PhdrToScnList, ElfuScn) phdrToScnList;
+  CIRCLEQ_HEAD(ChildScnList, ElfuScn) childScnList;
+  CIRCLEQ_HEAD(ChildPhdrList, ElfuPhdr) childPhdrList;
 
+  CIRCLEQ_ENTRY(ElfuPhdr) elemChildPhdr;
   CIRCLEQ_ENTRY(ElfuPhdr) elem;
 } ElfuPhdr;
 
@@ -34,6 +37,7 @@ typedef struct {
 
   CIRCLEQ_HEAD(ScnList, ElfuScn) scnList;
   CIRCLEQ_HEAD(PhdrList, ElfuPhdr) phdrList;
+  CIRCLEQ_HEAD(OrphanScnList, ElfuScn) orphanScnList;
 
   ElfuScn *shstrtab;
 } ElfuElf;