*DECK CSEDEQ
USETEXT TEXTCS
USETEXT TEXTSS
USETEXT TXTAPSS
USETEXT TXTSMCS
PROC CSEDEQ;
# TITLE - DISPATCH EVENT QUEUE ENTRY. #
BEGIN
#
** CSEDEQ - DISPATCH EVENT QUEUE ENTRY.
*
* D.K. ENDO 82/03/12
*
* THIS PROCEDURE REMOVES ENTRIES FROM THE EVENT QUEUE AND CALLS THE
* APPROPRIATE PROC TO PROCESS THE ENTRY.
*
* PROC CSEDEQ
*
* ENTRY 1. THE EVENT QUEUE WITH ONE OR MORE ENTRIES.
*
* EXIT 2. EMPTY EVENT QUEUE.
*
#
#
**** PROC CSEDEQ - XREF LIST BEGINS.
#
XREF
BEGIN
PROC CSESAM; # SEND ALARM (AND ERROR LOG) MESSAGE #
PROC CSESCM; # SEND (OPERATOR) CONTROL MESSAGE #
PROC CSESCS; # SEND COUPLER STATUS #
PROC CSESCT; # SEND COMMAND TEXT #
PROC CSESDA; # SEND DI ACCOUNTING DATA #
PROC CSESDE; # SEND DIAGNOSTICS END MESSAGE #
PROC CSESDM; # SEND (STATUS) DONE MESSAGE #
PROC CSESDS; # SEND DEBUG SIGNAL #
PROC CSESEC; # SEND (DISABLED) ELEMENT COUNT #
PROC CSESES; # SEND ELEMENT-S STATISTICS #
PROC CSESIM; # SEND IDLE-DOWN MESSAGE #
PROC CSESLL; # SEND LOGICAL LINK STATUS #
PROC CSESLS; # SEND LINE STATUS #
PROC CSESNS; # SEND NPU STATUS #
PROC CSESOD; # SEND ONLINE DIAGNOSTIC #
PROC CSESOM; # SEND OPERATOR MESSAGE #
PROC CSESSM; # SEND SUPERVISION MESSAGE #
PROC CSESTR; # SEND TRUNK STATUS #
PROC CSESTS; # SEND TERMINAL STATUS #
PROC CSESVC; # SEND ARCHETYPE SVC STATUS #
PROC SSTRQE; # REMOVE QUEUE ENTRY #
END
#
****
#
ITEM I; # LOOP INDUCTION VARIABLE #
ITEM J; # LOOP INDUCTION VARIABLE #
CONTROL EJECT;
# #
# CSEDEQ CODE BEGINS HERE #
# #
#
* FOR EACH ENTRY IN THE EVENT QUEUE, ROUTE IT TO THE APPROPRIATE
* ROUTINE TO PROCESS THE ENTRY.
#
FOR I=0 WHILE EVQL GR 0
DO
BEGIN
FOR J=0 STEP 1 UNTIL MSBFAPL - 1
DO
BEGIN
MSG$WORD[J] = 0;
END
SSTRQE(P<EVQ>,WCBUF[0],ABH[0],CSSM[0]);
IF WCB$SMID[0] EQ SMID"STUTE" OR
WCB$SMID[0] EQ SMID"STUTEN" OR
WCB$SMID[0] EQ SMID"MSGTEA"
THEN
BEGIN
CSESTS;
END
ELSE IF WCB$SMID[0] EQ SMID"STULI" OR
WCB$SMID[0] EQ SMID"STULIN" OR
WCB$SMID[0] EQ SMID"MSGLIA"
THEN
BEGIN
CSESLS;
END
ELSE IF WCB$SMID[0] EQ SMID"STUNP" OR
WCB$SMID[0] EQ SMID"STUNPN"
THEN
BEGIN
CSESNS;
END
ELSE IF WCB$SMID[0] EQ SMID"STULL" OR
WCB$SMID[0] EQ SMID"STULLN" OR
WCB$SMID[0] EQ SMID"MSGLLA"
THEN
BEGIN
CSESLL;
END
ELSE IF WCB$SMID[0] EQ SMID"STUTR" OR
WCB$SMID[0] EQ SMID"STUTRN"
THEN
BEGIN
CSESTR;
END
ELSE IF WCB$SMID[0] EQ SMID"STUCP" OR
WCB$SMID[0] EQ SMID"STUCPN"
THEN
BEGIN
CSESCS;
END
ELSE IF WCB$SMID[0] EQ SMID"STUVC" OR
WCB$SMID[0] EQ SMID"STUVCN"
THEN
BEGIN
CSESVC;
END
ELSE IF WCB$SMID[0] EQ SMID"STUFIN"
THEN
BEGIN
CSESDM;
END
ELSE IF WCB$SMID[0] EQ SMID"CMDTXT"
THEN
BEGIN
CSESCT;
END
ELSE IF WCB$SMID[0] EQ SMID"OLDDT"
THEN
BEGIN
CSESOD;
END
ELSE IF WCB$SMID[0] EQ SMID"OLDINN" OR
WCB$SMID[0] EQ SMID"OLDINA"
THEN
BEGIN
CSESDE;
END
ELSE IF WCB$SMID[0] EQ SMID"SUPINN" OR
WCB$SMID[0] EQ SMID"SUPCB" OR
WCB$SMID[0] EQ SMID"SUPINA" OR
WCB$SMID[0] EQ SMID"SUPGO" OR
WCB$SMID[0] EQ SMID"SUPGOI" OR
WCB$SMID[0] EQ SMID"SUPINUN"
THEN
BEGIN
CSESSM;
END
ELSE IF WCB$SMID[0] EQ SMID"SHUINS"
THEN
BEGIN
CSESIM;
END
ELSE IF WCB$SMID[0] EQ SMID"CTRLOFF" OR
WCB$SMID[0] EQ SMID"CTRLON"
THEN
BEGIN
CSESCM;
END
ELSE IF WCB$SMID[0] EQ SMID"ALMOP" OR
WCB$SMID[0] EQ SMID"LOGER"
THEN
BEGIN
CSESAM;
END
ELSE IF WCB$SMID[0] EQ SMID"CDITE" OR
WCB$SMID[0] EQ SMID"CDILI" OR
WCB$SMID[0] EQ SMID"CDILL" OR
WCB$SMID[0] EQ SMID"CDITR"
THEN
BEGIN
CSESEC;
END
ELSE IF WCB$SMID[0] EQ SMID"MSGOP"
THEN
BEGIN
CSESOM;
END
ELSE IF WCB$SMID[0] EQ SMID"STINP" OR
WCB$SMID[0] EQ SMID"STITR" OR
WCB$SMID[0] EQ SMID"STILI"
THEN
BEGIN
CSESES;
END
ELSE IF WCB$SMID[0] EQ SMID"STIAP" OR
WCB$SMID[0] EQ SMID"STITE"
THEN
BEGIN
CSESDA;
END
ELSE
#
* IF THIS SM IS NOT RECOGNIZABLE OR IS AN ERR/LGL SM, THEN SEND AN
* UNSOLICITED STATUS REPORT TO THE HOP AND THE CONTROLLING NOP, AND
* MAKE AN ENTRY IN THE NETWORK LOG FILE TO RECORD THE ANOMALY.
#
BEGIN
CSESDS;
END
END # FOR LOOP #
RETURN; # **** RETURN **** #
END # CSEDEQ #
TERM