|
|
1.1 root 1: /*
2: * TTY line discipline processing
3: */
4: struct ttyld
5: {
6: short t_flags; /* mode, settable by ioctl call */
7: short t_state; /* internal state, not visible externally */
8: char t_delct; /* number of delimiters in input q */
9: char t_col; /* printing column of device */
10: char t_erase; /* erase character */
11: char t_kill; /* kill character */
12: struct tchars t_chr;
13: };
14:
15: #define CTRL(c) ((c)&037)
16:
17: /* default special characters */
18: #define CERASE '\010'
19: #define CEOT CTRL('d')
20: #define CKILL '@'
21: #define CQUIT 034 /* FS, cntl shift L */
22: #define CINTR 0177 /* DEL */
23: #define CSTOP CTRL('s')
24: #define CSTART CTRL('q')
25: #define CBRK 0377
26:
27: /* define partab character types */
28: #define ORDINARY 0
29: #define CONTROL 1
30: #define BACKSPACE 2
31: #define NEWLINE 3
32: #define TAB 4
33: #define VTAB 5
34: #define RETURN 6
35:
36: /* states */
37: #define TTSTOP 01 /* stopped by CTL S */
38: #define TTESC 02 /* have just seen \ */
39: #define TTCR 04 /* turning LF into CRLF */
40: #define TTUSE 010 /* this structure in use */
41: #define TTBLOCK 020 /* have sent tandem STOP */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.