GDSX Manual

USKELEX and USKELEXC Listings
Extended General Device Support (GDSX) Manual134303
B-19
USKELEXC Listing
ELSE
!dxcd
CALL ^FILEINFO(TERM^FILE^NUM,FERR);
CALL ^REPLYX(,,,,FERR);
END;
END; !CASE
CALL PUTEXTPOOL(10,@TERM^BUF);
CALL PUTEXTPOOL(10,@RCV^BUF);
END; !WHILE
END; !PROC
!===========================================================================
?PAGE "PROC LINE HANDLER"
!===========================================================================
PROC LINE^HANDLER (LINE^FILE^NUM, INTERNAL^LINE^NO, IN^QUEUE^FILE^NUM);
INT LINE^FILE^NUM, INTERNAL^LINE^NO, IN^QUEUE^FILE^NUM;
BEGIN
!===========================================================================
! Comment - User can declare desired Line^Handler Local Variables here
!===========================================================================
LITERAL DISP^STOP = %000001, ! EVENT MASKS--THESE LITERALS MAY BE
DISP^ITC = %000020, ! SOURCED IN FROM DCCBDECS
DISP^IOC = %000040,
WT^OP = 1, ! IOCB.OPTYPE VALUES
WT^RD^OP = 3;
LITERAL LIST^SZ = 15; ! MAX NUMBER OF D^H IOCBS
! WE CAN SAVE
INT (32) .WT^RD^IOCB^LIST[0:LIST^SZ-1]; !ARRAY FOR SAVING IOCBS
! FOR OUTSTANDING WRITEREADS FROM D^H TASKS
INT .EXT DH^IOCB(IOCB^TEMPLATE),
.EXT LINE^IOCB(IOCB^TEMPLATE),
.EXT WT^IOCB(IOCB^TEMPLATE); ! IOCB FOR THE ONE
! OUTSTANDING D^H WRITE
INT OLDEST, NEWEST; ! INDICES FOR WT^RD^IOCB^LIST
INT .EXT MSG^BUF;
INT EVT;
?PAGE
!===========================================================================
! Comment - User can add desired Line^Handler Subprocs here
! SUBPROC ?;
! BEGIN
! END;
!===========================================================================
SUBPROC INCR^INDEX(I);
INT .I;
BEGIN
IF (I < (LIST^SZ-1)) THEN
I := I + 1
ELSE