SPL,L,O,M 
!     NAME:   CT..
!     SOURCE: 92067-18254 
!     RELOC:  92067-16185 
!     PGMR:   B.L.
! 
!  ***************************************************************
!  * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979.  ALL RIGHTS     *
!  * RESERVED.  NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED,      *
!  * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT*
!  * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY.       *
!  ***************************************************************
! 
       NAME CT..(8) "92067-16185 REV.1903 790226" 
! 
       LET NAMR,                       \NAMR PARSE ROUTINE
           OPENF,                      \FMP TYPE 0/FILE OPEN
           XLUEX                       \EXTENDED LU EXEC
              BE SUBROUTINE,EXTERNAL
       LET .CLRB                       \CLEAR TERMINAL BIT MAP
              BE SUBROUTINE,EXTERNAL,DIRECT 
       LET XFTTY,                      \EXTENDED LU TTY? ROUTINE
           LUTRU                       \FETCH TRUE (SYSTEM) LU
              BE FUNCTION,EXTERNAL
       LET C.BUF(40),                  \COMMAND INPUT BUFFER
           ECH.,                       \COMMAND LENGTH
           N.OPL,                      \SUBPARAMETER ARRAY
           O.BUF                       \OUTPUT DCB
              BE INTEGER,EXTERNAL 
       LET CNTWD(2),                   \LU-CONTROL WORDS
           IPBUF(10)                   \NAMR PARSE RETURN BUFFER
              BE INTEGER
       LET WRITE                       \WRITE MESSAGE SUBROUTINE
              BE SUBROUTINE 
       LET A BE CONSTANT(0) 
! 
! 
CT..:  SUBROUTINE (NUM,PLIST,ERR) GLOBAL
       LET NUM,PLIST,ERR BE INTEGER 
       SUBFN_[FUNCT_[FUNC_[NAMF_@PLIST+1]+3]+1]+4 
       IFNOT PLIST THEN [ERR_55;RETURN]       !MISSING FIRST PARM 
       TRLU_$NAMF                             !SAVE LU
       CALL OPENF(O.BUF,ERR,$NAMF,10K,N.OPL)  !TYPE 0 FILE OPEN 
       IF ERR < 0 THEN RETURN                 !RETURN IF OPEN ERROR 
       IF $(@O.BUF+2) THEN [ERR_56;RETURN]    !NOT TYPE 0 FILE
       CNTWD(1)_$(@O.BUF+3)                   !TYPE 0 LU
       IA_XFTTY(CNTWD(1))                     !CHECK IF INTERACTIVE 
       IFNOT IA THEN [ERR_72;RETURN]          !ERROR, NON-INTERACTIVE 
       IFNOT $FUNC THEN                       \DEFAULT TO ENABLE TERM 
          [CNTWD(2)_2000K;GO TO SUBFU]
       IF $FUNC=3 THEN [ERR_56;RETURN]        !IF ASCII, ERROR
       CNTWD(2)_$FUNCT<-6                     !POSITION TO CORRECT BITS 
! 
SUBFU: IF CNTWD(2)=2000K THEN                 \IF ENABLE REQUEST, 
          [TRLU_LUTRU(TRLU);                  \GET TRUE LU
           IF TRLU = -1 THEN                  \IF NOT DEFINED, THEN 
              [ERR_43;RETURN];                \RETURN ERROR 
           $A_TRLU; CALL .CLRB;               \CLEAR TERM. BIT MAP
           CALL XLUEX(100003K,CNTWD,$SUBFN);  \ISSUE ENABLE BEFORE
           RETURN;                            \RETURN ON ERROR
           CALL WRITE],                       \WRITE MESSAGE
       ELSE [CALL WRITE;                      \ELSE WRITE MESSAGE 1ST,
             IF ERR THEN RETURN;              \RETURN ON WRITE ERROR
             CALL XLUEX(100003K,CNTWD,$SUBFN);\ISSUE CONTROL REQUEST
             RETURN;                          \ 
             RETURN]
       RETURN 
       END
! 
WRITE: SUBROUTINE 
       IS_1                                   !STARTING CHAR FOR PARSE
       REPEAT 4 TIMES DO                      \PARSE UNTIL MESSAGE
          [CALL NAMR(IPBUF,C.BUF,81-IS,IS);   \PARAMETER OR UNTIL 
           IF IS>80 THEN RETURN]              !END OF COMMAND 
       I_IS/2 
       IF(I*2 # IS) THEN I_I+1,              \IF ODD, ADD EXTRA WORD
          ELSE C.BUF(I)_(C.BUF(I) AND 377K) OR 20000K !ELSE PAD BLANK 
       IF I>ECH. THEN RETURN
       TEMP_CNTWD(2);CNTWD(2)_0               !SAVE CONTROL WORD
       CALL XLUEX(100002K,CNTWD,C.BUF(I),ECH.-I+1) !WRITE MESSAGE 
       RETURN 
       CNTWD(2)_TEMP                          !RESTORE CONTROL WORD 
       RETURN 
       END
       END
       END$ 
                                                                                                                                                                                                                                  