GDSX Manual
Service Routines
Extended General Device Support (GDSX) Manual–134303
8-50
NOTIFY^IO^COMPLETION[X]
USCODE task that created the process. Maximum length of the forwarded message 
is 60 words.
NOTIFY^IO^COMPLETION[X]
When the processing for an intertask request from a sending task is completed by the 
associated receiving task, a call to NOTIFY^IO^COMPLETION[X] by the receiving 
task causes the IOCB to be delinked from the receiving task’s TCB and the sending task 
is notified that the I/O request is complete or was canceled.
When a DEVICE^HANDLER task under a LINE initiates an I/O to the LINE, an IOCB 
is automatically allocated and linked to the TCB for the task and to the FCB of the ITC 
file (intertask communication file) just as it would be for a Guardian file. Also, the 
IOCB is linked into the associated LINE^HANDLER task’s ITC request queue 
(addressed externally by in^queue^file^num). The intertask I/O initiation is completed 
by causing a LINE^HANDLER E^ITC event, assuming that the LINE^HANDLER task 
has a current ^READUPDATE on its ITC file.
After the LINE^HANDLER task’s call to WAIT^EVENT returns E^ITC, the task calls 
^LISTEN (0,0,1). ^LISTEN looks at the task’s ITC request queue. If the queue is not 
empty, the first IOCB in the queue is delinked, its state is changed to 6 (active), and its 
address is returned.
When the LINE^HANDLER task finishes the request and calls 
NOTIFY^IO^COMPLETION[X], the IOCB is delinked from the TCB for the task and 
queued on the completed I/O list for the task. Also, the IOCB state is changed to 5 
(pending). Finally, the originating (DEVICE^HANDLER) task’s E^IOC event is 
caused. This is the same action that takes place when a Guardian I/O operation 
completes. 
iocb input 
is a pointer to an IOCB representing an intertask request from a 
DEVICE^HANDLER task.  
If buffer is omitted, no field of the IOCB is changed.  However, if buffer is present, 
iocbp.bufaddr[x] is set to the address of buffer. 
CALL NOTIFY^IO^COMPLETION[X] ( iocb ! 
i
 ,[ buffer] ); ! 
i
INT:ref (Use with NOTIFY^IO^COMPLETION.)
INT .EXT:ref (Use with NOTIFY^IO^COMPLETIONX.)










