*DECK CSESDE USETEXT TEXTCS USETEXT TEXTSS USETEXT TXCMDCS USETEXT TXTAPSS USETEXT TXTSMCS PROC CSESDE; # TITLE - SEND DIAGNOSTICS END MESSAGE. # BEGIN # ** CSESDE - SEND DIAGNOSTICS END MESSAGE. * * D.K. ENDO 82/06/07 * * THIS PROCEDURE SENDS THE FINAL MESSAGE WHEN NPU DIAGNOSTICS ARE * REQUESTED. * * PROC CSESDE * * ENTRY 1. OLD/IN/N OR OLD/IN/A SM. * * EXIT 1. NULL TEXT TO CNQ (OLD/IN/N) * 2. NO DIAGNOSTICS MESSAGE TO CNQ (OLD/IN/A) * # # **** PROC CSESDE - XREF LIST BEGINS. # XREF BEGIN PROC CSESLE; # SEND LOG FILE ENTRY # PROC SSBSBF; # STORE BIT FIELD # PROC SSTAQE; # ACCEPT QUEUE ENTRY # END # **** # DEF NOD$TXTL # 50 #; # NO DIAGNOSTICS MESSAGE TEXT LENGTH # DEF SNM$TXTL # 30 #; # SOURCE NPU-NAME MESSAGE TEXT LENGTH # ITEM CNST1; # INTEGER CONSTANT ---> 1 # ITEM CNST2; # INTEGER CONSTANT ---> 2 # ITEM CNST3; # INTEGER CONSTANT ---> 3 # ITEM I; # LOOP INDUCTION VARIABLE # # THIS ARRAY DEFINES THE -NO ONLINE DIAGNOSTICS- MESSAGE TEXT SENT WHEN AN OLD/IN/A SM IS RECEIVED. # ARRAY NOD$TXT [00:04] S(1); BEGIN ITEM NOD$TIM C(00,00,10); ITEM NOD$MSG1 C(01,00,20) = [" NO ONLINE DIAGNOSTI"]; ITEM NOD$MSG2 C(03,00,11) = ["CS PRESENT."]; ITEM NOD$ZBYT U(04,06,54) = [0]; END # THIS ARRAY DEFINES THE SOURCE NPU$NAME MESSAGE TEXT. # ARRAY SNM$TXT [00:02] S(1); BEGIN ITEM SNM$TIM C(00,00,10); ITEM SNM$MSG C(01,00,14) = ["FROM UNKNOWN: "]; ITEM SNM$ZBYT U(02,24,36) = [0]; END CONTROL EJECT; # # # CSESDE CODE BEGINS HERE # # # # * IF THIS SM IS OLD/IN/N, THEN SEND A NULL TEXT WITH THE INPUT * ALLOWED FLAG SET. # IF WCB$SMID[0] EQ SMID"OLDINN" THEN BEGIN WCB$WORD[1] = 2; WCB$SMID[1] = SMID"TTEXT"; WCB$IAF[1] = TRUE; ABHWORD[1] = 0; ABHADR[1] = OLDDO[0]; SSTAQE(P,WCBUF[1],ABH[1],CSSM[1]); END # * IF THIS SM IS OLD/IN/A, THEN SEND A -NO ONLINE DIAGNOSTICS- * MESSAGE TEXT WITH THE INPUT ALLOWED FLAG SET. (*** NOTE - THE * SOURCE NODE IS IN THE DN FIELD AND THE OCB ORDINAL IS IN THE * ABN FIELD. ***) # ELSE BEGIN SNM$TIM[0] = CTM$CLOCK[0]; FOR I=0 STEP 1 WHILE ABHDN[0] NQ NPU$NID[I] AND I LS CSNPCNT DO BEGIN END CNST1 = 1; CNST2 = 30; CNST3 = 42; IF I LS CSNPCNT THEN BEGIN SSBSBF(SNM$TXT,CNST1,CNST2,CNST3,B<0,42>NPU$NAME[I]); END ELSE BEGIN SSBSBF(SNM$TXT,CNST1,CNST2,CNST3," UNKNOWN"); END WCB$WORD[1] = 2 + SNM$TXTL/10; WCB$SMID[1] = SMID"TTEXT"; ABHWORD[1] = SNM$TXTL; ABHADR[1] = OLDDO[0]; SSTAQE(P,WCBUF[1],ABH[1],SNM$TXT); CSESLE(ABHDN[0],WCBUF[1],SNM$TXT); NOD$TIM[0] = CTM$CLOCK[0]; WCB$WC[1] = 2 + NOD$TXTL/10; WCB$IAF[1] = TRUE; ABHWORD[1] = NOD$TXTL; ABHADR[1] = OLDDO[0]; SSTAQE(P,WCBUF[1],ABH[1],NOD$TXT); WCB$IAF[1] = FALSE; CSESLE(ABHDN[0],WCBUF[1],NOD$TXT); END RETURN; # **** RETURN **** # END TERM