GDSX (Extended General Device Support) Manual

User Exit Descriptions
Extended General Device Support (GDSX) Manual529931-001
9-4
LINE^HANDLER
number, TSCODE pseudo procedures redirect the I/O operations to the in-queue file
for the associated LINE^HANDLER task. A DEVICE^HANDLER task never needs to
know the receive-number.
All I/O with the IOP controlling a LINE is identified by filenum.
filenumr input
INT:value
is the Guardian file number for the file managed by this LINE^HANDLER task.
When this procedure is called, TSCODE has already opened this file with the
flags parameter of OPEN set to a value greater than or equal to 1.
internal-number input
INT:value
is the unique GDSX internal number for the file associated with this task. This
number may be used to identify the file in user-generated log messages, and may
also be used as an index to find this LINE’s LCB in the LINE table.
receive-number input
INT:value
is a file number for a pseudo-$RECEIVE file used by this LINE^HANDLER task to
receive requests from DEVICE^HANDLER tasks.
Considerations
This procedure operates in an infinite loop to process requests.
When starting up, the LINE^HANDLER should call ^READUPDATE against
receive-number.
^READUPDATE[X] and ^CANCEL are the only two operations that a
LINE^HANDLER may issue against receive-number.
The following intertasking communication procedures are commonly used within a
LINE^HANDLER for multithreaded processing of I/O:
^LISTEN
NOTIFY^IO^COMPLETION[X]
WAIT^EVENT
WAKE^TASK
PROC LINE^HANDLER ( filenum !
i
,internal-number !
i
,receive-number ); !
i