GDSX Manual
USKELEX and USKELEXC Listings
Extended General Device Support (GDSX) Manual–134303
B-17
USKELEXC Listing
! (CCG = 6) SYSTEM MSG RECEIVED !
!-------------------------------!
BEGIN
IF RCV^BUF[0] = -32 THEN
RQST^TYPE := CTRL
ELSE
IF RCV^BUF[0] = -33 THEN
RQST^TYPE := SET^MD
ELSE
!-------------------------------!
! WE RECEIVED A SYSTEM MSG THAT !
! WE ARE NOT YET SUPPORTING !
!-------------------------------!
CALL PROCESS_DEBUG_;
END
ELSE
!-------------!
! (CCL) ERROR !
!-------------!
CALL PROCESS_DEBUG_;
IF ^CHECKPOINT(2) THEN
BEGIN
TAKE^OVER := TRUE;
CALL ^RECLAIMBUFFER(@E^RCV^BUF, 10);
IF <> THEN CALL PROCESS_DEBUG_;
@RCV^BUF := @E^RCV^BUF;
END;
@TERM^BUF := GETEXTPOOL(10,BUF^SIZE);
IF @TERM^BUF = 0D THEN CALL PROCESS_DEBUG_;
CASE RQST^TYPE OF
BEGIN
WT^RD -> ! WRITEREAD
BEGIN
IF (NOT TAKE^OVER) THEN
BEGIN
CALL SCAN^BUF;
@MY^DCB := DCBTBL[INTERNAL^TERM^NO];
MY^DCB.WT^RD^PEND := TRUE; ! SET FLAG
! FOR USER^STOP PROCEDURE
CALL ^WRITEREADX(TERM^FILE^NUM,TERM^BUF,
RQSTR^WT^CT,RQSTR^RD^CT);
IF <> THEN CALL PROCESS_DEBUG_;
CALL ^AWAITIOX(TERM^FILE^NUM,@TERM^BUF,TERM^CT^RD);
!-----------------------------------------------!
! For File-system error info, USCODE whether !
! running d^plus^enabled or not, can call either!
! procedure (^FILE_GETINFO_ or ^FILEINFO) !
!-----------------------------------------------!
IF d^plus^enabled THEN
!dxcd
CALL ^FILE_GETINFO_(TERM^FILE^NUM, FERR)
!dxcd
ELSE
!dxcd
CALL ^FILEINFO(TERM^FILE^NUM,FERR);
IF (FERR = 0) THEN
!-------------------!
! NORMAL COMPLETION !
!-------------------!
CALL ^REPLYX(TERM^BUF,TERM^CT^RD)
ELSE
!-------------------------------!