Added a source code file date check when reading DWARF information
[clinton/Virtual-Jaguar-Rx.git] / src / debugger / DBGManager.h
index fd9a159..5695eb0 100644 (file)
@@ -4,6 +4,26 @@
 #define __DBGMANAGER_H__\r
 \r
 \r
+// Definition for the DWARF status of each source file\r
+typedef enum\r
+{\r
+       DBGSTATUS_OK = 0x0,\r
+       DBGSTATUS_OUTDATEDFILE = 0x1,\r
+       DBGSTATUS_NOFILE = 0x2,\r
+       DBGSTATUS_NOFILEINFO = 0x4,\r
+       DBGSTATUS_UNKNOWN = 0xff\r
+}DBGstatus;\r
+\r
+// Language tag based in the DW_TAG_... list from the dwarf.h\r
+typedef enum {\r
+       DBG_NO_LANG = 0x0,\r
+       DBG_LANG_C89 = 0x1,\r
+       DBG_LANG_C99 = 0xc,\r
+       DBG_LANG_VASM_Assembler = 0x8001,               // source from vasm assembler is marked as "DW_LANG_Mips_Assembler" with same value\r
+       DBG_END_LANG\r
+}DBGLANGTAG;\r
+\r
+// Debug types\r
 typedef enum {\r
        DBG_NO_TYPE = 0x0,\r
        DBG_ELF = 0x1,\r
@@ -226,25 +246,33 @@ extern void       DBGManager_SetType(size_t DBGTypeSet);
 extern size_t DBGManager_GetType(void);\r
 extern void    DBGManager_Reset(void);\r
 extern void    DBGManager_Close(void);\r
+extern void DBGManager_SourceFileSearchPathsSet(char *ListPaths);\r
+extern size_t DBGManager_GetNbSources(void);\r
 \r
 // Source text lines manager\r
 extern size_t DBGManager_GetNumLineFromAdr(size_t Adr, size_t Tag);\r
 extern char *DBGManager_GetLineSrcFromAdr(size_t Adr, size_t Tag);\r
 extern char *DBGManager_GetLineSrcFromAdrNumLine(size_t Adr, size_t NumLine);\r
 extern char *DBGManager_GetLineSrcFromNumLineBaseAdr(size_t Adr, size_t NumLine);\r
+extern char **DBGManager_GetSrcListPtrFromIndex(size_t Index, bool Used);\r
+extern size_t DBGManager_GetSrcNbListPtrFromIndex(size_t Index, bool Used);\r
+extern size_t *DBGManager_GetSrcNumLinesPtrFromIndex(size_t Index, bool Used);\r
 \r
 // General manager\r
-extern char *DBGManager_GetFunctionName(size_t Adr);\r
 extern char *DBGManager_GetVariableValueFromAdr(size_t Adr, size_t TypeEncoding, size_t TypeByteSize);\r
+extern size_t DBGManager_GetSrcLanguageFromIndex(size_t Index);\r
+\r
+// Functions manager\r
+extern char *DBGManager_GetFunctionName(size_t Adr);\r
 \r
 // Symbols manager\r
 extern char    *DBGManager_GetSymbolNameFromAdr(size_t Adr);\r
 extern size_t DBGManager_GetAdrFromSymbolName(char *SymbolName);\r
 \r
 // Source text files manager\r
-extern char    *DBGManager_GetFullSourceFilenameFromAdr(size_t Adr, bool *Error);\r
-extern size_t DBGManager_GetNbFullSourceFilename(void);\r
+extern char    *DBGManager_GetFullSourceFilenameFromAdr(size_t Adr, DBGstatus *Status);\r
 extern char *DBGManager_GetNumFullSourceFilename(size_t Index);\r
+extern char *DBGManager_GetNumSourceFilename(size_t Index);\r
 \r
 // Global variables manager\r
 extern size_t DBGManager_GetNbGlobalVariables(void);\r