Commit | Line | Data |
---|---|---|
cf76e892 JPM |
1 | |
2 | ||
3 | #ifndef __ELFMANAGER_H__ | |
4 | #define __ELFMANAGER_H__ | |
5 | ||
6 | ||
7 | typedef enum { | |
8 | ELF_NO_TYPE = -1, | |
9 | ELF_NULL_TYPE = 0, | |
10 | ELF_text_TYPE, | |
11 | ELF_rodata_TYPE, | |
12 | ELF_data_TYPE, | |
13 | ELF_bss_TYPE, | |
14 | ELF_heap_TYPE, | |
15 | ELF_debug_aranges_TYPE, | |
16 | ELF_debug_info_TYPE, | |
17 | ELF_debug_abbrev_TYPE, | |
18 | ELF_debug_line_TYPE, | |
19 | ELF_debug_frame_TYPE, | |
20 | ELF_debug_str_TYPE, | |
21 | ELF_debug_loc_TYPE, | |
22 | ELF_debug_ranges_TYPE, | |
23 | ELF_comment_TYPE, | |
24 | ELF_shstrtab_TYPE, | |
25 | ELF_symtab_TYPE, | |
26 | ELF_strtab_TYPE, | |
27 | ELF_END_TYPE | |
28 | }ELFSECTIONTYPE; | |
29 | ||
30 | ||
31 | extern void ELFManager_Init(void); | |
32 | extern bool ELFManager_DwarfInit(Elf *PtrElfMem); | |
33 | extern Elf *ELFManager_MemOpen(char *PtrELFExe, size_t Size); | |
34 | extern int ELFManager_MemEnd(void); | |
35 | extern void ELFManager_Reset(void); | |
36 | extern void ELFManager_Close(void); | |
37 | extern bool ELFManager_AddTab(void *Ptr, size_t type); | |
38 | extern char *ELFManager_GetSymbolnameFromAdr(size_t Adr); | |
39 | extern void *ELFManager_ExeCopy(void *src, size_t size); | |
40 | extern size_t ELFManager_GetSectionType(char *SectionName); | |
41 | extern size_t ELFManager_GetAdrFromSymbolName(char *SymbolName); | |
42 | ||
43 | ||
44 | #endif // __ELFMANAGER_H__ |