*DECK CSESDS USETEXT TEXTCS USETEXT TEXTSS USETEXT TXCMDCS USETEXT TXTAPSS PROC CSESDS; # TITLE - SEND DEBUG SIGNAL. # BEGIN # ** CSESDS - SEND DEBUG SIGNAL. * * D.G. DEPEW. 82/10/01. * * THIS PROCEDURE RECEIVES ERR/LGL AND UNRECOGNIZED SMS IN NON-DEBUG * MODE ONLY (IN DEBUG MODE *CSDDNT* WILL ABORT), AND GENERATES * CORRESPONDING UNSOLICITED REPORTS AND NETWORK LOG FILE ENTRIES TO * SIGNAL THE OCCURANCE OF THESE ANAMOLIES. * * PROC CSESDS * * ENTRY WCBUF[0] = WORD COUNT WORD FROM ORIGINAL EVENT QUEUE * (*EVQ*) ENTRY. * ABHBUF[0] = APPLICATION BLOCK (EVENT) HEADER FOR THE SM * (BASED ARRAY *ABH* IN *TXTAPSS* POINTS HERE). * MSGBUF[0] = BODY OF THE SM (BASED ARRAYS *CSSM* IN * *TXTSMCS* AND *APSM* IN *TXTAPSS* POINT HERE). * * EXIT 1. AN ENTRY HAS BEEN PLACED IN THE OPERATOR RESPONSE * QUEUE (*ORQ*). * 2. A HOP/LG SM ENTRY HAS BEEN PLACED THE OUTGOING * TRAFFIC QUEUE (*OTQ*). # # **** PROC CSESDS - XREF LIST. # XREF BEGIN PROC CSESLE; # SEND NETWORK LOG ENTRY # PROC MOVEI; # MOVE STORAGE INDIRECT ADDRESS (MACREL) # PROC SSBSBF; # STORE BITFIELD # PROC SSTAQE; # ADD QUEUE ENTRY # FUNC XCHD; # CONVERT INTEGER TO HEXIDECIMAL DISPLAY # END # **** # DEF LEVTMSG$ #4#; # LENGTH OF EVENT MESSAGE TEXT IN WORDS # ITEM WP; # WORD POS FOR DISP CODE PFC/SFC IN EVENT # ITEM BP; # BIT POS FOR DISP CODE PFC/SFC IN EVENT # # * THE FOLLOWING ARRAYS ARE EVENT MESSAGES FOR UNRECOGNIZED AND * ERR/LGL SUPERVISORY MESSAGES. # ARRAY BADSM [00:00] S(LEVTMSG$); BEGIN ITEM BS$TEXT C(00,00,30) = ["UNRECOGNIZED SM, PFC/SFC = "]; ITEM BS$ZERO U(03,00,60) = [0]; END ARRAY LOGERR [00:00] S(LEVTMSG$); BEGIN ITEM LE$TEXT C(00,00,30) = ["LOGICAL ERROR, PFC/SFC = "]; ITEM LE$ZERO U(03,00,60) = [0]; END # * CHECK WHETHER THIS IS AN ERR/LGL SM AND USE THE APPROPRIATE ERROR * MESSAGE. STORE THE DISPLAY CODED PFC/SFC IN THE MESSAGE TEXT. * TIME STAMP THE MESSAGE. # IF PFCSFC[0] EQ ERRLGL THEN # ERR/LGL/U SM # BEGIN WP = 2; # SET POS OF DISP CODED PFC/SFC # BP = 30; SSBSBF (LOGERR, WP, BP, 24, XCHD(X"10000" + ERPSFC[0])); MOVEI (LEVTMSG$, LOC(LOGERR), LOC(CMD$TEXT[0])); END ELSE # UNRECOGNIZED SM # BEGIN WP = 2; # SET POS OF DISP CODED PFC/SFC # BP = 42; SSBSBF (BADSM, WP, BP, 24, XCHD(X"10000" + PFCSFC[0])); MOVEI (LEVTMSG$, LOC(BADSM), LOC(CMD$TEXT[0])); END CMD$TXT1[0] = CTM$CLOCK[0]; # * NOW BUILD AND ISSUE THE *ORQ* AND THE HOP/LG *OTQ* ENTRIES. # WCB$WORD[1] = LEVTMSG$ + 3; ABHWORD[1] = 0; ABHADR[1] = AUDGR2$; # HOP AND CONTROL NOP # P = LOC (CMD$TXT1[0]); SSTAQE (P, WCBUF[1], ABHBUF[1], MSCMD[0]); CSESLE (0, WCBUF[1], MSCMD[0]); # ISSUE HOP/LG # END # CSESDS # TERM