GDSX (Extended General Device Support) Manual

Service Routines
Extended General Device Support (GDSX) Manual529931-001
8-61
^READ[X]
BEGIN
I^GOT^CP^SEM := 0;
.
Do takeover Processing
.
END
ELSE
IF I^GOT^CP^SEM THEN
BEGIN
CALL GIVE^CPSEM;
I^GOT^CP^SEM := 0;
END;
^READ[X]
The ^READ and ^READX procedures return data from an open file to the application
process’s data area. 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.
^READLOCK[X]
The ^READLOCK and ^READLOCKX procedures sequentially lock and read records
in a disk file, exactly like the combination of LOCKREC and READ[X]. 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.
^READUPDATE[X]
The ^READUPDATE AND ^READUPDATEX procedures are used by
DEVICE^HANDLER tasks to read messages from the pseudo-$RECEIVE file, and by
LINE^HANDLER tasks to read messages from the $RECEIVE-like file.
Except for the following considerations, the syntax, condition code settings, and
considerations regarding these two procedures are the same as the counterparts in the
Guardian Procedure Calls Reference Manual.
Considerations
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.