cdc:nos2.source:nam5871:npnipsm
Table of Contents
NPNIPSM
Table Of Contents
- [00013] PROC NPNIPSM(BUFADDR,ERROR)
- [00065] PROC LOCLLCB
- [00066] PROC NCSTTP
- [00067] PROC OMSG
- [00068] PROC OVLCALL
- [00069] PROC XTRACE
Source Code
- NPNIPSM.txt
- *DECK NPNIPSM
- USETEXT NIPDEF
- USETEXT DRHDR
- USETEXT MSGIDX
- USETEXT OVERLAY
- USETEXT PARAMP
- USETEXT PARAMS
- USETEXT SUPMSG
- USETEXT PT
- USETEXT LLCB
- USETEXT NHEADER
- USETEXT NBT
- PROC NPNIPSM(BUFADDR,ERROR);
- STARTIMS;
- #
- *1DC NPNIPSM
- *
- * 1. PROC NAME AUTHOR DATE
- * NPNIPSM C. BITTNER 82/06/18
- *
- * 2. FUNCTIONAL DESCRIPTION
- * PROCESS MESSAGES FOR NIP FROM PIP INBOUND BUFFER
- * AND A-A MESSAGE QUEUE.
- *
- * 3. METHOD USED
- * MATCH PFCSFC AND JUMP TO CORRESPONDING ACTION
- * ORDINAL.
- *
- * 4. ENTRY PARAMETERS
- * BUFADDR - ADDRESS OF MESSAGE BLOCK
- *
- * 5. EXIT PARAMETERS
- * ERROR - FLAG SET TO TRUE IF GARBAGE MESSAGE
- *
- * 6. SYMPL TEXTS USED
- * NIPDEF DRHDR
- * PARAMP PARAMS
- * OVERLAY SUPMSG
- * LLCB NHEADER
- *
- * 7. ROUTINES CALLED
- * LOCLLCB - LOCATE LLCB
- * NCSTTP - NETWORK CONNECTION STATE TABLE
- * OVLCALL - LOAD AND EXECUTE OVERLAY
- * XTRACE - TRACE PROCEDURE CALL
- *
- *
- * 8. DAYFILE MESSAGES AND OTHER IMPORTANT INFORMATION
- * THIS PROCEDURE IS CALLED BY NEIB1.
- *
- #
- STOPIMS;
- #
- INPUT PARAMETERS
- #
- ITEM BUFADDR; # ADDRESS OF MESSAGE BLOCK #
- ITEM ERROR B; # GARBAGE MESSAGE FLAG RETURNED #
- #
- EXTERNAL VARIABLES
- #
- XREF
- BEGIN
- PROC LOCLLCB; # LOCATE LLCB #
- PROC NCSTTP; # NETWORK CONNECTION STATE TABLE #
- PROC OMSG; # ISSUE DAYFILE MESSAGE #
- PROC OVLCALL; # LOAD AND EXECUTE OVERLAY #
- PROC XTRACE; # TRACE PROCEDURE CALL #
- END
- #
- INTERNAL VARIABLES
- #
- DEF ENDTAB #19#; # SIZE OF PFC/SFC TABLE #
- ITEM NCSTRIG; # NCSTTP TRIGGER #
- ITEM I; # INDEX INTO PFC/SFC JUMP TABLE #
- ITEM NCN; # CONNECTION NUMBER #
- ITEM BADNBLK B; # FLAG FOR BAD NETWORK BLOCK #
- ITEM FOUND B; # FLAG FOR LOCATING THE NBT ENTRY #
- ITEM INDIX; # LOOP INDEX #
- ARRAY PFCSFCTAB [0:ENDTAB];
- BEGIN
- ITEM NIPSMFC U(00,00,16) =
- [ICNTE,TCNTAN,TCNTA,ICNAP,ICNEX,ICNAPN,
- REGLL,REGCP,REGST,ESTOFF,CHCTE,NPIDD,NPIPP,
- TOTBTS,HOPSEND,REGHH,ICNAPA,HECP,INIDMDI,
- 0];
- ITEM OVL$TRIG U(0,16,12) =
- [RICNTER,RTCNTAN,RTCNTAR,RICNAPR,RICNAPR,RICNAPN,
- ,,,,RCHCTEU,,,
- ,,,RICNAPA,,,
- 0];
- END
- SWITCH SMCASEJT C1,C1,C1,C1,C1,C1,
- C01,C02,C03,C06,C1,C09,C09,
- C07,C08,C04,C1,C05,C10,
- C3;
- BEGIN
- CONTROL IFEQ DEBUG,1;
- XTRACE("NIPSM");
- CONTROL FI;
- ERROR = FALSE;
- P<DRHDRWD> = BUFADDR;
- P<SUPMSG> = P<DRHDRWD> + BLKHSIZE + NBHSIZE;
- NIPSMFC[ENDTAB] = PFCSFC[0]; # GUARANTEE A MATCH #
- FOR I=0 WHILE NIPSMFC[I] NQ PFCSFC[0]
- DO # FIND MATCHING PFCSFC #
- BEGIN
- I = I + 1;
- END
- GOTO SMCASEJT[I]; # JUMP ON ACTION ORDINAL #
- C01:
- OVLNAME = NPREGLLP; # OVERLAY NAME #
- PARAMS5 = FALSE; # FLAG FOR ERROR #
- PARAMP1 = P<DRHDRWD>;
- OVLCALL; # LOAD AND EXECUTE OVERLAY #
- IF PARAMS5 # IF ERROR OCCURS #
- THEN
- GOTO C3; # DISCARD REGLL #
- ELSE
- GOTO EXIT; # NORMAL EXIT #
- C02:
- OVLNAME = NPREGCPP; # OVERLAY NAME #
- GOTO C0;
- C03:
- OVLNAME = NPREGSTP;
- GOTO C0;
- C04:
- OVLNAME = NPREGHHP;
- GOTO C0;
- C05:
- OVLNAME = NPHECPP;
- GOTO C0;
- C06:
- OVLNAME = NPESTOFP;
- PARAMP2 = 0;
- GOTO C0;
- C07:
- OVLNAME = NTOTBTSP;
- GOTO C0;
- C08:
- OVLNAME = NPHOPMSP;
- GOTO C0;
- C09:
- OVLNAME = NPNPIDDP ;
- GOTO C0;
- C10:
- OVLNAME = NPININDP;
- GOTO C0;
- C0:
- #
- CALL PRIMARY OVERLAY TO PROCESS SM
- #
- PARAMP1 = P<DRHDRWD>;
- OVLCALL; # LOAD AND EXECUTE OVERLAY #
- GOTO EXIT;
- C1:
- #
- CALL NCSTTP
- #
- P<NHEADER> = P<DRHDRWD> + BLKHSIZE;
- LOCLLCB(DN[0],SN[0],P<LLCB>); # LOCATE LLCB #
- IF P<LLCB> NQ 0
- THEN
- BEGIN
- P<SMNIP> = P<SUPMSG>; # BASE SM #
- NCN = ICNCN[0]; # CN FOR ICN/TCN/CHC #
- IF PFCSFC[0] EQ TCNTA
- THEN
- BEGIN
- RCBRK = TCNRC[0]; # SAVE REASON CODE #
- END
- IF PFCSFC[0] EQ ICNTE # ICNTE MESSAGE #
- THEN
- BEGIN
- FOUND = FALSE;
- FOR INDIX = 0 STEP NBTFETNO WHILE NOT FOUND AND INDIX LQ
- NBTMAXID
- DO
- BEGIN
- IF NBTIUF[INDIX] AND NBTHN[INDIX] EQ DN[0]
- THEN
- BEGIN
- FOUND = TRUE;
- IF NBTET[INDIX] EQ "ND" # IF MDI #
- THEN
- BEGIN
- ICNNET[0] = TRUE; # SET CDCNET FLAG #
- END
- END
- END
- END
- NCSTRIG = OVL$TRIG[I]; # SET NCSTTP TRIGGER #
- NCSTTP(P<LLCB>,NCN,NCSTRIG,P<DRHDRWD>);
- GOTO EXIT;
- END
- ELSE
- GOTO C3; # PROCESS GARBAGE MESSAGE #
- C3:
- #
- PROCESS GARBAGE MESSAGE
- #
- ERROR = TRUE;
- EXIT:
- RETURN;
- END
- TERM
cdc/nos2.source/nam5871/npnipsm.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator