!*** MODULE $RABDEF *** !DEC$ OPTIONS/ALIGN=(RECORDS=PACKED,COMMONS=PACKED)/NOWARN ! ! record access block (rab) definitions ! ! there is one rab per connected stream ! it is used for all communications between the user ! and rms concerning operations on the stream ! ! the fields thru ctx cannot be changed due to commonality ! with the fab ! PARAMETER RAB$C_BID = '00000001'X ! code for rab PARAMETER RAB$M_PPF_RAT = '00003FC0'X PARAMETER RAB$M_PPF_IND = '00004000'X PARAMETER RAB$M_PPISI = '00008000'X PARAMETER RAB$M_ASY = '00000001'X PARAMETER RAB$M_TPT = '00000002'X PARAMETER RAB$M_REA = '00000004'X PARAMETER RAB$M_RRL = '00000008'X PARAMETER RAB$M_UIF = '00000010'X PARAMETER RAB$M_MAS = '00000020'X PARAMETER RAB$M_FDL = '00000040'X PARAMETER RAB$M_REV = '00000080'X PARAMETER RAB$M_EOF = '00000100'X PARAMETER RAB$M_RAH = '00000200'X PARAMETER RAB$M_WBH = '00000400'X PARAMETER RAB$M_BIO = '00000800'X PARAMETER RAB$M_CDK = '00001000'X PARAMETER RAB$M_LOA = '00002000'X PARAMETER RAB$M_LIM = '00004000'X PARAMETER RAB$M_SYNCSTS = '00008000'X PARAMETER RAB$M_LOC = '00010000'X PARAMETER RAB$M_WAT = '00020000'X PARAMETER RAB$M_ULK = '00040000'X PARAMETER RAB$M_RLK = '00080000'X PARAMETER RAB$M_NLK = '00100000'X PARAMETER RAB$M_KGE = '00200000'X PARAMETER RAB$M_KGT = '00400000'X PARAMETER RAB$M_NXR = '00800000'X PARAMETER RAB$M_RNE = '01000000'X PARAMETER RAB$M_TMO = '02000000'X PARAMETER RAB$M_CVT = '04000000'X PARAMETER RAB$M_RNF = '08000000'X PARAMETER RAB$M_ETO = '10000000'X PARAMETER RAB$M_PTA = '20000000'X PARAMETER RAB$M_PMT = '40000000'X PARAMETER RAB$M_CCO = '80000000'X PARAMETER RAB$M_EQNXT = '00200000'X PARAMETER RAB$M_NXT = '00400000'X PARAMETER RAB$M_NQL = '00000001'X PARAMETER RAB$M_NODLCKWT = '00000002'X PARAMETER RAB$M_NODLCKBLK = '00000004'X PARAMETER RAB$C_SEQ = '00000000'X ! sequential access PARAMETER RAB$C_KEY = '00000001'X ! keyed access PARAMETER RAB$C_RFA = '00000002'X ! rfa access PARAMETER RAB$C_STM = '00000003'X ! stream access (valid only for sequential org) PARAMETER RAB$C_MAXRAC = '00000002'X ! Maximum RAC value currently supported by RMS STRUCTURE /RABDEF/ BYTE RAB$B_BID ! block id BYTE RAB$B_BLN ! block length UNION MAP INTEGER*2 RAB$W_ISI ! internal stream index END MAP ! (ifi in fab) MAP PARAMETER RAB$S_PPF_RAT = 8 PARAMETER RAB$V_PPF_RAT = 6 ! rat value for process-permanent files PARAMETER RAB$S_PPF_IND = 1 PARAMETER RAB$V_PPF_IND = 14 ! indirect access to process-permanent file ! (i.e., restricted operations) PARAMETER RAB$S_PPISI = 1 PARAMETER RAB$V_PPISI = 15 BYTE %FILL (2) ! indicates that this is process-permanent stream END MAP END UNION UNION MAP INTEGER*4 RAB$L_ROP ! record options END MAP MAP PARAMETER RAB$S_ASY = 1 PARAMETER RAB$V_ASY = 0 ! asynchronous operations PARAMETER RAB$S_TPT = 1 PARAMETER RAB$V_TPT = 1 ! truncate put - allow sequential put not at ! eof, thus truncating file (seq. org only) ! ! these next two should be in the byte for bits ! input to $find or $get, but there is no room there ! PARAMETER RAB$S_REA = 1 PARAMETER RAB$V_REA = 2 ! lock record for read only, allow other readers PARAMETER RAB$S_RRL = 1 PARAMETER RAB$V_RRL = 3 ! read record regardless of lock ! PARAMETER RAB$S_UIF = 1 PARAMETER RAB$V_UIF = 4 ! update if existent PARAMETER RAB$S_MAS = 1 PARAMETER RAB$V_MAS = 5 ! mass-insert mode PARAMETER RAB$S_FDL = 1 PARAMETER RAB$V_FDL = 6 ! fast record deletion PARAMETER RAB$S_REV = 1 PARAMETER RAB$V_REV = 7 ! reverse-search - can only be set with NXT or EQNXT ! PARAMETER RAB$S_EOF = 1 PARAMETER RAB$V_EOF = 8 ! connect to eof PARAMETER RAB$S_RAH = 1 PARAMETER RAB$V_RAH = 9 ! read ahead PARAMETER RAB$S_WBH = 1 PARAMETER RAB$V_WBH = 10 ! write behind PARAMETER RAB$S_BIO = 1 PARAMETER RAB$V_BIO = 11 ! connect for bio only PARAMETER RAB$S_CDK = 1 PARAMETER RAB$V_CDK = 12 ! check for duplicate keys on $GET PARAMETER RAB$S_LOA = 1 PARAMETER RAB$V_LOA = 13 ! use bucket fill percentage PARAMETER RAB$S_LIM = 1 PARAMETER RAB$V_LIM = 14 ! compare for key limit reached on $get/$find seq. (idx only) PARAMETER RAB$S_SYNCSTS = 1 PARAMETER RAB$V_SYNCSTS = 15 ! Synchronous status notification for asynchronous rout ! ! the following bits are input to ! $find or $get, (see above also REA and RRL) ! (separate byte) ! PARAMETER RAB$S_LOC = 1 PARAMETER RAB$V_LOC = 16 ! use locate mode PARAMETER RAB$S_WAT = 1 PARAMETER RAB$V_WAT = 17 ! wait if record not available PARAMETER RAB$S_ULK = 1 PARAMETER RAB$V_ULK = 18 ! manual unlocking PARAMETER RAB$S_RLK = 1 PARAMETER RAB$V_RLK = 19 ! allow readers for this locked record PARAMETER RAB$S_NLK = 1 PARAMETER RAB$V_NLK = 20 ! do not lock record PARAMETER RAB$S_KGE = 1 PARAMETER RAB$V_KGE = 21 ! key > or = PARAMETER RAB$S_KGT = 1 PARAMETER RAB$V_KGT = 22 ! key greater than PARAMETER RAB$S_NXR = 1 PARAMETER RAB$V_NXR = 23 ! get non-existent record ! ! the following bits are terminal qualifiers only ! (separate byte) ! PARAMETER RAB$S_RNE = 1 PARAMETER RAB$V_RNE = 24 ! read no echo PARAMETER RAB$S_TMO = 1 PARAMETER RAB$V_TMO = 25 ! use time-out period PARAMETER RAB$S_CVT = 1 PARAMETER RAB$V_CVT = 26 ! convert to upper case PARAMETER RAB$S_RNF = 1 PARAMETER RAB$V_RNF = 27 ! read no filter PARAMETER RAB$S_ETO = 1 PARAMETER RAB$V_ETO = 28 ! extended terminal operation PARAMETER RAB$S_PTA = 1 PARAMETER RAB$V_PTA = 29 ! purge type ahead PARAMETER RAB$S_PMT = 1 PARAMETER RAB$V_PMT = 30 ! use prompt buffer PARAMETER RAB$S_CCO = 1 PARAMETER RAB$V_CCO = 31 BYTE %FILL (4) ! cancel control o on output END MAP MAP PARAMETER RAB$S_EQNXT = 1 PARAMETER RAB$V_EQNXT = 21 ! Synonyms for KGE and PARAMETER RAB$S_NXT = 1 PARAMETER RAB$V_NXT = 22 ! KGT BYTE %FILL (1) END MAP ! the following bits may be ! input to various rab-related ! operations ! MAP BYTE %FILL BYTE RAB$B_ROP1 ! various options BYTE RAB$B_ROP2 ! get/find options (use of this field discouraged ! due to REA and RRL being in a different byte) BYTE RAB$B_ROP3 ! terminal read options ! END MAP END UNION INTEGER*4 RAB$L_STS ! status UNION MAP INTEGER*4 RAB$L_STV ! status value END MAP MAP INTEGER*2 RAB$W_STV0 ! low word of stv INTEGER*2 RAB$W_STV2 ! high word of stv END MAP END UNION UNION MAP INTEGER*2 RAB$W_RFA(1:3) ! record's file address END MAP MAP INTEGER*4 RAB$L_RFA0 INTEGER*2 RAB$W_RFA4 END MAP END UNION INTEGER*2 %FILL ! (reserved - rms release 1 optimizes stores ! to the rfa field to be a move quad, overwriting ! this reserved word) INTEGER*4 RAB$L_CTX ! user context ! -----***** UNION MAP INTEGER*2 RAB$W_ROP_2 ! extension to record options in traditional RAB END MAP MAP PARAMETER RAB$S_NQL = 1 PARAMETER RAB$V_NQL = 0 ! no query locking (record level) PARAMETER RAB$S_NODLCKWT = 1 PARAMETER RAB$V_NODLCKWT = 1 ! no deadlock wait PARAMETER RAB$S_NODLCKBLK = 1 PARAMETER RAB$V_NODLCKBLK = 2 ! no deadlock blocking BYTE %FILL (1) END MAP END UNION BYTE RAB$B_RAC ! record access BYTE RAB$B_TMO ! time-out period INTEGER*2 RAB$W_USZ ! user buffer size INTEGER*2 RAB$W_RSZ ! record buffer size INTEGER*4 RAB$L_UBF ! user buffer address INTEGER*4 RAB$L_RBF ! record buffer address INTEGER*4 RAB$L_RHB ! record header buffer addr UNION MAP INTEGER*4 RAB$L_KBF ! key buffer address END MAP MAP INTEGER*4 RAB$L_PBF ! prompt buffer addr END MAP END UNION UNION MAP BYTE RAB$B_KSZ ! key buffer size END MAP MAP BYTE RAB$B_PSZ ! prompt buffer size END MAP END UNION BYTE RAB$B_KRF ! key of reference BYTE RAB$B_MBF ! multi-buffer count BYTE RAB$B_MBC ! multi-block count UNION MAP INTEGER*4 RAB$L_BKT ! bucket hash code, vbn, or rrn END MAP MAP INTEGER*4 RAB$L_DCT ! duplicates count on key accessed on alternate key END MAP END UNION INTEGER*4 RAB$L_FAB ! related fab for connect INTEGER*4 RAB$L_XAB ! XAB address END STRUCTURE ! RABDEF ! end of traditional 32-bit rab PARAMETER RAB$K_BLN = '00000044'X ! length of traditional 32-bit rab PARAMETER RAB$C_BLN = '00000044'X ! length of traditional 32-bit rab ! ! 64-bit variant of the record access block (rab) definitions ! ! The 64-bit rab consists of the traditional 32-bit rab ! followed by additional cells, added mainly to provide ! support for a 64-bit address for user buffers (UBF, RBF, ! KBF, RHB). ! ! PARAMETER RAB64$C_BID = '00000001'X ! code for rab PARAMETER RAB64$M_PPF_RAT = '00003FC0'X PARAMETER RAB64$M_PPF_IND = '00004000'X PARAMETER RAB64$M_PPISI = '00008000'X PARAMETER RAB64$M_ASY = '00000001'X PARAMETER RAB64$M_TPT = '00000002'X PARAMETER RAB64$M_REA = '00000004'X PARAMETER RAB64$M_RRL = '00000008'X PARAMETER RAB64$M_UIF = '00000010'X PARAMETER RAB64$M_MAS = '00000020'X PARAMETER RAB64$M_FDL = '00000040'X PARAMETER RAB64$M_REV = '00000080'X PARAMETER RAB64$M_EOF = '00000100'X PARAMETER RAB64$M_RAH = '00000200'X PARAMETER RAB64$M_WBH = '00000400'X PARAMETER RAB64$M_BIO = '00000800'X PARAMETER RAB64$M_CDK = '00001000'X PARAMETER RAB64$M_LOA = '00002000'X PARAMETER RAB64$M_LIM = '00004000'X PARAMETER RAB64$M_SYNCSTS = '00008000'X PARAMETER RAB64$M_LOC = '00010000'X PARAMETER RAB64$M_WAT = '00020000'X PARAMETER RAB64$M_ULK = '00040000'X PARAMETER RAB64$M_RLK = '00080000'X PARAMETER RAB64$M_NLK = '00100000'X PARAMETER RAB64$M_KGE = '00200000'X PARAMETER RAB64$M_KGT = '00400000'X PARAMETER RAB64$M_NXR = '00800000'X PARAMETER RAB64$M_RNE = '01000000'X PARAMETER RAB64$M_TMO = '02000000'X PARAMETER RAB64$M_CVT = '04000000'X PARAMETER RAB64$M_RNF = '08000000'X PARAMETER RAB64$M_ETO = '10000000'X PARAMETER RAB64$M_PTA = '20000000'X PARAMETER RAB64$M_PMT = '40000000'X PARAMETER RAB64$M_CCO = '80000000'X PARAMETER RAB64$M_EQNXT = '00200000'X PARAMETER RAB64$M_NXT = '00400000'X PARAMETER RAB64$M_NQL = '00000001'X PARAMETER RAB64$M_NODLCKWT = '00000002'X PARAMETER RAB64$M_NODLCKBLK = '00000004'X PARAMETER RAB64$C_SEQ = '00000000'X ! sequential access PARAMETER RAB64$C_KEY = '00000001'X ! keyed access PARAMETER RAB64$C_RFA = '00000002'X ! rfa access PARAMETER RAB64$C_STM = '00000003'X ! stream access (valid only for sequential org) PARAMETER RAB64$C_MAXRAC = '00000002'X ! Maximum RAC value currently supported by RMS PARAMETER RAB64$M_RESERVED29 = '20000000'X PARAMETER RAB64$M_RESERVED30 = '40000000'X PARAMETER RAB64$M_RESERVED31 = '80000000'X PARAMETER RAB$M_RESERVED29 = '20000000'X PARAMETER RAB$M_RESERVED30 = '40000000'X PARAMETER RAB$M_RESERVED31 = '80000000'X STRUCTURE /RAB64DEF/ BYTE RAB64$B_BID ! block id BYTE RAB64$B_BLN ! block length UNION MAP INTEGER*2 RAB64$W_ISI ! internal stream index END MAP ! (ifi in fab) MAP PARAMETER RAB64$S_PPF_RAT = 8 PARAMETER RAB64$V_PPF_RAT = 6 ! rat value for process-permanent files PARAMETER RAB64$S_PPF_IND = 1 PARAMETER RAB64$V_PPF_IND = 14 ! indirect access to process-permanent file ! (i.e., restricted operations) PARAMETER RAB64$S_PPISI = 1 PARAMETER RAB64$V_PPISI = 15 BYTE %FILL (2) ! indicates that this is process-permanent stream END MAP END UNION UNION MAP INTEGER*4 RAB64$L_ROP ! record options END MAP MAP PARAMETER RAB64$S_ASY = 1 PARAMETER RAB64$V_ASY = 0 ! asynchronous operations PARAMETER RAB64$S_TPT = 1 PARAMETER RAB64$V_TPT = 1 ! truncate put - allow sequential put not at ! eof, thus truncating file (seq. org only) ! ! these next two should be in the byte for bits ! input to $find or $get, but there is no room there ! PARAMETER RAB64$S_REA = 1 PARAMETER RAB64$V_REA = 2 ! lock record for read only, allow other readers PARAMETER RAB64$S_RRL = 1 PARAMETER RAB64$V_RRL = 3 ! read record regardless of lock ! PARAMETER RAB64$S_UIF = 1 PARAMETER RAB64$V_UIF = 4 ! update if existent PARAMETER RAB64$S_MAS = 1 PARAMETER RAB64$V_MAS = 5 ! mass-insert mode PARAMETER RAB64$S_FDL = 1 PARAMETER RAB64$V_FDL = 6 ! fast record deletion PARAMETER RAB64$S_REV = 1 PARAMETER RAB64$V_REV = 7 ! reverse-search - can only be set with NXT or EQNXT ! PARAMETER RAB64$S_EOF = 1 PARAMETER RAB64$V_EOF = 8 ! connect to eof PARAMETER RAB64$S_RAH = 1 PARAMETER RAB64$V_RAH = 9 ! read ahead PARAMETER RAB64$S_WBH = 1 PARAMETER RAB64$V_WBH = 10 ! write behind PARAMETER RAB64$S_BIO = 1 PARAMETER RAB64$V_BIO = 11 ! connect for bio only PARAMETER RAB64$S_CDK = 1 PARAMETER RAB64$V_CDK = 12 ! check for duplicate keys on $GET PARAMETER RAB64$S_LOA = 1 PARAMETER RAB64$V_LOA = 13 ! use bucket fill percentage PARAMETER RAB64$S_LIM = 1 PARAMETER RAB64$V_LIM = 14 ! compare for key limit reached on $get/$find seq. (idx o PARAMETER RAB64$S_SYNCSTS = 1 PARAMETER RAB64$V_SYNCSTS = 15 ! Synchronous status notification for asynchronous ro ! ! the following bits are input to ! $find or $get, (see above also REA and RRL) ! (separate byte) ! PARAMETER RAB64$S_LOC = 1 PARAMETER RAB64$V_LOC = 16 ! use locate mode PARAMETER RAB64$S_WAT = 1 PARAMETER RAB64$V_WAT = 17 ! wait if record not available PARAMETER RAB64$S_ULK = 1 PARAMETER RAB64$V_ULK = 18 ! manual unlocking PARAMETER RAB64$S_RLK = 1 PARAMETER RAB64$V_RLK = 19 ! allow readers for this locked record PARAMETER RAB64$S_NLK = 1 PARAMETER RAB64$V_NLK = 20 ! do not lock record PARAMETER RAB64$S_KGE = 1 PARAMETER RAB64$V_KGE = 21 ! key > or = PARAMETER RAB64$S_KGT = 1 PARAMETER RAB64$V_KGT = 22 ! key greater than PARAMETER RAB64$S_NXR = 1 PARAMETER RAB64$V_NXR = 23 ! get non-existent record ! ! the following bits are terminal qualifiers only ! (separate byte) ! PARAMETER RAB64$S_RNE = 1 PARAMETER RAB64$V_RNE = 24 ! read no echo PARAMETER RAB64$S_TMO = 1 PARAMETER RAB64$V_TMO = 25 ! use time-out period PARAMETER RAB64$S_CVT = 1 PARAMETER RAB64$V_CVT = 26 ! convert to upper case PARAMETER RAB64$S_RNF = 1 PARAMETER RAB64$V_RNF = 27 ! read no filter PARAMETER RAB64$S_ETO = 1 PARAMETER RAB64$V_ETO = 28 ! extended terminal operation PARAMETER RAB64$S_PTA = 1 PARAMETER RAB64$V_PTA = 29 ! purge type ahead PARAMETER RAB64$S_PMT = 1 PARAMETER RAB64$V_PMT = 30 ! use prompt buffer PARAMETER RAB64$S_CCO = 1 PARAMETER RAB64$V_CCO = 31 BYTE %FILL (4) ! cancel control o on output END MAP MAP PARAMETER RAB64$S_EQNXT = 1 PARAMETER RAB64$V_EQNXT = 21 ! Synonyms for KGE and PARAMETER RAB64$S_NXT = 1 PARAMETER RAB64$V_NXT = 22 ! KGT BYTE %FILL (1) END MAP ! the following bits may be ! input to various rab-related ! operations ! MAP BYTE %FILL BYTE RAB64$B_ROP1 ! various options BYTE RAB64$B_ROP2 ! get/find options (use of this field discouraged ! due to REA and RRL being in a different byte) BYTE RAB64$B_ROP3 ! terminal read options ! END MAP END UNION INTEGER*4 RAB64$L_STS ! status UNION MAP INTEGER*4 RAB64$L_STV ! status value END MAP MAP INTEGER*2 RAB64$W_STV0 ! low word of stv INTEGER*2 RAB64$W_STV2 ! high word of stv END MAP END UNION UNION MAP INTEGER*2 RAB64$W_RFA(1:3) ! record's file address END MAP MAP INTEGER*4 RAB64$L_RFA0 INTEGER*2 RAB64$W_RFA4 END MAP END UNION INTEGER*2 %FILL ! (reserved - rms release 1 optimizes stores ! to the rfa field to be a move quad, overwriting ! this reserved word) INTEGER*4 RAB64$L_CTX ! user context ! -----***** UNION MAP INTEGER*2 RAB64$W_ROP_2 ! extension to record options in traditional RAB END MAP MAP PARAMETER RAB64$S_NQL = 1 PARAMETER RAB64$V_NQL = 0 ! no query locking (record level) PARAMETER RAB64$S_NODLCKWT = 1 PARAMETER RAB64$V_NODLCKWT = 1 ! no deadlock wait PARAMETER RAB64$S_NODLCKBLK = 1 PARAMETER RAB64$V_NODLCKBLK = 2 ! no deadlock blocking BYTE %FILL (1) END MAP END UNION BYTE RAB64$B_RAC ! record access BYTE RAB64$B_TMO ! time-out period INTEGER*2 RAB64$W_USZ ! user buffer size INTEGER*2 RAB64$W_RSZ ! record buffer size INTEGER*4 RAB64$L_UBF ! user buffer address INTEGER*4 RAB64$L_RBF ! record buffer address INTEGER*4 RAB64$L_RHB ! record header buffer addr UNION MAP INTEGER*4 RAB64$L_KBF ! key buffer address END MAP MAP INTEGER*4 RAB64$L_PBF ! prompt buffer addr END MAP END UNION UNION MAP BYTE RAB64$B_KSZ ! key buffer size END MAP MAP BYTE RAB64$B_PSZ ! prompt buffer size END MAP END UNION BYTE RAB64$B_KRF ! key of reference BYTE RAB64$B_MBF ! multi-buffer count BYTE RAB64$B_MBC ! multi-block count UNION MAP INTEGER*4 RAB64$L_BKT ! bucket hash code, vbn, or rrn END MAP MAP INTEGER*4 RAB64$L_DCT ! duplicates count on key accessed on alternate key END MAP END UNION INTEGER*4 RAB64$L_FAB ! related fab for connect INTEGER*4 RAB64$L_XAB ! XAB address UNION MAP INTEGER*4 RAB64$L_VERSION ! 64-bit rab extension version END MAP MAP INTEGER*4 RAB$L_VERSION ! 64-bit rab extension version END MAP MAP INTEGER*2 RAB64$W_VERMINOR ! minor version ident INTEGER*2 RAB64$W_VERMAJOR ! major version ident END MAP MAP INTEGER*2 RAB$W_VERMINOR ! minor version ident INTEGER*2 RAB$W_VERMAJOR ! major version ident END MAP END UNION UNION MAP INTEGER*8 RAB64$PQ_UBF ! 64-bit user buffer address END MAP MAP INTEGER*8 RAB$PQ_UBF ! 64-bit user buffer address END MAP END UNION UNION MAP INTEGER*4 RAB64$Q_USZ(2) ! 64-bit user buffer size END MAP MAP INTEGER*4 RAB$Q_USZ(2) ! 64-bit user buffer size END MAP END UNION UNION MAP INTEGER*8 RAB64$PQ_RBF ! 64-bit record buffer address END MAP MAP INTEGER*8 RAB$PQ_RBF ! 64-bit record buffer address END MAP END UNION UNION MAP INTEGER*4 RAB64$Q_RSZ(2) ! 64-bit record buffer size END MAP MAP INTEGER*4 RAB$Q_RSZ(2) ! 64-bit record buffer size END MAP END UNION UNION MAP INTEGER*8 RAB64$PQ_KBF ! 64-bit key buffer address END MAP MAP INTEGER*8 RAB$PQ_KBF ! 64-bit key buffer address END MAP END UNION UNION MAP INTEGER*8 RAB64$PQ_RHB ! 64-bit record header buffer addr END MAP MAP INTEGER*8 RAB$PQ_RHB ! 64-bit record header buffer addr END MAP END UNION UNION MAP INTEGER*4 RAB64$Q_CTX(2) ! 64-bit user context END MAP MAP INTEGER*4 RAB$Q_CTX(2) ! 64-bit user context END MAP END UNION UNION MAP INTEGER*4 RAB64$L_ROPEXT ! extended record options END MAP MAP INTEGER*4 RAB$L_ROPEXT ! extended record options END MAP MAP PARAMETER RAB64$S_RESERVED29 = 1 PARAMETER RAB64$V_RESERVED29 = 29 ! MBZ - reserved for Digital PARAMETER RAB64$S_RESERVED30 = 1 PARAMETER RAB64$V_RESERVED30 = 30 ! MBZ - reserved for Digital PARAMETER RAB64$S_RESERVED31 = 1 PARAMETER RAB64$V_RESERVED31 = 31 BYTE %FILL (1) ! MBZ - reserved for Digital END MAP MAP PARAMETER RAB$S_RESERVED29 = 1 PARAMETER RAB$V_RESERVED29 = 29 ! MBZ - reserved for Digital PARAMETER RAB$S_RESERVED30 = 1 PARAMETER RAB$V_RESERVED30 = 30 ! MBZ - reserved for Digital PARAMETER RAB$S_RESERVED31 = 1 PARAMETER RAB$V_RESERVED31 = 31 BYTE %FILL (1) ! MBZ - reserved for Digital END MAP END UNION UNION MAP INTEGER*4 RAB64$L_MBF ! longword multi-buffer count END MAP MAP INTEGER*4 RAB$L_MBF ! longword multi-buffer count END MAP END UNION UNION MAP INTEGER*4 RAB64$L_MBC ! longword multi-block count END MAP MAP INTEGER*4 RAB$L_MBC ! longword multi-block count END MAP END UNION UNION MAP INTEGER*4 RAB64$L_RESERVED_1 ! MBZ - reserved for Digital END MAP MAP INTEGER*4 RAB$L_RESERVED_1 ! MBZ - reserved for Digital END MAP END UNION END STRUCTURE ! RAB64DEF ! end of 64-bit rab variant PARAMETER RAB64$K_BLN64 = '00000090'X ! length of 64-bit rab variant PARAMETER RAB64$C_BLN64 = '00000090'X ! length of 64-bit rab variant PARAMETER RAB$K_BLN64 = '00000090'X ! length of 64-bit rab variant PARAMETER RAB$C_BLN64 = '00000090'X ! length of 64-bit rab variant PARAMETER RAB$K_MAXBLN = '00000090'X ! current maximum length of rab PARAMETER RAB$C_MAXBLN = '00000090'X ! current maximum length of rab !DEC$ END OPTIONS