#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
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
-// General manager\r
-extern char *DBGManager_GetSymbolNameFromAdr(size_t Adr);\r
-extern char *DBGManager_GetFullSourceFilenameFromAdr(size_t Adr, bool *Error);\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 size_t DBGManager_GetAdrFromSymbolName(char *SymbolName);\r
-extern char *DBGManager_GetFunctionName(size_t Adr);\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_GetVariableValueFromAdr(size_t Adr, size_t TypeEncoding, size_t TypeByteSize);\r
-extern size_t DBGManager_GetNbFullSourceFilename(void);\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, 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