DWARF information support updates
[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 45\r
5c5de885
JPM
46// Variables manager\r
47extern size_t DWARFManager_GetNbVariables(size_t Adr);\r
48extern void* DWARFManager_GetInfosVariable(size_t Adr, size_t Index);\r
49\r
50// Global variables manager\r
51extern size_t DWARFManager_GetGlobalVariableAdrFromName(char *VariableName);\r
52\r
53#if 0\r
0203b5fd 54// Global variables manager\r
0203b5fd
JPM
55extern char *DWARFManager_GetGlobalVariableName(size_t Index);\r
56extern size_t DWARFManager_GetGlobalVariableTypeEncoding(size_t Index);\r
57extern char *DWARFManager_GetGlobalVariableTypeName(size_t Index);\r
58extern size_t DWARFManager_GetGlobalVariableTypeByteSize(size_t Index);\r
59extern size_t DWARFManager_GetGlobalVariableAdr(size_t Index);\r
0203b5fd
JPM
60extern size_t DWARFManager_GetGlobalVariableTypeTag(size_t Index);\r
61\r
62// Local variables manager\r
0203b5fd
JPM
63extern char *DWARFManager_GetLocalVariableName(size_t Adr, size_t Index);\r
64extern size_t DWARFManager_GetLocalVariableTypeEncoding(size_t Adr, size_t Index);\r
65extern char *DWARFManager_GetLocalVariableTypeName(size_t Adr, size_t Index);\r
66extern size_t DWARFManager_GetLocalVariableTypeByteSize(size_t Adr, size_t Index);\r
67extern size_t DWARFManager_GetLocalVariableTypeTag(size_t Adr, size_t Index);\r
68extern size_t DWARFManager_GetLocalVariableOp(size_t Adr, size_t Index);\r
69extern int DWARFManager_GetLocalVariableOffset(size_t Adr, size_t Index);\r
5c5de885 70#endif\r
0203b5fd
JPM
71\r
72\r
73#endif // __DWARFMANAGER_H__\r