*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<CDI$TXT> = LOC(TDC$TXT);
ABHTLC[1] = TDC$TXTL;
END
ELSE
BEGIN
P<CDI$TXT> = 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<CDI$TXT> = 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<CDI$TXT> = 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<CDI$TXT> = 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<ORQ>,WCBUF[1],ABH[1],CDI$TXT[0]);
CSESLE(ABHSN[0],WCBUF[1],CDI$TXT);
RETURN; # **** RETURN **** #
END # CSESEC #
TERM