X-Git-Url: http://git.hcoop.net/clinton/Virtual-Jaguar-Rx.git/blobdiff_plain/0b02b508dea56eb938a4d05141c10b207c383d2c..009df4d72576516c0bd57440cddf6a2e7063bccd:/src/debugger/DBGManager.h diff --git a/src/debugger/DBGManager.h b/src/debugger/DBGManager.h index f034621..5695eb0 100644 --- a/src/debugger/DBGManager.h +++ b/src/debugger/DBGManager.h @@ -4,6 +4,26 @@ #define __DBGMANAGER_H__ +// Definition for the DWARF status of each source file +typedef enum +{ + DBGSTATUS_OK = 0x0, + DBGSTATUS_OUTDATEDFILE = 0x1, + DBGSTATUS_NOFILE = 0x2, + DBGSTATUS_NOFILEINFO = 0x4, + DBGSTATUS_UNKNOWN = 0xff +}DBGstatus; + +// Language tag based in the DW_TAG_... list from the dwarf.h +typedef enum { + DBG_NO_LANG = 0x0, + DBG_LANG_C89 = 0x1, + DBG_LANG_C99 = 0xc, + DBG_LANG_VASM_Assembler = 0x8001, // source from vasm assembler is marked as "DW_LANG_Mips_Assembler" with same value + DBG_END_LANG +}DBGLANGTAG; + +// Debug types typedef enum { DBG_NO_TYPE = 0x0, DBG_ELF = 0x1, @@ -227,15 +247,20 @@ extern size_t DBGManager_GetType(void); extern void DBGManager_Reset(void); extern void DBGManager_Close(void); extern void DBGManager_SourceFileSearchPathsSet(char *ListPaths); +extern size_t DBGManager_GetNbSources(void); // Source text lines manager extern size_t DBGManager_GetNumLineFromAdr(size_t Adr, size_t Tag); extern char *DBGManager_GetLineSrcFromAdr(size_t Adr, size_t Tag); extern char *DBGManager_GetLineSrcFromAdrNumLine(size_t Adr, size_t NumLine); extern char *DBGManager_GetLineSrcFromNumLineBaseAdr(size_t Adr, size_t NumLine); +extern char **DBGManager_GetSrcListPtrFromIndex(size_t Index, bool Used); +extern size_t DBGManager_GetSrcNbListPtrFromIndex(size_t Index, bool Used); +extern size_t *DBGManager_GetSrcNumLinesPtrFromIndex(size_t Index, bool Used); // General manager extern char *DBGManager_GetVariableValueFromAdr(size_t Adr, size_t TypeEncoding, size_t TypeByteSize); +extern size_t DBGManager_GetSrcLanguageFromIndex(size_t Index); // Functions manager extern char *DBGManager_GetFunctionName(size_t Adr); @@ -245,9 +270,9 @@ extern char *DBGManager_GetSymbolNameFromAdr(size_t Adr); extern size_t DBGManager_GetAdrFromSymbolName(char *SymbolName); // Source text files manager -extern char *DBGManager_GetFullSourceFilenameFromAdr(size_t Adr, bool *Error); -extern size_t DBGManager_GetNbFullSourceFilename(void); +extern char *DBGManager_GetFullSourceFilenameFromAdr(size_t Adr, DBGstatus *Status); extern char *DBGManager_GetNumFullSourceFilename(size_t Index); +extern char *DBGManager_GetNumSourceFilename(size_t Index); // Global variables manager extern size_t DBGManager_GetNbGlobalVariables(void);