*DECK CSESLE
USETEXT TEXTCS
USETEXT TEXTSS
USETEXT TXTAPSS
USETEXT TXTSMCS
PROC CSESLE(NID,WC$WORD,MSG$TXT);
# TITLE - SEND LOG (FILE) ENTRY. #
BEGIN
#
** CSESLE - SEND LOG (FILE) ENTRY.
*
* D.K. ENDO 82/04/19
*
* THIS PROCEDURE FORMATS AND SENDS A MESSAGE TEXT TO THE NETWORK LOG
* FILE.
*
* PROC CSESLE(NID,WC$WORD,MSG$TXT)
*
* ENTRY 1. NID = NODE I.D. OF NPU THAT SENT MESSAGE.
* 2. WC$WORD = WORD COUNT WORD.
* 3. MSG$TXT = MESSAGE TEXT.
*
* EXIT 1. HOP/LG SM AS ENTRY IN THE OUTBOUND TRAFFIC QUEUE.
*
#
#
**** PROC CSESLE - XREF LIST BEGINS.
#
XREF
BEGIN
PROC MOVEI; # MOVES A BLOCK OF CM WORDS #
PROC SSTAQE; # ACCEPT QUEUE ENTRY #
END
#
****
#
ITEM NID; # NODE I.D. OF NPU THAT SENT SM #
ITEM WC$WORD; # WORD COUNT WORD #
#
THIS ARRAY DEFINES THE BUFFER OF THE MESSAGE TEXT TO BE ENTERED
IN THE NETWORK LOG FILE.
#
ARRAY MSG$TXT [00:09] S(1);
BEGIN
ITEM MST$WORD C(00,00,10);
END
ITEM ABHTEMP; # ABH TEMPORARY #
ITEM I; # LOOP INDUCTION VARIABLE #
ITEM WCBTEMP; # WCB TEMPORARY #
#
THIS ARRAY DEFINES THE NPU IDENTIFIER APPENDED TO THE TEXT BEFORE
SENT TO THE LOG FILE.
#
ARRAY NID$ID [00:00] S(1);
BEGIN
ITEM NID$IDENT C(00,00,03) = ["NP/"];
ITEM NID$NAME C(00,18,07);
ITEM NID$WORD I(00,00,60);
END
CONTROL EJECT;
# #
# CSESLE CODE BEGINS HERE #
# #
#
* BUILD WORD COUNT WORD FOR SM. BUILD ABH WORD FOR SM. ADD PFCSFC
* FOR HOP/LG/S TO BUFFER. ADD THE APPLICATION IDENTIFIER(NP/) TO
* THE BUFFER. STORE THE MESSAGE TEXT TO THE BUFFER. IF THE TIME
* FIELD IN THE MESSAGE IS BLANK, THEN INSERT THE CURRENT TIME.
* SEND THE SM OFF TO THE OUTBOUND TRAFFIC QUEUE.
#
WCBTEMP = WCB$WORD[1];
WCB$WORD[1] = WC$WORD;
WCB$WC[1] = WCB$WC[1] + 2;
ABHTEMP = ABHWORD[1];
ABHWORD[1] = 0;
ABHABT[1] = APPCMD;
ABHACT[1] = CT60TRANS;
ABHTLC[1] = WCB$WC[1] - 2;
IF NID NQ 0
THEN
BEGIN
FOR I=0 STEP 1 WHILE NID NQ NPU$NID[I] AND
I LS CSNPCNT
DO
BEGIN
END
IF I LS CSNPCNT
THEN
BEGIN
NID$NAME[0] = NPU$NAME[I];
END
ELSE
BEGIN
NID$NAME[0] = "UNKNOWN";
END
SPMSG1[1] = NID$WORD[0];
END
ELSE
BEGIN
SPMSG1[1] = "CS/ ";
END
SPMWD[1] = 0;
PFCSFC[1] = HOPLG;
MOVEI(WCB$WC[1]-3,LOC(MST$WORD[0]),LOC(SPMSG2[1]));
IF MST$WORD[0] EQ " "
THEN
BEGIN
SPMSG2[1] = CTM$CLOCK[0];
END
SSTAQE(P<OTQ>,WCBUF[1],ABH[1],CSSM[1]);
WCB$WORD[1] = WCBTEMP;
ABHWORD[1] = ABHTEMP;
RETURN; # **** RETURN **** #
END # CSESLE #
TERM