home *** CD-ROM | disk | FTP | other *** search
- /*
- * A clist structure is the head
- * of a linked list queue of characters.
- * The characters are stored in 4-word
- * blocks containing a link and 6 characters.
- * The routines getc and putc (m45.s or m40.s)
- * manipulate these structures.
- */
- struct clist
- {
- int c_cc; /* character count */
- int c_cf; /* pointer to first block */
- int c_cl; /* pointer to last block */
- };
-
- /*
- * A tty structure is needed for
- * each UNIX character device that
- * is used for normal terminal IO.
- * The routines in tty.c handle the
- * common code associated with
- * these structures.
- * The definition and device dependent
- * code is in each driver. (kl.c dc.c dh.c)
- */
- struct tty
- {
- struct clist t_rawq; /* input chars right off device */
- struct clist t_canq; /* input chars after erase and kill */
- struct clist t_outq; /* output list to device */
- int t_flags; /* mode, settable by stty call */
- int *t_addr; /* device address (register or startup fcn) */
- char t_delct; /* number of delimiters in raw q */
- char t_col; /* printing column of device */
- char t_erase; /* erase character */
- char t_kill; /* kill character */
- char t_state; /* internal state, not visible externally */
- char t_char; /* character temporary */
- int t_speeds; /* output+input line speed */
- int t_dev; /* device name */
- };
-
- char partab[]; /* ASCII table: parity, character class */
-
- #define TTIPRI 10
- #define TTOPRI 20
-
- #define CERASE '#' /* default special characters */
- #define CEOT 004
- #define CKILL '@'
- #define CQUIT 034 /* FS, cntl shift L */
- #define CINTR 0177 /* DEL */
-
- /* limits */
- #define TTHIWAT 50
- #define TTLOWAT 30
- #define TTYHOG 256
-
- /* modes */
- #define HUPCL 01
- #define XTABS 02
- #define LCASE 04
- #define ECHO 010
- #define CRMOD 020
- #define RAW 040
- #define ODDP 0100
- #define EVENP 0200
- #define NLDELAY 001400
- #define TBDELAY 006000
- #define CRDELAY 030000
- #define VTDELAY 040000
-
- /* Hardware bits */
- #define DONE 0200
- #define IENABLE 0100
-
- /* Internal state bits */
- #define TIMEOUT 01 /* Delay timeout in progress */
- #define WOPEN 02 /* Waiting for open to complete */
- #define ISOPEN 04 /* Device is open */
- #define SSTART 010 /* Has special start routine at addr */
- #define CARR_ON 020 /* Software copy of carrier-present */
- #define BUSY 040 /* Output in progress */
- #define ASLEEP 0100 /* Wakeup when output done */
-