| 1 | \r |
| 2 | \r |
| 3 | #ifndef __DWARFMANAGER_H__\r |
| 4 | #define __DWARFMANAGER_H__\r |
| 5 | \r |
| 6 | \r |
| 7 | // Definition for the DWARF status of each source file\r |
| 8 | typedef enum\r |
| 9 | {\r |
| 10 | DWARFSTATUS_OK = 0x0,\r |
| 11 | DWARFSTATUS_OUTDATEDFILE = 0x1,\r |
| 12 | DWARFSTATUS_NOFILE = 0x2,\r |
| 13 | DWARFSTATUS_NOFILEINFO = 0x4,\r |
| 14 | DWARFSTATUS_UNKNOWN = 0xff\r |
| 15 | }DWARFstatus;\r |
| 16 | \r |
| 17 | // Internal manager\r |
| 18 | extern bool DWARFManager_Reset(void);\r |
| 19 | extern bool DWARFManager_Close(void);\r |
| 20 | extern void DWARFManager_Init(void);\r |
| 21 | extern int DWARFManager_ElfInit(Elf *ElfPtr, struct stat FileElfInfo);\r |
| 22 | extern void DWARFManager_Set(size_t NbPathsInList, char **PtrListPaths);\r |
| 23 | extern size_t DWARFManager_GetNbSources(void);\r |
| 24 | \r |
| 25 | // General manager\r |
| 26 | extern char *DWARFManager_GetFunctionName(size_t Adr);\r |
| 27 | extern size_t DWARFManager_GetSrcLanguageFromIndex(size_t Index);\r |
| 28 | \r |
| 29 | // Source text files manager\r |
| 30 | extern char *DWARFManager_GetFullSourceFilenameFromAdr(size_t Adr, DWARFstatus *Status);\r |
| 31 | extern char *DWARFManager_GetNumFullSourceFilename(size_t Index);\r |
| 32 | extern char *DWARFManager_GetNumSourceFilename(size_t Index);\r |
| 33 | \r |
| 34 | // Symbols manager\r |
| 35 | extern char *DWARFManager_GetSymbolnameFromAdr(size_t Adr);\r |
| 36 | \r |
| 37 | // Source text lines manager\r |
| 38 | extern size_t DWARFManager_GetNumLineFromAdr(size_t Adr, size_t Tag);\r |
| 39 | extern char *DWARFManager_GetLineSrcFromAdr(size_t Adr, size_t Tag);\r |
| 40 | extern char *DWARFManager_GetLineSrcFromAdrNumLine(size_t Adr, size_t NumLine);\r |
| 41 | extern char *DWARFManager_GetLineSrcFromNumLineBaseAdr(size_t Adr, size_t NumLine);\r |
| 42 | extern char **DWARFManager_GetSrcListPtrFromIndex(size_t Index, bool Used);\r |
| 43 | extern size_t DWARFManager_GetSrcNbListPtrFromIndex(size_t Index, bool Used);\r |
| 44 | extern size_t *DWARFManager_GetSrcNumLinesPtrFromIndex(size_t Index, bool Used);\r |
| 45 | \r |
| 46 | // Variables manager\r |
| 47 | extern size_t DWARFManager_GetNbVariables(size_t Adr);\r |
| 48 | extern void* DWARFManager_GetInfosVariable(size_t Adr, size_t Index);\r |
| 49 | \r |
| 50 | // Global variables manager\r |
| 51 | extern size_t DWARFManager_GetGlobalVariableAdrFromName(char *VariableName);\r |
| 52 | \r |
| 53 | #if 0\r |
| 54 | // Global variables manager\r |
| 55 | extern char *DWARFManager_GetGlobalVariableName(size_t Index);\r |
| 56 | extern size_t DWARFManager_GetGlobalVariableTypeEncoding(size_t Index);\r |
| 57 | extern char *DWARFManager_GetGlobalVariableTypeName(size_t Index);\r |
| 58 | extern size_t DWARFManager_GetGlobalVariableTypeByteSize(size_t Index);\r |
| 59 | extern size_t DWARFManager_GetGlobalVariableAdr(size_t Index);\r |
| 60 | extern size_t DWARFManager_GetGlobalVariableTypeTag(size_t Index);\r |
| 61 | \r |
| 62 | // Local variables manager\r |
| 63 | extern char *DWARFManager_GetLocalVariableName(size_t Adr, size_t Index);\r |
| 64 | extern size_t DWARFManager_GetLocalVariableTypeEncoding(size_t Adr, size_t Index);\r |
| 65 | extern char *DWARFManager_GetLocalVariableTypeName(size_t Adr, size_t Index);\r |
| 66 | extern size_t DWARFManager_GetLocalVariableTypeByteSize(size_t Adr, size_t Index);\r |
| 67 | extern size_t DWARFManager_GetLocalVariableTypeTag(size_t Adr, size_t Index);\r |
| 68 | extern size_t DWARFManager_GetLocalVariableOp(size_t Adr, size_t Index);\r |
| 69 | extern int DWARFManager_GetLocalVariableOffset(size_t Adr, size_t Index);\r |
| 70 | #endif\r |
| 71 | \r |
| 72 | \r |
| 73 | #endif // __DWARFMANAGER_H__\r |