core: Fix libdwarf and Qt build failure
[clinton/Virtual-Jaguar-Rx.git] / src / debugger / DBGManager.h
index 09cabc1..8cd45b0 100644 (file)
@@ -4,6 +4,16 @@
 #define __DBGMANAGER_H__\r
 \r
 \r
+// Definition for the DWARF status of each source file\r
+typedef enum\r
+{\r
+       DBGSTATUS_OK = 0x0,\r
+       DBGSTATUS_OUTDATEDFILE = 0x1,\r
+       DBGSTATUS_NOFILE = 0x2,\r
+       DBGSTATUS_NOFILEINFO = 0x4,\r
+       DBGSTATUS_UNKNOWN = 0xff\r
+}DBGstatus;\r
+\r
 // Language tag based in the DW_TAG_... list from the dwarf.h\r
 typedef enum {\r
        DBG_NO_LANG = 0x0,\r
@@ -230,6 +240,26 @@ typedef enum {
 DBGOP;\r
 \r
 \r
+// Variables internal structure\r
+typedef struct VariablesStruct\r
+{\r
+       size_t Op;                                                                              // Variable's DW_OP\r
+       union\r
+       {\r
+               size_t Addr;                                                            // Variable memory address\r
+               int Offset;                                                                     // Variable stack offset (signed)\r
+       };\r
+       char *PtrName;                                                                  // Variable's name\r
+       size_t TypeOffset;                                                              // Offset pointing on the Variable's Type\r
+       size_t TypeByteSize;                                                    // Variable's Type byte size\r
+       size_t TypeTag;                                                                 // Variable's Type Tag\r
+       size_t TypeEncoding;                                                    // Variable's Type encoding\r
+       char *PtrTypeName;                                                              // Variable's Type name\r
+       size_t NbTabVariables;                                                  // Number of Variable's members\r
+       VariablesStruct **TabVariables;                                 // Variable's Members (used for structures at the moment)\r
+}S_VariablesStruct;\r
+\r
+\r
 // Internal manager\r
 extern void    DBGManager_Init(void);\r
 extern void    DBGManager_SetType(size_t DBGTypeSet);\r
@@ -249,7 +279,6 @@ extern size_t DBGManager_GetSrcNbListPtrFromIndex(size_t Index, bool Used);
 extern size_t *DBGManager_GetSrcNumLinesPtrFromIndex(size_t Index, bool Used);\r
 \r
 // General manager\r
-extern char *DBGManager_GetVariableValueFromAdr(size_t Adr, size_t TypeEncoding, size_t TypeByteSize);\r
 extern size_t DBGManager_GetSrcLanguageFromIndex(size_t Index);\r
 \r
 // Functions manager\r
@@ -260,10 +289,19 @@ extern char       *DBGManager_GetSymbolNameFromAdr(size_t Adr);
 extern size_t DBGManager_GetAdrFromSymbolName(char *SymbolName);\r
 \r
 // Source text files manager\r
-extern char    *DBGManager_GetFullSourceFilenameFromAdr(size_t Adr, bool *Error);\r
+extern char    *DBGManager_GetFullSourceFilenameFromAdr(size_t Adr, DBGstatus *Status);\r
 extern char *DBGManager_GetNumFullSourceFilename(size_t Index);\r
 extern char *DBGManager_GetNumSourceFilename(size_t Index);\r
 \r
+// Variables manager\r
+extern size_t DBGManager_GetNbVariables(size_t Adr);\r
+extern S_VariablesStruct* DBGManager_GetInfosVariable(size_t Adr, size_t Index);\r
+extern char *DBGManager_GetVariableValueFromAdr(size_t Adr, size_t TypeEncoding, size_t TypeByteSize);\r
+\r
+// Global variables manager\r
+extern size_t DBGManager_GetGlobalVariableAdrFromName(char *VariableName);\r
+\r
+#if 0\r
 // Global variables manager\r
 extern size_t DBGManager_GetNbGlobalVariables(void);\r
 extern char *DBGManager_GetGlobalVariableName(size_t Index);\r
@@ -271,7 +309,6 @@ extern size_t DBGManager_GetGlobalVariableTypeEncoding(size_t Index);
 extern char *DBGManager_GetGlobalVariableTypeName(size_t Index);\r
 extern size_t DBGManager_GetGlobalVariableTypeByteSize(size_t Index);\r
 extern size_t DBGManager_GetGlobalVariableAdr(size_t Index);\r
-extern size_t DBGManager_GetGlobalVariableAdrFromName(char *VariableName);\r
 extern char *DBGManager_GetGlobalVariableValue(size_t Index);\r
 extern size_t DBGManager_GetGlobalVariableTypeTag(size_t Index);\r
 \r
@@ -284,6 +321,7 @@ extern size_t DBGManager_GetLocalVariableTypeByteSize(size_t Adr, size_t Index);
 extern size_t DBGManager_GetLocalVariableTypeTag(size_t Adr, size_t Index);\r
 extern size_t DBGManager_GetLocalVariableOp(size_t Adr, size_t Index);\r
 extern int DBGManager_GetLocalVariableOffset(size_t Adr, size_t Index);\r
+#endif\r
 \r
 \r
 #endif // __DBGMANAGER_H__\r