3 #ifndef __DWARFMANAGER_H__
4 #define __DWARFMANAGER_H__
8 extern bool DWARFManager_Reset(void);
9 extern bool DWARFManager_Close(void);
10 extern void DWARFManager_Init(void);
11 extern int DWARFManager_ElfInit(Elf
*ElfPtr
);
12 extern void DWARFManager_Set(size_t NbPathsInList
, char **PtrListPaths
);
13 extern size_t DWARFManager_GetNbSources(void);
16 extern char *DWARFManager_GetFunctionName(size_t Adr
);
17 extern size_t DWARFManager_GetSrcLanguageFromIndex(size_t Index
);
19 // Source text files manager
20 extern char *DWARFManager_GetFullSourceFilenameFromAdr(size_t Adr
, bool *Error
);
21 extern char *DWARFManager_GetNumFullSourceFilename(size_t Index
);
22 extern char *DWARFManager_GetNumSourceFilename(size_t Index
);
25 extern char *DWARFManager_GetSymbolnameFromAdr(size_t Adr
);
27 // Source text lines manager
28 extern size_t DWARFManager_GetNumLineFromAdr(size_t Adr
, size_t Tag
);
29 extern char *DWARFManager_GetLineSrcFromAdr(size_t Adr
, size_t Tag
);
30 extern char *DWARFManager_GetLineSrcFromAdrNumLine(size_t Adr
, size_t NumLine
);
31 extern char *DWARFManager_GetLineSrcFromNumLineBaseAdr(size_t Adr
, size_t NumLine
);
32 extern char **DWARFManager_GetSrcListPtrFromIndex(size_t Index
, bool Used
);
33 extern size_t DWARFManager_GetSrcNbListPtrFromIndex(size_t Index
, bool Used
);
34 extern size_t *DWARFManager_GetSrcNumLinesPtrFromIndex(size_t Index
, bool Used
);
36 // Global variables manager
37 extern size_t DWARFManager_GetNbGlobalVariables(void);
38 extern char *DWARFManager_GetGlobalVariableName(size_t Index
);
39 extern size_t DWARFManager_GetGlobalVariableTypeEncoding(size_t Index
);
40 extern char *DWARFManager_GetGlobalVariableTypeName(size_t Index
);
41 extern size_t DWARFManager_GetGlobalVariableTypeByteSize(size_t Index
);
42 extern size_t DWARFManager_GetGlobalVariableAdr(size_t Index
);
43 extern size_t DWARFManager_GetGlobalVariableAdrFromName(char *VariableName
);
44 extern size_t DWARFManager_GetGlobalVariableTypeTag(size_t Index
);
46 // Local variables manager
47 extern size_t DWARFManager_GetNbLocalVariables(size_t Adr
);
48 extern char *DWARFManager_GetLocalVariableName(size_t Adr
, size_t Index
);
49 extern size_t DWARFManager_GetLocalVariableTypeEncoding(size_t Adr
, size_t Index
);
50 extern char *DWARFManager_GetLocalVariableTypeName(size_t Adr
, size_t Index
);
51 extern size_t DWARFManager_GetLocalVariableTypeByteSize(size_t Adr
, size_t Index
);
52 extern size_t DWARFManager_GetLocalVariableTypeTag(size_t Adr
, size_t Index
);
53 extern size_t DWARFManager_GetLocalVariableOp(size_t Adr
, size_t Index
);
54 extern int DWARFManager_GetLocalVariableOffset(size_t Adr
, size_t Index
);
57 #endif // __DWARFMANAGER_H__