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