Code refactoring for the variables support
[clinton/Virtual-Jaguar-Rx.git] / src / debugger / DWARFManager.h
CommitLineData
0203b5fd
JPM
1\r
2\r
3#ifndef __DWARFMANAGER_H__\r
4#define __DWARFMANAGER_H__\r
5\r
6\r
009df4d7
JPM
7// Definition for the DWARF status of each source file\r
8typedef enum\r
9{\r
10 DWARFSTATUS_OK = 0x0,\r
11 DWARFSTATUS_OUTDATEDFILE = 0x1,\r
12 DWARFSTATUS_NOFILE = 0x2,\r
13 DWARFSTATUS_NOFILEINFO = 0x4,\r
14 DWARFSTATUS_UNKNOWN = 0xff\r
15}DWARFstatus;\r
16\r
f0dd2f7b 17// Internal manager\r
0203b5fd
JPM
18extern bool DWARFManager_Reset(void);\r
19extern bool DWARFManager_Close(void);\r
20extern void DWARFManager_Init(void);\r
c89f8ff7 21extern int DWARFManager_ElfInit(Elf *ElfPtr, struct stat FileElfInfo);\r
f0dd2f7b 22extern void DWARFManager_Set(size_t NbPathsInList, char **PtrListPaths);\r
aae93d86 23extern size_t DWARFManager_GetNbSources(void);\r
0203b5fd 24\r
f0dd2f7b
JPM
25// General manager\r
26extern char *DWARFManager_GetFunctionName(size_t Adr);\r
aae93d86 27extern size_t DWARFManager_GetSrcLanguageFromIndex(size_t Index);\r
f0dd2f7b
JPM
28\r
29// Source text files manager\r
009df4d7 30extern char *DWARFManager_GetFullSourceFilenameFromAdr(size_t Adr, DWARFstatus *Status);\r
f0dd2f7b 31extern char *DWARFManager_GetNumFullSourceFilename(size_t Index);\r
aae93d86 32extern char *DWARFManager_GetNumSourceFilename(size_t Index);\r
f0dd2f7b
JPM
33\r
34// Symbols manager\r
0203b5fd 35extern char *DWARFManager_GetSymbolnameFromAdr(size_t Adr);\r
f0dd2f7b
JPM
36\r
37// Source text lines manager\r
38extern size_t DWARFManager_GetNumLineFromAdr(size_t Adr, size_t Tag);\r
0203b5fd
JPM
39extern char *DWARFManager_GetLineSrcFromAdr(size_t Adr, size_t Tag);\r
40extern char *DWARFManager_GetLineSrcFromAdrNumLine(size_t Adr, size_t NumLine);\r
41extern char *DWARFManager_GetLineSrcFromNumLineBaseAdr(size_t Adr, size_t NumLine);\r
aae93d86
JPM
42extern char **DWARFManager_GetSrcListPtrFromIndex(size_t Index, bool Used);\r
43extern size_t DWARFManager_GetSrcNbListPtrFromIndex(size_t Index, bool Used);\r
44extern size_t *DWARFManager_GetSrcNumLinesPtrFromIndex(size_t Index, bool Used);\r
0203b5fd
JPM
45\r
46// Global variables manager\r
47extern size_t DWARFManager_GetNbGlobalVariables(void);\r
48extern char *DWARFManager_GetGlobalVariableName(size_t Index);\r
49extern size_t DWARFManager_GetGlobalVariableTypeEncoding(size_t Index);\r
50extern char *DWARFManager_GetGlobalVariableTypeName(size_t Index);\r
51extern size_t DWARFManager_GetGlobalVariableTypeByteSize(size_t Index);\r
52extern size_t DWARFManager_GetGlobalVariableAdr(size_t Index);\r
53extern size_t DWARFManager_GetGlobalVariableAdrFromName(char *VariableName);\r
54extern size_t DWARFManager_GetGlobalVariableTypeTag(size_t Index);\r
55\r
56// Local variables manager\r
57extern size_t DWARFManager_GetNbLocalVariables(size_t Adr);\r
58extern char *DWARFManager_GetLocalVariableName(size_t Adr, size_t Index);\r
59extern size_t DWARFManager_GetLocalVariableTypeEncoding(size_t Adr, size_t Index);\r
60extern char *DWARFManager_GetLocalVariableTypeName(size_t Adr, size_t Index);\r
61extern size_t DWARFManager_GetLocalVariableTypeByteSize(size_t Adr, size_t Index);\r
62extern size_t DWARFManager_GetLocalVariableTypeTag(size_t Adr, size_t Index);\r
63extern size_t DWARFManager_GetLocalVariableOp(size_t Adr, size_t Index);\r
64extern int DWARFManager_GetLocalVariableOffset(size_t Adr, size_t Index);\r
65\r
66\r
67#endif // __DWARFMANAGER_H__\r