Guardian Procedure Calls Reference Manual (G06.25+)
Guardian Procedure Calls (R)
Guardian Procedure Calls Reference Manual—522629-013
13-36
READUPDATELOCK[X] Procedures
read-count input
INT:value (Use with READUPDATELOCK and READUPDATELOCKX)
is the number of bytes to be read {0:4096}.
count-read output
INT:ref:1 (Use with READUPDATELOCK)
INT .EXT:ref:1 (Use with READUPDATELOCKX)
is for wait I/O only.
count-read returns a count of the number of bytes returned
from the file into
buffer.
tag input
INT(32):value (Use with READUPDATELOCK and READUPDATELOCKX)
is for nowait I/O only.
tag is a value you define that uniquely identifies the
operation associated with this READUPDATELOCK[X].
Condition Code Settings
< (CCL) indicates that an error occurred (call FILE_GETINFO_ or FILEINFO).
< (CCL) is also returned following a successful read with an insertion-ordered
alternate key path if the alternate key value of the current record is equal to
the alternate key value in the following record along that path. A call to
FILE_GETINFO_ or FILEINFO shows that an error 551 occurred; this error
is advisory only and does not indicate an unsuccessful read operation.
= (CCE) indicates that the READUPDATELOCK[X] is successful.
> (CCG) does not return from READUPDATELOCK[X] for disk files.
Considerations
•
READUPDATELOCK versus READUPDATELOCKX
Use READUPDATELOCK when the buffer has a 16-bit address, and use
READUPDATELOCKX when the buffer has a 32-bit extended address. Therefore,
the data buffer for READUPDATELOCKX can be either in the caller’s stack
segment or any extended data segment.
•
Nowait I/O and READUPDATELOCK[X]
The READUPDATELOCK[X] procedure must complete with a corresponding call to
the AWAITIO[X] procedure when used with a file that is opened nowait. If
Note. The system stores the tag value until the I/O operation completes. The system then
returns the tag information to the program in the tag parameter of the call to AWAITIO[X],
thus indicating that the operation completed. If READUPDATELOCKX is used, you must call
AWAITIOX to complete the I/O. If READUPDATELOCK is used, you may use either AWAITIO
or AWAITIOX to complete the I/O.