*DECK DLSCAN USETEXT DLFPDEF USETEXT ABH USETEXT DIRTBL USETEXT DIRTBLH USETEXT DIRTBLM USETEXT DIRTBLS USETEXT DLONEL USETEXT DLNOD USETEXT DLTLC USETEXT DRHDR USETEXT ERRMSG USETEXT MISRES USETEXT NHEADER USETEXT OCIOBB USETEXT OFETB USETEXT OUTCDA USETEXT WRDPAIR USETEXT ZFETB USETEXT ZHRCD PROC DLSCAN; # SCAN DEBUG LOG FILE # *IF DEF,IMS # *1DC DLSCAN * * 1. PROC NAME AUTHOR DATE. * DLSCAN S.KRULEVITCH 79/01/08 * * 2. FUNCTIONAL DESCRIPTION. * SCAN DEBUG LOG FILE FOR SPECIFIED MESSAGES. * * 3. METHOD USED. * LOOP EXECUTING AS FOLLOWS UNTIL THE COMPLETE FLAG IS SET. * * READ FIRST 3 WORDS IF NIP LOG FILE, FIRST 2 WORDS IF AIP * LOG FILE. CALL DLDFM, SET COMPLETE FLAG, AND TEST LOOP * IF A READ ERROR OR EOF/EOI IS ENCOUNTERED. * UPDATE CURRENT MESSAGE NUMBER REFLECTING ACTUAL NUMBER * OF MESSAGES ON ZZZZZDN FILE. * CHECK TIME OF CURRENT MESSAGE TO SEE IF IT IS PAST * MIDNIGHT. IF SO, COMPUTE NEW MIDNIGHT RT VALUE, AND * UPDATE DATE RECORDED. * SET CHOSEN FLAG. * CALL DLMSG TO PROCESS ENTRIES IN MESSAGE PROCESSING TABLE. * IF AIP LOG FILE, DETERMINE IF GET OR PUT CALL. IF NOT, AND * ABH/NBH PROCESSING TABLE OR SUPMSG PROCESSING TABLES * ARE NOT EMPTY, CLEAR CHOSEN FLAG. IF NETON CALL, READ * UP REST OF ENTRY. * READ ABH WORD. (CALL DLDFM, SET COMPLETE FLAG, AND TEST LOOP * IF A READ ERROR IS ENCOUNTERED.) * IF CHOSEN FLAG STILL SET AND ENTRIES EXIST IN ABH/DBC * PROCESSING TABLE: * IF AIP LOG FILE, CALL DLABH TO PROCESS ENTRIES IN * ABH/NBH PROCESSING TABLE. * IF NIP LOG FILE, CALL DLNBH TO PROCESS ENTRIES IN * ABH/NBH PROCESSING TABLE. * IF TEXT EXISTS, READ IT. (CALL DLDFM, SET COMPLETE FLAG, AND * TEST LOOP CONDITION IF A READ ERROR IS ENCOUNTERED.) * IF CHOSEN FLAG STILL SET, CALL DLSM TO PROCESS * ENTRIES IS THE SUPMSG PROCESSING TABLE. * IF TEXT DOES NOT EXIST, AND ENTRIES EXIST IN SUPMSG * PROCESSING TABLE, CLEAR CHOSEN FLAG. * IF CHOSEN FLAG STILL SET, CHECK IF SM COUNT IS NONZERO. * IF SM COUNT IS NONZERO, DECREMENT IT AND CLEAR CHOSEN * FLAG. * IF SM COUNT IS ZERO, OUTPUT TIME,CALL DLAREP(IF AIP LOG FILE) * OR DLNREP (IF NIP LOG FILE) TO FORMAT AND WRITE DEBUG * LOG FILE ENTRY TO OUTPUT. ALSO INCREMENT COUNTER OF * NUMBER OF ENTRIES WRITTEN TO OUTPUT. * TRUNCATE TEXT LENGTH IF NECESSARY. * IF NETGETF, NETGTFL, OR NETPUTF, SET UP FRAGMENT SIZE * HEADING. * OUTPUT TEXT. * IF (EOF) IS ENCOUNTERED SET EOFFLAG TO TRUE AND * INITIALIZE FILE FOR READ. * * 4. ENTRY PARAMETERS. * COMPLETE =FALSE TO CONTINUE SEARCH * * 5. EXIT PARAMETERS. * NONE. * * ARGTBL NCIOBB NFETB * 6. COMDECKS CALLED AND SYMPL TEXTS USED. * DIRTBL DIRTBLH DIRTBLM DIRTBLS * DLFPDEF DLONEL DLNOD DLTLC * DRHDR ERRMSG MISRES NHEADER * NP$DLA NP$TAA * OCIOBB OFETB OUTCDA WRDPAIR * ZFETB ZHRCD * * 7. PROCEDURES CALLED. * DLABEND ABORT PROGRAM * DLDIS CONVERT FIELD TO HEX, OCTAL, DISPLAY, ASCII * DLDISDE CONVERT FIELD FROM BINARY TO DECIMAL D C * DLDISO CONVERT FIELD TO OCTAL DISPLAY * DLABH PROCESS AIP ABH DIRECTIVE TABLE * DLAREP AIP DEBUG LOG FILE HEADERS * DLDFM DAYFILE MESSAGE PROCESSOR * DLFLUSH WRITE EOR ON FILE * DLINT INITIALIZE READING ON FILE * DLMSG PROCESS MESSAGE DIRECTIVE TABLE * DLNBH PROCESS NIP NBH DIRECTIVE TABLE * DLNREP NIP DEBUG LOG FILE HEADERS * DLRECL RECALL ON EVENT * DLSM PROCESS SUPERVISORY DIRECTIVE TABLE * DLRDW READ A SPECIFIED NO OF WORDS FROM FILE * DLUPTM CALCULATE THE CLOCK TIME FROM OFFSET * DLWRITC TRANSFER LINE TO CIO BUFFER * * 8. DAYFILE MESSAGES. * *BAD FILE CONTENT* * # *ENDIF # EXTERNAL VARIABLES # XREF BEGIN PROC DLABEND; # ABORT MAIN PROGRAM # PROC DLDIS; # CONVERT TO HEX, OCTAL, DISPLAY, ASCII # PROC DLDISDE; # CONVERT FIELD TO DECIMAL DISPLAY # PROC DLDISO; # CONVERT FIELD TO OCTAL DISPLAY # PROC DLABH; # PROCESS AIP ABH DIRECTIVE TABLE # PROC DLAREP; # AIP DEBUG LOG FILE HEADERS # PROC DLDFM; # DAYFILE MESSAGE PROCESSOR # PROC DLFLUSH; # WIRTE EOR ON FILE # PROC DLINT; # INITIALIZE READING OF FILE # PROC DLMSG; # PROCESS MESSAGE DIRECTIVE TABLE # PROC DLNBH; # PROCESS NIP NBH DIRECTVE TABLE # PROC DLNREP; # NIP DEBUG LOG FILE HEADERS # PROC DLSM; # PROCESS SUPERVISORY MESSAGE TABLE # PROC DLRECL; # RECALL ON EVENT # PROC DLRDW; # READ RECORD FROM CIO BUFFER # PROC DLUPTM; # CALCULATE CLOCK TIME # PROC DLWRITC; # WRITE LINE TO CIO BUFFER # PROC DLWRT; # DIRECT WRITE TO CIO BUFFER # END XREF BEGIN ARRAY PSTAB [0:0] S(2); ITEM PSNAME C(0,0,7),# NEMONIC IN DISPLAY CODE # PSVALUE I(1); # VALUE OF THE PFC/SFC NEMONIC # ITEM PSSIZE; # SIZE OF THE PFC/SFC NEMONIC TABLE # END # COMMON VARIABLES # CONTROL NOLIST; # SEE DLFP FOR LISTING OF ARGTBL # *CALL ARGTBL CONTROL LIST; CONTROL NOLIST; # SEE DLFP FOR LISTING OF NCIOBB # *CALL NCIOBB CONTROL LIST; CONTROL NOLIST; # SEE DLFP FOR LISTING OF NFETB # *CALL NFETB CONTROL LIST; LABEL EXIT ; BASED ARRAY DATLINE P(4); *CALL NP$DLA *CALL NP$TAA # LOCAL VARIABLES # ITEM I, # TEMPORARY INDEX VARIABLE # J I, # TRACKS TAA LOCATIONS # K I, # TEMPORARY LOOP # LNCNTR, # LINE COUNT FOR TEXT # MSG$LEN I, # MESSAGE LENGTH # N I, # TRACKS FRAGMENT/MESSAGE SIZE # RSIZE I, # READ IN DATA SIZE # RETWDH C(15), # HEX DISPLAY LITERAL # RETWDO C(20), # OCTAL DISPLAY LITERAL # RETWDD C(WC), # DISPLAY CODE LITERAL # RETWDA C(8), # ASCII DISPLAY CODE LITERAL # SHORT B=FALSE, # SHORT AIP ENTRY # YY, # YEAR TEMPORARY VARIABLE # MM, # MONTH TEMPORARY VARIABLE # DD, # DAY TEMPORARY VARIABLE # ENTRSZ, # SIZE OF ENTRY HEADER # RCDHR, # WORD TO HOLD TIME FOR RECORD HEADER # IA, # TEMP VARIABLE FOR BINARY S # IB, # TEMP VARIABLE FOR BINARY S # IC, # TEMP VARIABLE FOR BINARY S # ILOG, FOUND B, # TEMP VAR FOR BINARY SE # TEMP1 C(WC), # TEMPORARY VARIABLE # TEMP2 I, # TEMPORARY VARIABLE # TLWDIF I; # REMAINING WORDS IN FRAGMENT # ARRAY TEMP3A S(1) ; BEGIN ITEM TEMP3 I(00,00,60) ; ITEM TEMP3PFC U(00,44,08) ; ITEM TEMP3SFC U(00,52,08) ; END ARRAY TEMP4A S(1) ; BEGIN ITEM TEMP4 I(00,00,60) ; ITEM TEMP4PFC U(00,04,08) ; ITEM TEMP4SFC U(00,16,08) ; END ARRAY FRAGLN P(6); # CHARACTER ARRAY FOR FRAGMENT HEADER # BEGIN ITEM FH$CC C(0, 0, 1); ITEM FH$FMT1 C(0, 0,10) = [" FRAGMENT "]; ITEM FH$NUM C(1, 0, 3); ITEM FH$FMT2 C(1, 0,10) = [" SIZE"]; ITEM FH$SZEQ C(2, 0, 2); ITEM FH$SIZE C(2,12,8); ITEM FH$FMT3 C(3, 0,10) = ["ADDRESS = "]; ITEM FH$ADDR C(4, 0,10); ITEM FH$FMT4 I(5, 0,WL) = [0]; END ARRAY L4 S(2); BEGIN ITEM L4FIL1 C(0,0,1) =[" "]; ITEM L4CLTM C(0,6,8); ITEM L4DOT3 C(0,54,1) =["."]; ITEM L4MILS C(1,0,3); ITEM L4FIL2 C(1,18,7) =[" "]; END # L4 TIME # ARRAY L6 S(7); BEGIN ITEM L6FIL1 C(0,0, 6) =[" "]; ITEM L6LNO C(0,36,3); ITEM L6FIL2 C(0,54,1) =[" "]; ITEM L6HEX C(1, 0,15); ITEM L6FIL3 C(2,30,1) =[" "]; ITEM L6OCT C(2,36,20); ITEM L6FIL4 C(4,36,2) =[" "]; ITEM L6DIS C(4,48,10); ITEM L6FIL5 C(5,48,2) =[" "]; ITEM L6ASCI C(6,0,8); ITEM L6ZERO U(6,48,12) =[0]; END # TEXT ARRAY # # THE MAXIMUM LENGTH MESSAGE IS A MESSAGE OF LENGTH TLWMAX # # IF THE MESSAGE HAS BEEN FRAGMENTED, THE MESSAGE LENGTH MAY BE # # INCREASED BY A MAXIMUM OF MAXNA FRAGMENT SIZE/ADDRESS # # DEFINITION WORDS INCLUDED WITH THE MESSAGE. # # THE SIZE OF TEMPB2+TEMPTAA = TLWMAX+MAXNA # ARRAY TEMPB2[0:TLWMAX];# AREA FOR MESSAGE TEXT FROM DEBUG LOG # BEGIN ITEM TEMPE2 U(0,0,WL); ITEM TEMPFC U(0,0,16); END ARRAY TEMPTAA[2:MAXNA];;# RESERVE AREA FOR FRAGMENTED TEXT ARRAY # ARRAY TWOL S(1); BEGIN ITEM TOFIL1 C(0,0,8) =["-"]; ITEM TOFIL2 U(0,48,12) =[0]; END BASED ARRAY DUMMY; ; # ******************************************************************** # BEGIN P = LOC(ZHWD1[0]); P = P + BLKHSIZE; OUPART = FALSE; # WRITE FULL LINES TO OUTPUT # EOFFLAG = FALSE; # LOOP TO GENERATE OUTPUT # FOR PAGE$COUNT = PAGE$COUNT WHILE NOT COMPLETE DO BEGIN IF NIP THEN TEMP2 = ZNSIZE; ELSE TEMP2 = ZASIZE; DLRDW(ZFET, TEMP2, TEMPB1, RSIZE); IF RSIZE EQ 0 THEN BEGIN # EOR ENCOUNTERED # DLINT(ZFET, READNR);# INITIALIZE READ AFTER EOR # DLRDW(ZFET, 1, RCDHR, RSIZE); DLRDW(ZFET, TEMP2, TEMPB1, RSIZE); END IF RSIZE GQ 0 # NOT (EOF) OR (EOI) # THEN BEGIN # DATA READ # IF TEMP2 NQ RSIZE THEN BEGIN # LOG FILE NOT CLOSED # COMPLETE = TRUE; DLDFM(NOT$CLOSED); TEST PAGE$COUNT; END OUMSGNO = OUMSGNO + 1; ENTRSZ = RSIZE; IF ZNMILS[0] GR MIDNITE THEN BEGIN MIDNITE = MIDNITE + 86400000; YY = (C<0,1>L2DATE[0] - O"33") * 10 + C<1,1>L2DATE[0] - O"33"; MM = (C<3,1>L2DATE[0] - O"33") * 10 + C<4,1>L2DATE[0] - O"33"; DD = (C<6,1>L2DATE[0] - O"33") * 10 + C<7,1>L2DATE[0] - O"33"; IF YY - YY / 4 * 4 EQ 0 THEN NOD[2] = 29; ELSE NOD[2] = 28; DD = DD + 1; IF DD GR NOD[MM] THEN BEGIN DD = 1; MM = MM + 1; IF MM GR 12 THEN BEGIN YY = YY + 1; MM = 1; END END TEMP1 = " / /"; C<0,1>TEMP1 = YY/10 + O"33"; C<1,1>TEMP1 = YY - YY /10 * 10 + O"33"; C<3,1>TEMP1 = MM / 10 + O"33"; C<4,1>TEMP1 = MM - MM / 10 * 10 + O"33"; C<6,1>TEMP1 = DD / 10 + O"33"; C<7,1>TEMP1 = DD - DD / 10 * 10 + O"33"; L2DATE[0] = TEMP1; END CHOSEN = TRUE; IF DIRNUMM NQ 0 THEN DLMSG; # PROCESS MSG INPUT DIRECTIVES # IF NOT NIP THEN # AIP HEADER MAY BE 3 WORDS # BEGIN P = LOC(TEMPB1); IF DL$OPC[0] LQ OP$GSM OR DL$OPC[0] EQ OP$LOG OR (DL$OPC[0] GQ OP$GETF AND DL$OPC[0] LQ OP$GTFL) THEN # GET OR PUT OR LOG CALL # BEGIN TEMP2 = 2; # 3 WORD HEADER # SHORT = FALSE; END ELSE BEGIN SHORT = TRUE; IF DIRNUMH NQ 0 OR DIRNUMS NQ 0 THEN BEGIN CHOSEN = FALSE; END IF DL$OPC[0] EQ OP$ON THEN BEGIN NTOFF = FALSE; TEMP2 = 2; END ELSE BEGIN IF DL$OPC[0] EQ OP$OFF THEN BEGIN NTOFF = TRUE; COMPLETE = TRUE; END TEMP2 = 0; END END # NOT GET OR PUT ENTRY # P = LOC(TEMPB1) + ZASIZE; RSIZE = 0; IF TEMP2 NQ 0 THEN BEGIN DLRDW(ZFET,TEMP2,DUMMY,RSIZE); ENTRSZ = ENTRSZ + TEMP2; END IF TEMP2 NQ RSIZE THEN BEGIN COMPLETE = TRUE; DLDFM(NOT$CLOSED);# LOG FILE NOT CLOSED # TEST PAGE$COUNT; END END # AIP HEADER ENTRY # IF CHOSEN THEN BEGIN # OUTPUT MESSAGE HEADER # DLCC = 0; LTAA = 0; IF DIRNUMH NQ 0 THEN BEGIN IF NIP THEN DLNBH; # NIP DEBUG LOG FILE HEADER DIRECTIVE # ELSE DLABH; # AIP DEBUG LOG FILE HEADER DIR TABLE # END # HEADERS OUTPUT # END # PROCESS TEXT AREA # MSG$LEN = BLKBS[0] - 2; IF NOT NIP THEN MSG$LEN = MSG$LEN - 1; IF NOT SHORT THEN IF 0 LS MSG$LEN AND MSG$LEN LQ TLWMAX THEN BEGIN # READ MSG TEXT IN # DLRDW(ZFET, MSG$LEN, TEMPB2, RSIZE); IF RSIZE NQ MSG$LEN THEN BEGIN # FILE NOT CLOSED # COMPLETE = TRUE; DLDFM(NOT$CLOSED); TEST PAGE$COUNT; END ELSE IF CHOSEN AND# IF SUP DIRECTIVES PRESENT, # DIRNUMS NQ 0# TEST MSG FOR SELECTION # THEN DLSM(TEMPB2); END ELSE IF 0 GR MSG$LEN OR MSG$LEN GR TLWMAX THEN BEGIN # BAD LOG FILE # COMPLETE = TRUE; DLDFM(BAD$ZFILE); TEST PAGE$COUNT; END ELSE # NO TEXT # IF DIRNUMS NQ 0 THEN CHOSEN = FALSE; IF CHOSEN THEN IF SM NQ 0 THEN BEGIN SM = SM - 1; # DECREMENT STARTING NUMBER # CHOSEN = FALSE; END IF CHOSEN AND NOT ARGFLAG[NFILE] THEN BEGIN # WRITE ENTRY HEADER # TEMP3 = ZNMILS[0] - SRTMILS; TEMP2 = TEMP3 / 1000; DLUPTM(SCLHHMMSS, TEMP2, TEMP1);# GET CLOCK TIME # L4CLTM[0] = TEMP1; DLDISDE(TEMP3 - TEMP2 * 1000, 3, TEMP1); L4MILS[0] = TEMP1; OUPART = TRUE; # OUTPUT A PARTIAL LINE # DLWRITC(L4,2); OUPART = FALSE; MSG$COUNT = MSG$COUNT + 1; # NUMBER OF MESSAGES OUTPUT # IF NIP THEN DLNREP; # OUTPUT NIP HEADERS # ELSE BEGIN # OUTPUT AIP HEADER # DLAREP ; P = P + 3 ; END DLWRITC(ONEL,1); # OUTPUT BLANK LINE # IF MSG$LEN NQ 0 THEN BEGIN # WRITE ENTRY TEXT # PAIR = FALSE; IF NIP THEN TRUNC = MSG$LEN; IF TRUNC GR LENGTH THEN TRUNC = LENGTH; LNCNTR = 0;# NUMBER OF LINES OUTPUT # N = TRUNC - 1; P = LOC(TEMPE2[0]); J = 1; TLWDIF = TRUNC; P = P ; IF NIP AND PWLID[0] EQ PWLIDVALUE THEN BEGIN LNCNTR = LNCNTR + 1 ; FOR LNCNTR = 1 STEP 1 UNTIL ZNSIZE DO BEGIN DLDISDE(LNCNTR,3,TEMP1) ; L6LNO[0] = TEMP1 ; DLDIS(CMWORD[LNCNTR-1] ,RETWDH,RETWDO,RETWDD,RETWDA) ; L6HEX[0] = RETWDH ; L6OCT[0] = RETWDO ; L6DIS[0] = RETWDD ; L6ASCI[0] = RETWDA ; DLWRITC(L6,7) ; END END IF NOT NIP AND DL$OPC[0] EQ OP$LOG AND DL$FORMAT[0] EQ 1 THEN BEGIN # PROCESS NETLOG ENTRY # ILOG = 0 ; FOR I = 0 STEP 1 WHILE I LQ N AND DLCC NQ 0 DO BEGIN TEMP2 = TEMPE2[I] ; IF ILOG EQ 0 THEN BEGIN # FIRST WORD IN LINE TO LOG # DLWRITC(TEMP2,1) ; ILOG = ILOG + 1 ; END ELSE BEGIN # WORD 1 TO 11 ON SAME LINE # DLWRT(OFET,TEMP2,1) ; ILOG = ILOG + 1 ; IF ILOG EQ 14 THEN BEGIN # 12 PER LINE # ILOG = 0 ; # RESET TO BEGINNING OF LINE# LINE$COUNT = LINE$COUNT + 1 ; # INCREMENT THE CNT# END END END DLWRITC(ONEL,1) ; DLWRITC(ONEL,1) ; GOTO EXIT ; END # PROCESS NETLOG # CONTROL FASTLOOP; FOR K = 1 STEP 1 WHILE K LQ LTAA AND TLWDIF GR 0 DO BEGIN IF LTAA NQ 0 THEN BEGIN N = TAASIZE[J] - 1; IF N GQ TLWDIF THEN N = TLWDIF - 1; # FORMAT LOG ENTRY FOR FRAGMENTS # DLDISDE(K, 3, TEMP1);# COMPUTE FRAGMENT NUMBER # FH$NUM[0] = C<0,3> TEMP1; DLDISDE(TAASIZE[J], 4, TEMP1);# CONVERT FRAG SIZE # FH$SIZE[0] = C<0,4> TEMP1; FH$SZEQ[0] = " ="; DLDISO(TAADDR[J], 6, TEMP1);# CONVERT FRAG ADDR # FH$ADDR[0] = C<0,6> TEMP1; IF K EQ 1 THEN FH$CC[0] = "0";# DOUBLE SPACE # ELSE FH$CC[0] = " ";# SINGLE SPACE # DLWRITC(FRAGLN, 6); TLWDIF = TLWDIF - TAASIZE[J]; J = J + 1; END CONTROL SLOWLOOP; FOR I = 0 STEP 1 WHILE I LQ N AND DLCC NQ 0 DO BEGIN LNCNTR = LNCNTR + 1;# OUTPUT LINE OF TEXT # DLDISDE(LNCNTR, 3, TEMP1); L6LNO[0] = TEMP1; TEMP2 = TEMPE2[I+J-1]; IF NOT NIP THEN IF ABHACT[0] EQ APPCMD # CHARACTER TYPE IS 3 # AND ABHADR[0] NQ 0 # A SYNCHRONOUS COMMAND # THEN BEGIN TEMP4 = TEMP2; TEMP3PFC[0] = TEMP4PFC[0]; TEMP3SFC[0] = TEMP4SFC[0]; END ELSE TEMP3 = TEMPFC[I+J-1]; ELSE TEMP3 = TEMPFC[I+J-1]; BEGIN # REST OF THE CASES # DLDIS(TEMP2, RETWDH, RETWDO, RETWDD, RETWDA); L6HEX[0] = RETWDH; L6OCT[0] = RETWDO; L6DIS[0] = RETWDD; L6ASCI[0] = RETWDA; IF I EQ 0 AND LTAA EQ 0 AND (( NOT NIP AND DL$ADR[0] EQ 0 AND ABHABT[0] GR APMSG AND DL$OPC[0] NQ OP$LOG ) OR ( NIP AND ( ( CN[0] EQ 0 ) OR ( BT[0] EQ 7 ) OR ( ( CN[0] NQ 0 ) AND ( BT[0] EQ 4 ) ) ) ) OR ( NIP AND (( PWLID[0] EQ PWLIDVALUE ) AND ( PWLOP[0] EQ PWLOPNSM ) ) ) ) THEN BEGIN # FIRST WORD OF CONNECTION ZERO # IA = 0; IB = PSSIZE / 2; FOUND = FALSE; FOR IC = IC WHILE NOT FOUND AND IA NQ IB DO BEGIN# BINARY SEARCH TABLE # IC = (IA + IB) / 2; IF TEMP3 GR PSVALUE[IC] THEN BEGIN IA = IC; END ELSE IF TEMP3 LS PSVALUE[IC] THEN IB = IC; ELSE BEGIN FOUND = TRUE; L6DIS[0] = PSNAME[IC]; END IF IB EQ IA+1 THEN BEGIN FOUND = TRUE; IF TEMP3 EQ PSVALUE[IA] THEN L6DIS[0] = PSNAME[IA] ; ELSE L6DIS[0] = "UNKNOWN" ; END END END DLWRITC(L6,7); END END DLWRITC(ONEL, 1); DLWRITC(ONEL, 1); IF LTAA NQ 0 THEN J = J + TAASIZE[J-1]; END END ELSE DLWRITC(ONEL, 1); END EXIT: IF CHOSEN AND ARGFLAG[NFILE] THEN BEGIN # WRITE NEW DEBUG LOG FILE # IF NMSGCNT GQ 500 AND NOT NIP THEN BEGIN # OVER 500 ENTRIES, EOR WRITTEN # NMSGCNT = 0; DLFLUSH(NFET); # WRITE EOR # DLRECL(NFET); DLWRT(NFET, RCDHR, 1); # TIME FOR RECORD HDR # END DLWRT(NFET, TEMPB1, ENTRSZ); IF NOT SHORT THEN DLWRT(NFET, TEMPB2, MSG$LEN); NMSGCNT = NMSGCNT + 1; END END ELSE BEGIN # (EOF) OR (EOI) ENCOUNTERED # IF RSIZE EQ -1 THEN # (EOF) ENCOUNTERED # BEGIN EOFFLAG = TRUE; DLINT(ZFET,READNR); # INITIALIZE READ AFTER (EOF) # END COMPLETE = TRUE; END END END # DLSCAN # TERM