|
|
NM and CM callable.
Initiates completion operations for an I/O request.
Syntax
I16 I16V UDS I16 U16
fnum := IODONTWAIT (filenum, buffer, length, cstation);
Functional Return
- fnum
16-bit signed integer (assigned functional return)
The file number for which the completion occurred. If no completion
occurred, zero is returned.
Parameters
- filenum
16-bit signed integer by value (required)
The file number for which there is a pending I/O request. If you specify
0, the IODONTWAIT intrinsic checks for any I/O
completion.
- buffer
user-defined structure (optional)
Passes an input buffer. This buffer must be large enough to contain the
input record. It should be the same buffer specified
in the original I/O request if that was a read request. This allows
for a proper recognition of EOF where applicable. The buffer parameter
is required if not in priviledged mode, or the buffer parameter
can be ommitted if the GETPRIVMODE intrinsic is called first.
- length
16-bit signed integer by reference (optional)
Returns the length of the received or transmitted record. If the original
request specified a byte count, the integer represents bytes; if the
request specified half words, the integer represents half words. This
parameter is pertinent only if the original I/O request was a read
request. The FREAD intrinsic always returns zero as its
functional return if you specify nowait I/O. In this case, the actual
record length is returned in the length parameter of
IODONTWAIT.
- cstation
16-bit unsigned integer by reference (optional)
Returns the number of the calling station when completed (used for
distributed systems).
(ASC) Not used for asynchronous devices.
Operation Notes
The IODONTWAIT intrinsic operates the same as IOWAIT with one
exception: if you call IOWAIT and no I/O has completed, then the
calling process is suspended until some I/O completes; if you call
IODONTWAIT and no I/O has completed, then control is returned to the
calling process. (CCE (2) is returned and the result of
IODONTWAIT is zero.)
Condition Codes
- CCE (2)
Request granted. If the functional return is not zero, then I/O
completion occurred with no errors. If the functional return is zero, no
I/O has completed.
- CCG (0)
An end-of-file was encountered.
- CCL (1)
Request denied. Normal I/O completion did not occur; there were no I/O
requests pending, a parameter error occurred, or an abnormal I/O
completion occurred.
Related Information
- Manual
Interprocess Communication Programmer's Guide
|