Merge branch 'develop'
[clinton/Virtual-Jaguar-Rx.git] / src / debugger / DWARFManager.h
index d05e4ee..5766ea9 100644 (file)
@@ -4,20 +4,32 @@
 #define __DWARFMANAGER_H__\r
 \r
 \r
+// Definition for the DWARF status of each source file\r
+typedef enum\r
+{\r
+       DWARFSTATUS_OK = 0x0,\r
+       DWARFSTATUS_OUTDATEDFILE = 0x1,\r
+       DWARFSTATUS_NOFILE = 0x2,\r
+       DWARFSTATUS_NOFILEINFO = 0x4,\r
+       DWARFSTATUS_UNKNOWN = 0xff\r
+}DWARFstatus;\r
+\r
 // Internal manager\r
 extern bool    DWARFManager_Reset(void);\r
 extern bool    DWARFManager_Close(void);\r
 extern void    DWARFManager_Init(void);\r
-extern int DWARFManager_ElfInit(Elf *ElfPtr);\r
+extern int DWARFManager_ElfInit(Elf *ElfPtr, struct stat FileElfInfo);\r
 extern void DWARFManager_Set(size_t NbPathsInList, char **PtrListPaths);\r
+extern size_t DWARFManager_GetNbSources(void);\r
 \r
 // General manager\r
 extern char *DWARFManager_GetFunctionName(size_t Adr);\r
+extern size_t DWARFManager_GetSrcLanguageFromIndex(size_t Index);\r
 \r
 // Source text files manager\r
-extern char    *DWARFManager_GetFullSourceFilenameFromAdr(size_t Adr, bool *Error);\r
-extern size_t DWARFManager_GetNbFullSourceFilename(void);\r
+extern char    *DWARFManager_GetFullSourceFilenameFromAdr(size_t Adr, DWARFstatus *Status);\r
 extern char *DWARFManager_GetNumFullSourceFilename(size_t Index);\r
+extern char *DWARFManager_GetNumSourceFilename(size_t Index);\r
 \r
 // Symbols manager\r
 extern char    *DWARFManager_GetSymbolnameFromAdr(size_t Adr);\r
@@ -27,19 +39,27 @@ extern size_t DWARFManager_GetNumLineFromAdr(size_t Adr, size_t Tag);
 extern char *DWARFManager_GetLineSrcFromAdr(size_t Adr, size_t Tag);\r
 extern char *DWARFManager_GetLineSrcFromAdrNumLine(size_t Adr, size_t NumLine);\r
 extern char *DWARFManager_GetLineSrcFromNumLineBaseAdr(size_t Adr, size_t NumLine);\r
+extern char **DWARFManager_GetSrcListPtrFromIndex(size_t Index, bool Used);\r
+extern size_t DWARFManager_GetSrcNbListPtrFromIndex(size_t Index, bool Used);\r
+extern size_t *DWARFManager_GetSrcNumLinesPtrFromIndex(size_t Index, bool Used);\r
+\r
+// Variables manager\r
+extern size_t DWARFManager_GetNbVariables(size_t Adr);\r
+extern void* DWARFManager_GetInfosVariable(size_t Adr, size_t Index);\r
+\r
+// Global variables manager\r
+extern size_t DWARFManager_GetGlobalVariableAdrFromName(char *VariableName);\r
 \r
+#if 0\r
 // Global variables manager\r
-extern size_t DWARFManager_GetNbGlobalVariables(void);\r
 extern char *DWARFManager_GetGlobalVariableName(size_t Index);\r
 extern size_t DWARFManager_GetGlobalVariableTypeEncoding(size_t Index);\r
 extern char *DWARFManager_GetGlobalVariableTypeName(size_t Index);\r
 extern size_t DWARFManager_GetGlobalVariableTypeByteSize(size_t Index);\r
 extern size_t DWARFManager_GetGlobalVariableAdr(size_t Index);\r
-extern size_t DWARFManager_GetGlobalVariableAdrFromName(char *VariableName);\r
 extern size_t DWARFManager_GetGlobalVariableTypeTag(size_t Index);\r
 \r
 // Local variables manager\r
-extern size_t DWARFManager_GetNbLocalVariables(size_t Adr);\r
 extern char *DWARFManager_GetLocalVariableName(size_t Adr, size_t Index);\r
 extern size_t DWARFManager_GetLocalVariableTypeEncoding(size_t Adr, size_t Index);\r
 extern char *DWARFManager_GetLocalVariableTypeName(size_t Adr, size_t Index);\r
@@ -47,6 +67,7 @@ extern size_t DWARFManager_GetLocalVariableTypeByteSize(size_t Adr, size_t Index
 extern size_t DWARFManager_GetLocalVariableTypeTag(size_t Adr, size_t Index);\r
 extern size_t DWARFManager_GetLocalVariableOp(size_t Adr, size_t Index);\r
 extern int DWARFManager_GetLocalVariableOffset(size_t Adr, size_t Index);\r
+#endif\r
 \r
 \r
 #endif // __DWARFMANAGER_H__\r