cdc:nos2.source:nam5871:ngigo
Table of Contents
NGIGO
Table Of Contents
- [00009] PRGM NGIGO
- [00107] PROC ABORT
- [00108] PROC KHOPMSG
- [00109] PROC OMSG
- [00110] PROC OVLCALL
- [00111] PROC XTRACE
Source Code
- NGIGO.txt
- *DECK NGIGO
- USETEXT NIPDEF
- USETEXT NBT
- USETEXT OVERLAY
- USETEXT PARAMP
- USETEXT PARAMS
- USETEXT PT
- USETEXT PWL
- PRGM NGIGO; # DAYFILE NETWORK RELATED MESSAGES #
- STARTIMS;
- #
- *1DC NGIGO
- *
- * 1. PROC NAME AUTHOR DATE
- * NGIGO E. GEE 86/09/23
- *
- * 2. FUNCTIONAL DESCRIPTION.
- * DAYFILE NETWORK RELATED MESSAGES.
- *
- * 3. METHOD USED.
- * IF DISCARDING INTRAHOST MSG,
- * CALL OMSG TO ISSUE DAYFILE MESSAGE.
- * CALL OVERLAY ODAYFL TO DAYFILE CONTENTS OF WORKLIST.
- * ELSE (PROCESSING NETWORK MSG),
- * IF PIP RELATED DAYFILE MESSAGE CODE,
- * ADD PIP ORDINAL TO DAYFILE MESSAGE.
- * CALL OMSG TO ISSUE DAYFILE MESSAGE.
- * IF PIP MESSAGE FOR DAYFILE,
- * CALL OMSG TO ISSUE PIP DAYFILE MESSAGE.
- * ELSE (EST RELATED DAYFILE MESSAGE CODE),
- * ADD EST ORDINAL TO DAYFILE MESSAGE.
- * CALL OMSG TO ISSUE DAYFILE MESSAGE.
- * IF ASSOCIATED WORKLIST IS TO BE DAYFILED,
- * CALL OVERLAY ODAYFL TO DAYFILE CONTENTS OF WORKLIST.
- * IF NIP IS TO BE ABORTED,
- * CALL ABORT TO ABORT NIP.
- * ELSE (NIP DOES NOT NEED TO BE ABORTED),
- * IF HOST CONSOLE OPERATOR NEEDS TO BE ALERTED,
- * CALL KHOPMSG TO SEND MSG TO NIP K-DISPLAY.
- *
- * 4. ENTRY PARAMETERS.
- * NBTIDX NBT INDEX OF NBT CURRENTLY BEING PROCESSED
- * = NBTMAXID + 1 IF PROCESSING INTRAHST QUEUE
- * PARAMP1 WORKLIST ASSOCIATED WITH DAYFILE MSG CODE
- * PARAMP4 DAYFILE MESSAGE CODE
- *
- * 5. EXIT PARAMETERS.
- * NONE
- *
- * 6. COMDECKS CALLED AND SYMPL TEXTS USED.
- * NBT NETWORK BUFFER TABLE
- * NIPDEF CONSTANT DEFINITIONS
- * OVERLAY TABLE FOR CALLING OVERLAYS
- * PARAMP BUFFER FOR PASSING PARAMS TO PRIMARY OVLS
- * PARAMS BUFFER FOR PASSING PARAMS TO SECONDARY OVLS
- * PT MISCELLANEOUS GLOBAL VARIABLES
- * PWL PRU WORKLIST TEMPLATE
- *
- * 7. ROUTINES AND OVERLAYS CALLED.
- * ABORT ISSUE DAYFILE MSG, IF ANY, AND THEN ABORT
- * KHOPMSG SEND MSG TO NAM K-DISPLAY
- * ODAYFL OVL DISPLAY TEXT IN DAYFILE
- * OMSG ISSUE DAYFILE MESSAGE
- * OVLCALL LOAD AND EXECUTE OVERLAY
- * XTRACE RECORD PROCEDURE CALLS
- *
- * 8. DAYFILE MESSAGES AND OTHER IMPORTANT INFORMATION.
- * *** PIP X ISSUED THE FOLLOWING MESSAGE. ***
- * *** PIP X SENT MSG WITH BAD BLOCK TYPE. ***
- * *** PIP X SENT PRU WORKLIST WITH BAD ADDR. ***
- * *** PIP X SENT PRU WORKLIST FOR NONPRU CON. ***
- * *** PIP X SENT WORKLIST WITH BAD OPCODE. ***
- * *** PIP X SENT PRU WORKLIST WITH BAD SM. ***
- * *** PIP X SENT PRU WORKLIST WITH BAD LENGTH. ***
- * *** PIP X SENT REL WORKLIST WITH BAD LEVEL. ***
- * *** PIP X SENT UNEXPECTED RELEASE WORKLIST. ***
- * *** PIP X SENT TERM WORKLIST WITH BAD RC. ***
- * *** PIP X REJECTED DOWNLINE MSG. ***
- * *** EST XXX - BAD NODE NUMBER IN UPLINE MSG. ***
- * *** EST XXX - UNSUPPORTED CHANNEL PROTOCOL. ***
- * *** EST XXX - BAD NETWORK BLOCK DISCARDED. ***
- * *** EST XXX - BAD NBSTTP TRIGGER FROM NETWK. ***
- * *** EST XXX - MDI ERROR STATUS MESSAGE. ***
- * *** UNEXPECTED INTRAHOST MSG DISCARDED. ***
- *
- * THIS PROGRAM IS A PRIMARY OVERLAY LOADED BY SUBROUTINE OVLCALL.
- * WHEN EXECUTION HAS COMPLETED, A JUMP IS MADE TO LOCATION RJMAIN
- * TO RETURN TO THE CALLING PROGRAM.
- *
- * W A R N I N G - THIS PROGRAM CANNOT EXCEED THE PRIMARY OVERLAY
- * BUFFER SIZE MINUS 5 (313B WORDS).
- *
- * THIS OVERLAY IS CALLED BY NBSTTP, NEIB1, AND NPPWL.
- *
- #
- STOPIMS;
- #
- INPUT PARAMETERS.
- #
- # NONE #
- #
- OUTPUT PARAMETERS. NONE
- EXTERNAL VARIABLES
- #
- XREF BEGIN
- PROC ABORT; # ABORT NIP #
- PROC KHOPMSG ; # SEND MSG TO K-DISPLAY BUFFER #
- PROC OMSG ; # ISSUE DAYFILE MESSAGE #
- PROC OVLCALL; # LOAD AND EXECUTE OVERLAY #
- PROC XTRACE; # TRACE CALLS #
- LABEL RJMAIN; # RETURN ADDRESS IN OVLCALL #
- END
- #
- INTERNAL VARIABLES
- #
- #
- ARRAY PDAYMSG CONTAINS ALL THE PIP RELATED DAYFILE MESSAGES. THE DMP
- FIELD IN THE ARRAY IS USED TO DETERMINE IF THE ASSOCIATED WORKLIST IS
- ALSO TO BE DUMPED. THE ABT FIELD IN THE ARRAY IS USED TO DETERMINE
- IF NIP SHOULD ABORT AS A RESULT OF THE DAYFILE MESSAGE. THE HOP FIELD
- IN THE ARRAY IS USED TO DETERMINE IF THE HOP (HOST CONSOLE OPERATOR)
- NEEDS TO BE ALERTED TO SEE THE DAYFILE MESSAGE.
- #
- ARRAY PDAYMSG [DMCMINPIP:DMCMAXPIP] S(5);
- BEGIN
- ITEM PDAYTXT C(0,0,40) = ["PIP X ISSUED THE FOLLOWING MESSAGE. ",
- "PIP X SENT MSG WITH BAD BLOCK TYPE. ",
- "PIP X SENT PRU WORKLIST WITH BAD ADDR. ",
- "PIP X SENT PRU WORKLIST FOR NONPRU CON. ",
- "PIP X SENT WORKLIST WITH BAD OPCODE. ",
- "PIP X SENT PRU WORKLIST WITH BAD SM. ",
- "PIP X SENT PRU WORKLIST WITH BAD LENGTH.",
- "PIP X SENT REL WORKLIST WITH BAD LEVEL. ",
- "PIP X SENT UNEXPECTED RELEASE WORKLIST. ",
- "PIP X SENT TERM WORKLIST WITH BAD RC. ",
- "PIP X REJECTED DOWNLINE MSG. "
- ];
- ITEM PSOURCE C(0,0,5);
- ITEM PDAYORD U(0,24,6);
- ITEM PDAYFIL U(4,0,12);
- ITEM PDAYDMP B(4,23,1) = [FALSE,
- TRUE,
- TRUE,
- TRUE,
- TRUE,
- TRUE,
- TRUE,
- TRUE,
- TRUE,
- TRUE,
- TRUE];
- ITEM PDAYABT B(4,35,1) = [FALSE,
- TRUE,
- TRUE,
- TRUE,
- TRUE,
- TRUE,
- TRUE,
- TRUE,
- TRUE,
- TRUE,
- FALSE];
- ITEM PDAYHOP B(4,47,1) = [FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE];
- END
- #
- ARRAY EDAYMSG CONTAINS ALL THE EST RELATED DAYFILE MESSAGES. THE DMP
- FIELD IN THE ARRAY IS USED TO DETERMINE IF THE ASSOCIATED WORKLIST IS
- ALSO TO BE DUMPED. THE ABT FIELD IN THE ARRAY IS USED TO DETERMINE
- IF NIP SHOULD ABORT AS A RESULT OF THE DAYFILE MESSAGE. THE HOP FIELD
- IN THE ARRAY IS USED TO DETERMINE IF THE HOP (HOST CONSOLE OPERATOR)
- NEEDS TO BE ALERTED TO SEE THE DAYFILE MESSAGE.
- #
- ARRAY EDAYMSG [DMCMINEST:DMCMAXEST] S(5);
- BEGIN
- ITEM EDAYTXT C(0,0,40) = ["EST XXX - BAD NODE NUMBER IN UPLINE MSG.",
- "EST XXX - UNSUPPORTED CHANNEL PROTOCOL. ",
- "EST XXX - BAD NETWORK BLOCK DISCARDED. ",
- "EST XXX - BAD NBSTTP TRIGGER FROM NETWK.",
- "EST XXX - MDI ERROR STATUS MESSAGE. ",
- "EST XXX - PRU BLOCK PROTOCOL ERROR. "
- ];
- ITEM ESOURCE C(0,0,7);
- ITEM EDAYORD U(0,24,18);
- ITEM EDAYFIL U(4,0,12) ;
- ITEM EDAYDMP B(4,23,1) = [TRUE,
- TRUE,
- TRUE,
- TRUE,
- TRUE,
- TRUE];
- ITEM EDAYABT B(4,35,1) = [FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE];
- ITEM EDAYHOP B(4,47,1) = [TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE];
- END
- ARRAY INTRAMSG S(4);
- BEGIN
- ITEM INTRATXT C(0,00,35) = ["UNEXPECTED INTRAHOST MSG DISCARDED."];
- ITEM INTRAFIL U(3,30,30) = [0];
- END
- CONTROL IFEQ DEBUG,1 ;
- # DAYFILE MESSAGE TO ISSUE IF #
- ARRAY ABTMSG S(4); # DAYFILE MESSAGE CODE IS BAD #
- BEGIN
- ITEM ABTTXT C(0,0,32) = ["BAD DMC PASSED TO OVERLAY NGIGO."];
- ITEM ABTFIL U(3,12,48) = [0];
- END
- CONTROL FI;
- ITEM ABTNIP B; # ABORT NIP FLAG #
- ITEM ALTHOP B; # ALERT CONSOLE OPERATOR FLAG #
- ITEM DMC; # DAYFILE MESSAGE CODE #
- ITEM DMPWL B; # DUMP WORKLIST TO DAYFILE FLAG #
- #**********************************************************************#
- BEGIN
- CONTROL IFEQ DEBUG,1 ;
- XTRACE("NGIGO") ;
- #
- CHECK FOR VALID DAYFILE MESSAGE CODE
- #
- IF (PARAMP4 LS DMCMINPIP ) OR
- ( (PARAMP4 GR DMCMAXPIP) AND
- (PARAMP4 LS DMCMINEST) ) OR
- (PARAMP4 GR DMCMAXEST )
- THEN # BAD DAYFILE MESSAGE CODE #
- BEGIN
- ABORT(ABTMSG,0); # ABORT NIP #
- END
- CONTROL FI ;
- P<PWLHDR> = PARAMP1; # PRU WORKLIST POINTER #
- IF NBTIDX EQ NBTMAXID + 1
- THEN # WAS PROCESSING INTRAHOST MSG #
- BEGIN
- #
- DISCARDING INTRAHOST MSG
- #
- OMSG(INTRAMSG,0); # ISSUE DAYFILE MESSAGE #
- PARAMS1 = P<PWLHDR>; # ADDR OF WORKLIST TO DUMP #
- PARAMS2 = PWLBS[0]; # SIZE OF WORKLIST TO DUMP #
- OVLNAME = ODAYFLP; # NAME OF OVERLAY TO LOAD #
- OVLCALL; # LOAD AND EXECUTE OVERLAY #
- END
- ELSE # WAS PROCESSING NETWORK MSG #
- BEGIN
- DMC = PARAMP4; # DAYFILE MESSAGE CODE #
- IF DMC LQ DMCMAXPIP
- THEN # DAYFILE MSG IS PIP RELATED #
- BEGIN
- #
- DISCARDING PIP RELATED MSG
- #
- ALTHOP = PDAYHOP[DMC]; # ALERT CONSOLE OPERATOR FLAG #
- ABTNIP = PDAYABT[DMC]; # ABORT NIP FLAG #
- DMPWL = PDAYDMP[DMC]; # DUMP CONTENTS OF WORKLIST FLAG#
- PDAYORD[DMC] = NBTPIP[NBTIDX]+27; # ADD PIP ORD TO DAY MSG #
- PDAYFIL[DMC] = 0; # ADD ZERO BYTE TERMINATOR #
- OMSG(PDAYMSG[DMC],0); # ISSUE DAYFILE MESSAGE #
- IF DMC EQ DMCPDM
- THEN # PIP SENT MSG FOR DAYFILE #
- BEGIN
- OMSG(P<PWLHDR>+BLKHSIZE+PWLHSIZE,0); # ISSUE PIP DAY MSG #
- END
- END
- ELSE # MUST BE EST RELATED DAY MSG #
- BEGIN
- #
- DISCARDING EST RELATED MSG
- #
- ALTHOP = EDAYHOP[DMC]; # ALERT CONSOLE OPERATOR FLAG #
- ABTNIP = EDAYABT[DMC]; # ABORT NIP FLAG #
- DMPWL = EDAYDMP[DMC]; # DUMP CONTENTS OF WORKLIST FLAG#
- # ADD EST ORDINAL TO DAYFILE MSG#
- EDAYORD[DMC] = (NBTEST1[NBTIDX]+27)*64*64 +
- (NBTEST2[NBTIDX]+27)*64 +
- NBTEST3[NBTIDX]+27; # CONVERT TO DISPLAY CODE#
- EDAYFIL[DMC] = 0; # ADD ZERO BYTE TERMINATOR #
- OMSG(EDAYMSG[DMC],0); # ISSUE DAYFILE MESSAGE #
- END
- #
- DAYFILE CONTENTS OF WORKLIST IF NECESSARY
- #
- IF DMPWL
- THEN # NEED TO DAYFILE CONTENTS OF WL#
- BEGIN
- PARAMS1 = P<PWLHDR>; # ADDR OF WORKLIST TO DUMP #
- PARAMS2 = PWLBS[0]; # SIZE OF WORKLIST TO DUMP #
- OVLNAME = ODAYFLP; # NAME OF OVERLAY TO LOAD #
- OVLCALL; # LOAD AND EXECUTE OVERLAY #
- END
- #
- ABORT NIP IF NECESSARY
- #
- IF ABTNIP
- THEN # NEED TO ABORT NIP #
- BEGIN
- ABORT(0,0); # ABORT NIP #
- END
- ELSE # DO NOT NEED TO ABORT NIP #
- BEGIN
- #
- ALERT HOP IF NECESSARY
- #
- IF ALTHOP
- THEN # CONSOLE OPERATOR NEEDS TO BE #
- BEGIN # INFORMED ABOUT ERROR CONDITION#
- IF DMC LQ DMCMAXPIP
- THEN # PIP RELATED DAYFILE MSG #
- BEGIN
- KHOPMSG(LOC(PDAYMSG[DMC]));# SEND DAY MSG TO NAM K-DISPLY#
- END
- ELSE # EST RELATED DAYFILE MSG #
- BEGIN
- KHOPMSG(LOC(EDAYMSG[DMC]));# SEND DAY MSG TO NAM K-DISPLY#
- END
- END
- END
- END
- GOTO RJMAIN; # RETURN TO CALLING PROGRAM #
- END
- TERM
cdc/nos2.source/nam5871/ngigo.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator