compile insert debugger_fetch_equates /* Author : Meester C Date : 15 October 2008 Purpose : Constants for use with the Debugger_Fetch() stored procedure Comments ======== Amended Date Reason ======= ==== ====== Mr C 24 Jun 21 Updated for v10 */ /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// #ifndef _DEBUGGER_FETCH_EQUATES_ #define _DEBUGGER_FETCH_EQUATES_ /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// equ COMMON_SIZEOF$ to 256 ; * // Size of a blank common * // block - 256 descriptors * // * // defined in rev_call.c // Descriptor types // typedef enum { // E_LINK = 0, // indirect pointer, code assumes this is zero // E_UNASSIGNED = 1, // E_STRING = 2, // E_DIM_ARRAY = 3, // array dope // E_IDISPATCH = 4, // OLE automation object // E_PTR = 5, // Generic pointer/handle // E_NUMBER = 6, // >= E_NUMBER is a number // E_MAPM = 6, // pointer to extend precision type // E_NUMBER_64 = 7, // >= E_NUMBER_64 is a 64-bit int or double // E_LONG = 7, // 64 bit int // E_DOUBLE = 8 // 64 bit real // } E_TYPE; equ VAR_TYPE_LINK to 0 equ VAR_TYPE_UNASSIGNED$ to 1 equ VAR_TYPE_STRING$ to 2 equ VAR_TYPE_DIM_ARRAY$ to 3 equ VAR_TYPE_IDISPATCH$ to 4 ; * // OLE object equ VAR_TYPE_PTR$ to 5 ; * // Pointer type equ VAR_TYPE_MAPM$ to 6 ; * // MAPM (extended precision) type. equ VAR_TYPE_LONG$ to 7 ; * // 64 bit int equ VAR_TYPE_DOUBLE$ to 8 ; * // 64 bit real equ VAR_TYPE_NUMBER$ to 6 ; // >= this is a number equ VAR_TYPE_NUM64$ to 7 ; // >= this is a 64-bit number (int or double) equ VAR_TYPE_DESC_LINK$ to "" equ VAR_TYPE_DESC_UNASSIGNED$ to "" equ VAR_TYPE_DESC_STRING$ to "" equ VAR_TYPE_DESC_DIM_ARRAY$ to "" equ VAR_TYPE_DESC_IDISPATCH$ to "" equ VAR_TYPE_DESC_LONG$ to "" equ VAR_TYPE_DESC_DOUBLE$ to "" equ VAR_TYPE_DESC$ to VAR_TYPE_DESC_LINK$ : "," : | VAR_TYPE_DESC_UNASSIGNED$ : "," : | VAR_TYPE_DESC_STRING$ : "," : | VAR_TYPE_DESC_DIM_ARRAY$ : "," : | VAR_TYPE_DESC_IDISPATCH$ : "," : | VAR_TYPE_DESC_LONG$ : "," : | VAR_TYPE_DESC_DOUBLE$ /////////////////////////////////////////////////////////////////////////////// * // GetBreakFrame() equates - goes without saying if you change these * // you're going to have to change the function itself in rev_call.c * // * // <1> Number of local variables in the break frame * // <2> Number of labelled common areas in the break frame * // <3> Number of variables in each labelled common area - there should * // be one value here for each labelled common area * // <4> "0" if no blank common area is associated with the break frame, * // or "256" if there is a common area associated with the break * // frame declare function getBreakFrame equ DBGF_BREAKFRAME_POS_LOCAL$ to 1 equ DBGF_BREAKFRAME_POS_LCOMM$ to 2 equ DBGF_BREAKFRAME_POS_LCOMM_VAR$ to 3 equ DBGF_BREAKFRAME_POS_BCOMM$ to 4 equ DBGF_BREAKFRAME_NULL_BCOMM$ to 0 equ DBGF_BREAKFRAME_DFLT_BCOMM$ to COMMON_SIZEOF$ /////////////////////////////////////////////////////////////////////////////// * // Equates for use with the getBreakVarType and getBreakVarValue * // functions (from rev_call.c) * // * // When accessing variables in the BreakFrame we need to specify the area * // where the variable is stored. Local and Common areas are * // straightforward, but for Labelled Commons we need to pass the index * // of the common area we are interested adding an offset of 1 declare function getBreakVarType, getBreakVarValue equ DBGF_BREAKVAR_STORAGE_LOCAL$ to -1 equ DBGF_BREAKVAR_STORAGE_BCOMM$ to 1 equ DBGF_BREAKVAR_STORAGE_LCOMM_OFFSET$ to 1 /////////////////////////////////////////////////////////////////////////////// equ DBGF_VARSYMTABLE_POS_NAME$ to 1 equ DBGF_VARSYMTABLE_POS_TYPE$ to 2 equ DBGF_VARSYMTABLE_POS_INDEX$ to 3 equ DBGF_VARSYMTABLE_TYPE_LOCAL$ to -1 equ DBGF_VARSYMTABLE_TYPE_BCOMM$ to 1 equ DBGF_VARSYMTABLE_TYPE_LCOMM$ to 2 equ DBGF_VARSYMTABLE_TYPE_LCOMM_ID$ to 3 /////////////////////////////////////////////////////////////////////////////// * // LOCALLIST equates equ DBGF_LOCAL_PREFIX$ to "_local_" equ DBGF_LOCAL_POS_NAME$ to 1 equ DBGF_LOCAL_POS_TYPE$ to 2 equ DBGF_LOCAL_POS_DIM$ to 3 /////////////////////////////////////////////////////////////////////////////// * // LCOMMLIST equates equ DBGF_LCOMMID_PREFIX$ to "_lcid_" equ DBGF_LCOMMVAR_PREFIX$ to "_lcomm_" equ DBGF_LCOMM_POS_COMMID$ to 1 equ DBGF_LCOMM_POS_NAME$ to 2 equ DBGF_LCOMM_POS_TYPE$ to 3 equ DBGF_LCOMM_POS_DIM$ to 4 /////////////////////////////////////////////////////////////////////////////// * // COMMLIST equates equ DBGF_BCOMM_PREFIX$ to "_common_" equ DBGF_BCOMM_POS_NAME$ to 1 equ DBGF_BCOMM_POS_TYPE$ to 2 equ DBGF_BCOMM_POS_DIM$ to 3 /////////////////////////////////////////////////////////////////////////////// equ DBGF_ETEXT_MISSING_VAR_IDX$ to "No variable index passed to the %S% %M% method" equ DBGF_ETEXT_INVALID_VAR_IDX$ to "Invalid variable index '%P1%' passed to the %S% %M% method" equ DBGF_ETEXT_INVALID_VAR_DIM1$ to "Invalid subscript primary index '%P2%' passed to the %S% %M% method" equ DBGF_ETEXT_INVALID_VAR_DIM2$ to "Invalid subscript secondary index '%P3%' passed to the %S% %M% method" equ DBGF_ETEXT_MISSING_LBL_IDX$ to "No common label index passed to the %S% %M% method" equ DBGF_ETEXT_INVALID_LBL_IDX$ to "Invalid common label index '%P1%' passed to the %S% %M% method" equ DBGF_ETEXT_INVALID_LBLVAR_IDX$ to "Invalid labelled common variable index '%P2%' passed to the %S% %M% method" equ DBGF_ETEXT_INVALID_LBLVAR_DIM1$ to "Invalid subscript primary index '%P3%' passed to the %S% %M% method" equ DBGF_ETEXT_INVALID_LBLVAR_DIM2$ to "Invalid subscript secondary index '%P4%' passed to the %S% %M% method" equ DBGF_ETEXT_NOT_A_DIM_VAR$ to "Non-dimensioned array variable '%P1%' passed to the %S% %M% method" equ DBGF_ETEXT_NOT_A_LBL_DIM_VAR$ to "Non-dimensioned labelled common array variable ['%P1%','%P2%'] passed to the %S% %M% method" /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// #endif /////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////