Open System Services System Calls Reference Manual (G06.29+, H06.08+, J06.03+)

PUT_READUPDATELOCKX(2) OSS System Calls Reference Manual
Location of buffer and c ount_read
The buffer and count transferred can be in the user stack or in an extended data
segment. The buffer and count_read cannot be in the user code space.
If the buff er and count_read is in a selectable extended data segment, the seg-
ment must be in use at the time of the call. Flat segments allocated by a process
are always accessible to the process.
Use on files opened for nowait I/O
If the buffer is in an extended data segment, you cannot deallocate or
reduce the size of the extended data segment before the I/O completes
with a call to the Guardian AWAITIOX procedure or is canceled by a
call to the PUT_CANCEL( ) function or the Guardian CANCELREQ
procedure.
You must not modify the buffer before the I/O completes with a call to
the Guardian AWAITIOX procedure. This restriction also applies to
other processes that might be sharing the segment. It is the application’s
responsibility to ensure this.
If you initiated the I/O with PUT_READUPDATELOCKX(), the I/O
must be completed with a call to the Guardian AWAITIOX procedure.
A selectable extended data segment containing the buffer need not be in
use at the time of the call to AWAITIOX.
You can cancel nowait I/O initiated with
PUT_READUPDATELOCKX() with a call to PUT_CANCEL( ) or
CANCELREQ. The I/O is canceled if the file is closed before the I/O
completes or if the Guardian AWAITIOX procedure is called with a
positive time limit and specific file number and the request times out.
Use of buffers A file opened by PUT_FILE_OPEN_() uses direct I/O transfers by default; you
can use PUT_SETMODE(72) to force the system to use an intermediate buffer
in the process file segment (PFS) for I/O transfers.
Bounds checking
If the extended address of buffer is odd, bounds checking rounds the address to
the next lower word boundary and checks an extra byte as well. The odd address
is used for the transfer.
All considerations for the PUT_LOCKREC( ) function also apply to this function. See also the
"Disk File Considerations" for the Guardian READUPDATE procedure.
Use on OSS objects
This procedure operates only on Guardian objects. If an OSS file is specified, Guardian file-
system error 2 occurs.
RETURN VALUES
The PUT_READUPDATELOCKX() function returns 0 (zero) upon successful completion.
Otherwise, this function returns a nonzero Guardian file-system error number that indicates the
outcome of the operation.
For information about Guardian file-system error numbers, see the Guardian Procedure Errors
and Messages Manual.
5238 Hewlett-Packard Company 527186-023