Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (Debian-5.0)
Apropos / Subsearch:
optional field

IOCTL_LIST(2)              Linux Programmer's Manual             IOCTL_LIST(2)

       ioctl_list - list of ioctl calls in Linux/i386 kernel

       This  is  Ioctl List 1.3.27, a list of ioctl calls in Linux/i386 kernel
       1.3.27.  It contains 421  ioctls  from  </usr/include/{asm,linux}/*.h>.
       For  each  ioctl,  its numerical value, its name, and its argument type
       are given.

       An argument type of const struct foo * means the argument is  input  to
       the  kernel.   struct  foo * means the kernel outputs the argument.  If
       the kernel uses the argument for both input and output, this is  marked
       with // I-O.

       Some  ioctls  take  more  arguments or return more values than a single
       structure.  These are marked // MORE and documented further in a  sepa-
       rate section.

       This  list  is  very incomplete.  Please e-mail changes and comments to
       the address in the COLOPHON section below.

   ioctl structure
       Ioctl command values are 32-bit constants.   In  principle  these  con-
       stants  are  completely  arbitrary, but people have tried to build some
       structure into them.

       The old Linux situation was that of mostly 16-bit constants, where  the
       last  byte  is  a  serial number, and the preceding byte(s) give a type
       indicating the driver.  Sometimes the major number was used:  0x03  for
       the  HDIO_* ioctls, 0x06 for the LP* ioctls.  And sometimes one or more
       ASCII letters were used.  For example,  TCGETS  has  value  0x00005401,
       with  0x54  =  'T' indicating the terminal driver, and CYGETTIMEOUT has
       value 0x00435906, with 0x43 0x59 =  'C'  'Y'  indicating  the  cyclades

       Later  (0.98p5)  some  more information was built into the number.  One
       has 2 direction bits (00: none, 01: write, 10:  read,  11:  read/write)
       followed by 14 size bits (giving the size of the argument), followed by
       an 8-bit type (collecting the ioctls in groups for a common purpose  or
       a common driver), and an 8-bit serial number.

       The  macros  describing  this  structure  live in <asm/ioctl.h> and are
       _IO(type,nr)    and    {_IOR,_IOW,_IOWR}(type,nr,size).     They    use
       sizeof(size)  so that size is a misnomer here: this third argument is a
       data type.

       Note that the size bits are very unreliable: in lots of cases they  are
       wrong,  either because of buggy macros using sizeof(sizeof(struct)), or
       because of legacy values.

       Thus, it seems that the new structure only gave disadvantages: it  does
       not  help  in  checking,  but  it causes varying values for the various

       Decent ioctls return 0 on success and -1 on  error,  while  any  output
       value  is stored via the argument.  However, quite a few ioctls in fact
       return an output value.  This is not yet indicated below.

       // Main table.

       // <include/asm-i386/socket.h>

       l l l.   0x00008901     FIOSETOWN const  int  *  0x00008902     SIOCSP-
       GRP const  int  * 0x00008903     FIOGETOWN int * 0x00008904     SIOCGP-
       GRP int           *           0x00008905     SIOCATMAR int            *
       0x00008906     SIOCGSTAMP     timeval *

       // <include/asm-i386/termios.h>

       l     l     l    l.     0x00005401     TCGETS    struct    termios    *
       0x00005402     TCSETS    const         struct         termios         *
       0x00005403     TCSETSW   const         struct         termios         *
       0x00005404     TCSETSF   const         struct         termios         *
       0x00005405     TCGETA    struct termio * 0x00005406     TCSETA    const
       struct  termio  *  0x00005407     TCSETAW   const   struct   termio   *
       0x00005408     TCSETAF   const   struct  termio  *  0x00005409     TCS-
       BRK    int  0x0000540A     TCXONC    int   0x0000540B     TCFLSH    int
       0x0000540C     TIOCEXCL  void             0x0000540D     TIOCNXCL  void
       0x0000540E     TIOCSCTTY int      0x0000540F     TIOCGPGRP pid_t      *
       0x00005410     TIOCSPGRP const  pid_t  * 0x00005411     TIOCOUTQ  int *
       0x00005412     TIOCSTI   const     char     *     0x00005413     TIOCG-
       WINSZ     struct  winsize  * 0x00005414     TIOCSWINSZ     const struct
       winsize * 0x00005415     TIOCMGET  int * 0x00005416     TIOCMBIS  const
       int   *   0x00005417     TIOCMBIC  const  int  *  0x00005418     TIOCM-
       SET  const     int      *      0x00005419     TIOCGSOFTCAR   int      *
       0x0000541A     TIOCSSOFTCAR   const  int * 0x0000541B     FIONREAD  int
       * 0x0000541B     TIOCINQ   int  *  0x0000541C     TIOCLINUX const  char
       *   //   MORE   0x0000541D     TIOCCONS  void   0x0000541E     TIOCGSE-
       RIAL    struct  serial_struct   *   0x0000541F     TIOCSSERIAL    const
       struct    serial_struct    *   0x00005420     TIOCPKT   const   int   *
       0x00005421     FIONBIO   const  int   *   0x00005422     TIOCNOTTY void
       0x00005423     TIOCSETD  const  int  *  0x00005424     TIOCGETD  int  *
       0x00005425     TCSBRKP   int       0x00005426     TIOCTTYGSTRUCT struct
       tty_struct    *    0x00005450     FIONCLEX  void    0x00005451     FIO-
       CLEX   void 0x00005452     FIOASYNC  const int  *  0x00005453     TIOC-
       SERCONFIG  void           0x00005454     TIOCSERGWILD   int           *
       0x00005455     TIOCSERSWILD   const  int   *   0x00005456     TIOCGLCK-
       TRMIOS struct   termios  *  0x00005457     TIOCSLCKTRMIOS const  struct
       termios   *   0x00005458     TIOCSERGSTRUCT struct    async_struct    *
       0x00005459     TIOCSERGETLSR  int      *     0x0000545A     TIOCSERGET-
       MULTI     struct serial_multiport_struct  *  0x0000545B     TIOCSERSET-
       MULTI     const struct serial_multiport_struct *

       // <include/linux/ax25.h>

       l  l  l  l.  0x000089E0     SIOCAX25GETUID const struct sockaddr_ax25 *
       0x000089E1     SIOCAX25ADDUID const     struct     sockaddr_ax25      *
       0x000089E2     SIOCAX25DELUID const      struct     sockaddr_ax25     *
       0x000089E3     SIOCAX25NOUID  const    int    *     0x000089E4     SIO-
       CAX25DIGCTL const   int   *   0x000089E5     SIOCAX25GETPARMS    struct
       ax25_parms_struct *    // I-O  0x000089E6     SIOCAX25SETPARMS    const
       struct ax25_parms_struct *

       // <include/linux/cdk.h>

       l         l         l         l.          0x00007314     STL_BINTR void
       0x00007315     STL_BSTART     void        0x00007316     STL_BSTOP void
       0x00007317     STL_BRESET     void

       // <include/linux/cdrom.h>

       l  l  l  l.  0x00005301     CDROMPAUSE     void 0x00005302     CDROMRE-
       SUME    void  0x00005303     CDROMPLAYMSF   const  struct  cdrom_msf  *
       0x00005304     CDROMPLAYTRKIND     const      struct     cdrom_ti     *
       0x00005305     CDROMREADTOCHDR     struct        cdrom_tochdr         *
       0x00005306     CDROMREADTOCENTRY   struct   cdrom_tocentry  *   //  I-O
       0x00005307     CDROMSTOP void        0x00005308     CDROMSTART     void
       0x00005309     CDROMEJECT     void  0x0000530A     CDROMVOLCTRL   const
       struct cdrom_volctrl * 0x0000530B     CDROMSUBCHNL   struct  cdrom_sub-
       chnl * // I-O 0x0000530C     CDROMREADMODE2 const struct cdrom_msf * //
       MORE 0x0000530D     CDROMREADMODE1 const  struct  cdrom_msf  * //  MORE
       0x0000530E     CDROMREADAUDIO const  struct  cdrom_read_audio * // MORE
       0x0000530F     CDROMEJECT_SW  int         0x00005310     CDROMMULTISES-
       SION   struct          cdrom_multisession          *    //          I-O
       0x00005311     CDROM_GET_UPC  struct    {     char     [8];     }     *
       0x00005312     CDROMRESET     void 0x00005313     CDROMVOLREAD   struct
       cdrom_volctrl *  0x00005314     CDROMREADRAW   const  struct  cdrom_msf
       * //  MORE  0x00005315     CDROMREADCOOKED     const  struct  cdrom_msf
       * // MORE 0x00005316     CDROMSEEK const struct cdrom_msf *

       // <include/linux/cm206.h>

       l      l       l       l.        0x00002000     CM206CTL_GET_STAT   int
       0x00002001     CM206CTL_GET_LAST_STAT   int

       // <include/linux/cyclades.h>

       l   l   l   l.    0x00435901     CYGETMON  struct   cyclades_monitor  *
       0x00435902     CYGETTHRESH    int  *  0x00435903     CYSETTHRESH    int
       0x00435904     CYGETDEFTHRESH int  *  0x00435905     CYSETDEFTHRESH int
       0x00435906     CYGETTIMEOUT   int  *  0x00435907     CYSETTIMEOUT   int
       0x00435908     CYGETDEFTIMEOUT     int  *  0x00435909     CYSETDEFTIME-
       OUT     int

       // <include/linux/ext2_fs.h>

       l     l     l     l.      0x80046601     EXT2_IOC_GETFLAGS   int      *
       0x40046602     EXT2_IOC_SETFLAGS   const              int             *
       0x80047601     EXT2_IOC_GETVERSION int                                *
       0x40047602     EXT2_IOC_SETVERSION const int *

       // <include/linux/fd.h>

       l  l l l.  0x00000000     FDCLRPRM  void 0x00000001     FDSETPRM  const
       struct   floppy_struct    *    0x00000002     FDDEFPRM  const    struct
       floppy_struct   *   0x00000003     FDGETPRM  struct   floppy_struct   *
       0x00000004     FDMSGON   void             0x00000005     FDMSGOFF  void
       0x00000006     FDFMTBEG  void   0x00000007     FDFMTTRK  const   struct
       format_descr *  0x00000008     FDFMTEND  void  0x0000000A     FDSETEMS-
       GTRESH int    0x0000000B     FDFLUSH   void    0x0000000C     FDSETMAX-
       ERRS   const  struct   floppy_max_errors   *   0x0000000E     FDGETMAX-
       ERRS   struct  floppy_max_errors * 0x00000010     FDGETDRVTYP    struct
       {   char   [16];   }   *   0x00000014     FDSETDRVPRM    const   struct
       floppy_drive_params        *       0x00000015     FDGETDRVPRM    struct
       floppy_drive_params       *        0x00000016     FDGETDRVSTAT   struct
       floppy_drive_struct        *       0x00000017     FDPOLLDRVSTAT  struct
       floppy_drive_struct           *            0x00000018     FDRESET   int
       0x00000019     FDGETFDCSTAT   struct         floppy_fdc_state         *
       0x0000001B     FDWERRORCLR    void 0x0000001C     FDWERRORGET    struct
       floppy_write_errors  *  0x0000001E     FDRAWCMD  struct  floppy_raw_cmd
       *  // MORE // I-O 0x00000028     FDTWADDLE void

       // <include/linux/fs.h>

       l l l l.  0x0000125D     BLKROSET  const  int  *  0x0000125E     BLKRO-
       GET  int    *    0x0000125F     BLKRRPART void   0x00001260     BLKGET-
       SIZE     unsigned      long       *       0x00001261     BLKFLSBUF void
       0x00001262     BLKRASET  int       0x00001263     BLKRAGET  int       *
       0x00000001     FIBMAP    int *    // I-O 0x00000002     FIGETBSZ  int *

       // <include/linux/hdreg.h>

       l  l   l   l.    0x00000301     HDIO_GETGEO    struct   hd_geometry   *
       0x00000302     HDIO_GET_UNMASKINTR int  * 0x00000304     HDIO_GET_MULT-
       COUNT  int  *  0x00000307     HDIO_GET_IDENTITY   struct  hd_driveid  *
       0x00000308     HDIO_GET_KEEPSETTINGS    int                           *
       0x00000309     HDIO_GET_CHIPSET    int  *  0x0000030A     HDIO_GET_NOW-
       ERR     int         *        0x0000030B     HDIO_GET_DMA   int        *
       0x0000031F     HDIO_DRIVE_CMD int              *    //              I-O
       0x00000321     HDIO_SET_MULTCOUNT  int  0x00000322     HDIO_SET_UNMASK-
       INTR int                    0x00000323     HDIO_SET_KEEPSETTINGS    int
       0x00000324     HDIO_SET_CHIPSET    int     0x00000325     HDIO_SET_NOW-
       ERR     int 0x00000326     HDIO_SET_DMA   int

       // <include/linux/if_eql.h>

       l l l l.  0x000089F0     EQL_ENSLAVE    struct ifreq * // MORE  //  I-O
       0x000089F1     EQL_EMANCIPATE struct   ifreq   *     //   MORE  //  I-O
       0x000089F2     EQL_GETSLAVECFG     struct ifreq  *    //  MORE  //  I-O
       0x000089F3     EQL_SETSLAVECFG     struct  ifreq  *   //  MORE  //  I-O
       0x000089F4     EQL_GETMASTRCFG     struct  ifreq  *  //  MORE  //   I-O
       0x000089F5     EQL_SETMASTRCFG     struct ifreq * // MORE // I-O

       // <include/linux/if_plip.h>

       l l l l.  0x000089F0     SIOCDEVPLIP    struct ifreq * // I-O

       // <include/linux/if_ppp.h>

       l  l  l l.  0x00005490     PPPIOCGFLAGS   int * 0x00005491     PPPIOCS-
       FLAGS   const   int    *    0x00005492     PPPIOCGASYNCMAP     int    *
       0x00005493     PPPIOCSASYNCMAP     const int * 0x00005494     PPPIOCGU-
       NIT    int     *     0x00005495     PPPIOCSINPSIG  const     int      *
       0x00005497     PPPIOCSDEBUG   const   int  *  0x00005498     PPPIOCGDE-
       BUG   int   *    0x00005499     PPPIOCGSTAT    struct    ppp_stats    *
       0x0000549A     PPPIOCGTIME    struct  ppp_ddinfo * 0x0000549B     PPPI-
       OCGXASYNCMAP    struct  {  int  [8];  }  *   0x0000549C     PPPIOCSXAS-
       YNCMAP    const   struct   {   int   [8];  }  *  0x0000549D     PPPIOC-
       SMRU     const int  *  0x0000549E     PPPIOCRASYNCMAP     const  int  *
       0x0000549F     PPPIOCSMAXCID  const int *

       // <include/linux/ipx.h>

       l     l    l    l.     0x000089E0     SIOCAIPXITFCRT const    char    *
       0x000089E1     SIOCAIPXPRISLT const char  *  0x000089E2     SIOCIPXCFG-
       DATA struct ipx_config_data *

       // <include/linux/kd.h>

       l   l   l  l.   0x00004B60     GIO_FONT  struct  {  char  [8192];  }  *
       0x00004B61     PIO_FONT  const   struct   {   char    [8192];    }    *
       0x00004B6B     GIO_FONTX struct  console_font_desc *     // MORE // I-O
       0x00004B6C     PIO_FONTX const  struct   console_font_desc   *   //MORE
       0x00004B70     GIO_CMAP  struct      {      char      [48];     }     *
       0x00004B71     PIO_CMAP  const    struct     {     char     [48];     }
       0x00004B2F     KIOCSOUND int               0x00004B30     KDMKTONE  int
       0x00004B31     KDGETLED  char      *       0x00004B32     KDSETLED  int
       0x00004B33     KDGKBTYPE char  *  0x00004B34     KDADDIO   int  // MORE
       0x00004B35     KDDELIO   int  // MORE  0x00004B36     KDENABIO  void //
       MORE 0x00004B37     KDDISABIO void // MORE 0x00004B3A     KDSETMODE int
       0x00004B3B     KDGETMODE int  *  0x00004B3C     KDMAPDISP void //  MORE
       0x00004B3D     KDUNMAPDISP    void //   MORE   0x00004B40     GIO_SCRN-
       MAP    struct { char [E_TABSZ]; } * 0x00004B41     PIO_SCRNMAP    const
       struct  {  char  [E_TABSZ];  } * 0x00004B69     GIO_UNISCRNMAP struct {
       short [E_TABSZ]; } * 0x00004B6A     PIO_UNISCRNMAP const struct { short
       [E_TABSZ];  }  *  0x00004B66     GIO_UNIMAP     struct  unimapdesc * //
       MORE  //  I-O  0x00004B67     PIO_UNIMAP     const  struct   unimapdesc
       *     //  MORE  0x00004B68     PIO_UNIMAPCLR  const struct unimapinit *
       0x00004B44     KDGKBMODE int       *       0x00004B45     KDSKBMODE int
       0x00004B62     KDGKBMETA int       *       0x00004B63     KDSKBMETA int
       0x00004B64     KDGKBLED  int       *       0x00004B65     KDSKBLED  int
       0x00004B46     KDGKBENT  struct        kbentry        *   //        I-O
       0x00004B47     KDSKBENT  const struct kbentry  *  0x00004B48     KDGKB-
       SENT struct kbsentry *     // I-O 0x00004B49     KDSKBSENT const struct
       kbsentry    *    0x00004B4A     KDGKBDIACR     struct    kbdiacrs     *
       0x00004B4B     KDSKBDIACR     const       struct       kbdiacrs       *
       0x00004B4C     KDGETKEYCODE   struct     kbkeycode     *     //     I-O
       0x00004B4D     KDSETKEYCODE   const       struct       kbkeycode      *
       0x00004B4E     KDSIGACCEPT    int

       // <include/linux/lp.h>

       l l  l  l.   0x00000601     LPCHAR    int  0x00000602     LPTIME    int
       0x00000604     LPABORT   int               0x00000605     LPSETIRQ  int
       0x00000606     LPGETIRQ  int       *       0x00000608     LPWAIT    int
       0x00000609     LPCAREFUL int          0x0000060A     LPABORTOPEN    int
       0x0000060B     LPGETSTATUS    int    *    0x0000060C     LPRESET   void
       0x0000060D     LPGETSTATS     struct lp_stats *

       // <include/linux/mroute.h>

       l l l l.  0x000089E0     SIOCGETVIFCNT  struct sioc_vif_req *    // I-O
       0x000089E1     SIOCGETSGCNT   struct sioc_sg_req * // I-O

       // <include/linux/mtio.h>

       l   l   l   l.    0x40086D01     MTIOCTOP  const    struct    mtop    *
       0x801C6D02     MTIOCGET  struct mtget * 0x80046D03     MTIOCPOS  struct
       mtpos    *    0x80206D04     MTIOCGETCONFIG struct    mtconfiginfo    *
       0x40206D05     MTIOCSETCONFIG const struct mtconfiginfo *

       // <include/linux/netrom.h>

       l l l l.  0x000089E0     SIOCNRGETPARMS struct nr_parms_struct * // I-O
       0x000089E1     SIOCNRSETPARMS const    struct     nr_parms_struct     *
       0x000089E2     SIOCNRDECOBS   void  0x000089E3     SIOCNRRTCTL    const
       int *

       // <include/linux/sbpcd.h>

       l l l l.  0x00009000     DDIOCSDBG const int *  0x00005382     CDROMAU-
       DIOBUFSIZ    int

       // <include/linux/scc.h>

       l  l  l  l.  0x00005470     TIOCSCCINI     void 0x00005471     TIOCCHA-
       NINI    const  struct   scc_modem   *   0x00005472     TIOCGKISS struct
       ioctl_command    *  //    I-O   0x00005473     TIOCSKISS const   struct
       ioctl_command * 0x00005474     TIOCSCCSTAT    struct scc_stat *

       // <include/linux/scsi.h>

       l l l l.  0x00005382     SCSI_IOCTL_GET_IDLUN     struct { int [2]; } *
       0x00005383     SCSI_IOCTL_TAGGED_ENABLE void
       0x00005384     SCSI_IOCTL_TAGGED_DISABLE     void
       0x00005385     SCSI_IOCTL_PROBE_HOST    const int *     // MORE

       // <include/linux/smb_fs.h>

       l l l l.  0x80027501     SMB_IOC_GETMOUNTUID uid_t *

       // <include/linux/sockios.h>

       l  l  l  l.   0x0000890B     SIOCADDRT const struct rtentry *   // MORE
       0x0000890C     SIOCDELRT const    struct    rtentry    *     //    MORE
       0x00008910     SIOCGIFNAME    char       []      0x00008911     SIOCSI-
       FLINK    void 0x00008912     SIOCGIFCONF    struct ifconf *     // MORE
       //    I-O    0x00008913     SIOCGIFFLAGS   struct    ifreq   * //   I-O
       0x00008914     SIOCSIFFLAGS   const        struct        ifreq        *
       0x00008915     SIOCGIFADDR    struct        ifreq        * //       I-O
       0x00008916     SIOCSIFADDR    const        struct        ifreq        *
       0x00008917     SIOCGIFDSTADDR struct        ifreq        * //       I-O
       0x00008918     SIOCSIFDSTADDR const        struct        ifreq        *
       0x00008919     SIOCGIFBRDADDR struct        ifreq        * //       I-O
       0x0000891A     SIOCSIFBRDADDR const        struct        ifreq        *
       0x0000891B     SIOCGIFNETMASK struct        ifreq        * //       I-O
       0x0000891C     SIOCSIFNETMASK const        struct        ifreq        *
       0x0000891D     SIOCGIFMETRIC  struct        ifreq        * //       I-O
       0x0000891E     SIOCSIFMETRIC  const        struct        ifreq        *
       0x0000891F     SIOCGIFMEM     struct        ifreq        * //       I-O
       0x00008920     SIOCSIFMEM     const        struct        ifreq        *
       0x00008921     SIOCGIFMTU     struct        ifreq        * //       I-O
       0x00008922     SIOCSIFMTU     const        struct        ifreq        *
       0x00008923     OLD_SIOCGIFHWADDR   struct      ifreq      * //      I-O
       0x00008924     SIOCSIFHWADDR  const    struct    ifreq    * //     MORE
       0x00008925     SIOCGIFENCAP   int * 0x00008926     SIOCSIFENCAP   const
       int   *    0x00008927     SIOCGIFHWADDR  struct    ifreq    * //    I-O
       0x00008929     SIOCGIFSLAVE   void   0x00008930     SIOCSIFSLAVE   void
       0x00008931     SIOCADDMULTI   const        struct        ifreq        *
       0x00008932     SIOCDELMULTI   const  struct ifreq * 0x00008940     SIO-
       CADDRTOLD   void                     0x00008941     SIOCDELRTOLD   void
       0x00008950     SIOCDARP  const  struct  arpreq  *  0x00008951     SIOC-
       GARP  struct arpreq *     // I-O 0x00008952     SIOCSARP  const  struct
       arpreq     *    0x00008960     SIOCDRARP const    struct    arpreq    *
       0x00008961     SIOCGRARP struct       arpreq        *     //        I-O
       0x00008962     SIOCSRARP const          struct         arpreq         *
       0x00008970     SIOCGIFMAP     struct       ifreq       *  //        I-O
       0x00008971     SIOCSIFMAP     const struct ifreq *

       // <include/linux/soundcard.h>

       l  l  l l.  0x00005100     SNDCTL_SEQ_RESET    void 0x00005101     SND-
       CTL_SEQ_SYNC     void         0xC08C5102     SNDCTL_SYNTH_INFO   struct
       synth_info  *    // I-O 0xC0045103     SNDCTL_SEQ_CTRLRATE int *     //
       I-O 0x80045104     SNDCTL_SEQ_GETOUTCOUNT   int  *  0x80045105     SND-
       CTL_SEQ_GETINCOUNT    int   *   0x40045106     SNDCTL_SEQ_PERCMODE void
       0x40285107     SNDCTL_FM_LOAD_INSTR     const struct  sbi_instrument  *
       0x40045108     SNDCTL_SEQ_TESTMIDI const   int   *  0x40045109     SND-
       CTL_SEQ_RESETSAMPLES  const       int       *       0x8004510A     SND-
       CTL_SEQ_NRSYNTHS int    *    0x8004510B     SNDCTL_SEQ_NRMIDIS  int   *
       0xC074510C     SNDCTL_MIDI_INFO    struct   midi_info   *     //    I-O
       0x4004510D     SNDCTL_SEQ_THRESHOLD     const int * 0xC004510E     SND-
       CTL_SYNTH_MEMAVL int       *    //       I-O        0x4004510F     SND-
       CTL_FM_4OP_ENABLE     const       int       *       0xCFB85110     SND-
       CTL_PMGR_ACCESS  struct  patmgr_info   * //   I-O   0x00005111     SND-
       CTL_SEQ_PANIC    void     0x40085112     SNDCTL_SEQ_OUTOFBAND     const
       struct seq_event_rec * 0xC0045401     SNDCTL_TMR_TIMEBASE int  *     //
       I-O     0x00005402     SNDCTL_TMR_START    void     0x00005403     SND-
       CTL_TMR_STOP     void           0x00005404     SNDCTL_TMR_CONTINUE void
       0xC0045405     SNDCTL_TMR_TEMPO    int   * //  I-O  0xC0045406     SND-
       CTL_TMR_SOURCE   int       *     //       I-O       0x40045407     SND-
       CTL_TMR_METRONOME     const       int       *       0x40045408     SND-
       CTL_TMR_SELECT   int * // I-O 0xCFB85001     SNDCTL_PMGR_IFACE   struct
       patmgr_info * // I-O 0xC0046D00     SNDCTL_MIDI_PRETIME int *     // I-
       O 0xC0046D01     SNDCTL_MIDI_MPUMODE const  int  *  0xC0216D02     SND-
       CTL_MIDI_MPUCMD  struct  mpu_command_rec  *  // I-O 0x00005000     SND-
       CTL_DSP_RESET    void           0x00005001     SNDCTL_DSP_SYNC     void
       0xC0045002     SNDCTL_DSP_SPEED    int   * //  I-O  0xC0045003     SND-
       CTL_DSP_STEREO   int  *     //  I-O   0xC0045004     SNDCTL_DSP_GETBLK-
       SIZE    int  *     //  I-O  0xC0045006     SOUND_PCM_WRITE_CHANNELS int
       *     // I-O 0xC0045007     SOUND_PCM_WRITE_FILTER   int  *     //  I-O
       0x00005008     SNDCTL_DSP_POST     void  0xC0045009     SNDCTL_DSP_SUB-
       DIVIDE     int *   //  I-O  0xC004500A     SNDCTL_DSP_SETFRAGMENT   int
       *     //       I-O       0x8004500B     SNDCTL_DSP_GETFMTS  int       *
       0xC0045005     SNDCTL_DSP_SETFMT   int *   //  I-O  0x800C500C     SND-
       CTL_DSP_GETOSPACE     struct   audio_buf_info   *   0x800C500D     SND-
       CTL_DSP_GETISPACE     struct   audio_buf_info   *   0x0000500E     SND-
       CTL_DSP_NONBLOCK void      0x80045002     SOUND_PCM_READ_RATE int     *
       0x80045006     SOUND_PCM_READ_CHANNELS  int                           *
       0x80045005     SOUND_PCM_READ_BITS int                                *
       0x80045007     SOUND_PCM_READ_FILTER    int    *    0x00004300     SND-
       CTL_COPR_RESET   void  0xCFB04301     SNDCTL_COPR_LOAD    const  struct
       copr_buffer * 0xC0144302     SNDCTL_COPR_RDATA   struct  copr_debug_buf
       *  //   I-O   0xC0144303     SNDCTL_COPR_RCODE   struct  copr_debug_buf
       *  //     I-O      0x40144304     SNDCTL_COPR_WDATA   const      struct
       copr_debug_buf    *   0x40144305     SNDCTL_COPR_WCODE   const   struct
       copr_debug_buf       *        0xC0144306     SNDCTL_COPR_RUN     struct
       copr_debug_buf  *     //  I-O 0xC0144307     SNDCTL_COPR_HALT    struct
       copr_debug_buf * // I-O 0x4FA44308     SNDCTL_COPR_SENDMSG const struct
       copr_msg   *   0x8FA44309     SNDCTL_COPR_RCVMSG  struct   copr_msg   *
       0x80044D00     SOUND_MIXER_READ_VOLUME  int                           *
       0x80044D01     SOUND_MIXER_READ_BASS    int                           *
       0x80044D02     SOUND_MIXER_READ_TREBLE  int                           *
       0x80044D03     SOUND_MIXER_READ_SYNTH   int                           *
       0x80044D04     SOUND_MIXER_READ_PCM     int                           *
       0x80044D05     SOUND_MIXER_READ_SPEAKER int                           *
       0x80044D06     SOUND_MIXER_READ_LINE    int                           *
       0x80044D07     SOUND_MIXER_READ_MIC     int                           *
       0x80044D08     SOUND_MIXER_READ_CD int                                *
       0x80044D09     SOUND_MIXER_READ_IMIX    int                           *
       0x80044D0A     SOUND_MIXER_READ_ALTPCM  int                           *
       0x80044D0B     SOUND_MIXER_READ_RECLEV  int                           *
       0x80044D0C     SOUND_MIXER_READ_IGAIN   int                           *
       0x80044D0D     SOUND_MIXER_READ_OGAIN   int                           *
       0x80044D0E     SOUND_MIXER_READ_LINE1   int                           *
       0x80044D0F     SOUND_MIXER_READ_LINE2   int                           *
       0x80044D10     SOUND_MIXER_READ_LINE3   int                           *
       0x80044D1C     SOUND_MIXER_READ_MUTE    int                           *
       0x80044D1D     SOUND_MIXER_READ_ENHANCE int                           *
       0x80044D1E     SOUND_MIXER_READ_LOUD    int                           *
       0x80044DFF     SOUND_MIXER_READ_RECSRC  int                           *
       0x80044DFE     SOUND_MIXER_READ_DEVMASK int                           *
       0x80044DFD     SOUND_MIXER_READ_RECMASK int                           *
       0x80044DFB     SOUND_MIXER_READ_STEREODEVS   int                      *
       0x80044DFC     SOUND_MIXER_READ_CAPS    int                           *
       0xC0044D00     SOUND_MIXER_WRITE_VOLUME int         *     //        I-O
       0xC0044D01     SOUND_MIXER_WRITE_BASS   int          * //           I-O
       0xC0044D02     SOUND_MIXER_WRITE_TREBLE int          *  //          I-O
       0xC0044D03     SOUND_MIXER_WRITE_SYNTH  int         *   //          I-O
       0xC0044D04     SOUND_MIXER_WRITE_PCM    int         *    //         I-O
       0xC0044D05     SOUND_MIXER_WRITE_SPEAKER     int      *     //      I-O
       0xC0044D06     SOUND_MIXER_WRITE_LINE   int           * //          I-O
       0xC0044D07     SOUND_MIXER_WRITE_MIC    int          *  //          I-O
       0xC0044D08     SOUND_MIXER_WRITE_CD     int          *   //         I-O
       0xC0044D09     SOUND_MIXER_WRITE_IMIX   int         *    //         I-O
       0xC0044D0A     SOUND_MIXER_WRITE_ALTPCM int         *     //        I-O
       0xC0044D0B     SOUND_MIXER_WRITE_RECLEV int          * //           I-O
       0xC0044D0C     SOUND_MIXER_WRITE_IGAIN  int          *  //          I-O
       0xC0044D0D     SOUND_MIXER_WRITE_OGAIN  int         *   //          I-O
       0xC0044D0E     SOUND_MIXER_WRITE_LINE1  int         *    //         I-O
       0xC0044D0F     SOUND_MIXER_WRITE_LINE2  int        *     //         I-O
       0xC0044D10     SOUND_MIXER_WRITE_LINE3  int           * //          I-O
       0xC0044D1C     SOUND_MIXER_WRITE_MUTE   int          *  //          I-O
       0xC0044D1D     SOUND_MIXER_WRITE_ENHANCE     int       *   //       I-O
       0xC0044D1E     SOUND_MIXER_WRITE_LOUD   int         *    //         I-O
       0xC0044DFF     SOUND_MIXER_WRITE_RECSRC int *     // I-O

       // <include/linux/umsdos_fs.h>

       l   l   l  l.   0x000004D2     UMSDOS_READDIR_DOS  struct  umsdos_ioctl
       *    //  I-O   0x000004D3     UMSDOS_UNLINK_DOS   const   struct   ums-
       dos_ioctl   *   0x000004D4     UMSDOS_RMDIR_DOS    const   struct  ums-
       dos_ioctl  *   0x000004D5     UMSDOS_STAT_DOS     struct   umsdos_ioctl
       *    //   I-O   0x000004D6     UMSDOS_CREAT_EMD    const   struct  ums-
       dos_ioctl  *   0x000004D7     UMSDOS_UNLINK_EMD   const   struct   ums-
       dos_ioctl   *   0x000004D8     UMSDOS_READDIR_EMD  struct  umsdos_ioctl
       *    // I-O  0x000004D9     UMSDOS_GETVERSION   struct  umsdos_ioctl  *
       0x000004DA     UMSDOS_INIT_EMD     void  0x000004DB     UMSDOS_DOS_SET-
       UP    const     struct     umsdos_ioctl      *      0x000004DC     UMS-
       DOS_RENAME_DOS   const struct umsdos_ioctl *

       // <include/linux/vt.h>

       l  l  l  l.  0x00005600     VT_OPENQRY     int * 0x00005601     VT_GET-
       MODE     struct vt_mode  *  0x00005602     VT_SETMODE     const  struct
       vt_mode     *     0x00005603     VT_GETSTATE    struct     vt_stat    *
       0x00005604     VT_SENDSIG     void    0x00005605     VT_RELDISP     int
       0x00005606     VT_ACTIVATE    int     0x00005607     VT_WAITACTIVE  int
       0x00005608     VT_DISALLOCATE int 0x00005609     VT_RESIZE const struct
       vt_sizes * 0x0000560A     VT_RESIZEX     const struct vt_consize *

       //  More  arguments.   Some ioctl's take a pointer to a structure which
       contains additional pointers.  These are documented here in  alphabeti-
       cal order.

       CDROMREADAUDIO  takes an input pointer const struct cdrom_read_audio *.
       The buf field points to an output buffer of length nframes *  CD_FRAME-

       an input pointer const struct cdrom_msf *.  They use the  same  pointer
       as  an  output  pointer to char [].  The length varies by request.  For
       CDROMREADMODE1, most drivers use CD_FRAMESIZE, but the  Optics  Storage
       driver uses OPT_BLOCKSIZE instead (both have the numerical value 2048).

           CDROMREADMODE2     char [CD_FRAMESIZE_RAW0]
           CDROMREADRAW       char [CD_FRAMESIZE_RAW]

       MASTERCFG, and EQL_SETMASTERCFG take a struct ifreq  *.   The  ifr_data
       field is a pointer to another structure as follows:

           EQL_ENSLAVE         const struct slaving_request *
           EQL_EMANCIPATE      const struct slaving_request *
           EQL_GETSLAVECFG     struct slave_config *           // I-O
           EQL_SETSLAVECFG     const struct slave_config *
           EQL_GETMASTERCFG    struct master_config *
           EQL_SETMASTERCFG    const struct master_config *

       FDRAWCMD  takes  a struct floppy raw_cmd *.  If flags &amp; FD_RAW_WRITE is
       non-zero, then data points to an input buffer  of  length  length.   If
       flags  &amp;  FD_RAW_READ is non-zero, then data points to an output buffer
       of length length.

       GIO_FONTX and PIO_FONTX take a struct console_font_desc *  or  a  const
       struct  console_font_desc *, respectively.  chardata points to a buffer
       of char [charcount].  This is an output buffer  for  GIO_FONTX  and  an
       input buffer for PIO_FONTX.

       GIO_UNIMAP  and PIO_UNIMAP take a struct unimapdesc * or a const struct
       unimapdesc *, respectively.  entries points to a buffer of struct  uni-
       pair  [entry_ct].  This is an output buffer for GIO_UNIMAP and an input
       buffer for PIO_UNIMAP.

       KDADDIO, KDDELIO, KDDISABIO, and KDENABIO enable or disable  access  to
       I/O ports.  They are essentially alternate interfaces to 'ioperm'.

       KDMAPDISP and KDUNMAPDISP enable or disable memory mappings or I/O port
       access.  They are not implemented in the kernel.

       SCSI_IOCTL_PROBE_HOST takes an input pointer const int *,  which  is  a
       length.   It  uses  the  same pointer as an output pointer to a char []
       buffer of this length.

       SIOCADDRT and SIOCDELRT take an input pointer whose type depends on the

           Most protocols      const struct rtentry *
           AX.25               const struct ax25_route *
           NET/ROM             const struct nr_route_struct *

       SIOCGIFCONF  takes  a  struct  ifconf *.  The ifc_buf field points to a
       buffer of length ifc_len bytes, into which the kernel writes a list  of
       type struct ifreq [].

       SIOCSIFHWADDR  takes  an input pointer whose type depends on the proto-

           Most protocols      const struct ifreq *
           AX.25               const char [AX25_ADDR_LEN]

       TIOCLINUX takes a const char *.  It uses this  to  distinguish  several
       independent  sub-cases.  In the table below, N + foo means foo after an
       N-byte  pad.   struct  selection  is  implicitly   defined   in   driv-

           TIOCLINUX-2         1 + const struct selection *
           TIOCLINUX-3         void
           TIOCLINUX-4         void
           TIOCLINUX-5         4 + const struct { long [8]; } *
           TIOCLINUX-6         char *
           TIOCLINUX-7         char *
           TIOCLINUX-10        1 + const char *

       // Duplicate ioctls

       This  list  does  not  include  ioctls  in the range SIOCDEVPRIVATE and

       l   l   l.     0x00000001     FDSETPRM  FIBMAP    0x00000002     FDDEF-
       0x00005402     SNDCTL_TMR_START    TCSETS           0x00005403     SND-


       This  page  is  part of release 3.05 of the Linux man-pages project.  A
       description of the project, and information about reporting  bugs,  can
       be found at http://www.kernel.org/doc/man-pages/.

Linux                             2007-12-29                     IOCTL_LIST(2)