Added the return address information in the call stack
[clinton/Virtual-Jaguar-Rx.git] / src / debugger / ELFManager.h
CommitLineData
cf76e892
JPM
1
2
3#ifndef __ELFMANAGER_H__
4#define __ELFMANAGER_H__
5
6
7typedef 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
4f945aea 31// Internal manager
cf76e892
JPM
32extern void ELFManager_Init(void);
33extern bool ELFManager_DwarfInit(Elf *PtrElfMem);
34extern Elf *ELFManager_MemOpen(char *PtrELFExe, size_t Size);
35extern int ELFManager_MemEnd(void);
36extern void ELFManager_Reset(void);
37extern void ELFManager_Close(void);
38extern bool ELFManager_AddTab(void *Ptr, size_t type);
cf76e892 39extern void *ELFManager_ExeCopy(void *src, size_t size);
4f945aea
JPM
40
41// Sections manager
cf76e892 42extern size_t ELFManager_GetSectionType(char *SectionName);
4f945aea
JPM
43
44// Symbols manager
cf76e892 45extern size_t ELFManager_GetAdrFromSymbolName(char *SymbolName);
4f945aea
JPM
46extern char *ELFManager_GetSymbolnameFromAdr(size_t Adr);
47
48// Functions manager
49extern char *ELFManager_GetFunctionName(size_t Adr);
cf76e892
JPM
50
51
52#endif // __ELFMANAGER_H__