*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
