GDSX Manual
Design and Development
Extended General Device Support (GDSX) Manual–134303
2-85
I/O for Files Other Than $RECEIVE
I/O for Files Other Than $RECEIVE
Two tables are used by the GDSX I/O procedures: the IOCB table and the FCB table.
TSCODE allocates an IOCB to manage each outstanding nowait I/O. Among the entries
in the IOCB are the following:
iocb.tcblink[0:1] Two-way linked list pointers for list of IOCBs for a given task.
Also used to link available IOCBs.
iocb.fcblink[0:1] Two-way linked list pointers for list of IOCBs for a given file.
iocb.lhlink[0:1] Two-way linked list pointers for use by LINE^HANDLER
tasks.
iocb.wakeup=lhlink For signaltimeout, IOCB contains the GDSX internal time
when the signal is to pop.
iocb.syncid=lhlink For $RECEIVE requests, contains the sync ID returned from
RECEIVEINFO (or FILE_GETRECEIVEINFO_).
iocb.state State of IOCB:
0 - Available: IOCB currently unused
1 - Queued: I/O is currently in process
2 - ITC-Queued: ITC IOCB that has not yet been
LISTENed
3 - Signal: ^SIGNALTIMEOUT IOCB
4 - N.A.
5 - Pending: I/O complete but not passed back to task
6 - ITC active: Task is processing the request
7 - Canceled: Task has not yet processed cancel event
8 - Receive: $RECEIVE request queued for task
9 - Reply: $RECEIVE request passed to task