*DECK NDLP2NF USETEXT NDLDATT USETEXT NDLFETT USETEXT OVLCTXT USETEXT NDLTBLT PROC NDLP2NF; BEGIN *IF,DEF,IMS # ** NDLP2NF - PASS 2 MAIN PROC FOR CHECKING NCF STATEMENTS. * * D.K. ENDO 81/11/10 * * THIS PROCEDURE INITIALIZES NCF TABLE BUFFERS AND CALLS THE * APPROPRIATE OVERLAY TO CHECK EACH STATEMENT. * * PROC NDLP2NF * * ENTRY NONE. * * EXIT NONE. * * METHOD * * ALLOCATE SPACE FOR NCF TABLES. * INITIALIZE HEADERS FOR NCF TABLES. * POINT LINE CONFIGURE RECORD FET TO CIO BUFFER. * REWIND THE PASS 2 ERROR FILE AND STMT TABLE FILE. * FOR EACH ENTRY IN STMT TABLE, * SELECT THE CASE THAT APPLIES, * CASE 1(NFILE,NPU,SUPLINK,COUPLER,LOGLINK,TRUNK): * CALL NETWORK ELEMENT OVERLAY. * CASE 2(GROUP,LINE,TERMINAL,DEVICE): * CALL COMMUNICATION ELEMENT OVERLAY. * CALL NCF TERMINATION OVERLAY. * # *ENDIF # **** PROC NDLP2NF - XREF LIST BEGINS. # XREF BEGIN PROC SSTATS; # ALLOCATES MORE TABLE SPACE # PROC NDLOVLD; # LOADS AND EXECUTES OVERLAY # PROC READ; # FILL CIO BUFFER # PROC READW; # READS GIVEN NUMBER OF CP WORDS # PROC RECALL; # RETURNS CONTROL WHEN RECALL BIT CLEARED # PROC REWIND; # REWINDS GIVEN FILE # PROC NDLTRNK; # PROCESS TRUNK STATEMENT ENTRY # END # **** # CONTROL PRESET; CONTROL NOLIST; # ER2CNDL, NCFCNDL, PS2CNDL # *CALL ER2CNDL *CALL NCFCNDL *CALL PS2CNDL CONTROL LIST; ITEM I; # SCRATCH ITEM # # # SWITCH NCFJUMP , # UNK # NETWORK , # NFILE # NETWORK , # NPU # NETWORK , # SUPLINK # NETWORK , # COUPLER # NETWORK , # LOGLINK # COMMUNIC, # GROUP # COMMUNIC, # LINE # COMMUNIC, # REPEAT # COMMUNIC, # TERMINAL # COMMUNIC, # DEVICE # NETWORK ; # TRUNK # CONTROL EJECT; # # # NDLP2NF CODE BEGINS HERE # # # # ALLOCATE SPACE FOR NCF TABLE CREATION # SSTATS(P,MXDXREF); SSTATS(P,MXLCR); SSTATS(P,20); SSTATS(P,MXLINDX); SSTATS(P,MXLREC); SSTATS(P,MXLXREF); SSTATS(P,(LLTENT[0]*LLENTSZ)+2); SSTATS(P,MXNFINDX); SSTATS(P,((NTWC[0]/NTENTSZ)*NPENTSZ)+2); SSTATS(P,MXPLINK); SSTATS(P,MXSLINK); DCWORD[0] = 0; # INITIALIZE DEVICE XREF TABLE # DC$IDENT[0] = "DVXREF"; DCWORD[1] = 0; DCWC[1] = 1; LIWORD[0] = 0; # INITIALIZE LINE INDEX # LCRWC[1] = 1; # INITIALIZE LINE CONFIG INDEX # LI$IDENT[0] = "LNINDEX"; LIWORD[1] = 0; LIWC[1] = 1; LRWORD[0] = 0; # INITIALIZE LINE RECORD # LR$IDENT[0] = "LNREC"; LCTWORD[0] = 0; # INITIALIZE LINE XREF TABLE # LCT$IDENT[0] = "LNXREF"; LCTWORD[1] = 0; LCTWC[1] = 1; LLWORD[0] = 0; # INITIALIZE LOGLINK XREF TABLE # LL$IDENT[0] = "LOGLINK"; LLWORD1[0] = 0; NPWORD[0] = 0; # INITIALIZE NPU XREF TABLE # NP$IDENT[0] = "NPUXREF"; NPWORD1[0] = 0; PLWORD[0] = 0; # INITIALIZE PHYLINK XREF TABLE # PL$IDENT[0] = "PHYLINK"; PLWORD1[0] = 0; SLTWORD[0] = 0; # INITIALIZE SUPLINK TABLE # # # NCFCRI[0] = 1; # INITIALIZE CURRENT RANDOM INDX# NCFCODE[0] = 3; # INITIALIZE CODE FIELD # LRFIRST[0] = LOC(LCRWB); # POINT FET TO WORKING BUFFER # LRIN[0] = LOC(LCRWB); LROUT[0] = LOC(LCRWB); LRLIMIT[0] = LOC(LCRWB) + PRULNGTH + 1; # # REWIND(ERR2FET); # REWIND PASS 2 ERROR FILE # RECALL(ERR2FET); REWIND(STFET); # REWIND STATEMENT TABLE FILE # RECALL(STFET); READ(STFET); # FILL CIO BUFFER # RECALL(STFET); READW(STFET,STMT$TABLE,1,STMT$STAT); # READ HEADER OF 1ST ENTRY# FOR I=0 WHILE STMT$STAT EQ TRNS$OK DO BEGIN # READ IN EACH ENTRY AND PROCESS IT # GOTO NCFJUMP[STSTID[0]]; NETWORK: NDLOVLD(OVL$ENT[OVLY"NET"]); GOTO NEXT; COMMUNIC: NDLOVLD(OVL$ENT[OVLY"COM"]); GOTO NEXT; NEXT: END NDLOVLD(OVL$ENT[OVLY"NTRM"]); RETURN; # **** RETURN **** # END # NDLP2NF # TERM