cdc:nos2.source:nam5871:nvfddnt
Table of Contents
NVFDDNT
Table Of Contents
- [00005] PROC NVFDDNT
- [00006] NVFDDNT - DISPATCHES NETWORK TRAFFIC TO THE APPROPRIATE QUEUE.
- [00010] DISPATCHES NETWORK TRAFFIC TO THE APPROPRIATE QUEUE.
- [00045] PROC CSNVDSP(WCARY,ABHARY,TXTARA)
- [00046] CSNVDSP - DISPATCHES SM/DATA-BLOCK TO THE APPROPRIATE QUEUE.
- [00050] CSNVDSP - DISPATCHES SM/DATA-BLOCK TO THE APPROPRIATE QUEUE.
- [00087] WCARY - WORD COUNT ARRAY
- [00098] ABHARY - APPLICATION BLOCK HEADER ARRAY
- [00110] TXTARA - TEXT AREA
- [00128] PROC ABORT
- [00129] PROC MESSAGE
- [00130] PROC SSTAQE
Source Code
- NVFDDNT.txt
- *DECK NVFDDNT
- USETEXT TEXTNVF
- USETEXT TXTAPSS
- USETEXT TXTSUSS
- PROC NVFDDNT;
- # TITLE NVFDDNT - DISPATCHES NETWORK TRAFFIC TO THE APPROPRIATE QUEUE. #
- BEGIN # NVFDDNT #
- #
- ** NVFDDNT - DISPATCHES NETWORK TRAFFIC TO THE APPROPRIATE QUEUE.
- *
- * A. LIM. 81/08/25.
- * C. BRION 83/04/13.
- *
- * THIS IS A DUMMY PROCEDURE. ITS EXISTENCE IS TO CUSTOMIZE WITH
- * THE DECK NAME.
- *
- * PROC NVFDDNT
- *
- * ENTRY NONE
- *
- * EXIT NONE
- *
- * NOTE THIS PROC WOULD NEVER BE CALLED. INSTEAD AN ALTERNATE
- * ENTRY POINT, CSNVDSP WILL BE CALLED. CSNVDSP IS USED TO
- * CUSTOMIZE WITH THE CS DISPATCH PROC.
- *
- * METHOD NONE
- *
- #
- #
- **** ALTERNATE ENTRY POINT
- #
- XDEF PROC CSNVDSP;
- #
- ****
- #
- CONTROL EJECT;
- PROC CSNVDSP(WCARY,ABHARY,TXTARA);
- # TITLE CSNVDSP - DISPATCHES SM/DATA-BLOCK TO THE APPROPRIATE QUEUE. #
- BEGIN # CSNVDSP #
- #
- ** CSNVDSP - DISPATCHES SM/DATA-BLOCK TO THE APPROPRIATE QUEUE.
- *
- * A. LIM. 81/08/25.
- * D. G. DEPEW. 82/05/14.
- * C. J. BRION 82/05/28.
- *
- * THIS PROCEDURE WILL BE CALLED BY AIP MONITOR WHENEVER A
- * SM/DATA-BLOCK COMES TO NVF. ITS CHARTER IS TO
- * DISPATCH IT TO THE APPROPRIATE QUEUE.
- *
- * PROC CSNVDSP(WCARY,ABHARY,TXTARA)
- *
- * ENTRY WCARY = A ONE WORD ARRAY FOR INCOMING WC.
- * ABHARY = A ONE WORD ARRAY FOR INCOMING ABH.
- * TXTARA = A TEXT AREA FOR INCOMING SM/DATA-BLOCK.
- *
- * EXIT SM/DATA ROUTED TO THE APPROPRIATE QUEUE.
- *
- * NOTES NONE
- *
- * METHOD IF INCOMING NETWORK TRAFFIC IS DATA-BLOCK, ROUTE IT
- * TO CONNECTION-TRAFFIC-QUEUE. ELSE IF IT IS SM,
- * SCAN THROUGH PFC/SFC-CLASSIFY TABLE TO FIND
- * A MATCH ON THE SM, AND ROUTE IT TO THE
- * APPROPRIATE QUEUE DETERMINED BY THE POSITION
- * OF THE SM IN THE TABLE.
- * IF NO MATCH IS FOUND IN THE TABLE, ABORT NVF.
- *
- #
- #
- * FORMAL PARAMETERS
- #
- #
- ** WCARY - WORD COUNT ARRAY
- *
- * WCARY IS A ONE WORD ARRAY FOR INCOMING WC
- #
- ARRAY WCARY[00:00] S(1);
- BEGIN
- ITEM WC$SMID U(00,00,12); # INTERNAL SM ID #
- END
- #
- ** ABHARY - APPLICATION BLOCK HEADER ARRAY
- *
- * ABHARY IS A ONE WORD ARRAY FOR INCOMING ABH.
- *
- #
- ARRAY ABHARY[00:00] S(1);
- BEGIN
- ITEM ABH$WRD U(00,00,60); # FULL WORD #
- END
- #
- ** TXTARA - TEXT AREA
- *
- * TXTARA IS A TEXT AREA FOR THE INCOMING SM/DATA-BLOCK.
- *
- #
- ARRAY TXTARA[00:10] S(1);
- BEGIN
- ITEM TXT$WORD U(00,00,60);
- END
- #
- **** PROC CSNVDSP - XREF LIST
- #
- XREF
- BEGIN
- PROC ABORT; # ABORT MACRO #
- PROC MESSAGE; # ISSUE DAYFILE MESSAGE (MACREL) #
- PROC SSTAQE; # SERVICE AND SCHEDULR ACCEPT-Q-ENTRY RTN#
- END
- #
- ****
- #
- # DEFS #
- DEF MXAPSFC$ # 3 #; # MAX NUMBER OF APP SM #
- DEF MXCPSFC$ # 23 #; # MAX NUMBER OF CONN TRAFFIC SM #
- DEF MXHPSFC$ # 7 #; # MAX NUMBER HOP-PROG-CONTROL SM #
- DEF MXIPSFC$ # 9 #; # MAX NUMBER IGNORED SM (NO-OPS) #
- DEF MXPSFC$ # 42 #; # SUM OF ALL PRECEEDING (TOTAL ALL SMS) #
- # ITEMS #
- ITEM I U; # INDUCTION VARIABLE #
- ITEM TEMP1 U; # TEMPORARY STORAGE AREA1 #
- ITEM TEMP2 U; # AND AREA2 #
- #
- * DAYFILE MESSAGES FOR ABORT WHEN SM RECEIVED IS BAD
- #
- $BEGIN
- ARRAY BADSM[00:00] S(3);
- BEGIN
- ITEM BADSM$TXT C(00,00,23) = ["NVFDDNT - UNEXPECTED SM"];
- ITEM NO$ZERO U(02,18,42) = [0];
- END
- ARRAY BADBLKTYPE[00:00] S(3);
- BEGIN
- ITEM BADBT$TXT C(00,00,27)=["NVFDDNT - UNEXPECTED ABHABT"];
- ITEM BADBT$ZERO U(02,42,18) = [0];
- END
- $END
- #
- * THE FOLLOWING TABLE CONTAINS PFC/SFC OF ALL SMS COMING INTO NVF.
- * THE SMS ARE CATEGORIZED BY THE TYPE OF QUEUE IT IS DESTINED TO.
- * WITHIN EACH CATEGORY, THE SMS ARE ALPHABETIZED. A CHANGE IN
- * ANY ONE OF THE CATEGORY REQUIRES THE SAME CHANGE IN ITS
- * CORRESPONDING STATUS-LIST IN THE APPROPRIATE TEXT. AND THE
- * PROCEDURE NEED TO BE RECOMPILED WITH NEW MAXIMUM VALUE
- * DEFINED FOR THE GROUP, AND NEW SUM FOR THE TOTAL SMS.
- * THE LAST ENTRY IS USED TO STORE THE SM CURRENTLY BEING PROCESSED
- * IN CASE IT IS AN SM THAT IS NOT EXPECTED AND THUS WILL NOT MATCH
- * THE PFC/SFC LISTED.
- #
- ARRAY PSFCTBL[00:MXPSFC$] S(1);
- BEGIN
- ITEM PSF$CODE U(00,00,16) = [ #*** APP SM ***#
- FAIAPP, # APP FAILED #
- NETONR, # APP NETON REQ #
- NETOFFR, # APP NETOFF #
- #*** CONN TRAFFIC SM ***#
- CRACC, # APP ACCEPTED CON#
- CRCB, # CONN BROKEN #
- CRITE, # TERM CONN REQ #
- CRIAP, # A-A CON REQ #
- CRRAP, # REMOTE A-A REQ #
- CRRCN, # RECON CONN NVF #
- CRSWHN, # SWCH CON FR NVFN#
- CRTRMN, # TERMINATE CON N #
- FCACK, # BLK DEL ACKNGD #
- FCBRK, # BREAK OCCURRED #
- INTRUSR, # BREAK OCCURRED #
- FCINA, # CONN INACTIVE #
- FCINIT, # CONN INITIALIZED#
- FCNAK, # BLK NOT DELIVERD#
- BIMARK, # BREAK INDICATOR #
- HOPBRK, # OPERATOR BREAK #
- HOPCMD, # HOP COMMD TO APP#
- HOPENDD, # K-DIS ASGND APP #
- HOPIG, # HOP IGNORE ALERT#
- HOPPAGE, # CHGND DIS PAGE #
- HOPSTRT, # K-DIS ASGND APP #
- TCHTCH, # TERM CHARS CHGED#
- CRSLL, # LLINK STATUS #
- #*** HOP PROGRAM CNTRL SM ***#
- HOPDU, # HOP DUMP FL REQ #
- HOPNOTR, # HOP T-OFF AIP TR#
- HOPREL, # HOP REL DLF REQ #
- HOPRS, # RST STAT GATH RQ#
- HOPTRCE, # HOP T-ON AIP TR #
- HOPDB, # BEGIN DEBUG #
- HOPDE, # END DEBUG #
- #*** IGNORED SM ***#
- CTRCHRN, # TERM CHARS NORM #
- CTRCHRA, # TERM CHARS ABN #
- CTRCTDN, # CDCNT TERMDEF/N #
- CTRCTDA, # CDCNT TERMDEF/A #
- CTRTCD, # TERM CHAR DEFS #
- CTRCCD, #CHANGE CDCNET DEF#
- CTRUCD, # UNSOLIC CHAR DEF#
- CTRRTCA, #REQ TRM CHAR/A #
- CTRRCCA]; #RQST CDCNT CHAR/A#
- END
- CONTROL EJECT;
- #
- * DETERMINE TYPE OF NETWORK TRAFFIC. IF DATA-BLOCK, ROUTE IT TO
- * CTQ, ELSE SCAN THRU PFC/SFC-CLASSIFY TABLE FOR A MATCH OF THE
- * SM. WHEN FOUND, USE THE POSITION OF THE SM IN THE TABLE TO
- * DETERMINE THE QUEUE THE SM SHOULD ROUTE TO AND SET THE SM ID.
- #
- TEMP1 = P<ABH>; # SAVE ABH POINTER #
- P<ABH> = LOC(ABHARY); # POINT TO ABH BUFFER AREA #
- IF ABHABT[0] LQ APMSG
- THEN
- BEGIN # DATA-BLOCK, ROUTE TO CTQ #
- SSTAQE(P<CTQ>,WCARY,ABHARY,TXTARA);
- END
- ELSE IF ABHABT[0] EQ APPCMD
- THEN
- BEGIN # APP SM #
- TEMP2 = P<APSM>; # SAVE ORGNL APP SM POINTER #
- P<APSM> = LOC(TXTARA); # THEN POINT IT TO TEXT AREA #
- PSF$CODE[MXPSFC$] = PFCSFC[0]; # SAVE CURRENT SM #
- FOR I = 0 STEP 1
- WHILE PFCSFC[0] NQ PSF$CODE[I]
- DO # DETERMINE WHICH SM #
- BEGIN END
- IF I LS MXAPSFC$
- THEN
- BEGIN # APP SM, ROUTE IT TO ASQ #
- WC$SMID[0] = I;
- SSTAQE(P<ASQ>,WCARY,ABHARY,TXTARA);
- END
- ELSE IF I LS (MXAPSFC$ + MXCPSFC$)
- THEN
- BEGIN # CN-TRF-SM, ROUTE IT TO CTQ #
- WC$SMID[0] = I -MXAPSFC$;
- SSTAQE(P<CTQ>,WCARY,ABHARY,TXTARA);
- END
- ELSE IF I LS (MXAPSFC$ + MXCPSFC$ + MXHPSFC$)
- THEN
- BEGIN # HOP-PRG-CTRL-SM, ROUTE TO HCQ#
- WC$SMID[0] = I - MXAPSFC$ -MXCPSFC$;
- SSTAQE(P<HCQ>,WCARY,ABHARY,TXTARA);
- END
- ELSE IF I LS MXPSFC$
- THEN # SM TO IGNORE #
- BEGIN END
- ELSE # UNEXPECTED SM #
- BEGIN
- $BEGIN
- IF ABHADR[0] EQ 0
- THEN
- BEGIN
- MESSAGE (BADSM, 0);
- ABORT; # ABORT NVF #
- END
- $END
- SSTAQE(P<HCQ>,WCARY,ABHARY,TXTARA); # TO HCQ IF NON DBG #
- END
- P<APSM> = TEMP2; # RESTORE POINTER #
- END # APP SM #
- ELSE # UNEXPECTED TYPE OF NETWORK TRAFFIC #
- BEGIN
- $BEGIN
- MESSAGE (BADBLKTYPE, 0);
- ABORT; # ABORT NVF #
- $END
- END
- P<ABH> = TEMP1;
- RETURN;
- END # CSNVDSP #
- END # NVFDDNT #
- TERM
cdc/nos2.source/nam5871/nvfddnt.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator