Open System Services System Calls Reference Manual (G06.29+, H06.08+, J06.03+)
PUT_READX(2) OSS System Calls Reference Manual
Queue files You can use PUT_READX() to perform a nondestructive read of a queue file
record. If the Guardian KEYPOSITIONX procedure is used to position to the
beginning of the file, the first PUT_READX( ) call performed returns a record
with a length of 8 bytes and contents of all zeros. Subsequent PUT_READX( )
calls return data from records written to the file.
Disk File Considerations
Large data transfers for unstructured files using default mode
For all read procedures, using default mode allows I/O sizes for unstructured
files to be as large as 56 kilobytes (57,344), if the unstructured buffer size is 4
KB (4096). Default mode here refers to the mode of the file if
PUT_SETMODE() function 141 is not invoked.
For an unstructured file with an unstructured buffer size other than 4 KB, DP2
automatically adjusts the unstructured buffer size to 4 KB, if possible,
when an I/O larger than 4KB is attempted. However, this adjustment is not pos-
sible for files that have extents with an odd number of pages; in such cases an
I/O over 4 KB is not possible. The switch to a different unstructured buffer size
will have a transient performance impact, so HP recommends that you set the
size 4 KB initially, which is the default. Transfer sizes over 4 KB are not sup-
ported in default mode for unstructured access to structured files.
Large data transfers using PUT_SETMODE(141)
For PUT_READX() only, large data transfers (more than 4096 bytes) can be
done for unstructured access to structured or unstructured files, regardless of
unstructured buffer size, by using PUT_SETMODE() function 141. When you
use PUT_SETMODE(141) to enable large data transfers, you can specify up to
56K (57344) bytes for the read_count parameter. For an explanation of function
141, see the Guardian SETMODE procedure description in the Guardian Pro-
cedure Calls Reference Manual.
Structured files
A subset of records for sequential PUT_READX() calls
The subset of records read by a series of calls to
PUT_READX() is specified through calls to the Guardian
POSITION or KEYPOSITION procedures.
Reading of an approximate subset of records
If an approximate subset is being read, the first record returned is
the one whose key field, as indicated by the current key
specifier, contains a value equal to or greater than the current
key. Subsequent reading of the subset returns successive
records until the last record in the file is read (an EOF indication
is then returned).
Reading of a generic subset of records
If a generic subset is being read, the first record returned is the
one whose key field, as designated by the current-key specifier,
contains a value equal to the current key for comparison-length
bytes. Subsequent reading of the file returns successive records
whose key matches the current key (for comparison-length
bytes). When the current key no longer matches, an EOF indica-
tion returns.
For relative and entry-sequenced files, a generic subset of the
primary key is equivalent to an exact subset.
5−246 Hewlett-Packard Company 527186-023