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