![]() |
Software > OpenVMS Systems > Documentation > 731final > 4523 ![]() HP OpenVMS Systems Documentation |
![]() |
OpenVMS Record Management Services Reference Manual
10.7 XAB$L_NXT FieldThe next XAB address (NXT) field contains the symbolic address of the next XAB to be used. A value of 0 (the default) indicates that the current XAB is the last (or only) XAB in the chain. 10.8 XAB$Q_RDT FieldThe revision date and time (RDT) field contains a 64-bit binary value representing the date and time when the file was last revised. The Open and Display services use this field to read the revision date and time. The Create service uses this field to set the revision date and time. However, a subsequent Close service overrides the value set by the Create service by using the value in the XAB$Q_RDT field of the XABRDT.
If the application program specifies this field as 0 (either explicitly or by default), the Create service uses the current date and time as the revision date and time. Note that this field is limited to a granularity of 1 second for remote files. This field corresponds to the FDL attribute DATE REVISION. 10.9 XAB$W_RVN FieldThe revision number (RVN) field contains a numeric value that indicates the number of times this file was opened for write operations. This field corresponds to the FDL attribute FILE REVISION. 10.10 XAB$Q_RCD Field (VAX Only)On VAX systems, the XAB$Q_RCD (RCD) field contains a 64-bit binary value expressing the date and time that the file was recorded. This field is applicable only to ISO 9660 files and has no corresponding FDL attribute. 10.11 XAB$Q_EFF Field (VAX Only)On VAX systems, the XAB$Q_EFF (EFF) field contains a 64-bit binary value expressing the date and time when the file information may be used. If no value is specified in this field, the data may be used immediately. This field is applicable only to ISO 9660 files and has no corresponding FDL attribute. 10.12 POSIX--Compliant Access Dates (Alpha Only)To support POSIX-compliant file timestamps on ODS--5 disks, the XABDAT structure has been extended to include the following three access timestamps:
Because these access dates must be written out to disk, there is a performance impact when these dates are used. The SET VOLUME command can be used to either limit the frequency of the updates or disable support for this set of access dates. (See the DCL SET VOLUME/VOLUME_ CHARACTERISTICS command.) A SETMODE XABITM access date interface can be used to update these dates on a $CLOSE operation regardless of the volume setting. (See Chapter 12 in this manual.) 10.12.1 XAB$Q_ACC FieldOn Alpha systems, the XAB$Q_ACC field contains a 64-bit binary value expressing the date and time that the file was last assessed (corresponding to POSIX st_atime). This field is restricted to ODS--5 disks; if specified for a non-ODS--5 disk, the field will contain zero. This field cannot be initialized by the $XABDAT macro and has no corresponding FDL attribute. It is not supported for DECnet for OpenVMS operations; it is ignored. 10.12.2 XAB$Q_ATT FieldOn Alpha systems, the XAB$Q_ATT field contains a 64-bit binary value expressing the date and time that a file attribute was last modified (corresponding to POSIX st_ctime). This field is restricted to ODS--5 disks; if specified for a non-ODS--5 disk, the field will contain zero. This field cannot be initialized by the $XABDAT macro and has no corresponding FDL attribute. It is not supported for DECnet for OpenVMS operations; it is ignored. 10.12.3 XAB$Q_MOD FieldOn Alpha systems, the XAB$Q_MOD field contains a 64-bit binary value expressing the date and time that file data was last modified (corresponding to POSIX st_mtime). This field is restricted to ODS--5 disks; if specified for a non-ODS--5 disk, the field will contain zero. This field cannot be initialized by the $XABDAT macro and has no corresponding FDL attribute. It is not supported for DECnet for OpenVMS operations; it is ignored.
Chapter 11
|
Field Offset | Size (Bytes) |
Description |
---|---|---|
XAB$B_ATR 1 | 1 | Record attributes; equivalent to FAB$B_RAT |
XAB$B_BKZ 1 | 1 | Bucket size; equivalent to FAB$B_BKS |
XAB$B_BLN 2 | 1 | Block length |
XAB$B_COD 2 | 1 | Type code |
XAB$W_DXQ 1 | 2 | Default file extension quantity; equivalent to FAB$W_DEQ |
XAB$L_EBK 1 | 4 | End-of-file block |
XAB$W_FFB 1 | 2 | First free byte in the end-of-file block |
XAB$W_GBC 1 | 2 | Default global buffer count |
XAB$L_HBK 1 | 4 | Highest virtual block in the file; equivalent to FAB$L_ALQ |
XAB$B_HSZ 1 | 1 | Fixed-length control header size; equivalent to FAB$B_FSZ |
XAB$W_LRL 1 | 2 | Longest record length |
XAB$W_MRZ 1 | 2 | Maximum record size; equivalent to FAB$W_MRS |
XAB$L_NXT | 4 | Next XAB address |
XAB$B_RFO 1 | 1 | File organization and record format; combines FAB$B_RFM and FAB$B_ORG |
XAB$L_SBN 1 | 4 | Starting logical block number for the file if it is contiguous; otherwise this field is 0 |
XAB$W_VERLIMIT 1 | 2 | Version limit for the file |
There are no FDL equivalents for the XABFHC fields. Unless otherwise indicated, each field is supported for DECnet for OpenVMS operations on files at remote OpenVMS systems. See the DECnet for OpenVMS Networking Manual for information about the support of RMS options for remote file access to other systems.
The record attributes (ATR) field indicates the record attributes (special control information) associated with each record in this file. This field is equivalent to the FAB$B_RAT field.
This field is a binary options field where each record attribute has a corresponding bit assignment. Options are identified using mnemonics. Each option in the field has its own symbolic offset and constant value. For example, the CR record attribute has the symbolic offset XAB$V_CR and the mask value XAB$M_CR. The record attribute options are described in the following list.
XAB$V_BLK
Records do not cross block boundaries in sequential files.XAB$V_CR
Each record is preceded by a line feed and followed by a carriage return.XAB$V_FTN
Each record contains a FORTRAN (ASA) carriage return in the first byte.XAB$V_PRN
Print file format.
For more information about the XAB$B_ATR field, refer to the description of the FAB$B_RAT field in Section 4.27.
The bucket size (BKZ) field specifies the number of blocks in each bucket of the file. It is equivalent to the FAB$B_BKS (or XAB$B_BKZ) field and is used only for relative or indexed files.
This field contains a numeric value in the range of 0 to 63.
For more information about the XAB$B_BKZ field, refer to the description of the FAB$B_BKS field in Section 4.5 and the description of the XAB$B_BKZ field in Section 9.6.
The block length (BLN) field is a static field that defines the length of the XABFHC, in bytes. Once set, this field must not be altered unless the control block is no longer needed. This field must be initialized to the symbolic value XAB$C_FHCLEN (this is done by the $XABFHC macro).
The type code (COD) field is a static field that identifies this control block as a XABFHC. Once set, this field must not be altered unless the control block is no longer needed. This field must be initialized to the symbolic value XAB$C_FHC (this is done by the $XABFHC macro).
The default file extension quantity (DXQ) field specifies the number of blocks to be added when a disk file is extended automatically. This automatic extension occurs whenever your program performs a Put or Write service and the currently allocated file space is exhausted.
This field is equivalent to the FAB$W_DEQ (or XAB$W_DEQ) field; it contains a numeric value in the range 0 through 65,535, which is rounded up to the value of the next cluster boundary.
For more information about the XAB$W_DXQ field, refer to the description of the FAB$W_DEQ field in Section 4.10 and the description of the XAB$W_DEQ field in Section 9.9.
When you open a file, RMS stores the VBN of the physical block where the next record will be written in the XAB$L_EBK field. For example, assume that a file is allocated five physical blocks and that the last record written to the file is at byte 0FF _16 in the file's second physical block. When your program opens this file, RMS stores the VBN of the second physical block in XAB$L_EBK and it stores 100_16 in the XAB$W_FFB field.
If the previous block is full when you open the file, RMS stores the first location ( 000_16 ) of the next block in XAB$W_FFB and the VBN of the next block in XAB$L_EBK. By way of contrast, in a similar situation RMS-11 stores the last byte ( 200_16 ) of the filled block in the XAB$W_FFB field and the VBN of the filled block in the XAB$L_EBK field.
The XAB$L_EBK field is meaningful for sequential files only.
The first free byte in the end-of-file block (FFB) field contains the byte location in the end-of-file block where the next record will be written. The XAB$W_FFB field is meaningful for sequential files only.
The default global buffer count (GBC) field contains the current global buffer count for this file. For more information about the XAB$W_GBC field, refer to the description of the FAB$W_GBC field in Section 4.19.
This field is not supported for DECnet for OpenVMS operations; it is ignored.
The highest virtual block (HBK) field contains the virtual block number currently allocated to this file. It is equivalent to the FAB$L_ALQ field after a Create, Open, or Display service executes. For sequential files, the difference between XAB$L_HBK and XAB$L_EBK equals the number of blocks in the file available for additional records without extending the file.
The fixed-length control header size (HSZ) field indicates the length of the fixed portion for records in the VFC format. It is equivalent to the FAB$B_FSZ field.
This field contains a numeric value (1 to 255) that indicates, in bytes, the size of the fixed-length control area. This field is not applicable to indexed files.
For more information about the XAB$B_HSZ field, refer to the description of the FAB$B_FSZ field in Section 4.18.
The longest record length (LRL) field contains a numeric value that indicates the longest record currently in the file, in bytes. This value is meaningful for sequential files only. If you specify the XAB$W_MRZ field, the LRL field takes the same value as the XAB$W_MRZ field.
The maximum record size (MRZ) field indicates the size of all records in a file with fixed-length records, the maximum size of variable-length records, the maximum size of the data area for variable with fixed-length control records, and the cell size for relative files. It is equivalent to the FAB$W_MRS field.
This field contains a numeric value in the range applicable to the file type and record format (see Table 4-4), in bytes.
For fixed-length records, the value represents the actual size of each record in the file.
For variable-length records, the value represents the size of the largest record that can be written into the file. If the file is not a relative file, a value of 0 is used to suppress record size checking, thus indicating that there is no user limit on record size.
For variable with fixed-length control records, the value includes only the data portion; it does not include the size of the fixed control area.
For more information about the XAB$W_MRZ field, refer to the description of the FAB$W_MRS field in Section 4.24.
The next XAB address (NXT) field contains the symbolic address of the next XAB. A value of 0 (the default) indicates that the current XAB is the last (or only) XAB in the chain.
The file organization and record format (RFO) field combines the FAB$B_RFM and FAB$B_ORG fields using an inclusive OR.
The following table lists the record formats.
Record Format | Description |
---|---|
FIX | Fixed length |
STM | Stream, delimited by FF, VT, LF, or CR LF |
STMCR | Stream, delimited by CR |
STMLF | Stream, delimited by LF |
UDF | Undefined |
VAR | Variable length |
VFC | Variable length with fixed control area |
The following table lists the file organizations.
File Organization | Description |
---|---|
IDX | Indexed sequential |
REL | Relative |
SEQ | Sequential |
For more information about the XAB$B_RFO field, refer to the description of the FAB$B_ORG field and the FAB$B_RFM field in Section 4.28.
The starting logical block number (SBN) field contains the starting logical block number for a contiguous file; if the file is not contiguous, this field contains 0.
The file version limit (VERLIMIT) field contains the version limit for this file. This value is not available if the file was opened by file ID.
This field is not supported for DECnet for OpenVMS operations; it is ignored.
Previous | Next | Contents | Index |