|
|
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
|