!*** MODULE $XABCXFDEF *** !DEC$ OPTIONS/ALIGN=(RECORDS=PACKED,COMMONS=PACKED)/NOWARN ! ! RMS Context XAB associated with the FAB ! $xabcxfdef ! PARAMETER XAB$C_CXF = '00000020'X ! XABCXF id code PARAMETER XAB$M_CXFRST = '00000001'X STRUCTURE /XABCXFDEF/ 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 CXR block, too. ! Do not rearrange without changing both. ! INTEGER*4 XAB$L_CXFSTS ! Status of the last file operation. INTEGER*4 XAB$L_CXFSTV ! Status Value of the last file operation. ! ! Top four bits of the options longword are reserved for the XABCXR. These ! bits describe the version of the key buffer. ! UNION MAP INTEGER*4 XAB$L_CXFCOP ! Context Options. END MAP MAP PARAMETER XAB$S_CXFRST = 1 PARAMETER XAB$V_CXFRST = 0 ! Restore file state - use context blk as input. BYTE %FILL (1) END MAP END UNION INTEGER*4 XAB$L_CXFBKP ! Bookkeeping bits INTEGER*2 XAB$W_CXFIFI ! Internal File Identifier BYTE XAB$B_CXFVER ! prologue version num BYTE %FILL ! spare to longword align commonality INTEGER*4 %FILL ! spare ! ! Up Till now in common with XABCXR, too. ! ! The following fields correspond to those in the FAB or IFB ! They should not be rearranged as their order is assumed for ! purposes of moving large chunks of data rather than a byte ! or word at a time. Note: ASSUME is used in the actual code ! INTEGER*2 XAB$W_CXFDEQ ! Default extention quantity BYTE XAB$B_CXFFAC ! File access BYTE XAB$B_CXFSHR ! File Sharing INTEGER*2 XAB$W_CXFRTE ! (Not used) BYTE %FILL ! spare BYTE XAB$B_CXFORG ! file organization INTEGER*2 XAB$W_CXFGBC ! global buffer count BYTE XAB$B_CXFRTV ! retrieval window BYTE %FILL INTEGER*4 %FILL(1:4) ! spares END STRUCTURE ! XABCXFDEF ! basealign on aggregate XABCXFDEF operates after aggregate end PARAMETER XAB$K_CXFLEN = '0000003C'X ! length of xab type CXF PARAMETER XAB$C_CXFLEN = '0000003C'X ! length of xab type CXF !DEC$ END OPTIONS