|
|
1.1 root 1: /*
2: * Structure for stty and gtty system calls.
3: */
4:
5: #define _IOCTL_
6: struct sgttyb {
7: char sg_ispeed; /* input speed */
8: char sg_ospeed; /* output speed */
9: char sg_erase; /* erase character */
10: char sg_kill; /* kill character */
11: short sg_flags; /* mode flags */
12: };
13:
14: /*
15: * List of special characters
16: */
17: struct tchars {
18: char t_intrc; /* interrupt */
19: char t_quitc; /* quit */
20: char t_startc; /* start output */
21: char t_stopc; /* stop output */
22: char t_eofc; /* end-of-file */
23: char t_brkc; /* input delimiter (like nl) */
24: };
25:
26: /*
27: * insld,
28: */
29: struct insld {
30: short ld;
31: short level;
32: };
33:
34: /*
35: * for passing files across streams
36: */
37: struct passfd {
38: int fd;
39: short uid;
40: short gid;
41: short nice;
42: short fill;
43: };
44:
45: /*
46: * Modes
47: */
48: #define TANDEM 01
49: #define CBREAK 02
50: #define LCASE 04
51: #define ECHO 010
52: #define CRMOD 020
53: #define RAW 040
54: #define ODDP 0100
55: #define EVENP 0200
56: #define ANYP 0300
57: #define NLDELAY 001400
58: #define TBDELAY 006000
59: #define XTABS 06000
60: #define CRDELAY 030000
61: #define VTDELAY 040000
62: #define BSDELAY 0100000
63: #define ALLDELAY 0177400
64:
65: /*
66: * Delay algorithms
67: */
68: #define CR0 0
69: #define CR1 010000
70: #define CR2 020000
71: #define CR3 030000
72: #define NL0 0
73: #define NL1 000400
74: #define NL2 001000
75: #define NL3 001400
76: #define TAB0 0
77: #define TAB1 002000
78: #define TAB2 004000
79: #define FF0 0
80: #define FF1 040000
81: #define BS0 0
82: #define BS1 0100000
83:
84: /*
85: * Speeds
86: */
87: #define B0 0
88: #define B50 1
89: #define B75 2
90: #define B110 3
91: #define B134 4
92: #define B150 5
93: #define B200 6
94: #define B300 7
95: #define B600 8
96: #define B1200 9
97: #define B1800 10
98: #define B2400 11
99: #define B4800 12
100: #define B9600 13
101: #define EXTA 14
102: #define EXTB 15
103:
104: /*
105: * tty ioctl commands
106: */
107: #define TIOCGETD (('t'<<8)|0)
108: #define TIOCSETD (('t'<<8)|1)
109: #define TIOCHPCL (('t'<<8)|2)
110: #define TIOCMODG (('t'<<8)|3)
111: #define TIOCMODS (('t'<<8)|4)
112: #define TIOCGETP (('t'<<8)|8)
113: #define TIOCSETP (('t'<<8)|9)
114: #define TIOCSETN (('t'<<8)|10)
115: #define TIOCEXCL (('t'<<8)|13)
116: #define TIOCNXCL (('t'<<8)|14)
117: #define TIOHMODE (('t'<<8)|15)
118: #define TIOCFLUSH (('t'<<8)|16)
119: #define TIOCSETC (('t'<<8)|17)
120: #define TIOCGETC (('t'<<8)|18)
121: #define TIOCSBRK (('t'<<8)|19)
122: #define TIOCSIGNAL (('t'<<8)|21)
123: #define TIOCUTTY (('t'<<8)|22)
124: #define TIOCSPGRP (('t'<<8)|118) /* set pgrp of tty */
125:
126: /*
127: * file ioctls
128: */
129: #define FIOCLEX (('f'<<8)|1)
130: #define FIONCLEX (('f'<<8)|2)
131: #define FIOPUSHLD (('f'<<8)|3)
132: #define FIOPOPLD (('f'<<8)|4)
133: #define FIOLOOKLD (('f'<<8)|5)
134: #define FIOINSLD (('f'<<8)|6)
135: #define FIOSNDFD (('f'<<8)|7)
136: #define FIORCVFD (('f'<<8)|8)
137: #define FIOACCEPT (('f'<<8)|9)
138: #define FIOREJECT (('f'<<8)|10)
139: #define FIOAISLOCK (('f'<<8)|124)
140: #define FIOALOCK (('f'<<8)|125)
141: #define FIOAUNLOCK (('f'<<8)|126)
142: #define FIONREAD (('f'<<8)|127)
143:
144: /*
145: * Datakit ioctls
146: */
147: #define DIOCLHN (('d'<<8)|32) /* announce mgr channel */
148: #define DIOCHUP (('d'<<8)|33) /* tell ctlr to reinitialize */
149: #define DIOCSTREAM (('d'<<8)|34) /* no input delimiters */
150: #define DIOCRECORD (('d'<<8)|35) /* input delimiters */
151: #define DIOCCHAN (('d'<<8)|38) /* suggest channel # */
152: #define DIOCSTOP (('d'<<8)|39) /* delay input for cmcld */
153: #define DIOCSTART (('d'<<8)|40) /* restart input for cmcld */
154:
155: #define KIOCISURP (('k'<<8)|1) /* is URP already turned on? */
156: #define KIOCINIT (('k'<<8)|2) /* force transmitter reinit */
157: #define KIOCSHUT (('k'<<8)|3) /* shut down all chans, force reinit */
158:
159:
160: /*
161: * 'ntty' ioctls
162: */
163:
164: /*
165: * local special characters
166: */
167: struct ltchars {
168: char t_suspc; /* stop process signal */
169: char t_dsuspc; /* delayed stop process signal */
170: char t_rprntc; /* reprint line */
171: char t_flushc; /* flush output (toggles) */
172: char t_werasc; /* word erase */
173: char t_lnextc; /* literal next character */
174: };
175:
176:
177: /*
178: * local undo special characters
179: */
180: struct luchars {
181: char t_undoc; /* erase/kill/werase undo character */
182: char t_urotc; /* rotate undo stack character */
183: };
184:
185:
186: /*
187: * local mode settings
188: */
189: #define LCRTBS 0000001 /* correct backspacing for crt */
190: #define LPRTERA 0000002 /* printing terminal \ ... / erase */
191: #define LCRTERA 0000004 /* do "\b \b" to wipe out character */
192: #define LTILDE 0000010 /* IIASA - hazeltine tilde kludge */
193: #define LMDMBUF 0000020 /* IIASA - start/stop output on carrier intr */
194: #define LLITOUT 0000040 /* IIASA - suppress any output translations */
195: #define LTOSTOP 0000100 /* send stop for any background tty output */
196: #define LFLUSHO 0000200 /* flush output sent to terminal */
197: #define LNOHANG 0000400 /* IIASA - don't send hangup on carrier drop */
198: #define LETXACK 0001000 /* IIASA - diablo style buffer hacking */
199: #define LCRTKIL 0002000 /* erase whole line ala LCRTERA */
200: #define LINTRUP 0004000 /* interrupt on every input char - SIGTINT */
201: #define LCTLECH 0010000 /* echo control characters as ^X */
202: #define LPENDIN 0020000 /* tp->t_rawq is waiting to be reread */
203: #define LDECCTQ 0040000 /* only ^Q starts after ^S */
204:
205: /* local state */
206: #define LSBKSL 01 /* state bit for lowercase backslash work */
207: #define LSQUOT 02 /* last character input was \ */
208: #define LSERASE 04 /* within a \.../ for LPRTRUB */
209: #define LSLNCH 010 /* next character is literal */
210: #define LSTYPEN 020 /* retyping suspended input (LPENDIN) */
211: #define LSCNTTB 040 /* counting width of tab; leave LFLUSHO alone */
212:
213: /*
214: * tty ioctl commands
215: */
216: #define TIOCLBIS (('t'<<8)|127) /* bis local mode bits */
217: #define TIOCLBIC (('t'<<8)|126) /* bic local mode bits */
218: #define TIOCLSET (('t'<<8)|125) /* set entire local mode word */
219: #define TIOCLGET (('t'<<8)|124) /* get local modes */
220: #define TIOCSLTC (('t'<<8)|117) /* set local special characters */
221: #define TIOCGLTC (('t'<<8)|116) /* get local special characters */
222: #define TIOCOUTQ (('t'<<8)|115) /* number of chars in output queue */
223:
224: #define TIOCSLUC (('t'<<8)|113) /* set local undo special characters */
225: #define TIOCGLUC (('t'<<8)|112) /* get local undo special characters */
226: #define TIOCGPGRP (('t'<<8)|119) /* get pgrp of tty */
227:
228: /*
229: * stream tracer ioctls
230: */
231: #define TRCGNAME (('T'<<8)|6) /* get trace module name */
232: #define TRCSNAME (('T'<<8)|7) /* set trace module name */
233: #define TRCGMASK (('T'<<8)|8) /* get trace module mask */
234: #define TRCSMASK (('T'<<8)|9) /* set trace module mask */
235:
236: /*
237: * stream tracer mask values
238: */
239: #define TR_DATA 0x1
240: #define TR_BREAK 0x2
241: #define TR_HANGUP 0x4
242: #define TR_DELIM 0x8
243: #define TR_ECHO 0x10
244: #define TR_ACK 0x20
245: #define TR_IOCTL 0x40
246: #define TR_DELAY 0x80
247: #define TR_CTL 0x100
248: #define TR_SIGNAL 0x200
249: #define TR_FLUSH 0x400
250: #define TR_STOP 0x800
251: #define TR_START 0x1000
252: #define TR_IOCACK 0x2000
253: #define TR_IOCNAK 0x4000
254: #define TR_CLOSE 0x8000
255:
256: /* internet goo */
257: #define IPIOHOST (('i'<<8)|1)
258: #define IPIONET (('i'<<8)|2)
259: #define IPIOLOCAL (('i'<<8)|3)
260: #define IPIOARP (('i'<<8)|4)
261: #define IPIORESOLVE (('i'<<8)|5)
262: #define IPIOMTU (('i'<<8)|6)
263: #define IPIOROUTE (('i'<<8)|7)
264: #define IPIOGETIFS (('i'<<8)|8)
265:
266: /* generic ethernet */
267: #define ENIOTYPE (('e'<<8)|1) /* set receive packet type */
268: #define ENIOADDR (('e'<<8)|2) /* fetch physical addr */
269: #define ENIOCMD (('e'<<8)|3) /* perform interface board cmd */
270:
271: /* ugly tcp ioctls */
272: #define TCPIOHUP (('T'<<8)|1) /* HANGUP on TH_FIN */
273: #define TCPIOMAXSEG (('T'<<8)|2)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.