Commit | Line | Data |
---|---|---|
2d0121d4 JPM |
1 | \r |
2 | \r | |
3 | #ifndef __DBGMANAGER_H__\r | |
4 | #define __DBGMANAGER_H__\r | |
5 | \r | |
6 | \r | |
7 | typedef enum {\r | |
8 | DBG_NO_TYPE = 0x0,\r | |
9 | DBG_ELF = 0x1,\r | |
10 | DBG_DWARF = 0x2,\r | |
11 | DBG_ELFDWARF = 0x4,\r | |
12 | DBG_HWLABEL = 0x8,\r | |
13 | DBG_END_TYPE\r | |
14 | }DBGTYPE;\r | |
15 | \r | |
16 | // Tag based in the DW_TAG_... list from the dwarf.h\r | |
17 | typedef enum {\r | |
18 | DBG_NO_TAG = 0x0,\r | |
19 | DBG_TAG_pointer_type = 0x0f,\r | |
20 | DBG_TAG_compile_unit = 0x11,\r | |
21 | DBG_TAG_base_type = 0x24,\r | |
22 | DBG_TAG_subprogram = 0x2e,\r | |
23 | DBG_END_TAG\r | |
24 | }DBGTAG;\r | |
25 | \r | |
26 | // Encoding based in the DW_ATE_... list from the dwarf.h\r | |
27 | // Except for the DBG_ATE_ptr\r | |
28 | typedef enum {\r | |
29 | DBG_NO_TYPEENCODING,\r | |
30 | DBG_ATE_address = 0x1, // linear machine address\r | |
31 | DBG_ATE_boolean = 0x2, // true or false\r | |
32 | DBG_ATE_complex_float = 0x3, // complex floating-point number\r | |
33 | DBG_ATE_float = 0x4, // floating-point number\r | |
34 | DBG_ATE_signed = 0x5, // signed binary integer\r | |
35 | DBG_ATE_signed_char = 0x6, // signed character\r | |
36 | DBG_ATE_unsigned = 0x7, // unsigned binary integer\r | |
37 | DBG_ATE_unsigned_char = 0x8, // unsigned character\r | |
38 | DBG_ATE_imaginary_float = 0x9, /* DWARF3 */\r | |
39 | DBG_ATE_packed_decimal = 0xa, /* DWARF3f */\r | |
40 | DBG_ATE_numeric_string = 0xb, /* DWARF3f */\r | |
41 | DBG_ATE_edited = 0xc, /* DWARF3f */\r | |
42 | DBG_ATE_signed_fixed = 0xd, /* DWARF3f */\r | |
43 | DBG_ATE_unsigned_fixed = 0xe, /* DWARF3f */\r | |
44 | DBG_ATE_decimal_float = 0xf, /* DWARF3f */\r | |
45 | DBG_ATE_ptr = 0x10, // Specific to DBG Manager to represent pointer type\r | |
46 | DBG_END_TYPEENCODING\r | |
47 | }DBGTYPEENCODING;\r | |
48 | \r | |
49 | \r | |
50 | //\r | |
51 | extern void DBGManager_Init(void);\r | |
52 | extern void DBGManager_SetType(size_t DBGTypeSet);\r | |
53 | extern void DBGManager_Reset(void);\r | |
54 | extern void DBGManager_Close(void);\r | |
55 | \r | |
56 | //\r | |
57 | extern char *DBGManager_GetSymbolnameFromAdr(size_t Adr);\r | |
58 | extern char *DBGManager_GetFullSourceFilenameFromAdr(size_t Adr, bool *Error);\r | |
59 | extern size_t DBGManager_GetNumLineFromAdr(size_t Adr, size_t Tag);\r | |
60 | extern char *DBGManager_GetLineSrcFromAdr(size_t Adr, size_t Tag);\r | |
61 | extern char *DBGManager_GetLineSrcFromAdrNumLine(size_t Adr, size_t NumLine);\r | |
62 | extern char *DBGManager_GetLineSrcFromNumLineBaseAdr(size_t Adr, size_t NumLine);\r | |
63 | \r | |
64 | // External variables manager\r | |
65 | extern size_t DBGManager_GetNbExternalVariables(void);\r | |
66 | extern char *DBGManager_GetExternalVariableName(size_t Index);\r | |
67 | extern size_t DBGManager_GetExternalVariableTypeEncoding(size_t Index);\r | |
68 | extern char *DBGManager_GetExternalVariableTypeName(size_t Index);\r | |
69 | extern size_t DBGManager_GetExternalVariableTypeByteSize(size_t Index);\r | |
70 | extern size_t DBGManager_GetExternalVariableAdr(size_t Index);\r | |
71 | extern size_t DBGManager_GetExternalVariableAdrFromName(char *VariableName);\r | |
72 | extern size_t DBGManager_GetAdrFromSymbolName(char *SymbolName);\r | |
73 | extern char *DBGManager_GetExternalVariableValue(size_t Index);\r | |
74 | extern size_t DBGManager_GetExternalVariableTypeTag(size_t Index);\r | |
75 | \r | |
76 | \r | |
77 | #endif // __DBGMANAGER_H__\r |