Fixed the SP (Stack) window UI potential missing data
[clinton/Virtual-Jaguar-Rx.git] / src / debugger / DBGManager.h
CommitLineData
2d0121d4
JPM
1\r
2\r
3#ifndef __DBGMANAGER_H__\r
4#define __DBGMANAGER_H__\r
5\r
6\r
7typedef 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
17typedef 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
28typedef 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
51extern void DBGManager_Init(void);\r
52extern void DBGManager_SetType(size_t DBGTypeSet);\r
53extern void DBGManager_Reset(void);\r
54extern void DBGManager_Close(void);\r
55\r
56//\r
57extern char *DBGManager_GetSymbolnameFromAdr(size_t Adr);\r
58extern char *DBGManager_GetFullSourceFilenameFromAdr(size_t Adr, bool *Error);\r
59extern size_t DBGManager_GetNumLineFromAdr(size_t Adr, size_t Tag);\r
60extern char *DBGManager_GetLineSrcFromAdr(size_t Adr, size_t Tag);\r
61extern char *DBGManager_GetLineSrcFromAdrNumLine(size_t Adr, size_t NumLine);\r
62extern char *DBGManager_GetLineSrcFromNumLineBaseAdr(size_t Adr, size_t NumLine);\r
63\r
64// External variables manager\r
65extern size_t DBGManager_GetNbExternalVariables(void);\r
66extern char *DBGManager_GetExternalVariableName(size_t Index);\r
67extern size_t DBGManager_GetExternalVariableTypeEncoding(size_t Index);\r
68extern char *DBGManager_GetExternalVariableTypeName(size_t Index);\r
69extern size_t DBGManager_GetExternalVariableTypeByteSize(size_t Index);\r
70extern size_t DBGManager_GetExternalVariableAdr(size_t Index);\r
71extern size_t DBGManager_GetExternalVariableAdrFromName(char *VariableName);\r
72extern size_t DBGManager_GetAdrFromSymbolName(char *SymbolName);\r
73extern char *DBGManager_GetExternalVariableValue(size_t Index);\r
74extern size_t DBGManager_GetExternalVariableTypeTag(size_t Index);\r
75\r
76\r
77#endif // __DBGMANAGER_H__\r