cdc:nos2.source:nam5871:nlobch
Table of Contents
NLOBCH
Table Of Contents
- [00013] PROC NLOBCH(BUFAD,ERRORF)
- [00065] PROC MRELS
- [00066] PROC NXBLINK
- [00068] PROC XTRACE
Source Code
- NLOBCH.txt
- *DECK NLOBCH
- USETEXT AHEADER
- USETEXT BPIPBUF
- USETEXT DBGBUF
- USETEXT DRHDR
- USETEXT NBT
- USETEXT NHEADER
- USETEXT NIPDEF
- USETEXT OVERLAY
- USETEXT PARAMP
- USETEXT SUPMSG
- USETEXT SYSTIME
- PROC NLOBCH(BUFAD,ERRORF);
- # LINK MESSAGE TO PIP OUTBOUND CHAIN #
- STARTIMS;
- #
- *1DC NLOBCH
- *
- * 1. PROC NAME AUTHOR DATE
- * NLOBCH E.T.WAN 81/06/08
- * L.T.NGUYEN 81/09/30
- *
- * 2. FUNCTIONAL DESCRIPTION
- * LINK SM REG/CP AND MESSAGES FROM NS,CS TO PIP OUTBOUND BUFFER.
- *
- * 3. METHOD USED
- * CHECK THAT THERE IS A CORRECT NBT ENTRY FOR THE SPECIFIC
- * COUPLER.
- * CHECK NPU OFF FLAG, ACTIVE FLAG, DOWN FLAG, BOOTSTRAP FLAG, AND
- * LLK FLAG TO ALLOW SUITABLE MESSAGES TO BE LINKED.
- * CONVERT APPLICATION HEADER TO NETWORK HEADER.
- * LINK MESSAGE TO PIP OUTBOUND CHAIN.
- *
- * 4. ENTRY PARAMETERS
- * BUFAD MESSAGE BUFFER ADDRESS
- *
- * 5. EXIT PARAMETERS
- * ERRORF
- *
- * 6. COMDECKS CALLED
- * AHEADER
- * DRHDR
- * NBT
- * NHEADER
- * NIPDEF
- * SUPMSG
- *
- * 7. ROUTINES AND OVERLAYS CALLED
- * NXBLINK LINK MESSAGE ON PIP OUTBOUND CHAIN
- * XTRACE TRACE CALLS
- *
- * 8. DAYFILE MESSAGES AND OTHER IMPORTANT INFORMATION
- * THIS PROCEDURE IS CALLED BY HPPUT AND NCREGCP.
- *
- #
- STOPIMS;
- #
- **** EXTERNAL ENTRY POINTS
- #
- XREF
- BEGIN
- PROC MRELS; # RELEASE BUFFER SPACE #
- PROC NXBLINK ; # LOG MESSAGE INTO PIP OUT #
- PROC XTRACE; # RECORD TRACES #
- END
- # LOCAL VARIABLES #
- ITEM BUFAD; # BUFFER ADDRESS #
- ITEM ERRORF ; # ERROR FLAG #
- ITEM CNODE; # COUPLER NODE #
- ITEM I; # LOOP CONTROL VARIABLE #
- ITEM IND; # INDEX #
- ITEM INDX; # INDEX #
- ITEM TEMP; # SAVE APPLICATION BLOCK HEADER #
- ITEM FOUND B ; # MATCHED NPU FLAG #
- ITEM TEMPDN ; # TEMPORARY DEST. NODE #
- #*********************************************************************#
- BEGIN # NLOBCH #
- CONTROL IFEQ DEBUG,1;
- XTRACE("LOBCH") ;
- CONTROL FI;
- P<DRHDRWD> = 0; # DATA BLOCK HEADER ADDRESS #
- P<SUPMSG> = BUFAD + DBHSIZE + ABHSIZE; # SM ADDRESS #
- P<AHEADER> = BUFAD + DBHSIZE; # APPLICATION HEADER ADDR #
- CNODE = ABHSN[0]; # COUPLER NODE #
- P<SMNIP> = P<SUPMSG>;
- TEMPDN = ABHDN[0] ; # DESTINATION NODE #
- FOUND = FALSE;
- ERRORF = 0; # INITIALIZE ERROR FLAG #
- FOR I = 0 STEP NBTFETNO WHILE I LQ NBTMAXID
- AND NOT FOUND
- DO
- BEGIN # SEARCH FOR NBTE WITH HN = COUPLE #
- IF NBTHN[I] EQ CNODE
- AND NBTIUF[I]
- THEN
- BEGIN # FOUND THE ENTRY #
- FOUND = TRUE ;
- IND = I; # SAVE INDEX #
- END
- END # SEARCH FOR NBTE WITH HN = COUPLR #
- I = IND;
- INDX = I+4; # INDEX INTO PIP FLAGS IN NBT 5TH FET #
- IF FOUND # ACTIVE NBT EXISTS FOR THIS HN #
- AND NOT NBTOF[INDX] # NPU NOT OFF IN EST #
- AND ((NBTAF[INDX] # NPU ACTIVE #
- AND NOT NBTMF[INDX]) # AND SAMP IS NOT RUNNING #
- OR (PFC EQ NPU # NS DUMP-LOAD SM #
- AND CNODE EQ TEMPDN # FOR LOCAL NPU-S WHICH IS #
- AND (NOT NBTAF[INDX] # NOT ACTIVE AND SAMP NOT LOADED #
- OR NBTDF[INDX])) # OR IS IN NPU DUMP-LOAD PHASE #
- OR (NBTLF[INDX] # PIP WAITING FOR REG/CP RESPONSE #
- AND PFCSFC[0] EQ REGCP # REG/CP RESPONSE TO PIP ALLOWED #
- AND REGR[0])) # RESPONSE BIT IS ON #
- THEN
- BEGIN
- # CONVERT ABH TO NETWORK HEADER #
- TEMP = ABHWORD[0]; # SAVE APPLICATION HEADER #
- ABHWORD[0] = 0; # CLEAR APPLICATION HEADER #
- P<NHEADER> = BUFAD + DBHSIZE; # NETW HEADER ADDR #
- P<AHEADER> = LOC(TEMP); # APPLICATION HEADER #
- DN[0] = TEMPDN; # DESTINATION NODE #
- SN[0] = CNODE; # SOURCE NODE #
- CN[0] = 0;
- BT[0] = NETCMD; # BLOCK TYPE #
- NHACT[0] = ABHACT[0]; # CHARACTER TYPE #
- CC[0] = ABHTLC[0]; # TEXT LENGTH #
- IND = NBTINDX[I]*NBTFETNO + OSTFET;
- NXBLINK(BUFAD,IND) ;
- END
- ELSE
- BEGIN # DISCARD MESSAGE #
- CONTROL IFEQ DEBUG,1;
- ERRORF = 1;
- CONTROL FI;
- END
- RETURN;
- END
- TERM
cdc/nos2.source/nam5871/nlobch.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator