3 #ifndef __DWARFMANAGER_H__
4 #define __DWARFMANAGER_H__
7 // Definition for the DWARF status of each source file
11 DWARFSTATUS_OUTDATEDFILE
= 0x1,
12 DWARFSTATUS_NOFILE
= 0x2,
13 DWARFSTATUS_NOFILEINFO
= 0x4,
14 DWARFSTATUS_UNKNOWN
= 0xff
18 extern bool DWARFManager_Reset(void);
19 extern bool DWARFManager_Close(void);
20 extern void DWARFManager_Init(void);
21 extern int DWARFManager_ElfInit(Elf
*ElfPtr
, struct stat FileElfInfo
);
22 extern void DWARFManager_Set(size_t NbPathsInList
, char **PtrListPaths
);
23 extern size_t DWARFManager_GetNbSources(void);
26 extern char *DWARFManager_GetFunctionName(size_t Adr
);
27 extern size_t DWARFManager_GetSrcLanguageFromIndex(size_t Index
);
29 // Source text files manager
30 extern char *DWARFManager_GetFullSourceFilenameFromAdr(size_t Adr
, DWARFstatus
*Status
);
31 extern char *DWARFManager_GetNumFullSourceFilename(size_t Index
);
32 extern char *DWARFManager_GetNumSourceFilename(size_t Index
);
35 extern char *DWARFManager_GetSymbolnameFromAdr(size_t Adr
);
37 // Source text lines manager
38 extern size_t DWARFManager_GetNumLineFromAdr(size_t Adr
, size_t Tag
);
39 extern char *DWARFManager_GetLineSrcFromAdr(size_t Adr
, size_t Tag
);
40 extern char *DWARFManager_GetLineSrcFromAdrNumLine(size_t Adr
, size_t NumLine
);
41 extern char *DWARFManager_GetLineSrcFromNumLineBaseAdr(size_t Adr
, size_t NumLine
);
42 extern char **DWARFManager_GetSrcListPtrFromIndex(size_t Index
, bool Used
);
43 extern size_t DWARFManager_GetSrcNbListPtrFromIndex(size_t Index
, bool Used
);
44 extern size_t *DWARFManager_GetSrcNumLinesPtrFromIndex(size_t Index
, bool Used
);
46 // Global variables manager
47 extern size_t DWARFManager_GetNbGlobalVariables(void);
48 extern char *DWARFManager_GetGlobalVariableName(size_t Index
);
49 extern size_t DWARFManager_GetGlobalVariableTypeEncoding(size_t Index
);
50 extern char *DWARFManager_GetGlobalVariableTypeName(size_t Index
);
51 extern size_t DWARFManager_GetGlobalVariableTypeByteSize(size_t Index
);
52 extern size_t DWARFManager_GetGlobalVariableAdr(size_t Index
);
53 extern size_t DWARFManager_GetGlobalVariableAdrFromName(char *VariableName
);
54 extern size_t DWARFManager_GetGlobalVariableTypeTag(size_t Index
);
56 // Local variables manager
57 extern size_t DWARFManager_GetNbLocalVariables(size_t Adr
);
58 extern char *DWARFManager_GetLocalVariableName(size_t Adr
, size_t Index
);
59 extern size_t DWARFManager_GetLocalVariableTypeEncoding(size_t Adr
, size_t Index
);
60 extern char *DWARFManager_GetLocalVariableTypeName(size_t Adr
, size_t Index
);
61 extern size_t DWARFManager_GetLocalVariableTypeByteSize(size_t Adr
, size_t Index
);
62 extern size_t DWARFManager_GetLocalVariableTypeTag(size_t Adr
, size_t Index
);
63 extern size_t DWARFManager_GetLocalVariableOp(size_t Adr
, size_t Index
);
64 extern int DWARFManager_GetLocalVariableOffset(size_t Adr
, size_t Index
);
67 #endif // __DWARFMANAGER_H__