diff options
Diffstat (limited to 'include/libelfu/modelops.h')
-rw-r--r-- | include/libelfu/modelops.h | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/include/libelfu/modelops.h b/include/libelfu/modelops.h index 3ce9a90..1cfe0b6 100644 --- a/include/libelfu/modelops.h +++ b/include/libelfu/modelops.h @@ -7,20 +7,35 @@ #include <libelfu/modeltypes.h> +size_t elfu_mScnIndex(ElfuElf *me, ElfuScn *ms); size_t elfu_mCountScns(ElfuElf *me); size_t elfu_mCountPhdrs(ElfuElf *me); char* elfu_mScnName(ElfuElf *me, ElfuScn *ms); +ElfuScn* elfu_mScnFirstInSegment(ElfuElf *me, ElfuPhdr *mp); +ElfuScn* elfu_mScnLastInSegment(ElfuElf *me, ElfuPhdr *mp); + +ElfuScn* elfu_mScnByType(ElfuElf *me, Elf32_Word type); + int elfu_mCheck(ElfuElf *me); +ElfuScn* elfu_mCloneScn(ElfuScn *ms); + + ElfuElf* elfu_mFromElf(Elf *e); void elfu_mToElf(ElfuElf *me, Elf *e); void elfu_mExpandNobits(ElfuElf *me, GElf_Off off); -GElf_Xword elfu_mInsertBefore(ElfuElf *me, GElf_Off off, GElf_Xword size); -GElf_Xword elfu_mInsertAfter(ElfuElf *me, GElf_Off off, GElf_Xword size); +GElf_Xword elfu_mInsertSpaceBefore(ElfuElf *me, GElf_Off off, GElf_Xword size); +GElf_Xword elfu_mInsertSpaceAfter(ElfuElf *me, GElf_Off off, GElf_Xword size); + +void elfu_mInsertScnInChainBefore(ElfuElf *me, ElfuScn *oldscn, ElfuScn *newscn); +void elfu_mInsertScnInChainAfter(ElfuElf *me, ElfuScn *oldscn, ElfuScn *newscn); + + +void elfu_mReladd(ElfuElf *me, ElfuElf *mrel); #endif |