*DECK CONLOG
USETEXT COMCBEG 
USETEXT COMCAPR 
USETEXT COMCCAE 
USETEXT COMQDEF 
USETEXT COMQFIL 
USETEXT COMQNET 
    PROC CONLOG (MSGTEXT, (MSGLENGTH)); 
      BEGIN   # CONLOG #
# 
**    CONLOG     LOG MESSAGE FOR CONNECTION.
* 
*     CONLOG ADDS CONNECTION NUMBER AND FILE NAME TO SPECIFIED
*     MESSAGE AND CALLS MSGLOG TO LOG IT. 
* 
*     PROC CONLOG (MSGTEXT, (MSGLENGTH) ) 
* 
*     ENTRY      MSGTEXT = MESSAGE TO BE LOGGED.
*                MSGLENTH = LENGTH IN CHARACTERS OF MSGTEXT.
*                ACN = APPLICATION CONNECTION NUMBER. 
* 
*     EXIT       MESSAGE HAS BEEN LOGGED. 
* 
*     PROCESS    PREFIX ACN AND FILE NAME TO MESSAGE
*                CALL MSGLOG (LOG ERROR MESSAGE). 
*                IF INITIATOR:  
*                  CALL WRITEC (WRITE MESSAGE ON CONNECTION LOG FILE).
# 
  
      BASED ARRAY MSGTEXT [0:0] S(7); 
        BEGIN 
        ITEM MSGTEXT$   C(00,00,70);  # MESSAGE TO BE LOGGED #
        END 
  
      ITEM MSGLENGTH I;            # LENGTH OF MESSAGE IN CHARACTERS #
  
# 
****  XREF
# 
      XREF
        BEGIN 
        FUNC CLOCK     C(10);      # RETURN TIME-OF-DAY # 
        PROC MSGLOG ;              # LOG MESSAGE #
        PROC NAME;                 # DEBUG CODE # 
        PROC WRITEC;               # WRITE ZERO-BYTE LINE # 
        FUNC XSFW      C(10);      # CONVERT ZEROS TO BLANKS #
        END 
  
# 
****  XREF END
# 
  
  
      DEF MSGHDRLEN  #18#;
  
      DEF MSGTXTLEN  #60#;
  
      BASED ARRAY CLFARRAY; ;      # POINTS TO CLF #
  
      ARRAY MSGAREA [0:0] S(9); 
        BEGIN 
        ITEM MSGCLOCK   C(00,00,10); # TIME-OF-DAY CLOCK #
        ITEM MSGAREA1   U(01,00,60); # MESSAGE WITHOUT CLOCK #
        ITEM MSGQTF     C(01,00,04) = [" QTF"]; 
        ITEM MSGSP1     C(01,24,03) = [", -"];
        ITEM MSGACN     U(01,42,06);
        ITEM MSGSP2     C(01,48,02) = ["- "]; 
        ITEM MSGFILENAM C(02,00,07);
        ITEM MSGSP3     C(02,42,01) = [" "];
        ITEM MSGDATA    C(02,48,MSGTXTLEN); 
        ITEM MSGLINE1   C(01,00,40);
        ITEM MSGLINE2   C(05,00,40);
        END 
  
        $BEGIN
        NAME("CONLOG"); 
        $END
  
      MSGACN = ACN + O"33";        # CONVERT ACN TO DISPLAY CODE #
      MSGFILENAM = XSFW(FILEQFNC);
      MSGDATA = MSGTEXT$; 
      IF MSGLENGTH GT MSGTXTLEN 
      THEN
        BEGIN 
        MSGLENGTH = MSGTXTLEN;
        END 
  
      FILEMSG = C<00,MSGLENGTH>MSGTEXT$;
      MSGLENGTH = MSGLENGTH + MSGHDRLEN;
      MSGLOG(LOC(MSGAREA1),MSGLENGTH);
      IF (NOT QRCV) 
        AND (FILECLF NE 0)
      THEN
        BEGIN 
        P<CLFARRAY> = FILECLF;
        MSGCLOCK = CLOCK( (MSGCLOCK) ); 
        WRITEC (CLFARRAY, MSGAREA); 
        END 
  
      END  # CONLOG # 
    TERM
