175 lines
		
	
	
		
			8.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			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
 | |
| ///////////////////////////////////////////////////////////////////////////////
 | |
| ///////////////////////////////////////////////////////////////////////////////  
 | |
|   
 |