|
VMS Help RMS, RAB64 (Alpha Only) *Conan The Librarian |
On an Alpha system, the 64-bit record access block (RAB64) is
an extension of the RAB that allows OpenVMS Alpha users to use
64-bit addresses for the following I/O buffers:
o UBF (user record buffer)
o RBF (record buffer)
o RHB (fixed-length record header buffer; fixed portion of VFC
record format)
o KBF (key buffer containing the key value for random access)
RAB64 has fields corresponding to all the RAB fields, plus
seven additional fields to accommodate 64-bit addressing. The
additional fields are listed first in the following table; none
have FDL equivalents. All the other RAB64 fields are equivalent
to their RAB counterparts and have the same FDL equivalents.
For each field, this table lists the symbolic offset, the size in
bytes, the RAB equivalent, and a brief description.
RAB
Offset Size Equivalent Description
Alpha-Only RAB64 Fields:
RAB64$Q_CTX 8 None User context (64-bit)
RAB64$PQ_KBF 8 None Key buffer 64-bit address
RAB64$PQ_RBF 8 None Record buffer 64-bit address
RAB64$PQ_RHB 8 None Record header buffer 64-bit
address
RAB64$Q_RSZ 8 None Record buffer size
RAB64$PQ_UBF 8 None User record buffer 64-bit
address
RAB64$Q_USZ 8 None User record buffer size
RAB64 Fields Equivalent to RAB Fields:
RAB64$B_BID 1 RAB$B_BID Block identifier
RAB64$L_BKT 4 RAB$L_BKT Bucket code
RAB64$B_BLN 1 RAB$B_BLN Block length
RAB64$L_CTX 4 RAB$L_CTX User context
RAB64$L_FAB 4 RAB$L_FAB File access block address
RAB64$W_ISI 2 RAB$W_ISI Internal stream identifier
RAB64$L_KBF 4 RAB$L_KBF Key buffer address
RAB64$B_KRF 1 RAB$B_KRF Key of reference
RAB64$B_KSZ 1 RAB$B_KSZ Key size
RAB64$B_MBC 1 RAB$B_MBC Multiblock count
RAB64$B_MBF 1 RAB$B_MBF Multibuffer count
RAB64$L_PBF 4 RAB$L_PBF Prompt buffer address
RAB64$B_PSZ 1 RAB$B_PSZ Prompt buffer size
RAB64$B_RAC 1 RAB$B_RAC Record access mode
RAB64$L_RBF 4 RAB$L_RBF Record buffer address
RAB64$W_RFA 6 RAB$W_RFA Record file address
RAB64$L_RHB 4 RAB$L_RHB Record header buffer address
RAB64$L_ROP 4 RAB$L_ROP Record-processing options
RAB64$W_ROP_ 2 Extended
2 record-
processing
options
RAB64$W_RSZ 2 RAB$W_RSZ Record buffer size
RAB64$L_STS 4 RAB$L_STS Completion status code
RAB64$L_STV 4 RAB$L_STV Status value
RAB64$W_STV0 2 RAB$W_STV0 Low-order word status value
RAB64$W_STV2 2 RAB$W_STV2 High-order word status value
RAB64$B_TMO 1 RAB$B_TMO Timeout period
RAB64$L_UBF 4 RAB$L_UBF User record buffer address
RAB64$W_USZ 2 RAB$W_USZ User record buffer size
RAB64$L_XAB 4 RAB$L_XAB Next XAB address
The RAB64 $PQ_ fields can hold either 64-bit addresses or 32-bit
addresses sign-extended to 64-bits. Therefore, you can use these
fields in all applications whether or not you are using 64-bit
addresses.
If your application already uses RAB fields, only minimal source
code changes are required to use 64-bit RMS support. The RAB64
64-bit counterpart to a 32-bit address field is used only if the
following two conditions exist:
o The RAB64$B_BLN field has been initialized to RAB64$C_BLN64.
o The 32-bit address cell in the 32-bit portion of the RAB64
contains -1.
Because the RAB64 is an upwardly compatible version of the RAB,
RMS allows you to use the RAB64 wherever you can use a RAB.
|
|