; 29 jly 85 esj added timeout support ; 17 jly 85 esj converted ;;;;;;;;;;; TGETCH ;;;;;;;;;;;; E'F A:S(NWLS) E'O TGETCH.(XCHAR,UNIT) ; PURPOSE ; get a CHAR from the TTY without echoing it ; INPUT ; none ; OUTPUT I'R XCHAR ; char output- char in lo byte I'R UNIT ; unit we expect input from ; LOCAL STORAGE I'R TYPE ; type of input from tis I'R COUNT ; count of char input from tis I'R CHBUF ; buffer of char input from tis I'R TISUNIT ; unit the input came from ; global G'L TIMEOUT(1) G'L LOCALDEV G'L HOSTON /INCLUDE BYU.PROG.KERMIT.SYM.EQU.KERDEF # E'E TYPOUT.( 2,UNIT ) # E'E TYPEMSG.($ <--- UNIT TO GET INPUT FROM!$ ) R'T E'E INPUT.(TISUNIT, TYPE, COUNT, CHBUF) W'R HOSTON .E. NO .AND. TISUNIT .E. LOCALDEV ; we probably hung, so abort to rpack as a bad packet E'E LBLGO.(TIMEOUT) E'L U'L UNIT .E. TISUNIT # E'E TYPEHEX.(CHBUF) XCHAR = CHBUF .LAND. '7F'X F'N OK E'N