cdc:nos2.source:nam5871:ns_dar
Table of Contents
NS$DAR
Table Of Contents
- [00010] PROC NS$DAR(ERRCODE)
- [00012] NS$DAR - PROCESS ABNORMAL RESPONSE FROM NPU.
- [00016] PROCESS ABNORMAL RESPONSE FROM NPU.
- [00050] PROC NS$DBG
- [00056] PROC NS$FBH
- [00057] FUNC NS$FEC U
- [00058] PROC NS$MSG
- [00059] FUNC NS$CHD C(4)
- [00060] PROC NETPUT
Source Code
- NS$DAR.txt
- *DECK NS$DAR
- USETEXT DEF$NS
- USETEXT ERR$NS
- USETEXT NAT$NS
- USETEXT NPT$NS
- USETEXT PFC$NS
- USETEXT PIC$NS
- USETEXT SMB$NS
- USETEXT SMD$NS
- PROC NS$DAR(ERRCODE); # PROCESS ABNORMAL RESPONSE FROM NPU #
- # TITLE NS$DAR - PROCESS ABNORMAL RESPONSE FROM NPU. #
- BEGIN # NS$DAR #
- #
- ** NS$DAR - PROCESS ABNORMAL RESPONSE FROM NPU.
- *
- * J.C. LEE 1981
- *
- * THIS ROUTINE PROCESS ABNORMAL RESPONSE FROM NPU.
- *
- * PROC NS$DAR(ERRCODE)
- *
- * ENTRY:
- * NONE.
- *
- * EXIT:
- * ERRCODE - SET IF ERROR IS FOUND.
- *
- * METHOD:
- * IF RETRY-COUNT = 0, MESSAGE TO DAYFILE AND ABORT.
- * IF RETRY-COUNT NOT REACH LIMIT, DETERMINE TYPE OF
- * ABNORMAL RESPONSE.
- * IF ABNORMAL DUMP RESPONSE, SET DUMP REQUEST TEXT
- * LENGTH, AND RESTART REQUEST.
- * IF ABNORMAL LOAD RESPONSE, SET ERRCODE, AND ABORT
- * NPU LOAD.
- * IF ABNORMAL START RESPONSE, SET START REQUEST TEXT
- * LENGTH, AND RESTART REQUEST.
- * IF RETRY-COUNT REACH LIMIT. SET ERRCODE AND ABORT
- * CURRENT ACTIVITY.
- *
- #
- ITEM ERRCODE U; # ERROR CODE #
- $BEGIN
- XREF
- BEGIN
- PROC NS$DBG; # TRACE PROCEDURE CALL #
- END
- $END
- XREF
- BEGIN
- PROC NS$FBH; # FORMAT APPLICATION BLOCK HEADER #
- FUNC NS$FEC U; # FORMAT ERROR CODE #
- PROC NS$MSG; # DISPATCH MESSAGE #
- FUNC NS$CHD C(4); # CONVERT HEX TO DISPLAY CODE #
- PROC NETPUT; # SEND MESSAGE TO NETWORK #
- END
- DEF MAX$RETRYS # 3 #; # MAXIMUM RETRY COUNT ALLOWED #
- ITEM COMCODE U; # COMMAND CODE #
- ITEM CCMNEMONIC C(3) = "DLS"; # VALID NPU/DT/A COMMAND CODE #
- ITEM TEMP U; # TEMPORARY #
- DEF DM$MAR # DM$LOCAL+DM$NAMLOG+DM$EVENT #; # ROUTE OPTIONS #
- DEF L$MAR # 4 #;
- ARRAY MSG$MAR [0:0] S(L$MAR);
- BEGIN # EVENT MESSAGE FOR ABNORMAL RESPONSE #
- ITEM MAR$TEXT C(0,0,38) = # EVENT MESSAGE TEXT #
- ["NPUNAME, RECEIVED NPU/DT/A(C) RC = XX."];
- ITEM MAR$NPNAM C(00,00,07); # NPU NAME #
- ITEM MAR$PFCSFC C(01,48,06); # PFC/SFC OF SM #
- ITEM MAR$CC U(02,42,06); # COMMAND CODE #
- ITEM MAR$RC U(03,30,12); # REASON CODE IN HEXADECIMALS #
- ITEM MAR$END U(03,48,12) = [0]; # LINE TERMINATOR #
- END
- SWITCH ANPUDTCASE:DIRCODE # NPU/DT/A CASES #
- AR$DUMP:DUMP,
- AR$LOAD:LOAD,
- AR$START:START;
- CONTROL EJECT;
- $BEGIN
- NS$DBG("DAR"); # TRACE CALL #
- $END
- ERRCODE = 0;
- COMCODE = NPUCC[0]; # COMMAND CODE #
- IF NAT$RETRYS[0] EQ 0
- THEN # NO RETRY HAS YET BEEN ATTEMPTED #
- BEGIN # DAYFILE ABNORMAL RESPONSE #
- MAR$NPNAM[0] = NPNAM; # SET NPU NAME #
- TEMP = C<COMCODE,1>CCMNEMONIC; # COMMAND CODE MNEMONIC #
- MAR$CC[0] = TEMP;
- TEMP = NS$CHD(NPURC[0]); # GET REASON CODE IN DISPLAY HEX #
- MAR$RC[0] = TEMP;
- NS$MSG(MSG$MAR,L$MAR,DM$MAR); # DISPATCH MESSAGE #
- END
- NAT$RETRYS[0] = NAT$RETRYS[0] + 1; # INCREMENT RETRY COUNT #
- IF NAT$RETRYS[0] LQ MAX$RETRYS
- THEN # MAXIMUM RETRY COUNT NOT REACHED #
- BEGIN # PROCESS ABNORMAL RESPONSE #
- GOTO ANPUDTCASE[COMCODE]; # CASE ON NPU/DT/A #
- AR$DUMP: # ABNORMAL DUMP RESPONSE #
- TEMP = LNPUDTDR; # DUMP REQUEST TEXT LENGTH #
- RESENDR: # RESEND REQUEST TO NPU #
- NS$FBH(TEMP,FALSE); # FORMAT APPLICATION BLOCK HEADER #
- EB[0] = FALSE; # RESET ERROR RESPONSE BIT #
- NPURC[0] = 0; # RESET REASON CODE TO ZERO #
- NETPUT(ABH$WORD,SMB$BUFFER); # RESEND REQUEST #
- GOTO DAREXIT;
- AR$LOAD: # ABNORMAL LOAD RESPONSE #
- ERRCODE = NS$FEC(EC"ERR$ABRESP",0); # ABORT NPU LOAD #
- GOTO DAREXIT;
- AR$START: # ABNORMAL START RESPONSE #
- TEMP = LNPUDTSR; # START REQUEST TEXT LENGTH #
- GOTO RESENDR; # RESEND START REQUEST TO NPU #
- END
- ELSE # RETRY COUNT EXCEEDED, ABORT CURRENT ACTIVITY #
- BEGIN
- NAT$RETRYS[0] = 0; # RESET RETRY COUNT #
- ERRCODE = NS$FEC(EC"ERR$RETRYS",0);
- END
- DAREXIT:
- RETURN;
- END # NS$DAR #
- TERM
cdc/nos2.source/nam5871/ns_dar.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator