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