.\" Ioctl List 1.3.27
.\" Sun 17 Sep 1995
.\" Michael Elizabeth Chastain
.\" <mec@duracef.shout.net>
.\" 
.\" // Copyright
.\" 
.\" Ioctl List 1.3.27 is copyright 1995 by Michael Elizabeth Chastain.
.\" It is licensed under the Gnu Public License, Version 2.
.\" 
.\" 
.\" 
.\" // Change Log
.\" 
.\" 1.3.27	421 ioctls.
.\" 	Type information for non-pointer args.
.\" 	SIOCDEVPRIVATE, SIOCPROTOPRIVATE ioctls.
.\" 	Descriptions of extended arguments.
.\" 
.\" 1.2.9	365 ioctls.
.\" 	First public version.
.\" 
.\" Japanese Version Copyright (c) 1996 Akira Yoshiyama
.\"         all rights reserved.
.\" Translated Sun Jun 30 20:46:54 JST 1996
.\"         by Akira Yoshiyama <yosshy@jedi.seg.kobe-u.ac.jp>
.\" Modified Sat Dec 13 20:25:06 JST 1997
.\"         by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
.\" 
.\" 
.nf

// はじめに

この文章は ioctl リスト 1.3.27、つまり Linux/i386 カーネル 1.3.27 にお
ける ioctl コールの一覧です。このリストは /usr/include{asm,linux}/*.h
にある 421 の ioctl を含んでいます。全ての ioctl に対して、数値、名称、
引き数の型を列挙してあります。

引き数型 'const struct foo *' は、その引き数がカーネルへの入力である事を意
味します。また、'struct foo *' は、その引き数がカーネルからの出力である
事を意味します。カーネルがその引き数を入力と出力の両方に使用する場合は、
// I-O マークを付けてあります。

いくつかの ioctl は複数の構造体の引き数を必要としたり、値を返したり
します。これらには // MORE マークを付けて、さらに分離したセクションで
説明してあります。

このリストは不完全です。以下のものを含んでいません:

    -- カーネルの内部で定義された ioctl ('scsi_ioctl.h')
    -- カーネルとは別に配布されるモジュールにおける ioctl

もちろん、記述に間違いや不足があるかもしれません。

変更や意見は <mec@duracef.shout.net> まで e-mail して下さい。私は特に、
独自の ioctl を定義しているローダブル・モジュールに興味があります。もし
このようなモジュールを知っていたら、どこから ftp できるのか私に教えて
下さい。そしたら私は次のリリースにその ioctl を入れます。



// Main table.

// <include/asm-i386/socket.h>
0x00008901  FIOSETOWN                   const int *
0x00008902  SIOCSPGRP                   const int *
0x00008903  FIOGETOWN                   int *
0x00008904  SIOCGPGRP                   int *
0x00008905  SIOCATMARK                  int *
0x00008906  SIOCGSTAMP                  timeval *

// <include/asm-i386/termios.h>
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  TCSBRK                      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  TIOCGWINSZ                  const struct winsize *
0x00005414  TIOCSWINSZ                  struct winsize *
0x00005415  TIOCMGET                    int *
0x00005416  TIOCMBIS                    const int *
0x00005417  TIOCMBIC                    const int *
0x00005418  TIOCMSET                    const int *
0x00005419  TIOCGSOFTCAR                int *
0x0000541A  TIOCSSOFTCAR                const int *
0x0000541B  FIONREAD                    int *
0x0000541B  TIOCINQ                     int *
0x0000541C  TIOCLINUX                   const char *                   // MORE
0x0000541D  TIOCCONS                    void
0x0000541E  TIOCGSERIAL                 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  FIOCLEX                     void
0x00005452  FIOASYNC                    const int *
0x00005453  TIOCSERCONFIG               void
0x00005454  TIOCSERGWILD                int *
0x00005455  TIOCSERSWILD                const int *
0x00005456  TIOCGLCKTRMIOS              struct termios *
0x00005457  TIOCSLCKTRMIOS              const struct temios *
0x00005458  TIOCSERGSTRUCT              struct async_struct *
0x00005459  TIOCSERGETLSR               int *
0x0000545A  TIOCSERGETMULTI             struct serial_multiport_struct *
0x0000545B  TIOCSERSETMULTI             const struct serial_multiport_struct *

// <include/linux/ax25.h>
0x000089E0  SIOCAX25GETUID              const struct sockaddr_ax25 *
0x000089E1  SIOCAX25ADDUID              const struct sockaddr_ax25 *
0x000089E2  SIOCAX25DELUID              const struct sockaddr_ax25 *
0x000089E3  SIOCAX25NOUID               const int *
0x000089E4  SIOCAX25DIGCTL              const int *
0x000089E5  SIOCAX25GETPARMS            struct ax25_parms_struct *     // I-O
0x000089E6  SIOCAX25SETPARMS            const struct ax25_parms-struct *

// <include/linux/cdk.h>
0x00007314  STL_BINTR                   void
0x00007315  STL_BSTART                  void
0x00007316  STL_BSTOP                   void
0x00007317  STL_BRESET                  void

// <include/linux/cdrom.h>
0x00005301  CDROMPAUSE                  void
0x00005302  CDROMRESUME                 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_subchnl *         // 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  CDROMMULTISESSION           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>
0x00002000  CM206CTL_GET_STAT           int
0x00002001  CM206CTL_GET_LAST_STAT      int

// <include/linux/cyclades.h>
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  CYSETDEFTIMEOUT             int

// <include/linux/ext2_fs.h>
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>
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  FDSETEMSGTRESH              int
0x0000000B  FDFLUSH                     void
0x0000000C  FDSETMAXERRS                const struct floppy_max_errors *
0x0000000E  FDGETMAXERRS                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>
0x0000125D  BLKROSET                    const int *
0x0000125E  BLKROGET                    int *
0x0000125F  BLKRRPART                   void
0x00001260  BLKGETSIZE                  int *
0x00001261  BLKFLSBUF                   void
0x00001262  BLKRASET                    int
0x00001263  BLKRAGET                    int *
0x00000001  FIBMAP                      int *                          // I-O
0x00000002  FIGETBSZ                    int *

// <include/linux/hdreg.h>
0x00000301  HDIO_GETGEO                 struct hd_geometry *
0x00000302  HDIO_GET_UNMASKINTR         int *
0x00000304  HDIO_GET_MULTCOUNT          int *
0x00000307  HDIO_GET_IDENTITY           struct hd_driveid *
0x00000308  HDIO_GET_KEEPSETTINGS       int *
0x00000309  HDIO_GET_CHIPSET            int *
0x0000030A  HDIO_GET_NOWERR             int *
0x0000030B  HDIO_GET_DMA                int *
0x0000031F  HDIO_DRIVE_CMD              int *                          // I-O
0x00000321  HDIO_SET_MULTCOUNT          int
0x00000322  HDIO_SET_UNMASKINTR         int
0x00000323  HDIO_SET_KEEPSETTINGS       int
0x00000324  HDIO_SET_CHIPSET            int
0x00000325  HDIO_SET_NOWERR             int
0x00000326  HDIO_SET_DMA                int

// <include/linux/if_eql.h>
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>
0x000089F0  SIOCDEVPLIP                 struct ifreq *                 // I-O

// <include/linux/if_ppp.h>
0x00005490  PPPIOCGFLAGS                int *
0x00005491  PPPIOCSFLAGS                const int *
0x00005492  PPPIOCGASYNCMAP             int *
0x00005493  PPPIOCSASYNCMAP             const int *
0x00005494  PPPIOCGUNIT                 int *
0x00005495  PPPIOCSINPSIG               const int *
0x00005497  PPPIOCSDEBUG                const int *
0x00005498  PPPIOCGDEBUG                int *
0x00005499  PPPIOCGSTAT                 struct ppp_stats *
0x0000549A  PPPIOCGTIME                 struct ppp_ddinfo *
0x0000549B  PPPIOCGXASYNCMAP            struct { int [8]; } *
0x0000549C  PPPIOCSXASYNCMAP            const struct { int [8]; } *
0x0000549D  PPPIOCSMRU                  const int *
0x0000549E  PPPIOCRASYNCMAP             const int *
0x0000549F  PPPIOCSMAXCID               const int *

// <include/linux/ipx.h>
0x000089E0  SIOCAIPXITFCRT              const char *
0x000089E1  SIOCAIPXPRISLT              const char *
0x000089E2  SIOCIPXCFGDATA              struct ipx_config_data *

// <include/linux/kd.h>
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_SCRNMAP                 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  KDGKBSENT                   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>
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>
0x000089E0  SIOCGETVIFCNT               struct sioc_vif_req *          // I-O
0x000089E1  SIOCGETSGCNT                struct sioc_sg_req *           // I-O

// <include/linux/mtio.h>
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>
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>
0x00009000  DDIOCSDBG                   const int *
0x00005382  CDROMAUDIOBUFSIZ            int

// <include/linux/scc.h>
0x00005470  TIOCSCCINI                  void
0x00005471  TIOCCHANINI                 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>
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>
0x80027501  SMB_IOC_GETMOUNTUID         uid_t *

// <include/linux/sockios.h>
0x0000890B  SIOCADDRT                   const struct rtentry *         // MORE
0x0000890C  SIOCDELRT                   const struct rtentry *         // MORE
0x00008910  SIOCGIFNAME                 char []
0x00008911  SIOCSIFLINK                 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  SIOCADDRTOLD                void
0x00008941  SIOCDELRTOLD                void
0x00008950  SIOCDARP                    const struct arpreq *
0x00008951  SIOCGARP                    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>
0x00005100  SNDCTL_SEQ_RESET            void
0x00005101  SNDCTL_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  SNDCTL_SEQ_GETINCOUNT       int *
0x40045106  SNDCTL_SEQ_PERCMODE         void
0x40285107  SNDCTL_FM_LOAD_INSTR        const struct sbi_instrument *
0x40045108  SNDCTL_SEQ_TESTMIDI         const int *
0x40045109  SNDCTL_SEQ_RESETSAMPLES     const int *
0x8004510A  SNDCTL_SEQ_NRSYNTHS         int *
0x8004510B  SNDCTL_SEQ_NRMIDIS          int *
0xC074510C  SNDCTL_MIDI_INFO            struct midi_info *             // I-O
0x4004510D  SNDCTL_SEQ_THRESHOLD        const int *
0xC004510E  SNDCTL_SYNTH_MEMAVL         int *                          // I-O
0x4004510F  SNDCTL_FM_4OP_ENABLE        const int *
0xCFB85110  SNDCTL_PMGR_ACCESS          struct patmgr_info *           // I-O
0x00005111  SNDCTL_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  SNDCTL_TMR_STOP             void
0x00005404  SNDCTL_TMR_CONTINUE         void
0xC0045405  SNDCTL_TMR_TEMPO            int *                          // I-O
0xC0045406  SNDCTL_TMR_SOURCE           int *                          // I-O
0x40045407  SNDCTL_TMR_METRONOME        const int *
0x40045408  SNDCTL_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  SNDCTL_MIDI_MPUCMD          struct mpu_command_rec *       // I-O
0x00005000  SNDCTL_DSP_RESET            void
0x00005001  SNDCTL_DSP_SYNC             void
0xC0045002  SNDCTL_DSP_SPEED            int *                          // I-O
0xC0045003  SNDCTL_DSP_STEREO           int *                          // I-O
0xC0045004  SNDCTL_DSP_GETBLKSIZE       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_SUBDIVIDE        int *                          // I-O
0xC004500A  SNDCTL_DSP_SETFRAGMENT      int *                          // I-O
0x8004500B  SNDCTL_DSP_GETFMTS          int *
0xC0045005  SNDCTL_DSP_SETFMT           int *                          // I-O
0x800C500C  SNDCTL_DSP_GETOSPACE        struct audio_buf_info *
0x800C500D  SNDCTL_DSP_GETISPACE        struct audio_buf_info *
0x0000500E  SNDCTL_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  SNDCTL_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>
0x000004D2  UMSDOS_READDIR_DOS          struct umsdos_ioctl *          // I-O
0x000004D3  UMSDOS_UNLINK_DOS           const struct umsdos_ioctl *
0x000004D4  UMSDOS_RMDIR_DOS            const struct umsdos_ioctl *
0x000004D5  UMSDOS_STAT_DOS             struct umsdos_ioctl *          // I-O
0x000004D6  UMSDOS_CREAT_EMD            const struct umsdos_ioctl *
0x000004D7  UMSDOS_UNLINK_EMD           const struct umsdos_ioctl *
0x000004D8  UMSDOS_READDIR_EMD          struct umsdos_ioctl *          // I-O
0x000004D9  UMSDOS_GETVERSION           struct umsdos_ioctl *
0x000004DA  UMSDOS_INIT_EMD             void
0x000004DB  UMSDOS_DOS_SETUP            const struct umsdos_ioctl *
0x000004DC  UMSDOS_RENAME_DOS           const struct umsdos_ioctl *

// <include/linux/vt.h>
0x00005600  VT_OPENQRY                  int *
0x00005601  VT_GETMODE                  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.

いくつかの ioctl は追加のポインタを含む構造体へのポインタを使用します。
ここでこれらをアルファベット順に説明します。

CDROMREADAUDIO は入力ポインタ 'const struct cdrom_read_audio *' を使用
します。'buf' フィールドは大きさ 'nframes * CD_FRAMESIZE_RAW' の
出力バッファへのポインタです。

CDROMREADCOOKED, CDROMREADMODE1, CDROMREADMODE2, CDROMREADRAW は入力ポ
インタ 'const struct cdrom_msf *' を使用します。これらは同じポインタを 
 'char []' への出力ポインタとして使用します。長さは要求によって変化しま
す。CDROMREADMODE1 には、多くのデバイスが 'CD_FRAMESIZE' を使用します
が、光学記憶装置(光ディスク)のドライバは 'OPT_BLOCKSIZE' を使用します 
(どちらも同じ値で 2048 です)。

            CDROMREADCOOKED             char [CD_FRAMESIZE]
            CDROMREADMODE1              char [CD_FRAMESIZE or OPT_BLOCKSIZE]
            CDROMREADMODE2              char [CD_FRAMESIZE_RAW0]
            CDROMREADRAW                char [CD_FRAMESIZE_RAW]

EQL_ENSLAVE, EQL_EMANCIPATE, EQL_GETSLAVECFG, EQL_SETSLAVECFG,
EQL_GETMASTERCFG, EQL_SETMASTERCFG は 'struct ifreq *' を使用します。
 'ifr_data' フィールドは以下に示す別の構造体へのポインタです:

            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 は 'struct floppy raw_cmd *' を使用します。
 'flags & FD_RAW_WRITE' がゼロ以外の場合、'data' は大きさ 'length' の入力
バッファへのポインタになります。'flags & FD_RAW_READ' がゼロ以外の場合、 
 'data' は大きさ 'length' の出力バッファへのポインタになります。

GIO_FONTX, PIO_FONTX はそれぞれ 'struct console_font_desc *' と
 'const struct console_font_desc *' を使用します。 'chardata' は
 'char [charcount]' バッファへのポインタです。これは GIO_FONTX の出力バッ

GIO_UNIMAP, PIO_UNIMAP はそれぞれ 'struct unimapdesc *' と
 'const struct unimapdesc *' を使用します。 'entries'は
 'struct unipair [entry_ct]' バッファへのポインタです。
これは GIO_UNIMAP の出力バッファと PIO_UNIMAP の入力バッファです。

KDADDIO, KDDELIO, KDDISABIO, KDENABIO は I/O ポートへのアクセスを
可能/不可能にします。これらの本質的に、'ioperm' へ別のインターフェースです。

KDMAPDISP, KDUNMAPDISP はメモリ・マッピングや I/O ポートへのアクセ
スを可能/不可能にします。これらはカーネルに実装されていません。

SCSI_IOCTL_PROBE_HOST は入力ポインタ 'const int *' を大きさとして使用します。
これは同じ大きさの'char []'バッファ への出力ポインタとしても使用します。

SIOCADDRT, SIOCDELRT は型が以下のプロトコルに依存する入力ポインタを使
用します:

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

SIOCGIFCONF は 'struct ifconf *' を使用します。この 'ifc_buf' フィール
ドは長さ 'ifc_len' バイトのバッファへのポインタです。これに
カーネルが 'struct ifreq []' 型のリストへ書き込みます。

SIOCSIFHWADDR は型が以下のプロトコルに依存する入力ポインタを使用します:

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

TIOCLINUX は 'const char *' を使用します。このポインタをいく
つかの独立したサブクラスを識別する為に使用します。以下のテーブルの中で、
 'N + foo' は 'foo' N バイトの詰めものの後にある 'foo' を意味します。
 'struct selection' は暗黙的に 'drivers/char/selection.c' の中で
定義されています。

            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

このリストは SIOCDEVPRIVATE から SIOCPROTOPRIVATE の範囲の ioctl を
含んでいません。

0x00000001  FDSETPRM                    FIBMAP
0x00000002  FDDEFPRM                    FIGETBSZ
0x00005382  CDROMAUDIOBUFSIZ            SCSI_IOCTL_GET_IDLUN
0x00005402  SNDCTL_TMR_START            TCSETS
0x00005403  SNDCTL_TMR_STOP             TCSETSW
0x00005404  SNDCTL_TMR_CONTINUE         TCSETSF
