GDSX Manual
Service Routines
Extended General Device Support (GDSX) Manual–134303
8-91
^WRITEREAD[X]
! MAXTSKS is a GLOBAL configuration parameter.
WHILE @DEST^TCB := TCBADDR(I) <= MAXTSKS DO
BEGIN
IF @DEST^TCB <> @MY^TCB THEN ! We only want to send
! a buffer to user tasks other
! than ourself
BEGIN
!SEE DCCBDECS file for DEFINES
IF DEST^TCB.STATE.ACTIVE^BIT AND
DEST^TCB.STATE.TASK^TYPE <= 15 THEN
BEGIN ! 0 thru 15 are D^H tasks.
! We don't want L^H tasks either.
BUF ':=' "HELLO, THERE, DEVICE TASK!";
CALL WRITE^ITC^MESSAGE(DEST^TCB, BUF, SIZE*2);
END;
END;
I := I + 1;
END; !of WHILE DO
PUTLOCALPOOL(BUF); !Release buffer.
.
.
^WRITEREAD[X]
The ^WRITEREAD and ^WRITEREADX procedures write data from an array to a file,
and then waits for data to be transferred back from the 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.
^WRITEUPDATE[X]
The ^WRITEUPDATE and ^WRITEUPDATEX procedures transfer data from an array
to an open file.
The syntax, condition code settings, and considerations regarding these two procedures
are the same as the counterparts in the Guardian Procedure Calls Reference Manual.
Consideration
If the file number is in the ITC range, the ^WRITEUPDATE[X] request is routed to an
associate task by calling the SEND^ITC^MSG[X] procedure.
^WRITEUPDATEUNLOCK[X]
The ^WRITEUPDATEUNLOCK and ^WRITEUPDATEUNLOCKX procedures
perform random processing of records in the disk file.
The syntax, condition code settings, and considerations regarding these two procedures
are the same as the counterparts in the Guardian Procedure Calls Reference Manual.