#include "memory.h"\r
\r
\r
-// \r
-char *DBGManager_GetVariableValueFromAdr(uint32_t Adr, uint32_t TypeEncoding, uint32_t TypeByteSize);\r
-\r
-\r
//\r
struct Value\r
{\r
}\r
\r
\r
-// Get number of external variables\r
+// Get number of local variables\r
+// Return 0 if none has been found\r
+size_t DBGManager_GetNbLocalVariables(size_t Adr)\r
+{\r
+ if ((DBGType & DBG_ELFDWARF))\r
+ {\r
+ return DWARFManager_GetNbLocalVariables(Adr);\r
+ }\r
+ else\r
+ {\r
+ return 0;\r
+ }\r
+}\r
+\r
+\r
+// Get number of global variables\r
// Return 0 if none has been found\r
-size_t DBGManager_GetNbExternalVariables(void)\r
+size_t DBGManager_GetNbGlobalVariables(void)\r
{\r
if ((DBGType & DBG_ELFDWARF))\r
{\r
- return DWARFManager_GetNbExternalVariables();\r
+ return DWARFManager_GetNbGlobalVariables();\r
}\r
else\r
{\r
}\r
\r
\r
-// Get external variable's Address based on his Name\r
+// Get global variable's Address based on his Name\r
// Return found Address\r
// Return NULL if no Address has been found\r
-size_t DBGManager_GetExternalVariableAdrFromName(char *VariableName)\r
+size_t DBGManager_GetGlobalVariableAdrFromName(char *VariableName)\r
{\r
if ((DBGType & DBG_ELFDWARF))\r
{\r
- return DWARFManager_GetExternalVariableAdrFromName(VariableName);\r
+ return DWARFManager_GetGlobalVariableAdrFromName(VariableName);\r
}\r
else\r
{\r
}\r
\r
\r
+// Get local variable's type encoding based on his address and Index\r
+// Return the type encoding found\r
+// Return 0 if no type encoding has been found\r
+size_t DBGManager_GetLocalVariableTypeEncoding(size_t Adr, size_t Index)\r
+{\r
+ if ((DBGType & DBG_ELFDWARF))\r
+ {\r
+ return DWARFManager_GetLocalVariableTypeEncoding(Adr, Index);\r
+ }\r
+ else\r
+ {\r
+ return 0;\r
+ }\r
+}\r
+\r
+\r
+//\r
+int DBGManager_GetLocalVariableOffset(size_t Adr, size_t Index)\r
+{\r
+ if ((DBGType & DBG_ELFDWARF))\r
+ {\r
+ return DWARFManager_GetLocalVariableOffset(Adr, Index);\r
+ }\r
+ else\r
+ {\r
+ return 0;\r
+ }\r
+}\r
+\r
+\r
+// Get local variable's type byte size based on his address and Index\r
+// Return the type's byte size found\r
+// Return 0 if no type's byte size has been found\r
+size_t DBGManager_GetLocalVariableTypeByteSize(size_t Adr, size_t Index)\r
+{\r
+ if ((DBGType & DBG_ELFDWARF))\r
+ {\r
+ return DWARFManager_GetLocalVariableTypeByteSize(Adr, Index);\r
+ }\r
+ else\r
+ {\r
+ return 0;\r
+ }\r
+}\r
+\r
+\r
+//\r
+size_t DBGManager_GetLocalVariableTypeTag(size_t Adr, size_t Index)\r
+{\r
+ if ((DBGType & DBG_ELFDWARF))\r
+ {\r
+ return DWARFManager_GetLocalVariableTypeTag(Adr, Index);\r
+ }\r
+ else\r
+ {\r
+ return 0;\r
+ }\r
+}\r
+\r
+\r
//\r
-size_t DBGManager_GetExternalVariableTypeTag(size_t Index)\r
+size_t DBGManager_GetGlobalVariableTypeTag(size_t Index)\r
{\r
if ((DBGType & DBG_ELFDWARF))\r
{\r
- return DWARFManager_GetExternalVariableTypeTag(Index);\r
+ return DWARFManager_GetGlobalVariableTypeTag(Index);\r
}\r
else\r
{\r
}\r
\r
\r
-// Get external variable's type name based on his Index\r
+// Get global variable's type name based on his Index\r
// Return type name's text pointer found\r
// Return NULL if no type name has been found\r
-char *DBGManager_GetExternalVariableTypeName(size_t Index)\r
+char *DBGManager_GetGlobalVariableTypeName(size_t Index)\r
{\r
if ((DBGType & DBG_ELFDWARF))\r
{\r
- return DWARFManager_GetExternalVariableTypeName(Index);\r
+ return DWARFManager_GetGlobalVariableTypeName(Index);\r
}\r
else\r
{\r
}\r
\r
\r
-// Get external variable's Address based on his Index\r
+// Get global variable's Address based on his Index\r
// Return the Address found\r
// Return 0 if no Address has been found\r
-size_t DBGManager_GetExternalVariableAdr(size_t Index)\r
+size_t DBGManager_GetGlobalVariableAdr(size_t Index)\r
{\r
if ((DBGType & DBG_ELFDWARF))\r
{\r
- return DWARFManager_GetExternalVariableAdr(Index);\r
+ return DWARFManager_GetGlobalVariableAdr(Index);\r
}\r
else\r
{\r
}\r
\r
\r
-// Get external variable's type byte size based on his Index\r
+// Get global variable's type byte size based on his Index\r
// Return the type's byte size found\r
// Return 0 if no type's byte size has been found\r
-size_t DBGManager_GetExternalVariableTypeByteSize(size_t Index)\r
+size_t DBGManager_GetGlobalVariableTypeByteSize(size_t Index)\r
{\r
if ((DBGType & DBG_ELFDWARF))\r
{\r
- return DWARFManager_GetExternalVariableTypeByteSize(Index);\r
+ return DWARFManager_GetGlobalVariableTypeByteSize(Index);\r
}\r
else\r
{\r
}\r
\r
\r
-// Get external variable's type encoding based on his Index\r
+// Get global variable's type encoding based on his Index\r
// Return the type encoding found\r
// Return 0 if no type encoding has been found\r
-size_t DBGManager_GetExternalVariableTypeEncoding(size_t Index)\r
+size_t DBGManager_GetGlobalVariableTypeEncoding(size_t Index)\r
{\r
if ((DBGType & DBG_ELFDWARF))\r
{\r
- return DWARFManager_GetExternalVariableTypeEncoding(Index);\r
+ return DWARFManager_GetGlobalVariableTypeEncoding(Index);\r
}\r
else\r
{\r
}\r
\r
\r
-// Get external variable value based on his Index\r
+// Get global variable value based on his Index\r
// Return value as a text pointer\r
// Note: Pointer may point on a 0 lenght text\r
-char *DBGManager_GetExternalVariableValue(size_t Index)\r
+char *DBGManager_GetGlobalVariableValue(size_t Index)\r
{\r
- uint32_t Adr = 0;\r
- uint32_t TypeEncoding = DBG_NO_TYPEENCODING;\r
- uint32_t TypeByteSize = 0;\r
+ size_t Adr = 0;\r
+ size_t TypeEncoding = DBG_NO_TYPEENCODING;\r
+ size_t TypeByteSize = 0;\r
\r
if ((DBGType & DBG_ELFDWARF))\r
{\r
- Adr = DWARFManager_GetExternalVariableAdr(Index);\r
- TypeEncoding = DWARFManager_GetExternalVariableTypeEncoding(Index);\r
- TypeByteSize = DWARFManager_GetExternalVariableTypeByteSize(Index);\r
+ Adr = DWARFManager_GetGlobalVariableAdr(Index);\r
+ TypeEncoding = DWARFManager_GetGlobalVariableTypeEncoding(Index);\r
+ TypeByteSize = DWARFManager_GetGlobalVariableTypeByteSize(Index);\r
}\r
\r
return DBGManager_GetVariableValueFromAdr(Adr, TypeEncoding, TypeByteSize);\r
// Get variable value based on his Adresse, Encoding Type and Size\r
// Return value as a text pointer\r
// Note: Pointer may point on a 0 lenght text if Adress is NULL\r
-char *DBGManager_GetVariableValueFromAdr(uint32_t Adr, uint32_t TypeEncoding, uint32_t TypeByteSize)\r
+char *DBGManager_GetVariableValueFromAdr(size_t Adr, size_t TypeEncoding, size_t TypeByteSize)\r
{\r
Value V;\r
char *Ptrvalue = value;\r
jaguarMainRAM[Adr + TypeByteSize - 1] = 0x10;\r
#endif\r
#if 1\r
- for (uint32_t i = 0, j = TypeByteSize; i < TypeByteSize; i++, j--)\r
+ for (size_t i = 0, j = TypeByteSize; i < TypeByteSize; i++, j--)\r
{\r
V.C[i] = jaguarMainRAM[Adr + j - 1];\r
}\r
}\r
\r
\r
-// Get external variable name based on his Index\r
+// Get local variable's type name based on his Index\r
+// Return type name's text pointer found\r
+// Return NULL if no type name has been found\r
+char *DBGManager_GetLocalVariableTypeName(size_t Adr, size_t Index)\r
+{\r
+ if ((DBGType & DBG_ELFDWARF))\r
+ {\r
+ return DWARFManager_GetLocalVariableTypeName(Adr, Index);\r
+ }\r
+ else\r
+ {\r
+ return NULL;\r
+ }\r
+}\r
+\r
+\r
+// Get local variable Op based on his Index\r
+// Return variable Op's found\r
+// Return 0 if no variable Op has been found\r
+size_t DBGManager_GetLocalVariableOp(size_t Adr, size_t Index)\r
+{\r
+ if ((DBGType & DBG_ELFDWARF))\r
+ {\r
+ return DWARFManager_GetLocalVariableOp(Adr, Index);\r
+ }\r
+ else\r
+ {\r
+ return 0;\r
+ }\r
+}\r
+\r
+\r
+// Get local variable name based on his Index\r
+// Return variable name's text pointer found\r
+// Return NULL if no variable name has been found\r
+char *DBGManager_GetLocalVariableName(size_t Adr, size_t Index)\r
+{\r
+ if ((DBGType & DBG_ELFDWARF))\r
+ {\r
+ return DWARFManager_GetLocalVariableName(Adr, Index);\r
+ }\r
+ else\r
+ {\r
+ return NULL;\r
+ }\r
+}\r
+\r
+\r
+// Get global variable name based on his Index\r
// Return variable name's text pointer found\r
// Return NULL if no variable name has been found\r
-char *DBGManager_GetExternalVariableName(size_t Index)\r
+char *DBGManager_GetGlobalVariableName(size_t Index)\r
+{\r
+ if ((DBGType & DBG_ELFDWARF))\r
+ {\r
+ return DWARFManager_GetGlobalVariableName(Index);\r
+ }\r
+ else\r
+ {\r
+ return NULL;\r
+ }\r
+}\r
+\r
+\r
+// Get function name from address\r
+// Return function name found\r
+// Return NULL if no function name has been found\r
+char *DBGManager_GetFunctionName(size_t Adr)\r
{\r
if ((DBGType & DBG_ELFDWARF))\r
{\r
- return DWARFManager_GetExternalVariableName(Index);\r
+ return DWARFManager_GetFunctionName(Adr);\r
}\r
else\r
{\r
// Get symbol name from address\r
// Return text pointer on the symbol name found\r
// Return NULL if no symbol name has been found\r
-char *DBGManager_GetSymbolnameFromAdr(size_t Adr)\r
+char *DBGManager_GetSymbolNameFromAdr(size_t Adr)\r
{\r
char *Symbolname;\r
\r
{\r
Symbolname = NULL;\r
}\r
-#ifdef _MSC_VER
-#pragma message("Warning: !!! Need to set the DBG_HWLABEL in DBGType instead to use the setting value !!!")
-#else
- #warning "!!! Need to set the DBG_HWLABEL in DBGType instead to use the setting value !!!"
+#ifdef _MSC_VER\r
+#pragma message("Warning: !!! Need to set the DBG_HWLABEL in DBGType instead to use the setting value !!!")\r
+#else\r
+ #warning "!!! Need to set the DBG_HWLABEL in DBGType instead to use the setting value !!!"\r
#endif // _MSC_VER\r
\r
if (Symbolname == NULL)\r