open-insight/SYSPROG/STPROCINS/DEBUGGER_FETCH_EQUATES.txt
2024-03-25 15:17:34 -07:00

175 lines
8.0 KiB
Plaintext

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 "<link>"
equ VAR_TYPE_DESC_UNASSIGNED$ to "<unassigned>"
equ VAR_TYPE_DESC_STRING$ to "<string>"
equ VAR_TYPE_DESC_DIM_ARRAY$ to "<array>"
equ VAR_TYPE_DESC_IDISPATCH$ to "<idispatch>"
equ VAR_TYPE_DESC_LONG$ to "<integer>"
equ VAR_TYPE_DESC_DOUBLE$ to "<double>"
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
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////