Guardian Procedure Calls Reference Manual (G06.25+)

Guardian Procedure Calls (R)
Guardian Procedure Calls Reference Manual522629-013
13-28
READUPDATE[X] Procedures
read-count input
INT:value (Use with READUPDATE and READUPDATEX)
is the number of bytes to be read.
{0:4096} for disk files (see “Disk File Considerations”)
{0:57344} for $RECEIVE
count-read output
INT:ref:1 (Use with READUPDATE)
INT .EXT:ref:1 (Use with READUPDATEX)
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 READUPDATE and READUPDATEX)
is for nowait I/O only.
tag is a value you define that uniquely identifies the
operation associated with this READUPDATE[X].
Condition Code Settings
< (CCL) indicates that an error occurred (call FILE_GETINFO_ or FILEINFO, with
filenum of 0).
< (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 READUPDATE[X] is successful.
> (CCG) indicates that a system message is received through $RECEIVE. (CCG is
not returned by READUPDATE[X] for disk files.)
Considerations
READUPDATE versus READUPDATEX
Use READUPDATE when the buffer has a 16-bit address, and use
READUPDATEX when the buffer has a 32-bit extended address. Therefore, the
data buffer for READUPDATEX can be either in the caller’s stack segment or any
extended data segment.
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 READUPDATEX is used, you must call
AWAITIOX to complete the I/O. If READUPDATE is used, you may use either AWAITIO or
AWAITIOX to complete the I/O.