X-Git-Url: http://git.hcoop.net/clinton/Virtual-Jaguar-Rx.git/blobdiff_plain/0203b5fd6f49dbc4f4244417c095882eb9882d49..cbd79f6681578e8e8086cd175b1fbe5301a0b43d:/src/debugger/DWARFManager.h diff --git a/src/debugger/DWARFManager.h b/src/debugger/DWARFManager.h index f7f9744..3b2b063 100644 --- a/src/debugger/DWARFManager.h +++ b/src/debugger/DWARFManager.h @@ -4,20 +4,44 @@ #define __DWARFMANAGER_H__ -// +// Definition for the DWARF status of each source file +typedef enum +{ + DWARFSTATUS_OK = 0x0, + DWARFSTATUS_OUTDATEDFILE = 0x1, + DWARFSTATUS_NOFILE = 0x2, + DWARFSTATUS_NOFILEINFO = 0x4, + DWARFSTATUS_UNKNOWN = 0xff +}DWARFstatus; + +// Internal manager extern bool DWARFManager_Reset(void); extern bool DWARFManager_Close(void); extern void DWARFManager_Init(void); -extern int DWARFManager_ElfInit(Elf *ElfPtr); +extern int DWARFManager_ElfInit(Elf *ElfPtr, struct stat FileElfInfo); +extern void DWARFManager_Set(size_t NbPathsInList, char **PtrListPaths); +extern size_t DWARFManager_GetNbSources(void); -// -extern char *DWARFManager_GetFullSourceFilenameFromAdr(size_t Adr, bool *Error); -extern size_t DWARFManager_GetNumLineFromAdr(size_t Adr, size_t Tag); +// General manager +extern char *DWARFManager_GetFunctionName(size_t Adr); +extern size_t DWARFManager_GetSrcLanguageFromIndex(size_t Index); + +// Source text files manager +extern char *DWARFManager_GetFullSourceFilenameFromAdr(size_t Adr, DWARFstatus *Status); +extern char *DWARFManager_GetNumFullSourceFilename(size_t Index); +extern char *DWARFManager_GetNumSourceFilename(size_t Index); + +// Symbols manager extern char *DWARFManager_GetSymbolnameFromAdr(size_t Adr); + +// Source text lines manager +extern size_t DWARFManager_GetNumLineFromAdr(size_t Adr, size_t Tag); extern char *DWARFManager_GetLineSrcFromAdr(size_t Adr, size_t Tag); extern char *DWARFManager_GetLineSrcFromAdrNumLine(size_t Adr, size_t NumLine); extern char *DWARFManager_GetLineSrcFromNumLineBaseAdr(size_t Adr, size_t NumLine); -extern char *DWARFManager_GetFunctionName(size_t Adr); +extern char **DWARFManager_GetSrcListPtrFromIndex(size_t Index, bool Used); +extern size_t DWARFManager_GetSrcNbListPtrFromIndex(size_t Index, bool Used); +extern size_t *DWARFManager_GetSrcNumLinesPtrFromIndex(size_t Index, bool Used); // Global variables manager extern size_t DWARFManager_GetNbGlobalVariables(void);