Back to index

glibc  2.9
ioctls.h
Go to the documentation of this file.
00001 /* Copyright (C) 1992,93,96,97,98,99,2001,2007 Free Software Foundation, Inc.
00002    This file is part of the GNU C Library.
00003 
00004    The GNU C Library is free software; you can redistribute it and/or
00005    modify it under the terms of the GNU Lesser General Public
00006    License as published by the Free Software Foundation; either
00007    version 2.1 of the License, or (at your option) any later version.
00008 
00009    The GNU C Library is distributed in the hope that it will be useful,
00010    but WITHOUT ANY WARRANTY; without even the implied warranty of
00011    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012    Lesser General Public License for more details.
00013 
00014    You should have received a copy of the GNU Lesser General Public
00015    License along with the GNU C Library; if not, write to the Free
00016    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
00017    02111-1307 USA.  */
00018 
00019 #ifndef __BITS_IOCTLS_H
00020 #define __BITS_IOCTLS_H     1
00021 
00022 #if !defined _HURD_IOCTL_H && !defined _SYS_IOCTL_H
00023 # error "Never use <bits/ioctls.h> directly; include <hurd/ioctl.h> instead."
00024 #endif
00025 
00026 /* These macros are also defined in <bits/termios.h> (with numerically
00027    identical values) but this serves to shut up cpp's complaining. */
00028 
00029 #ifdef NL0
00030 # undef NL0
00031 #endif
00032 #ifdef NL1
00033 # undef NL1
00034 #endif
00035 #ifdef TAB0
00036 # undef TAB0
00037 #endif
00038 #ifdef TAB1
00039 # undef TAB1
00040 #endif
00041 #ifdef TAB2
00042 # undef TAB2
00043 #endif
00044 #ifdef CR0
00045 # undef CR0
00046 #endif
00047 #ifdef CR1
00048 # undef CR1
00049 #endif
00050 #ifdef CR2
00051 # undef CR2
00052 #endif
00053 #ifdef CR3
00054 # undef CR3
00055 #endif
00056 #ifdef FF0
00057 # undef FF0
00058 #endif
00059 #ifdef FF1
00060 # undef FF1
00061 #endif
00062 #ifdef BS0
00063 # undef BS0
00064 #endif
00065 #ifdef BS1
00066 # undef BS1
00067 #endif
00068 #ifdef MDMBUF
00069 # undef MDMBUF
00070 #endif
00071 #ifdef ECHO
00072 # undef ECHO
00073 #endif
00074 #ifdef TOSTOP
00075 # undef TOSTOP
00076 #endif
00077 #ifdef FLUSHO
00078 # undef FLUSHO
00079 #endif
00080 #ifdef PENDIN
00081 # undef PENDIN
00082 #endif
00083 #ifdef NOFLSH
00084 # undef NOFLSH
00085 #endif
00086 
00087 /* Hurd ioctl request are made up of several fields:
00088 
00089     10987654321098765432109876543210
00090     IOt0t1t2cc0c0cc1c1cc2ggggccccccc
00091 
00092      bits [31,30]: inout direction (enum __ioctl_dir)
00093      bits [29,11]: type encoding as follows; zero count indicates omitted datum
00094          [29,28]: datum #0 type (enum __ioctl_datum)
00095          [27,26]: datum #1 type (enum __ioctl_datum)
00096          [24,25]: datum #2 type (enum __ioctl_datum)
00097          [23,19]: datum #0 count   [0,31]
00098          [18,14]: datum #1 count [0,31]
00099          [13,11]: datum #2 count [0,3]
00100      bits [07,10]: group (letter - 'f': ['f','v'])
00101      bits [00,06]: command  [0,127]
00102 
00103    The following macros construct and dissect these fields.  */
00104 
00105 enum __ioctl_dir
00106   {
00107     IOC_VOID = 0,           /* No parameters.  */
00108     IOC_OUT = 1,            /* Data is written into the user's buffer.  */
00109     IOC_IN = 2,                    /* Data is read from the user's buffer.  */
00110     IOC_INOUT = (IOC_IN|IOC_OUT)
00111   };
00112 
00113 enum __ioctl_datum { IOC_8, IOC_16, IOC_32, IOC_64 };
00114 
00115 /* Construct an ioctl from constructed type plus other fields.  */
00116 #define       _IOC(inout, group, num, type) \
00117   ((num) | ((((group) - 'f') | ((type) | (inout) << 19) << 4) << 7))
00118 
00119 /* Dissect an ioctl into its component fields.  */
00120 #define _IOC_INOUT(request) (((unsigned int) (request) >> 30) & IOC_INOUT)
00121 #define _IOC_GROUP(request) ('f' + (((unsigned int) (request) >> 7) & 0xf))
00122 #define _IOC_COMMAND(request)      ((unsigned int) (request) & 0x7f)
00123 #define _IOC_TYPE(request)  (((unsigned int) (request) >> 11) & 0x7ffff)
00124 #define _IOC_NOTYPE(request)       ((unsigned int) (request) & 0x3ff)
00125 
00126 /* Construct a type information field from
00127    the broken-out type and count fields.  */
00128 #define       _IOT(t0, c0, t1, c1, t2, c2) \
00129   ((c2) | (((c1) | ((c0) | ((t2) | ((t1) | (t0) << 2) << 2) << 5) << 5) << 3))
00130 
00131 /* Dissect a type information field into the type and count fields.  */
00132 #define       _IOT_TYPE0(type)     (((unsigned int) (type) >> 17) & 3)
00133 #define       _IOT_TYPE1(type)     (((unsigned int) (type) >> 15) & 3)
00134 #define       _IOT_TYPE2(type)     (((unsigned int) (type) >> 13) & 3)
00135 #define       _IOT_COUNT0(type)    (((unsigned int) (type) >> 8) & 0x1f)
00136 #define       _IOT_COUNT1(type)    (((unsigned int) (type) >> 3) & 0x1f)
00137 #define       _IOT_COUNT2(type)    (((unsigned int) (type) >> 0) & 7)
00138 
00139 /* Construct an ioctl from all the broken-out fields.  */
00140 #define       _IOCT(inout, group, num, t0, c0, t1, c1, t2, c2)              \
00141   _IOC ((inout), (group), (num), _IOT ((t0), (c0), (t1), (c1), (t2), (c2)))
00142 
00143 /* Construct an individual type field for TYPE.  */
00144 #define _IOTS(type)  \
00145   (sizeof (type) == 8 ? IOC_64 : (sizeof (type) >> 1))
00146 
00147 /* Construct a type information field for
00148    a single argument of the scalar TYPE.  */
00149 #define       _IOT_SIMPLE(type)    _IOT (_IOTS (type), 1, 0, 0, 0, 0)
00150 
00151 /* Basic C types.  */
00152 #define       _IOT__IOTBASE_int    _IOT_SIMPLE (int)
00153 #define       _IOT__IOTBASE_char   _IOT_SIMPLE (char)
00154 #define       _IOT__IOTBASE_short  _IOT_SIMPLE (short)
00155 
00156 
00157 /* Standard flavors of ioctls.
00158    _IOT_foobar is defined either in this file,
00159    or where struct foobar is defined.  */
00160 #define       _IO(g, n)     _IOC (IOC_VOID, (g), (n), 0)
00161 #define       _IOR(g, n, t) _IOC (IOC_OUT, (g), (n), _IOC_ENCODE_TYPE (t))
00162 #define       _IOW(g, n, t) _IOC (IOC_IN, (g), (n), _IOC_ENCODE_TYPE (t))
00163 #define       _IOWR(g, n, t)       _IOC (IOC_INOUT, (g), (n), _IOC_ENCODE_TYPE (t))
00164 
00165 /* These macros do some preprocessor gymnastics to turn a TYPESPEC of
00166    `struct foobar' into the identifier `_IOT_foobar', which is generally
00167    defined using `_IOT' (above) in whatever file defines `struct foobar'.
00168    For a TYPESPEC that does not begin with `struct' produces a different
00169    identifier: `int' produces `_IOT__IOTBASE_int'.  These identifiers
00170    are defined for the basic C types above.  */
00171 #define _IOC_ENCODE_TYPE(typespec) _IOC_ENCODE_TYPE_1(_IOTBASE_##typespec)
00172 #define _IOTBASE_struct
00173 #define _IOC_ENCODE_TYPE_1(typespec)      _IOC_ENCODE_TYPE_2(typespec)
00174 #define _IOC_ENCODE_TYPE_2(typespec)      _IOT_##typespec
00175 
00176 
00177 /* ioctls verbatim from 4.4 <sys/ioctl.h>.  */
00178 
00179 #define       TIOCMODG      _IOR('t', 3, int)    /* get modem control state */
00180 #define       TIOCMODS      _IOW('t', 4, int)    /* set modem control state */
00181 #define              TIOCM_LE      0001          /* line enable */
00182 #define              TIOCM_DTR     0002          /* data terminal ready */
00183 #define              TIOCM_RTS     0004          /* request to send */
00184 #define              TIOCM_ST      0010          /* secondary transmit */
00185 #define              TIOCM_SR      0020          /* secondary receive */
00186 #define              TIOCM_CTS     0040          /* clear to send */
00187 #define              TIOCM_CAR     0100          /* carrier detect */
00188 #define              TIOCM_CD      TIOCM_CAR
00189 #define              TIOCM_RNG     0200          /* ring */
00190 #define              TIOCM_RI      TIOCM_RNG
00191 #define              TIOCM_DSR     0400          /* data set ready */
00192                                           /* 8-10 compat */
00193 #define       TIOCEXCL      _IO('t', 13)         /* set exclusive use of tty */
00194 #define       TIOCNXCL      _IO('t', 14)         /* reset exclusive use of tty */
00195                                           /* 15 unused */
00196 #define       TIOCFLUSH     _IOW('t', 16, int)   /* flush buffers */
00197                                           /* 17-18 compat */
00198 #define       TIOCGETA      _IOR('t', 19, struct termios) /* get termios struct */
00199 #define       TIOCSETA      _IOW('t', 20, struct termios) /* set termios struct */
00200 #define       TIOCSETAW     _IOW('t', 21, struct termios) /* drain output, set */
00201 #define       TIOCSETAF     _IOW('t', 22, struct termios) /* drn out, fls in, set */
00202 #define       TIOCGETD      _IOR('t', 26, int)   /* get line discipline */
00203 #define       TIOCSETD      _IOW('t', 27, int)   /* set line discipline */
00204                                           /* 127-124 compat */
00205 #define       TIOCSBRK      _IO('t', 123)        /* set break bit */
00206 #define       TIOCCBRK      _IO('t', 122)        /* clear break bit */
00207 #define       TIOCSDTR      _IO('t', 121)        /* set data terminal ready */
00208 #define       TIOCCDTR      _IO('t', 120)        /* clear data terminal ready */
00209 #define       TIOCGPGRP     _IOR('t', 119, int)  /* get pgrp of tty */
00210 #define       TIOCSPGRP     _IOW('t', 118, int)  /* set pgrp of tty */
00211                                           /* 117-116 compat */
00212 #define       TIOCOUTQ      _IOR('t', 115, int)  /* output queue size */
00213 #define       TIOCSTI              _IOW('t', 114, char) /* simulate terminal input */
00214 #define       TIOCNOTTY     _IO('t', 113)        /* void tty association */
00215 #define       TIOCPKT              _IOW('t', 112, int)  /* pty: set/clear packet mode */
00216 #define              TIOCPKT_DATA         0x00   /* data packet */
00217 #define              TIOCPKT_FLUSHREAD    0x01   /* flush packet */
00218 #define              TIOCPKT_FLUSHWRITE   0x02   /* flush packet */
00219 #define              TIOCPKT_STOP         0x04   /* stop output */
00220 #define              TIOCPKT_START        0x08   /* start output */
00221 #define              TIOCPKT_NOSTOP              0x10   /* no more ^S, ^Q */
00222 #define              TIOCPKT_DOSTOP              0x20   /* now do ^S ^Q */
00223 #define              TIOCPKT_IOCTL        0x40   /* state change of pty driver */
00224 #define       TIOCSTOP      _IO('t', 111)        /* stop output, like ^S */
00225 #define       TIOCSTART     _IO('t', 110)        /* start output, like ^Q */
00226 #define       TIOCMSET      _IOW('t', 109, int)  /* set all modem bits */
00227 #define       TIOCMBIS      _IOW('t', 108, int)  /* bis modem bits */
00228 #define       TIOCMBIC      _IOW('t', 107, int)  /* bic modem bits */
00229 #define       TIOCMGET      _IOR('t', 106, int)  /* get all modem bits */
00230 #define       TIOCREMOTE    _IOW('t', 105, int)  /* remote input editing */
00231 #define       TIOCGWINSZ    _IOR('t', 104, struct winsize)     /* get window size */
00232 #define       TIOCSWINSZ    _IOW('t', 103, struct winsize)     /* set window size */
00233 #define       TIOCUCNTL     _IOW('t', 102, int)  /* pty: set/clr usr cntl mode */
00234 #define              UIOCCMD(n)    _IO('u', n)          /* usr cntl op "n" */
00235 #define       TIOCCONS      _IOW('t', 98, int)          /* become virtual console */
00236 #define       TIOCSCTTY     _IO('t', 97)         /* become controlling tty */
00237 #define       TIOCEXT              _IOW('t', 96, int)   /* pty: external processing */
00238 #define       TIOCSIG              _IO('t', 95)         /* pty: generate signal */
00239 #define TIOCDRAIN    _IO('t', 94)         /* wait till output drained */
00240 
00241 #define TTYDISC             0             /* termios tty line discipline */
00242 #define       TABLDISC      3             /* tablet discipline */
00243 #define       SLIPDISC      4             /* serial IP discipline */
00244 
00245 
00246 #define       FIOCLEX              _IO('f', 1)          /* set close on exec on fd */
00247 #define       FIONCLEX      _IO('f', 2)          /* remove close on exec */
00248 #define       FIONREAD      _IOR('f', 127, int)  /* get # bytes to read */
00249 #define       FIONBIO              _IOW('f', 126, int)  /* set/clear non-blocking i/o */
00250 #define       FIOASYNC      _IOW('f', 125, int)  /* set/clear async i/o */
00251 #define       FIOSETOWN     _IOW('f', 124, int)  /* set owner */
00252 #define       FIOGETOWN     _IOR('f', 123, int)  /* get owner */
00253 
00254 /* socket i/o controls */
00255 #define       SIOCSHIWAT    _IOW('s',  0, int)          /* set high watermark */
00256 #define       SIOCGHIWAT    _IOR('s',  1, int)          /* get high watermark */
00257 #define       SIOCSLOWAT    _IOW('s',  2, int)          /* set low watermark */
00258 #define       SIOCGLOWAT    _IOR('s',  3, int)          /* get low watermark */
00259 #define       SIOCATMARK    _IOR('s',  7, int)          /* at oob mark? */
00260 #define       SIOCSPGRP     _IOW('s',  8, int)          /* set process group */
00261 #define       SIOCGPGRP     _IOR('s',  9, int)          /* get process group */
00262 
00263 #define       SIOCADDRT     _IOW('r', 10, struct ortentry)     /* add route */
00264 #define       SIOCDELRT     _IOW('r', 11, struct ortentry)     /* delete route */
00265 
00266 #define       SIOCSIFADDR   _IOW('i', 12, struct ifreq) /* set ifnet address */
00267 #define       OSIOCGIFADDR  _IOWR('i',13, struct ifreq) /* get ifnet address */
00268 #define       SIOCGIFADDR   _IOWR('i',33, struct ifreq) /* get ifnet address */
00269 #define       SIOCGIFHWADDR _IOWR('i',39, struct ifreq) /* get hwaddress */
00270 #define       SIOCSIFDSTADDR       _IOW('i', 14, struct ifreq) /* set p-p address */
00271 #define       OSIOCGIFDSTADDR      _IOWR('i',15, struct ifreq) /* get p-p address */
00272 #define       SIOCGIFDSTADDR       _IOWR('i',34, struct ifreq) /* get p-p address */
00273 #define       SIOCSIFFLAGS  _IOW('i', 16, struct ifreq_short)/* set ifnet flags */
00274 #define       SIOCGIFFLAGS  _IOWR('i',17, struct ifreq_short)/* get ifnet flags */
00275 #define       OSIOCGIFBRDADDR      _IOWR('i',18, struct ifreq) /* get broadcast addr */
00276 #define       SIOCGIFBRDADDR       _IOWR('i',35, struct ifreq) /* get broadcast addr */
00277 #define       SIOCSIFBRDADDR       _IOW('i',19, struct ifreq)  /* set broadcast addr */
00278 #define       OSIOCGIFCONF  _IOWR('i',20, struct ifconf)       /* get ifnet list */
00279 #define       SIOCGIFCONF   _IOWR('i',36, struct ifconf)       /* get ifnet list */
00280 #define       OSIOCGIFNETMASK      _IOWR('i',21, struct ifreq) /* get net addr mask */
00281 #define       SIOCGIFNETMASK       _IOWR('i',37, struct ifreq) /* get net addr mask */
00282 #define       SIOCSIFNETMASK       _IOW('i',22, struct ifreq)  /* set net addr mask */
00283 #define       SIOCGIFMETRIC _IOWR('i',23, struct ifreq_int)    /* get IF metric */
00284 #define       SIOCSIFMETRIC _IOW('i',24, struct ifreq_int)     /* set IF metric */
00285 #define       SIOCDIFADDR   _IOW('i',25, struct ifreq)  /* delete IF addr */
00286 #define       SIOCAIFADDR   _IOW('i',26, struct ifaliasreq)    /* add/chg IF alias */
00287 
00288 #define       SIOCSARP      _IOW('i', 30, struct arpreq)       /* set arp entry */
00289 #define       OSIOCGARP     _IOWR('i',31, struct arpreq)       /* get arp entry */
00290 #define       SIOCGARP      _IOWR('i',38, struct arpreq)       /* get arp entry */
00291 #define       SIOCDARP      _IOW('i', 32, struct arpreq)       /* delete arp entry */
00292 
00293 #define SIOCGIFMTU   _IOWR('i', 51, struct ifreq_int)/* get IF mtu */
00294 #define SIOCSIFMTU   _IOW('i', 52, struct ifreq_int)    /* set IF mtu */
00295 
00296 #define SIOCGIFINDEX _IOWR('i', 90, struct ifreq_int)/* get IF index */
00297 #define SIOCGIFNAME  _IOWR('i', 91, struct ifreq_int)/* set IF name */
00298 
00299 
00300 /* Compatibility with 4.3 BSD terminal driver.
00301    From 4.4 <sys/ioctl_compat.h>.  */
00302 
00303 #ifdef USE_OLD_TTY
00304 # undef  TIOCGETD
00305 # define TIOCGETD    _IOR('t', 0, int)    /* get line discipline */
00306 # undef  TIOCSETD
00307 # define TIOCSETD    _IOW('t', 1, int)    /* set line discipline */
00308 #else
00309 # define OTIOCGETD   _IOR('t', 0, int)    /* get line discipline */
00310 # define OTIOCSETD   _IOW('t', 1, int)    /* set line discipline */
00311 #endif
00312 #define       TIOCHPCL      _IO('t', 2)          /* hang up on last close */
00313 #define       TIOCGETP      _IOR('t', 8,struct sgttyb)/* get parameters -- gtty */
00314 #define       TIOCSETP      _IOW('t', 9,struct sgttyb)/* set parameters -- stty */
00315 #define       TIOCSETN      _IOW('t',10,struct sgttyb)/* as above, but no flushtty*/
00316 #define       TIOCSETC      _IOW('t',17,struct tchars)/* set special characters */
00317 #define       TIOCGETC      _IOR('t',18,struct tchars)/* get special characters */
00318 #define              TANDEM        0x00000001    /* send stopc on out q full */
00319 #define              CBREAK        0x00000002    /* half-cooked mode */
00320 #define              LCASE         0x00000004    /* simulate lower case */
00321 #define              ECHO          0x00000008    /* echo input */
00322 #define              CRMOD         0x00000010    /* map \r to \r\n on output */
00323 #define              RAW           0x00000020    /* no i/o processing */
00324 #define              ODDP          0x00000040    /* get/send odd parity */
00325 #define              EVENP         0x00000080    /* get/send even parity */
00326 #define              ANYP          0x000000c0    /* get any parity/send none */
00327 #define              NLDELAY              0x00000300    /* \n delay */
00328 #define                     NL0    0x00000000
00329 #define                     NL1    0x00000100    /* tty 37 */
00330 #define                     NL2    0x00000200    /* vt05 */
00331 #define                     NL3    0x00000300
00332 #define              TBDELAY              0x00000c00    /* horizontal tab delay */
00333 #define                     TAB0   0x00000000
00334 #define                     TAB1   0x00000400    /* tty 37 */
00335 #define                     TAB2   0x00000800
00336 #define              XTABS         0x00000c00    /* expand tabs on output */
00337 #define              CRDELAY              0x00003000    /* \r delay */
00338 #define                     CR0    0x00000000
00339 #define                     CR1    0x00001000    /* tn 300 */
00340 #define                     CR2    0x00002000    /* tty 37 */
00341 #define                     CR3    0x00003000    /* concept 100 */
00342 #define              VTDELAY              0x00004000    /* vertical tab delay */
00343 #define                     FF0    0x00000000
00344 #define                     FF1    0x00004000    /* tty 37 */
00345 #define              BSDELAY              0x00008000    /* \b delay */
00346 #define                     BS0    0x00000000
00347 #define                     BS1    0x00008000
00348 #define              ALLDELAY      (NLDELAY|TBDELAY|CRDELAY|VTDELAY|BSDELAY)
00349 #define              CRTBS         0x00010000    /* do backspacing for crt */
00350 #define              PRTERA        0x00020000    /* \ ... / erase */
00351 #define              CRTERA        0x00040000    /* " \b " to wipe out char */
00352 #define              TILDE         0x00080000    /* hazeltine tilde kludge */
00353 #define              MDMBUF        0x00100000    /*start/stop output on carrier*/
00354 #define              LITOUT        0x00200000    /* literal output */
00355 #define              TOSTOP        0x00400000    /*SIGSTOP on background output*/
00356 #define              FLUSHO        0x00800000    /* flush output to terminal */
00357 #define              NOHANG        0x01000000    /* (no-op) was no SIGHUP on carrier drop */
00358 #define              L001000              0x02000000
00359 #define              CRTKIL        0x04000000    /* kill line with " \b " */
00360 #define              PASS8         0x08000000
00361 #define              CTLECH        0x10000000    /* echo control chars as ^X */
00362 #define              PENDIN        0x20000000    /* tp->t_rawq needs reread */
00363 #define              DECCTQ        0x40000000    /* only ^Q starts after ^S */
00364 #define              NOFLSH        0x80000000    /* no output flush on signal */
00365 #define       TIOCLBIS      _IOW('t', 127, int)  /* bis local mode bits */
00366 #define       TIOCLBIC      _IOW('t', 126, int)  /* bic local mode bits */
00367 #define       TIOCLSET      _IOW('t', 125, int)  /* set entire local mode word */
00368 #define       TIOCLGET      _IOR('t', 124, int)  /* get local modes */
00369 #define              LCRTBS        (CRTBS>>16)
00370 #define              LPRTERA              (PRTERA>>16)
00371 #define              LCRTERA              (CRTERA>>16)
00372 #define              LTILDE        (TILDE>>16)
00373 #define              LMDMBUF              (MDMBUF>>16)
00374 #define              LLITOUT              (LITOUT>>16)
00375 #define              LTOSTOP              (TOSTOP>>16)
00376 #define              LFLUSHO              (FLUSHO>>16)
00377 #define              LNOHANG              (NOHANG>>16)
00378 #define              LCRTKIL              (CRTKIL>>16)
00379 #define              LPASS8        (PASS8>>16)
00380 #define              LCTLECH              (CTLECH>>16)
00381 #define              LPENDIN              (PENDIN>>16)
00382 #define              LDECCTQ              (DECCTQ>>16)
00383 #define              LNOFLSH              (NOFLSH>>16)
00384 #define       TIOCSLTC      _IOW('t',117,struct ltchars)/* set local special chars*/
00385 #define       TIOCGLTC      _IOR('t',116,struct ltchars)/* get local special chars*/
00386 #define OTIOCCONS    _IO('t', 98)  /* for hp300 -- sans int arg */
00387 #define       OTTYDISC      0
00388 #define       NETLDISC      1
00389 #define       NTTYDISC      2
00390 
00391 /* From 4.4 <sys/ttydev.h>.   */
00392 #ifdef USE_OLD_TTY
00393 # define B0   0
00394 # define B50  1
00395 # define B75  2
00396 # define B110 3
00397 # define B134 4
00398 # define B150 5
00399 # define B200 6
00400 # define B300 7
00401 # define B600 8
00402 # define B1200       9
00403 # define B1800       10
00404 # define B2400       11
00405 # define B4800       12
00406 # define B9600       13
00407 # define EXTA 14
00408 # define EXTB 15
00409 #endif /* USE_OLD_TTY */
00410 
00411 #endif /* bits/ioctls.h */