chiark / gitweb /
eglibc (2.11.3-4+deb6u3) squeeze-lts; urgency=medium
[eglibc.git] / ports / sysdeps / unix / sysv / aix / bits / ioctls.h
1 /* Copyright (C) 1999, 2000 Free Software Foundation, Inc.
2    This file is part of the GNU C Library.
3
4    The GNU C Library is free software; you can redistribute it and/or
5    modify it under the terms of the GNU Lesser General Public
6    License as published by the Free Software Foundation; either
7    version 2.1 of the License, or (at your option) any later version.
8
9    The GNU C Library is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12    Lesser General Public License for more details.
13
14    You should have received a copy of the GNU Lesser General Public
15    License along with the GNU C Library; if not, write to the Free
16    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
17    02111-1307 USA.  */
18
19 #ifndef _SYS_IOCTL_H
20 # error "Never use <bits/ioctls.h> directly; include <sys/ioctl.h> instead."
21 #endif
22
23
24 #define IOCPARM_MASK    0x7f            /* parameters must be < 128 bytes */
25 #define IOC_VOID        0x20000000      /* no parameters */
26 #define IOC_OUT         0x40000000      /* copy out parameters */
27 #define IOC_IN          (0x40000000<<1) /* copy in parameters */
28 #define IOC_INOUT       (IOC_IN|IOC_OUT)
29 #define _IO(x,y)        (IOC_VOID|(x<<8)|y)
30 #define _IOR(x,y,t)     (IOC_OUT|((sizeof(t)&IOCPARM_MASK)<<16)|(x<<8)|y)
31 #define _IOW(x,y,t)     (IOC_IN|((sizeof(t)&IOCPARM_MASK)<<16)|(x<<8)|y)
32 #define _IOWR(x,y,t)    (IOC_INOUT|((sizeof(t)&IOCPARM_MASK)<<16)|(x<<8)|y)
33
34 #define TIOCGETD        _IOR('t', 0, int)       /* get line discipline */
35 #define TIOCSETD        _IOW('t', 1, int)       /* set line discipline */
36 #define TIOCHPCL        _IO('t', 2)             /* hang up on last close */
37 #define TIOCMODG        _IOR('t', 3, int)       /* get modem control state */
38 #define TIOCMODS        _IOW('t', 4, int)       /* set modem control state */
39 #define TIOCGETP        _IOR('t', 8,struct sgttyb)/* get parameters -- gtty */
40 #define TIOCSETP        _IOW('t', 9,struct sgttyb)/* set parameters -- stty */
41 #define TIOCSETN        _IOW('t',10,struct sgttyb)/* as above, but no flushtty */
42 #define TIOCEXCL        _IO('t', 13)            /* set exclusive use of tty */
43 #define TIOCNXCL        _IO('t', 14)            /* reset exclusive use of tty */
44 #define TIOCFLUSH       _IOW('t', 16, int)      /* flush buffers */
45 #define TIOCSETC        _IOW('t',17,struct tchars)/* set special characters */
46 #define TIOCGETC        _IOR('t',18,struct tchars)/* get special characters */
47 #define         TANDEM          0x00000001      /* send stopc on out q full */
48 #define         CBREAK          0x00000002      /* half-cooked mode */
49 #define         LCASE           0x00000004      /* simulate lower case */
50 #define         CRMOD           0x00000010      /* map \r to \r\n on output */
51 #define         RAW             0x00000020      /* no i/o processing */
52 #define         ODDP            0x00000040      /* get/send odd parity */
53 #define         EVENP           0x00000080      /* get/send even parity */
54 #define         ANYP            0x000000c0      /* get any parity/send none */
55 #define         CRDELAY         0x00000300      /* \r delay */
56 #define         TBDELAY         0x00000c00      /* horizontal tab delay */
57 #define         XTABS           0x00000c00      /* expand tabs on output */
58 #define         BSDELAY         0x00001000      /* \b delay */
59 #define         VTDELAY         0x00002000      /* vertical tab delay */
60 #define         NLDELAY         0x0000c000      /* \n delay */
61 #define                 NL2     0x00008000      /* vt05 */
62 #define                 NL3     0x0000c000
63 #define         ALLDELAY        (NLDELAY|TBDELAY|CRDELAY|VTDELAY|BSDELAY)
64 #define         PRTERA          0x00020000      /* \ ... / erase */
65 #define         CRTERA          0x00040000      /* " \b " to wipe out char */
66 #define         TILDE           0x00080000      /* hazeltine tilde kludge */
67 #define         LITOUT          0x00200000      /* literal output */
68 #define         CRTBS           0x00400000      /* do backspacing for crt */
69 #define         MDMBUF          0x00800000      /* dtr pacing */
70 #define         NOHANG          0x01000000      /* no SIGHUP on carrier drop */
71 #define         L001000         0x02000000
72 #define         CRTKIL          0x04000000      /* kill line with " \b " */
73 #define         PASS8           0x08000000
74 #define         CTLECH          0x10000000      /* echo control chars as ^X */
75 #define         DECCTQ          0x40000000      /* only ^Q starts after ^S */
76 #define         NOFLUSH         0x80000000      /* no output flush on signal */
77
78
79 /* SYS V REL. 4 PTY IOCTLs    */
80 #define UNLKPT          _IO('t',70)             /* unlock slave pty */
81 #define ISPTM           _IO('t',71)             /* ret. maj+min of pty master */
82 #define ISPTS           _IO('t',73)             /* return maj+min of slave */
83 #define GRTPT           _IO('t',74)             /* grantpt slave pty*/
84 #define RLOGIND         _IO('t',75)             /* for rlogind protocol in ptydd */
85 #define TELNETDP        _IO('t',76)             /* for telnetd protocol in ptydd */
86
87 #define TIOCCONS        _IOW('t', 98, int)      /* become virtual console */
88 #define TIOCGSID        _IOR('t', 72, int)      /* get the tty session id */
89
90                                                 /* locals, from 127 down */
91 #define TIOCLBIS        _IOW('t', 127, int)     /* bis local mode bits */
92 #define TIOCLBIC        _IOW('t', 126, int)     /* bic local mode bits */
93 #define TIOCLSET        _IOW('t', 125, int)     /* set entire mode word */
94 #define TIOCLGET        _IOR('t', 124, int)     /* get local modes */
95 #define         LCRTBS          (CRTBS>>16)
96 #define         LPRTERA         (PRTERA>>16)
97 #define         LCRTERA         (CRTERA>>16)
98 #define         LTILDE          (TILDE>>16)
99 #define         LMDMBUF         (MDMBUF>>16)
100 #define         LLITOUT         (LITOUT>>16)
101 #define         LTOSTOP         (TOSTOP>>16)
102 #define         LFLUSHO         (FLUSHO>>16)
103 #define         LNOHANG         (NOHANG>>16)
104 #define         LCRTKIL         (CRTKIL>>16)
105 #define         LPASS8          (PASS8>>16)
106 #define         LCTLECH         (CTLECH>>16)
107 #define         LPENDIN         (PENDIN>>16)
108 #define         LDECCTQ         (DECCTQ>>16)
109 #define         LNOFLSH         (NOFLUSH>>16)
110 #define TIOCSBRK        _IO('t', 123)           /* set break bit */
111 #define TIOCCBRK        _IO('t', 122)           /* clear break bit */
112 #define TIOCSDTR        _IO('t', 121)           /* set data terminal ready */
113 #define TIOCCDTR        _IO('t', 120)           /* clear data terminal ready */
114 #define TIOCGPGRP       _IOR('t', 119, int)     /* get process group */
115 #define TIOCSPGRP       _IOW('t', 118, int)      /* set process gorup */
116 #define TIOCSLTC        _IOW('t',117,struct ltchars)/* set local special chars */
117 #define TIOCGLTC        _IOR('t',116,struct ltchars)/* get local special chars */
118 #define TIOCOUTQ        _IOR('t', 115, int)     /* output queue size */
119 #define TIOCSTI         _IOW('t', 114, char)    /* simulate terminal input */
120 #define TIOCNOTTY       _IO('t', 113)           /* void tty association */
121 #define TIOCPKT         _IOW('t', 112, int)     /* pty: set/clear packet mode */
122 #define         TIOCPKT_DATA            0x00    /* data packet */
123 #define         TIOCPKT_FLUSHREAD       0x01    /* flush packet */
124 #define         TIOCPKT_FLUSHWRITE      0x02    /* flush packet */
125 #define         TIOCPKT_STOP            0x04    /* stop output */
126 #define         TIOCPKT_START           0x08    /* start output */
127 #define         TIOCPKT_NOSTOP          0x10    /* no more ^S, ^Q */
128 #define         TIOCPKT_DOSTOP          0x20    /* now do ^S ^Q */
129 #define TIOCSTOP        _IO('t', 111)           /* stop output, like ^S */
130 #define TIOCSTART       _IO('t', 110)           /* start output, like ^Q */
131 #define TIOCMSET        _IOW('t', 109, int)     /* set all modem bits */
132 #define TIOCMBIS        _IOW('t', 108, int)     /* bis modem bits */
133 #define TIOCMBIC        _IOW('t', 107, int)     /* bic modem bits */
134 #define TIOCMGET        _IOR('t', 106, int)     /* get all modem bits */
135 #define TIOCREMOTE      _IOW('t', 105, int)     /* remote input editing */
136 #define TIOCGWINSZ      _IOR('t', 104, struct winsize)  /* get window size */
137 #define TIOCSWINSZ      _IOW('t', 103, struct winsize)  /* set window size */
138 #define TIOCUCNTL       _IOW('t', 102, int)     /* pty: set/clr usr cntl mode */
139 /* SLIP (Serial Line IP) ioctl's */
140 #define SLIOCGUNIT      _IOR('t', 101, int)     /* get slip unit number */
141 #define SLIOCSFLAGS     _IOW('t', 89, int)      /* set configuration flags */
142 #define SLIOCGFLAGS     _IOR('t', 90, int)      /* get configuration flags */
143 #define SLIOCSATTACH    _IOWR('t', 91, int)     /* Attach slip i.f. to tty  */
144 #define         UIOCCMD(n)      _IO('u', n)             /* usr cntl op "n" */
145
146 #define OTTYDISC        0               /* old, v7 std tty driver */
147 #define NETLDISC        1               /* line discip for berk net */
148 #define NTTYDISC        2               /* new tty discipline */
149 #define TABLDISC        3               /* tablet discipline */
150 #define SLIPDISC        4               /* serial IP discipline */
151
152 #define FIOCLEX         _IO('f', 1)             /* set close on exec    */
153 #define FIONCLEX        _IO('f', 2)             /* clear close on exec  */
154 /* another local */
155
156 #define FIONREAD        _IOR('f', 127, int)     /* get # bytes to read */
157 #define FIONBIO         _IOW('f', 126, int)     /* set/clear non-blocking i/o */
158 #define FIOASYNC        _IOW('f', 125, int)     /* set/clear async i/o */
159
160 #define FIOSETOWN       _IOW('f', 124, int)     /* set owner */
161 #define FIOGETOWN       _IOR('f', 123, int)     /* get owner */
162 #define FIOASYNCQX      _IOW('f', 122, int)     /* set/clear async queueing */
163
164 /* socket i/o controls */
165 #define SIOCSHIWAT      _IOW('s',  0, int)              /* set high watermark */
166 #define SIOCGHIWAT      _IOR('s',  1, int)              /* get high watermark */
167 #define SIOCSLOWAT      _IOW('s',  2, int)              /* set low watermark */
168 #define SIOCGLOWAT      _IOR('s',  3, int)              /* get low watermark */
169 #define SIOCATMARK      _IOR('s',  7, int)              /* at oob mark? */
170 #define SIOCSPGRP       _IOW('s',  8, int)              /* set process group */
171 #define SIOCGPGRP       _IOR('s',  9, int)              /* get process group */
172
173 #define SIOCADDRT       (int)_IOW('r', 10, struct ortentry)     /* add route */
174 #define SIOCDELRT       (int)_IOW('r', 11, struct ortentry)     /* delete route */
175
176 #define SIOCSIFADDR     (int)_IOW('i', 12, struct oifreq)       /* set ifnet address */
177 #define OSIOCGIFADDR    (int)_IOWR('i',13, struct oifreq)       /* get ifnet address */
178 #define SIOCGIFADDR     (int)_IOWR('i',33, struct oifreq)       /* get ifnet address */
179 #define SIOCSIFDSTADDR  (int)_IOW('i', 14, struct oifreq)       /* set p-p address */
180 #define OSIOCGIFDSTADDR (int)_IOWR('i',15, struct oifreq)       /* get p-p address */
181 #define SIOCGIFDSTADDR  (int)_IOWR('i',34, struct oifreq)       /* get p-p address */
182 #define SIOCSIFFLAGS    (int)_IOW('i', 16, struct oifreq)       /* set ifnet flags */
183 #define SIOCGIFFLAGS    (int)_IOWR('i',17, struct oifreq)       /* get ifnet flags */
184 #define OSIOCGIFBRDADDR (int)_IOWR('i',18, struct oifreq)       /* get broadcast addr */
185 #define SIOCGIFBRDADDR  (int)_IOWR('i',35, struct oifreq)       /* get broadcast addr */
186 #define SIOCSIFBRDADDR  (int)_IOW('i',19, struct oifreq)        /* set broadcast addr */
187 #define OSIOCGIFCONF    (int)_IOWR('i',20, struct ifconf)       /* get ifnet list */
188 #define CSIOCGIFCONF    (int)_IOWR('i',36, struct ifconf)       /* get ifnet list */
189 #define SIOCGIFCONF     (int)_IOWR('i',69, struct ifconf)       /* get ifnet list */
190 #define OSIOCGIFNETMASK (int)_IOWR('i',21, struct oifreq)       /* get net addr mask */
191 #define SIOCGIFNETMASK  (int)_IOWR('i',37, struct oifreq)       /* get net addr mask */
192 #define SIOCSIFNETMASK  (int)_IOW('i',22, struct oifreq)        /* set net addr mask */
193 #define SIOCGIFMETRIC   (int)_IOWR('i',23, struct oifreq)       /* get IF metric */
194 #define SIOCSIFMETRIC   (int)_IOW('i',24, struct oifreq)        /* set IF metric */
195 #define SIOCDIFADDR     (int)_IOW('i',25, struct oifreq)        /* delete IF addr */
196 #define SIOCAIFADDR     (int)_IOW('i',26, struct ifaliasreq)    /* add/chg IF alias */
197 #define SIOCSIFSUBCHAN  (int)_IOW('i',27, struct oifreq)        /* set subchannel adr.*/
198 #define SIOCSIFNETDUMP  (int)_IOW('i',28, struct oifreq)        /* set netdump fastwrt*/
199
200 #define SIOCSARP        (int)_IOW('i', 30, struct arpreq)       /* set arp entry */
201 #define OSIOCGARP       (int)_IOWR('i',31, struct arpreq)       /* get arp entry */
202 #define SIOCGARP        (int)_IOWR('i',38, struct arpreq)       /* get arp entry */
203 #define SIOCDARP        (int)_IOW('i', 32, struct arpreq)       /* delete arp entry */
204
205 #define SIOCSIFOPTIONS  (int)_IOW('i', 41, struct oifreq)       /* set ifnet options */
206 #define SIOCGIFOPTIONS  (int)_IOWR('i',42, struct oifreq)       /* get ifnet options */
207 #define SIOCADDMULTI    (int)_IOW('i', 49, struct ifreq)        /* add multicast addr */
208 #define SIOCDELMULTI    (int)_IOW('i', 50, struct ifreq)        /* del multicast addr */
209 #define SIOCGETVIFCNT   (int)_IOWR('u', 51, struct sioc_vif_req)/* vif pkt cnt */
210 #define SIOCGETSGCNT    (int)_IOWR('u', 52, struct sioc_sg_req) /* s,g pkt cnt */
211
212 #define SIOCADDNETID    (int)_IOW('i',87, struct oifreq)        /* set netids */
213 #define SIOCSIFMTU      (int)_IOW('i',88, struct oifreq)        /* set mtu */
214 #define SIOCGIFMTU      (int)_IOWR('i',86, struct oifreq)       /* get mtu */
215
216 #define SIOCSNETOPT     (int)_IOW('i', 90, struct optreq) /* set network option */
217 #define SIOCGNETOPT     (int)_IOWR('i', 91, struct optreq) /* get network option */
218 #define SIOCDNETOPT     (int)_IOWR('i', 92, struct optreq) /* set default */
219
220 #define SIOCSX25XLATE   (int)_IOW('i', 99, struct oifreq)       /* set xlate tab */
221 #define SIOCGX25XLATE   (int)_IOWR('i',100, struct oifreq)      /* get xlate tab */
222 #define SIOCDX25XLATE   (int)_IOW('i', 101, struct oifreq)      /* delete xlate tab */
223
224 #define SIOCIFDETACH    (int)_IOW('i', 102, struct ifreq)       /* detach an ifnet */
225 #define SIOCIFATTACH    (int)_IOW('i', 103, struct ifreq)       /* attach an ifnet */
226
227 #define SIOCGNMTUS      (int)_IO('i',110) /* get NMTUs */
228 #define SIOCGETMTUS     (int)_IO('i',111) /* get common_mtus */
229 #define SIOCADDMTU      (int)_IOW('i',112, int) /* add mtu  */
230 #define SIOCDELMTU      (int)_IOW('i',113, int) /* delete mtu */
231
232 #define SIOCGIFGIDLIST  (int)_IO('i', 104)                   /* get gidlist */
233 #define SIOCSIFGIDLIST  (int)_IO('i', 105)                   /* set gidlist */
234
235 #define SIOCGSIZIFCONF  (int)_IOR('i', 106, int) /* get size for SIOCGIFCONF */
236
237 #define SIOCIF_ATM_UBR          (int)_IOW('i',120,struct ifreq)  /* set ubr rate */
238 #define SIOCIF_ATM_SNMPARP      (int)_IOW('i',121,struct ifreq)  /* atm snmp arp */
239 #define SIOCIF_ATM_IDLE         (int)_IOW('i',122,struct ifreq)  /* set idle time */
240 #define SIOCIF_ATM_DUMPARP      (int)_IOW('i',123,struct ifreq)  /* atm dump arp */
241 #define SIOCIF_ATM_SVC          (int)_IOW('i',124,struct ifreq)  /* atmif init */
242 #define SIOCIF_ATM_DARP         (int)_IOW('i',125,struct ifreq)  /* del atmarp */
243 #define SIOCIF_ATM_GARP         (int)_IOW('i',126,struct ifreq)  /* get atmarp */
244 #define SIOCIF_ATM_SARP         (int)_IOW('i',127,struct ifreq)  /* set atmarp */
245
246 #define SIOCGISNO       (int)_IOWR('i',107, struct oifreq)      /* get IF network options */
247 #define SIOCSISNO       (int)_IOW('i', 108, struct oifreq)      /* set IF network options */
248 #define SIOCGIFBAUDRATE (int)_IOWR('i', 109, struct oifreq)     /* get ifnet's if_baudrate */