GDSX Manual
Service Routines
Extended General Device Support (GDSX) Manual–134303
8-89
^WRITE[X]
Events with corresponding constant values from 9-15 can also be defined by you, 
and caused for a task with this procedure.  Events 9, 10, 11, 12, 13, 14, 15 
correspond with WAIT^EVENT mask bits 7, 6, 5, 4, 3, 2, 1, respectively. See the 
description of the mask and event variables for the WAIT^EVENT procedure.
Example
CALL WAKE^TASK(HIS^TCB, E^IOC);
^WRITE[X]
The ^WRITE and ^WRITEX procedures write data from an array to an open file. 
Because the working stack images of tasks are swapped to and from an extended data 
segment during I/O operations, I/O must be performed to and from global buffers.
The syntax, condition code settings, and considerations regarding these two procedures 
are the same as the counterparts in the Guardian Procedure Calls Reference Manual. 
WRITE^ITC^MESSAGE[X]
The WRITE^ITC^MESSAGE and WRITE^ITC^MESSAGEX procedures initiate one-
way communication between any two tasks. Because the working stack images of tasks 
are swapped to and from an extended data segment during I/O operations, I/O must be 
performed to and from global buffers.
When calling this procedure, the sending task passes a pointer to a TCB for the task to 
receive the message. The procedure allocates an IOCB, which is linked into the 
receiving task’s ITC request queue if the task is a LINE^HANDLER task, or into the 
receiving task’s pseudo-$RECEIVE file if the task is a DEVICE^HANDLER task.  The 
intertask I/O initiation is completed by causing the receiving task’s E^IMSG event 
(assuming that, if the task is a DEVICE^HANDLER task, it has a current 
^READUPDATE on its pseudo-$RECEIVE file, or if the task is a LINE^HANDLER 
task, it has a current ^READUPDATE on its in-queue file). 
If the receiving task is a LINE^HANDLER task, it detects the message by a call to 
WAIT^EVENT, which returns E^IMSG. A call to ^LISTEN(1, 0, 0) returns the IOCB 
address. After the message is processed, a call to DEALLOCATEIOCB releases the 
IOCB.
Completion of I/O other than 
$RECEIVE and intertask message
E^IOC 6 X
Resource is available E^RESOURCE 7
Device added, deleted, altered, started, 
or stopped
E^CHANGE 8
Note. The sending task does not have to call ^AWAITIO[X] after it calls 
WRITE^ITC^MESSAGE[X].
Event Description Literal Identifier
Literal 
Constant
Associated 
IOCB










