|
|
1.1 root 1: /* (-lgl
2: * COHERENT Version 3.0
3: * Copyright 1989 by Inetco Systems, Ltd.
4: * All rights reserved. May not be copied without permission.
5: -lgl) */
6: #ifndef TERMIO_H
7: #define TERMIO_H
8:
9: /*
10: * Terminal Input/Output Parameters
11: */
12:
13: #define NCC 8
14: typedef
15: struct termio {
16: unsigned short c_iflag; /* input modes */
17: unsigned short c_oflag; /* output modes */
18: unsigned short c_cflag; /* control modes */
19: unsigned short c_lflag; /* local modes */
20: char c_line; /* line discipline */
21: unsigned char c_cc[NCC]; /* control chars */
22: } termio_t;
23:
24: /*
25: * Basic Terminal Input Control: c_iflag
26: */
27: #define IGNBRK 0000001 /* Ignore break condition */
28: #define BRKINT 0000002 /* Signal interrupt on break */
29: #define IGNPAR 0000004 /* Ignore characters with parity errors */
30: #define PARMRK 0000010 /* Mark parity errors */
31: #define INPCK 0000020 /* Enable input parity check */
32: #define ISTRIP 0000040 /* Strip character */
33: #define INLCR 0000100 /* Map NL to CR on input */
34: #define IGNCR 0000200 /* Ignore CR */
35: #define ICRNL 0000400 /* Map CR to NL on input */
36: #define IUCLC 0001000 /* Map upper-case to lower-case on input */
37: #define IXON 0002000 /* Enable start/stop output control */
38: #define IXANY 0004000 /* Enable any character to restart output */
39: #define IXOFF 0010000 /* Enable start/stop input control */
40:
41: /*
42: * Basic Terminal Output Control: c_oflag
43: */
44: #define OPOST 0000001 /* Postprocess output */
45: #define OLCUC 0000002 /* Map lower case to upper on output */
46: #define ONLCR 0000004 /* Map NL to CR-NL on output */
47: #define OCRNL 0000010 /* Map CR to NL on output */
48: #define ONOCR 0000020 /* No CR output at column 0 */
49: #define ONLRET 0000040 /* NL performs CR function */
50: #define OFILL 0000100 /* Use fill characters for delay */
51: #define OFDEL 0000200 /* Fill is DEL, else NUL */
52: #define NLDLY 0000400 /* Select new-line delays: */
53: #define NL0 0
54: #define NL1 0000400
55: #define CRDLY 0003000 /* Select carriage-return delays: */
56: #define CR0 0
57: #define CR1 0001000
58: #define CR2 0002000
59: #define CR3 0003000
60: #define TABDLY 0014000 /* Select horizontal-tab delays: */
61: #define TAB0 0
62: #define TAB1 0004000
63: #define TAB2 0010000
64: #define TAB3 0014000
65: #define XTABS TAB3 /* Expand tabs to spaces */
66: #define BSDLY 0020000 /* Select backspace delays: */
67: #define BS0 0
68: #define BS1 0020000
69: #define VTDLY 0040000 /* Select vertical-tab delays: */
70: #define VT0 0
71: #define VT1 0040000
72: #define FFDLY 0100000 /* Select form-feed delays: */
73: #define FF0 0
74: #define FF1 0100000
75:
76: /*
77: * Terminal Hardware Control: c_cflag
78: */
79: #define CBAUD 0000017 /* Baud rate: */
80: #define B0 0 /* Hang up */
81: #define B50 0000001 /* 50 baud */
82: #define B75 0000002 /* 75 baud */
83: #define B110 0000003 /* 110 baud */
84: #define B134 0000004 /* 134.5 baud */
85: #define B150 0000005 /* 150 baud */
86: #define B200 0000006 /* 200 baud */
87: #define B300 0000007 /* 300 baud */
88: #define B600 0000010 /* 600 baud */
89: #define B1200 0000011 /* 1200 baud */
90: #define B1800 0000012 /* 1800 baud */
91: #define B2400 0000013 /* 2400 baud */
92: #define B4800 0000014 /* 4800 baud */
93: #define B9600 0000015 /* 9600 baud */
94: #define B19200 0000016 /* 19200 baud */
95: #define B38400 0000017 /* 38400 baud */
96: #define EXTA 0000016 /* External A */
97: #define EXTB 0000017 /* External B */
98: #define CSIZE 0000060 /* Character size: */
99: #define CS5 0 /* 5 bits */
100: #define CS6 0000020 /* 6 bits */
101: #define CS7 0000040 /* 7 bits */
102: #define CS8 0000060 /* 8 bits */
103: #define CSTOPB 0000100 /* Send two stop bits, else one */
104: #define CREAD 0000200 /* Enable receiver */
105: #define PARENB 0000400 /* Parity enable */
106: #define PARODD 0001000 /* Odd parity, else even */
107: #define HUPCL 0002000 /* Hang up on last close */
108: #define CLOCAL 0004000 /* Local line, else dial-up */
109:
110: /*
111: * Terminal Functions - c_lflag
112: */
113: #define ISIG 0000001 /* Enable signals */
114: #define ICANON 0000002 /* Canonical input (erase and kill) */
115: #define XCASE 0000004 /* Canonical upper/lower presentation */
116: #define ECHO 0000010 /* Enable echo */
117: #define ECHOE 0000020 /* Echo erase character as BS-SP-BS */
118: #define ECHOK 0000040 /* Echo NL after kill character */
119: #define ECHONL 0000100 /* Echo NL */
120: #define NOFLSH 0000200 /* Disable flush after interrupt or quit */
121:
122: /*
123: * Offsets into Control Characters
124: */
125: #define VINTR 0
126: #define VQUIT 1
127: #define VERASE 2
128: #define VKILL 3
129: #define VEOF 4
130: #define VEOL 5
131: #define VEOL2 6
132: #define VMIN 4
133: #define VTIME 5
134:
135: /*
136: * Ioctl Commands - ioctl(fno, com, &termio)
137: */
138:
139: #define TIOC ('T'<<8)
140: #define TCGETA (TIOC|1) /* Get terminal parameters */
141: #define TCSETA (TIOC|2) /* Set terminal parameters */
142: #define TCSETAW (TIOC|3) /* Wait for drain, then set parameters */
143: #define TCSETAF (TIOC|4) /* Wait for drain, flush input, set parms */
144:
145: /*
146: * Ioctl Commands - ioctl(fno, com, arg)
147: */
148: #define TCSBRK (TIOC|5) /* Send 0.25 second break */
149: #define TCXONC (TIOC|6) /* Start/stop control
150: arg=0 -> suspend output
151: arg=1 -> restart suspended output
152: */
153: #define TCFLSH (TIOC|7) /* arg=0 -> flush input queue
154: arg=1 -> flush output queue
155: arg=2 -> flush both input and output queues
156: */
157: #define TCDTR (TIOC|8) /* arg=0 -> drop dtr (carrier)
158: arg=1 -> raise dtr
159: */
160: #define TCDSET (TIOC|32)
161:
162: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.