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$