|
|
1.1 root 1: /*
2: * Mach Operating System
3: * Copyright (c) 1991,1990 Carnegie Mellon University
4: * All Rights Reserved.
5: *
6: * Permission to use, copy, modify and distribute this software and its
7: * documentation is hereby granted, provided that both the copyright
8: * notice and this permission notice appear in all copies of the
9: * software, derivative works or modified versions, and any portions
10: * thereof, and that both notices appear in supporting documentation.
11: *
12: * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
13: * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
14: * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
15: *
16: * Carnegie Mellon requests users of this software to return to
17: *
18: * Software Distribution Coordinator or [email protected]
19: * School of Computer Science
20: * Carnegie Mellon University
21: * Pittsburgh PA 15213-3890
22: *
23: * any improvements or extensions that they make and grant Carnegie Mellon
24: * the rights to redistribute these changes.
25: */
26: /*
27: * Author: David B. Golub, Carnegie Mellon University
28: * Date: ll/90
29: *
30: * Status information for tty.
31: */
32:
33: struct tty_status {
34: int tt_ispeed; /* input speed */
35: int tt_ospeed; /* output speed */
36: int tt_breakc; /* character to deliver when break
37: detected on line */
38: int tt_flags; /* mode flags */
39: };
40: #define TTY_STATUS_COUNT (sizeof(struct tty_status)/sizeof(int))
41: #define TTY_STATUS (dev_flavor_t)(('t'<<16) + 1)
42:
43: /*
44: * Speeds
45: */
46: #define B0 0
47: #define B50 1
48: #define B75 2
49: #define B110 3
50: #define B134 4
51: #define B150 5
52: #define B200 6
53: #define B300 7
54: #define B600 8
55: #define B1200 9
56: #define B1800 10
57: #define B2400 11
58: #define B4800 12
59: #define B9600 13
60: #define EXTA 14 /* XX can we just get rid of EXTA and EXTB? */
61: #define EXTB 15
62: #define B19200 EXTA
63: #define B38400 EXTB
64: #define B57600 16
65: #define B115200 17
66:
67: #define NSPEEDS 18
68:
69: /*
70: * Flags
71: */
72: #define TF_TANDEM 0x00000001 /* send stop character when input
73: queue full */
74: #define TF_ODDP 0x00000002 /* get/send odd parity */
75: #define TF_EVENP 0x00000004 /* get/send even parity */
76: #define TF_ANYP (TF_ODDP|TF_EVENP)
77: /* get any parity/send none */
78: #define TF_LITOUT 0x00000008 /* output all 8 bits
79: otherwise, characters >= 0x80
80: are time delays XXX */
81: #define TF_MDMBUF 0x00000010 /* start/stop output on carrier
82: interrupt
83: otherwise, dropping carrier
84: hangs up line */
85: #define TF_NOHANG 0x00000020 /* no hangup signal on carrier drop */
86: #define TF_HUPCLS 0x00000040 /* hang up (outgoing) on last close */
87:
88: /*
89: * Read-only flags - information about device
90: */
91: #define TF_ECHO 0x00000080 /* device wants user to echo input */
92: #define TF_CRMOD 0x00000100 /* device wants \r\n, not \n */
93: #define TF_XTABS 0x00000200 /* device does not understand tabs */
94:
95: /*
96: * Modem control
97: */
98: #define TTY_MODEM_COUNT (1) /* one integer */
99: #define TTY_MODEM (dev_flavor_t)(('t'<<16) + 2)
100:
101: #define TM_LE 0x0001 /* line enable */
102: #define TM_DTR 0x0002 /* data terminal ready */
103: #define TM_RTS 0x0004 /* request to send */
104: #define TM_ST 0x0008 /* secondary transmit */
105: #define TM_SR 0x0010 /* secondary receive */
106: #define TM_CTS 0x0020 /* clear to send */
107: #define TM_CAR 0x0040 /* carrier detect */
108: #define TM_RNG 0x0080 /* ring */
109: #define TM_DSR 0x0100 /* data set ready */
110:
111: #define TM_BRK 0x0200 /* set line break (internal) */
112: #define TM_HUP 0x0000 /* close line (internal) */
113:
114: /*
115: * Other controls
116: */
117: #define TTY_FLUSH_COUNT (1) /* one integer - D_READ|D_WRITE */
118: #define TTY_FLUSH (dev_flavor_t)(('t'<<16) + 3)
119: /* flush input or output */
120: #define TTY_STOP (dev_flavor_t)(('t'<<16) + 4)
121: /* stop output */
122: #define TTY_START (dev_flavor_t)(('t'<<16) + 5)
123: /* start output */
124: #define TTY_SET_BREAK (dev_flavor_t)(('t'<<16) + 6)
125: /* set break condition */
126: #define TTY_CLEAR_BREAK (dev_flavor_t)(('t'<<16) + 7)
127: /* clear break condition */
128: #define TTY_SET_TRANSLATION (dev_flavor_t)(('t'<<16) + 8)
129: /* set translation table */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.