 pag

*
* TTY Structure
*
* A tty structure is required for each character type
* i/o device used for standard terminal i/o.
*

* struct tty

 base 0

tqin rmb 2 pointer to in q clist str
tqproc rmb 2 pointer to proccessed q clist str
tqout rmb 2 pointer to out q clist str
taddr rmb 2 device address
tflags rmb 1 mode flags
tdelay rmb 1 time out definitions
tdevic rmb 2 device name
tdel rmb 1 raw delimiter count
tcolm rmb 1 printing column
tbksp rmb 1 back space character
tcncl rmb 1 line cancel character
tbaud rmb 1 device baud rates
tbaud2 rmb 1 actual baud rate (for baud rate generator)
tstate rmb 1 internal state
tstat2 rmb 1 rest of states

TTYSIZ equ *


* modes

RAW equ %00000001 raw or cooked mode
ECHO equ %00000010 echo characters
XTABS equ %00000100 expand tabs
LCASE equ %00001000 map to lower case
CRMOD equ %00010000 map NL to CR & LF
BSECH equ %00100000 backspace echo flag
SCHR equ %01000000 single character input
CNTRL equ %10000000 ignore control characters

* internal states

TIMOUT equ %00000001 timeout in progress
HOLD equ %00000010 output suspended
TOPEN equ %00000100 terminal has been opened
XMITING equ %00001000 set while device has not yet sent all chars
TOPWOC equ %00010000 open without carrier detect
XANY equ %00100000 any char restarts output
XONXOF equ %01000000 enable XON/XOFF processing
ESCOFF equ %10000000 disable ESC processing

* delays

DELNL equ %00000011 new line
DELCR equ %00001100 carriage return
DELTB equ %00010000 tabs
DELVT equ %00100000 vertical tabs
DELFF equ %00100000 form feed

