GDSX Manual
USKELEX and USKELEXC Listings
Extended General Device Support (GDSX) Manual–134303
B-5
USKELEX Listing
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
I := 0;
END;
SUBPROC STOP^LINE;
BEGIN
CALL PUTEXTPOOL(10,@MSG^BUF);
CALL STOP^TASK; ! TSCODE (EXTERNAL) PROC
END;
?PAGE
SUBPROC WT^TO^LINE;
BEGIN
INT .EXT BUF^PTR;