*DECK CSESEC USETEXT TEXTOV USETEXT TEXTCS USETEXT TEXTSS USETEXT TXTAPSS USETEXT TXTSMCS PROC CSESEC; # TITLE - SEND ELEMENT COUNT. # BEGIN # ** CSESEC - SEND ELEMENT COUNT. * * D.K. ENDO 82/03/18 * * THIS PROCEDURE FORMATS A MESSAGE REPORTING THE NUMBER OF ELEMENTS * (TERMINALS,LINES,LOGICAL LINKS, OR TRUNKS) THAT ARE DISABLED. * * PROC CSESEC * * ENTRY 1. CDI/TE/U, CDI/CI/U, CDI/LL/U, OR CDI/TR/U SM. * * EXIT 1. ENTRY IN OPERATOR RESPONSE QUEUE WITH THE DISABLED * COUNT MESSAGE. # # **** PROC CSESEC - XREF LIST BEGINS. # XREF BEGIN PROC CSESLE; # SEND LOG (FILE) ENTRY # PROC SSBSBF; # STORE BIT FIELD # PROC SSTAQE; # ADD QUEUE ENTRY # FUNC XCDD C(10); # CONVERT DECIMAL INTEGER TO DISPLAY CODE # END # **** # DEF LDC$TXTL # 50 #; # CHAR COUNT OF -LINE DISABLED- TEXT # DEF LLC$TXTL # 60 #; # CHAR COUNT OF -LOGLINK DISABLED- TEXT # DEF TDC$TXTL # 70 #; # CHAR COUNT OF -TERMINAL DISABLED- TEXT # DEF TDC$TXT2L # 50 #; # CHAR COUNT OF -TRMNL DISABLED 2- TEXT # DEF TRC$TXTL # 50 #; # CHAR COUNT OF -TRUNK DISABLED- TEXT # ITEM CNST1; # CONSTANT ---> 1 # ITEM CNST2; # CONSTANT ---> 2 # ITEM CNST3; # CONSTANT ---> 3 # ITEM I; # LOOP INDUCTION VARIABLE # # THIS ARRAY DEFINES THE TEMPLATE THAT POINTS TO THE MESSAGE THAT IS TO BE SENT. # BASED ARRAY CDI$TXT [00:00] S(3); BEGIN ITEM CDI$TIM C(00,00,10); ITEM CDI$NNM C(01,36,07); ITEM CDI$NE C(02,24,03); END # THIS ARRAY IS USED AS A TEMPORY TO STORE A TEXT STRING TO BE LATER APPENDED TO THE OUT GOING TEXT. # ARRAY CTEMP$WORD [00:00] S(1); BEGIN ITEM CTEMP C(00,00,10); ITEM CTEMP3 C(00,42,03); END # THIS ARRAY DEFINES THE -LINE DISABLED- MESSAGE TEXT TO BE SENT WHEN A CDI/LI/U SM IS RECEIVED. # ARRAY LDC$TXT [00:00] S(5); BEGIN ITEM LDC$TIM C(00,00,10); ITEM LDC$NPU C(01,00,05) = ["NPU: "]; ITEM LDC$NNM C(01,30,07); ITEM LDC$C1 C(02,12,02) = [", "]; ITEM LDC$NE C(02,24,03); ITEM LDC$MSG C(02,42,15) = [" LINES DISABLED"]; ITEM LDC$ZBYT U(04,12,48) = [ 0 ]; END # THIS ARRAY DEFINES THE -LOGLINKS DISABLED- MESSAGE TEXT TO BE SENT WHEN A CDI/LI/U SM IS RECEIVED. # ARRAY LLC$TXT [00:00] S(6); BEGIN ITEM LLC$TIM C(00,00,10); ITEM LLC$NPU C(01,00,05) = ["NPU: "]; ITEM LLC$NNM C(01,30,07); ITEM LLC$C1 C(02,12,02) = [", "]; ITEM LLC$NE C(02,24,03); ITEM LLC$MSG C(02,42,23) = [" LOGICAL LINKS DISABLED"]; ITEM LLC$ZBYT U(05,00,60) = [ 0 ]; END # THIS ARRAY DEFINES THE -TERMINALS DISABLED- MESSAGE TEXT TO BE SENT WHEN A CDI/TE/U SM IS RECEIVED. # ARRAY TDC$TXT [00:00] S(7); BEGIN ITEM TDC$TIM C(00,00,10); ITEM TDC$NPU C(01,00,05) = ["NPU: "]; ITEM TDC$NNM C(01,30,07); ITEM TDC$C1 C(02,12,02) = [", "]; ITEM TDC$NE C(02,24,03); ITEM TDC$MSG C(02,42,29) = [" TERMINALS DISABLED ON LINE: "]; ITEM TDC$LNM C(05,36,07); ITEM TDC$ZBYT U(06,18,42) = [ 0 ]; END # * THIS ARRAY DEFINES THE -TERMINALS DISABLED- MESSAGE TEXT TO BE * SENT WHEN A CDI/TE/U SM IS RECEIVED AND THERE IS NO LINE FOUND * SUPPORTING THE DEVICES. # ARRAY TDC$TXT2 [00:00] S(5); BEGIN ITEM TD2$TIM C(00,00,10); ITEM TD2$NPU C(01,00,05) = ["NPU: "]; ITEM TD2$NNM C(01,30,07); ITEM TD2$C1 C(02,12,02) = [", "]; ITEM TD2$NE C(02,24,03); ITEM TD2$MSG C(02,42,19) =[" TERMINALS DISABLED"]; ITEM TD2$ZBYT U(04,36,24) = [0]; END # THIS ARRAY DEFINES THE -TRUNKS DISABLED- MESSAGE TEXT TO BE SENT WHEN A CDI/TR/U SM IS RECEIVED. # ARRAY TRC$TXT [00:00] S(5); BEGIN ITEM TRC$TIM C(00,00,10); ITEM TRC$NPU C(01,00,05) = ["NPU: "]; ITEM TRC$NNM C(01,30,07); ITEM TRC$C1 C(02,12,02) = [", "]; ITEM TRC$NE C(02,24,03); ITEM TRC$MSG C(02,42,16) = [" TRUNKS DISABLED"]; ITEM TRC$ZBYT U(04,18,42) = [0]; END # THIS ARRAY DEFINES THE LINE NAME USED WHEN ONE IS NOT FOUND IN THE LINE XREF TABLE. # ARRAY UNK$TXT [00:00] S(1); BEGIN ITEM UNK$NAM C(00,18,07) = ["UNKNOWN"]; END CONTROL EJECT; # # # CSESEC CODE BEGINS HERE # # # # * IF THIS SM IS CDI/TE/U, SEARCH THE LINE XREF TABLE GIVEN THE PORT * AND NODE I.D. FOR THE NAME OF THE LINE SUPPORTING THE DEVICE AND * APPEND IT TO THE TEXT. APPEND -TERMINALS DISABLED- MSG TO TEXT. # WCB$WORD[1] = 0; ABHWORD[1] = 0; IF WCB$SMID[0] EQ SMID"CDITE" THEN BEGIN FOR I=0 STEP 1 WHILE NOT (ABHSN[0] EQ LIX$NID[I] AND CDIP[0] EQ LIX$PORT[I]) AND I LS LIXL DO BEGIN END IF I LS LIXL THEN BEGIN CNST1 = 5; CNST2 = 36; CNST3 = 42; SSBSBF(TDC$TXT,CNST1,CNST2,CNST3,B<0,42>LIX$NAME[I]); P = LOC(TDC$TXT); ABHTLC[1] = TDC$TXTL; END ELSE BEGIN P = LOC(TDC$TXT2); ABHTLC[1] = TDC$TXT2L; END END # * IF THIS SM IS CDI/LI/U, THEN APPEND -LINE DISABLED- MESSAGE TO THE * TEXT AND SAVE THE LENGTH OF THE MESSAGE. # ELSE IF WCB$SMID[0] EQ SMID"CDILI" THEN BEGIN P = LOC(LDC$TXT); ABHTLC[1] = LDC$TXTL; END # * IF THIS SM IS CDI/LL/U, THEN APPEND -LOGICAL LINKS DISABLED- MSG * TO THE TEXT AND SAVE THE LENGTH OF THE MESSAGE. # ELSE IF WCB$SMID[0] EQ SMID"CDILL" THEN BEGIN P = LOC(LLC$TXT); ABHTLC[1] = LLC$TXTL; END # * IF THIS SM IS CDI/TR/U, THEN APPEND -TRUNKS DISABLED- MESSAGE TO * THE TEXT AND SAVE THE LENGTH OF THE MESSAGE. # ELSE IF WCB$SMID[0] EQ SMID"CDITR" THEN BEGIN P = LOC(TRC$TXT); ABHTLC[1] = TRC$TXTL; END # * APPEND THE CURRENT TIME TO THE TEXT. SEARCH THE NPUCB-S FOR THE * NAME OF THE NPU SUPPORTING THE ELEMENTS. APPEND THE NPU NAME TO * THE TEXT. SEND THE TEXT OUT TO THE OPERATOR RESPONSE QUEUE WITH * AN AUDIENCE OF ONE(HOP AND ALL NOP-S). # CDI$TIM[0] = CTM$CLOCK[0]; FOR I=0 STEP 1 WHILE ABHSN[0] NQ NPU$NID[I] AND I LS CSNPCNT DO BEGIN END IF I LS CSNPCNT THEN BEGIN CNST1 = 1; CNST2 = 30; CNST3 = 42; SSBSBF(CDI$TXT,CNST1,CNST2,CNST3,B<0,42>NPU$WORD[I]); END CTEMP[0] = XCDD(CDINE[0]); CDI$NE[0] = CTEMP3[0]; WCB$WC[1] = 2 + (ABHTLC[1] / 10); ABHADR[1] = AUDGR3$; ABHABN[1] = I; SSTAQE(P,WCBUF[1],ABH[1],CDI$TXT[0]); CSESLE(ABHSN[0],WCBUF[1],CDI$TXT); RETURN; # **** RETURN **** # END # CSESEC # TERM