!*** MODULE $XABCXRDEF *** !DEC$ OPTIONS/ALIGN=(RECORDS=PACKED,COMMONS=PACKED)/NOWARN ! ! RMS Context XAB associated with the RAB ! $xabcxrdef ! PARAMETER XAB$C_CXR = '00000021'X ! XABCXR id code PARAMETER XAB$M_CXRRST = '00000001'X PARAMETER XAB$C_CXB_VER1 = '00000001'X PARAMETER XAB$C_CXRBLEN = '00000200'X ! Length of CXRBUF (bytes) STRUCTURE /XABCXRDEF/ BYTE %FILL ! COD - xab id code BYTE %FILL ! BLN - block length INTEGER*2 %FILL ! (spare) INTEGER*4 %FILL ! NXT - xab chain link ! UP TILL NOW COMMON AMONG ALL XABS ! ! Following in common with the CXF block, too. ! Do not rearrange without changing it. ! INTEGER*4 XAB$L_CXRSTS ! Status of the last record operation. INTEGER*4 XAB$L_CXRSTV ! Status Value of the last record operation. UNION MAP INTEGER*4 XAB$L_CXRCOP ! Context Options. END MAP MAP PARAMETER XAB$S_CXRRST = 1 PARAMETER XAB$V_CXRRST = 0 ! Restore file/record state - use context blk as input. PARAMETER XAB$S_CXRBVER = 4 PARAMETER XAB$V_CXRBVER = 28 BYTE %FILL (1) ! Version of Key buffer END MAP END UNION INTEGER*4 XAB$L_CXRBKP ! Bookkeeping bits INTEGER*2 XAB$W_CXRISI ! Internal Record Identifier BYTE XAB$B_CXRVER ! prologue version num. BYTE %FILL ! spare to longword align commonality INTEGER*4 %FILL ! spare ! ! Up Till now in common with XABCXF, too. ! ! ! The following elements are arranged such that large amounts of ! data can be moved at a time rather than words or bytes. Do not ! rearrange them without this consideration in mind. ! ! The following elements are stream dependent regardless of file org. ! BYTE XAB$B_CXRMBF ! Multibuffer count BYTE XAB$B_CXRMBC ! Multiblock count INTEGER*2 XAB$W_CXRBFZ ! sz in byte of CXRBUF ! ! The following elements are necessary for saving the NRP context for ! Sequential and Relative files. ! INTEGER*4 XAB$L_CXRVBN ! NRP VBN INTEGER*2 XAB$W_CXROFF ! NRP offset in VBN INTEGER*2 XAB$W_FILL_8 ! mbz - longword align ! ! The following elements are necessary for saving the NRP context for ! ISAM files. ! INTEGER*4 XAB$L_CXRPOS0 ! Primary Positioning RFA INTEGER*2 XAB$W_CXRPOS4 INTEGER*2 %FILL ! Spare MBZ INTEGER*4 XAB$L_CXRCUR0 ! Current Positioning RFA INTEGER*2 XAB$W_CXRCUR4 INTEGER*2 %FILL ! Spare MBZ INTEGER*4 XAB$L_CXRSID0 ! SIDR positioning RFA INTEGER*2 XAB$W_CXRSID4 INTEGER*2 %FILL ! Spare MBZ INTEGER*2 XAB$W_CXRCNT ! SIDR array count BYTE XAB$B_CXRKREF ! Cur Key of Reference BYTE XAB$B_CXRKLEN ! Length of key INTEGER*4 XAB$L_CXRBUF ! address of key buf INTEGER*4 %FILL(1:2) ! Spares END STRUCTURE ! XABCXRDEF ! basealign on aggregate XABCXRDEF operates after aggregate end PARAMETER XAB$K_CXRLEN = '00000054'X ! Length of XAB type CXR PARAMETER XAB$C_CXRLEN = '00000054'X ! Length of XAB type CXR !DEC$ END OPTIONS