GDSX (Extended General Device Support) Manual

Service Routines
Extended General Device Support (GDSX) Manual529931-001
8-90
^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 procedure WAIT^EVENT on
page 8-86.
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).
Message arrived from $RECEIVE E^IMSG 4 X
Intertask message arrived E^ITC 5 X
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
Associate
d IOCB