1IOCTL_LIST(2)              Linux Programmer's Manual             IOCTL_LIST(2)
2
3
4

NAME

6       ioctl_list - list of ioctl calls in Linux/i386 kernel
7
8

DESCRIPTION

10       This  is  Ioctl List 1.3.27, a list of ioctl calls in Linux/i386 kernel
11       1.3.27.  It contains 421 ioctls from /usr/include/{asm,linux}/*.h.  For
12       each  ioctl,  its  numerical value, its name, and its argument type are
13       given.
14
15       An argument type of 'const struct foo *' means the argument is input to
16       the  kernel.  'struct foo *' means the kernel outputs the argument.  If
17       the kernel uses the argument for both input and output, this is  marked
18       with // I-O.
19
20       Some  ioctls  take  more  arguments or return more values than a single
21       structure.  These are marked // MORE and documented further in a  sepa‐
22       rate section.
23
24       This  list  is  very incomplete.  Please e-mail changes and comments to
25       <mec@duracef.shout.net>.
26
27

IOCTL STRUCTURE

29       Ioctl command values are 32-bit constants.   In  principle  these  con‐
30       stants  are  completely  arbitrary, but people have tried to build some
31       structure into them.
32
33       The old Linux situation was that of mostly 16-bit constants, where  the
34       last  byte  is  a  serial number, and the preceding byte(s) give a type
35       indicating the driver. Sometimes the major number was  used:  0x03  for
36       the  HDIO_*  ioctls, 0x06 for the LP* ioctls. And sometimes one or more
37       ASCII letters were used. For example, TCGETS has value 0x00005401, with
38       0x54  =  'T' indicating the terminal driver, and CYGETTIMEOUT has value
39       0x00435906, with 0x43 0x59 = 'C' 'Y' indicating the cyclades driver.
40
41       Later (0.98p5) some more information was built into  the  number.   One
42       has  2  direction  bits (00: none, 01: write, 10: read, 11: read/write)
43       followed by 14 size bits (giving the size of the argument), followed by
44       an  8-bit type (collecting the ioctls in groups for a common purpose or
45       a common driver), and an 8-bit serial number.
46
47       The macros describing this structure  live  in  <asm/ioctl.h>  and  are
48       _IO(type,nr)    and    {_IOR,_IOW,_IOWR}(type,nr,size).     They    use
49       sizeof(size) so that size is a misnomer here: this third parameter is a
50       data type.
51
52       Note  that the size bits are very unreliable: in lots of cases they are
53       wrong, either because of buggy macros using sizeof(sizeof(struct)),  or
54       because of legacy values.
55
56       Thus,  it seems that the new structure only gave disadvantages: it does
57       not help in checking, but it causes  varying  values  for  the  various
58       architectures.
59
60

RETURN VALUE

62       Decent  ioctls  return  0  on success and -1 on error, while any output
63       value is stored via the argument. However, quite a few ioctls  in  fact
64       return an output value.  This is not yet indicated below.
65
66
67       // Main table.
68
69       // <include/asm-i386/socket.h>
70       0x00008901  FIOSETOWN              const int *
71       0x00008902  SIOCSPGRP              const int *
72       0x00008903  FIOGETOWN              int *
73       0x00008904  SIOCGPGRP              int *
74       0x00008905  SIOCATMARK             int *
75       0x00008906  SIOCGSTAMP             timeval *
76
77       // <include/asm-i386/termios.h>
78       0x00005401  TCGETS            struct termios *
79       0x00005402  TCSETS            const struct termios *
80       0x00005403  TCSETSW           const struct termios *
81       0x00005404  TCSETSF           const struct termios *
82       0x00005405  TCGETA            struct termio *
83       0x00005406  TCSETA            const struct termio *
84       0x00005407  TCSETAW           const struct termio *
85       0x00005408  TCSETAF           const struct termio *
86       0x00005409  TCSBRK            int
87       0x0000540A  TCXONC            int
88       0x0000540B  TCFLSH            int
89       0x0000540C  TIOCEXCL               void
90       0x0000540D  TIOCNXCL               void
91       0x0000540E  TIOCSCTTY              int
92       0x0000540F  TIOCGPGRP              pid_t *
93       0x00005410  TIOCSPGRP              const pid_t *
94       0x00005411  TIOCOUTQ               int *
95       0x00005412  TIOCSTI           const char *
96       0x00005413  TIOCGWINSZ             struct winsize *
97       0x00005414  TIOCSWINSZ             const struct winsize *
98       0x00005415  TIOCMGET               int *
99       0x00005416  TIOCMBIS               const int *
100       0x00005417  TIOCMBIC               const int *
101       0x00005418  TIOCMSET               const int *
102       0x00005419  TIOCGSOFTCAR      int *
103       0x0000541A  TIOCSSOFTCAR      const int *
104       0x0000541B  FIONREAD               int *
105       0x0000541B  TIOCINQ           int *
106       0x0000541C  TIOCLINUX              const char *             // MORE
107       0x0000541D  TIOCCONS               void
108       0x0000541E  TIOCGSERIAL            struct serial_struct *
109       0x0000541F  TIOCSSERIAL            const struct serial_struct *
110       0x00005420  TIOCPKT           const int *
111       0x00005421  FIONBIO           const int *
112       0x00005422  TIOCNOTTY              void
113       0x00005423  TIOCSETD               const int *
114       0x00005424  TIOCGETD               int *
115       0x00005425  TCSBRKP           int
116       0x00005426  TIOCTTYGSTRUCT         struct tty_struct *
117       0x00005450  FIONCLEX               void
118       0x00005451  FIOCLEX           void
119       0x00005452  FIOASYNC               const int *
120       0x00005453  TIOCSERCONFIG          void
121       0x00005454  TIOCSERGWILD      int *
122       0x00005455  TIOCSERSWILD      const int *
123       0x00005456  TIOCGLCKTRMIOS         struct termios *
124       0x00005457  TIOCSLCKTRMIOS         const struct termios *
125       0x00005458  TIOCSERGSTRUCT         struct async_struct *
126       0x00005459  TIOCSERGETLSR          int *
127       0x0000545A  TIOCSERGETMULTI        struct serial_multiport_struct *
128       0x0000545B  TIOCSERSETMULTI        const struct serial_multiport_struct *
129
130       // <include/linux/ax25.h>
131       0x000089E0  SIOCAX25GETUID         const struct sockaddr_ax25 *
132       0x000089E1  SIOCAX25ADDUID         const struct sockaddr_ax25 *
133       0x000089E2  SIOCAX25DELUID         const struct sockaddr_ax25 *
134       0x000089E3  SIOCAX25NOUID          const int *
135       0x000089E4  SIOCAX25DIGCTL         const int *
136       0x000089E5  SIOCAX25GETPARMS       struct ax25_parms_struct *    // I-O
137       0x000089E6  SIOCAX25SETPARMS       const struct ax25_parms_struct *
138
139       // <include/linux/cdk.h>
140       0x00007314  STL_BINTR              void
141       0x00007315  STL_BSTART             void
142       0x00007316  STL_BSTOP              void
143       0x00007317  STL_BRESET             void
144
145       // <include/linux/cdrom.h>
146       0x00005301  CDROMPAUSE             void
147       0x00005302  CDROMRESUME            void
148       0x00005303  CDROMPLAYMSF      const struct cdrom_msf *
149       0x00005304  CDROMPLAYTRKIND        const struct cdrom_ti *
150       0x00005305  CDROMREADTOCHDR        struct cdrom_tochdr *
151       0x00005306  CDROMREADTOCENTRY      struct cdrom_tocentry *       // I-O
152       0x00005307  CDROMSTOP              void
153       0x00005308  CDROMSTART             void
154       0x00005309  CDROMEJECT             void
155       0x0000530A  CDROMVOLCTRL      const struct cdrom_volctrl *
156       0x0000530B  CDROMSUBCHNL      struct cdrom_subchnl *        // I-O
157       0x0000530C  CDROMREADMODE2         const struct cdrom_msf * // MORE
158       0x0000530D  CDROMREADMODE1         const struct cdrom_msf * // MORE
159       0x0000530E  CDROMREADAUDIO         const struct cdrom_read_audio *    // MORE
160       0x0000530F  CDROMEJECT_SW          int
161       0x00005310  CDROMMULTISESSION      struct cdrom_multisession *   // I-O
162       0x00005311  CDROM_GET_UPC          struct { char [8]; } *
163       0x00005312  CDROMRESET             void
164       0x00005313  CDROMVOLREAD      struct cdrom_volctrl *
165       0x00005314  CDROMREADRAW      const struct cdrom_msf * // MORE
166       0x00005315  CDROMREADCOOKED        const struct cdrom_msf * // MORE
167       0x00005316  CDROMSEEK              const struct cdrom_msf *
168
169       // <include/linux/cm206.h>
170       0x00002000  CM206CTL_GET_STAT      int
171       0x00002001  CM206CTL_GET_LAST_STAT int
172
173       // <include/linux/cyclades.h>
174       0x00435901  CYGETMON               struct cyclades_monitor *
175       0x00435902  CYGETTHRESH            int *
176       0x00435903  CYSETTHRESH            int
177       0x00435904  CYGETDEFTHRESH         int *
178       0x00435905  CYSETDEFTHRESH         int
179       0x00435906  CYGETTIMEOUT      int *
180       0x00435907  CYSETTIMEOUT      int
181       0x00435908  CYGETDEFTIMEOUT        int *
182       0x00435909  CYSETDEFTIMEOUT        int
183
184       // <include/linux/ext2_fs.h>
185       0x80046601  EXT2_IOC_GETFLAGS      int *
186       0x40046602  EXT2_IOC_SETFLAGS      const int *
187       0x80047601  EXT2_IOC_GETVERSION         int *
188       0x40047602  EXT2_IOC_SETVERSION         const int *
189
190       // <include/linux/fd.h>
191       0x00000000  FDCLRPRM               void
192       0x00000001  FDSETPRM               const struct floppy_struct *
193       0x00000002  FDDEFPRM               const struct floppy_struct *
194       0x00000003  FDGETPRM               struct floppy_struct *
195       0x00000004  FDMSGON           void
196       0x00000005  FDMSGOFF               void
197       0x00000006  FDFMTBEG               void
198       0x00000007  FDFMTTRK               const struct format_descr *
199       0x00000008  FDFMTEND               void
200       0x0000000A  FDSETEMSGTRESH         int
201       0x0000000B  FDFLUSH           void
202       0x0000000C  FDSETMAXERRS      const struct floppy_max_errors *
203       0x0000000E  FDGETMAXERRS      struct floppy_max_errors *
204       0x00000010  FDGETDRVTYP            struct { char [16]; } *
205       0x00000014  FDSETDRVPRM            const struct floppy_drive_params *
206       0x00000015  FDGETDRVPRM            struct floppy_drive_params *
207       0x00000016  FDGETDRVSTAT      struct floppy_drive_struct *
208       0x00000017  FDPOLLDRVSTAT          struct floppy_drive_struct *
209       0x00000018  FDRESET           int
210       0x00000019  FDGETFDCSTAT      struct floppy_fdc_state *
211       0x0000001B  FDWERRORCLR            void
212       0x0000001C  FDWERRORGET            struct floppy_write_errors *
213       0x0000001E  FDRAWCMD               struct floppy_raw_cmd *  // MORE   // I-O
214       0x00000028  FDTWADDLE              void
215
216       // <include/linux/fs.h>
217       0x0000125D  BLKROSET               const int *
218       0x0000125E  BLKROGET               int *
219       0x0000125F  BLKRRPART              void
220       0x00001260  BLKGETSIZE             int *
221       0x00001261  BLKFLSBUF              void
222       0x00001262  BLKRASET               int
223       0x00001263  BLKRAGET               int *
224       0x00000001  FIBMAP            int *                    // I-O
225       0x00000002  FIGETBSZ               int *
226
227       // <include/linux/hdreg.h>
228       0x00000301  HDIO_GETGEO            struct hd_geometry *
229       0x00000302  HDIO_GET_UNMASKINTR         int *
230       0x00000304  HDIO_GET_MULTCOUNT          int *
231       0x00000307  HDIO_GET_IDENTITY      struct hd_driveid *
232       0x00000308  HDIO_GET_KEEPSETTINGS  int *
233       0x00000309  HDIO_GET_CHIPSET       int *
234       0x0000030A  HDIO_GET_NOWERR        int *
235       0x0000030B  HDIO_GET_DMA      int *
236       0x0000031F  HDIO_DRIVE_CMD         int *                    // I-O
237       0x00000321  HDIO_SET_MULTCOUNT          int
238       0x00000322  HDIO_SET_UNMASKINTR         int
239       0x00000323  HDIO_SET_KEEPSETTINGS  int
240       0x00000324  HDIO_SET_CHIPSET       int
241       0x00000325  HDIO_SET_NOWERR        int
242       0x00000326  HDIO_SET_DMA      int
243
244       // <include/linux/if_eql.h>
245       0x000089F0  EQL_ENSLAVE            struct ifreq *      // MORE // I-O
246       0x000089F1  EQL_EMANCIPATE         struct ifreq *      // MORE // I-O
247       0x000089F2  EQL_GETSLAVECFG        struct ifreq *      // MORE // I-O
248       0x000089F3  EQL_SETSLAVECFG        struct ifreq *      // MORE // I-O
249       0x000089F4  EQL_GETMASTRCFG        struct ifreq *      // MORE // I-O
250       0x000089F5  EQL_SETMASTRCFG        struct ifreq *      // MORE // I-O
251
252       // <include/linux/if_plip.h>
253       0x000089F0  SIOCDEVPLIP            struct ifreq *           // I-O
254
255       // <include/linux/if_ppp.h>
256       0x00005490  PPPIOCGFLAGS      int *
257       0x00005491  PPPIOCSFLAGS      const int *
258       0x00005492  PPPIOCGASYNCMAP        int *
259       0x00005493  PPPIOCSASYNCMAP        const int *
260       0x00005494  PPPIOCGUNIT            int *
261       0x00005495  PPPIOCSINPSIG          const int *
262       0x00005497  PPPIOCSDEBUG      const int *
263       0x00005498  PPPIOCGDEBUG      int *
264       0x00005499  PPPIOCGSTAT            struct ppp_stats *
265       0x0000549A  PPPIOCGTIME            struct ppp_ddinfo *
266       0x0000549B  PPPIOCGXASYNCMAP       struct { int [8]; } *
267       0x0000549C  PPPIOCSXASYNCMAP       const struct { int [8]; } *
268       0x0000549D  PPPIOCSMRU             const int *
269       0x0000549E  PPPIOCRASYNCMAP        const int *
270       0x0000549F  PPPIOCSMAXCID          const int *
271
272       // <include/linux/ipx.h>
273       0x000089E0  SIOCAIPXITFCRT         const char *
274       0x000089E1  SIOCAIPXPRISLT         const char *
275       0x000089E2  SIOCIPXCFGDATA         struct ipx_config_data *
276
277       // <include/linux/kd.h>
278       0x00004B60  GIO_FONT               struct { char [8192]; } *
279       0x00004B61  PIO_FONT               const struct { char [8192]; } *
280       0x00004B6B  GIO_FONTX              struct console_font_desc *  // MORE I-O
281       0x00004B6C  PIO_FONTX              const struct console_font_desc * //MORE
282       0x00004B70  GIO_CMAP               struct { char [48]; } *
283       0x00004B71  PIO_CMAP               const struct { char [48]; }
284       0x00004B2F  KIOCSOUND              int
285       0x00004B30  KDMKTONE               int
286       0x00004B31  KDGETLED               char *
287       0x00004B32  KDSETLED               int
288       0x00004B33  KDGKBTYPE              char *
289       0x00004B34  KDADDIO           int                 // MORE
290       0x00004B35  KDDELIO           int                 // MORE
291       0x00004B36  KDENABIO               void                // MORE
292       0x00004B37  KDDISABIO              void                // MORE
293       0x00004B3A  KDSETMODE              int
294       0x00004B3B  KDGETMODE              int *
295       0x00004B3C  KDMAPDISP              void                // MORE
296       0x00004B3D  KDUNMAPDISP            void                // MORE
297       0x00004B40  GIO_SCRNMAP            struct { char [E_TABSZ]; } *
298       0x00004B41  PIO_SCRNMAP            const struct { char [E_TABSZ]; } *
299       0x00004B69  GIO_UNISCRNMAP         struct { short [E_TABSZ]; } *
300       0x00004B6A  PIO_UNISCRNMAP         const struct { short [E_TABSZ]; } *
301       0x00004B66  GIO_UNIMAP             struct unimapdesc * // MORE   // I-O
302       0x00004B67  PIO_UNIMAP             const struct unimapdesc *     // MORE
303       0x00004B68  PIO_UNIMAPCLR          const struct unimapinit *
304       0x00004B44  KDGKBMODE              int *
305       0x00004B45  KDSKBMODE              int
306       0x00004B62  KDGKBMETA              int *
307       0x00004B63  KDSKBMETA              int
308       0x00004B64  KDGKBLED               int *
309       0x00004B65  KDSKBLED               int
310       0x00004B46  KDGKBENT               struct kbentry *         // I-O
311       0x00004B47  KDSKBENT               const struct kbentry *
312       0x00004B48  KDGKBSENT              struct kbsentry *        // I-O
313       0x00004B49  KDSKBSENT              const struct kbsentry *
314       0x00004B4A  KDGKBDIACR             struct kbdiacrs *
315       0x00004B4B  KDSKBDIACR             const struct kbdiacrs *
316       0x00004B4C  KDGETKEYCODE      struct kbkeycode *       // I-O
317       0x00004B4D  KDSETKEYCODE      const struct kbkeycode *
318       0x00004B4E  KDSIGACCEPT            int
319
320       // <include/linux/lp.h>
321       0x00000601  LPCHAR            int
322       0x00000602  LPTIME            int
323       0x00000604  LPABORT           int
324       0x00000605  LPSETIRQ               int
325       0x00000606  LPGETIRQ               int *
326       0x00000608  LPWAIT            int
327       0x00000609  LPCAREFUL              int
328       0x0000060A  LPABORTOPEN            int
329       0x0000060B  LPGETSTATUS            int *
330       0x0000060C  LPRESET           void
331       0x0000060D  LPGETSTATS             struct lp_stats *
332
333       // <include/linux/mroute.h>
334       0x000089E0  SIOCGETVIFCNT          struct sioc_vif_req *         // I-O
335       0x000089E1  SIOCGETSGCNT      struct sioc_sg_req *          // I-O
336
337       // <include/linux/mtio.h>
338       0x40086D01  MTIOCTOP               const struct mtop *
339       0x801C6D02  MTIOCGET               struct mtget *
340       0x80046D03  MTIOCPOS               struct mtpos *
341       0x80206D04  MTIOCGETCONFIG         struct mtconfiginfo *
342       0x40206D05  MTIOCSETCONFIG         const struct mtconfiginfo *
343
344       // <include/linux/netrom.h>
345       0x000089E0  SIOCNRGETPARMS         struct nr_parms_struct * // I-O
346       0x000089E1  SIOCNRSETPARMS         const struct nr_parms_struct *
347       0x000089E2  SIOCNRDECOBS      void
348       0x000089E3  SIOCNRRTCTL            const int *
349
350       // <include/linux/sbpcd.h>
351       0x00009000  DDIOCSDBG              const int *
352       0x00005382  CDROMAUDIOBUFSIZ       int
353
354       // <include/linux/scc.h>
355       0x00005470  TIOCSCCINI             void
356       0x00005471  TIOCCHANINI            const struct scc_modem *
357       0x00005472  TIOCGKISS              struct ioctl_command *        // I-O
358       0x00005473  TIOCSKISS              const struct ioctl_command *
359       0x00005474  TIOCSCCSTAT            struct scc_stat *
360
361       // <include/linux/scsi.h>
362       0x00005382  SCSI_IOCTL_GET_IDLUN   struct { int [2]; } *
363       0x00005383  SCSI_IOCTL_TAGGED_ENABLE    void
364       0x00005384  SCSI_IOCTL_TAGGED_DISABLE   void
365       0x00005385  SCSI_IOCTL_PROBE_HOST  const int *              // MORE
366
367       // <include/linux/smb_fs.h>
368       0x80027501  SMB_IOC_GETMOUNTUID         uid_t *
369
370       // <include/linux/sockios.h>
371       0x0000890B  SIOCADDRT              const struct rtentry *        // MORE
372       0x0000890C  SIOCDELRT              const struct rtentry *        // MORE
373       0x00008910  SIOCGIFNAME            char []
374       0x00008911  SIOCSIFLINK            void
375       0x00008912  SIOCGIFCONF            struct ifconf *          // MORE   // I-O
376       0x00008913  SIOCGIFFLAGS      struct ifreq *           // I-O
377       0x00008914  SIOCSIFFLAGS      const struct ifreq *
378       0x00008915  SIOCGIFADDR            struct ifreq *           // I-O
379       0x00008916  SIOCSIFADDR            const struct ifreq *
380       0x00008917  SIOCGIFDSTADDR         struct ifreq *           // I-O
381       0x00008918  SIOCSIFDSTADDR         const struct ifreq *
382       0x00008919  SIOCGIFBRDADDR         struct ifreq *           // I-O
383       0x0000891A  SIOCSIFBRDADDR         const struct ifreq *
384       0x0000891B  SIOCGIFNETMASK         struct ifreq *           // I-O
385       0x0000891C  SIOCSIFNETMASK         const struct ifreq *
386       0x0000891D  SIOCGIFMETRIC          struct ifreq *           // I-O
387       0x0000891E  SIOCSIFMETRIC          const struct ifreq *
388       0x0000891F  SIOCGIFMEM             struct ifreq *           // I-O
389       0x00008920  SIOCSIFMEM             const struct ifreq *
390       0x00008921  SIOCGIFMTU             struct ifreq *           // I-O
391       0x00008922  SIOCSIFMTU             const struct ifreq *
392       0x00008923  OLD_SIOCGIFHWADDR      struct ifreq *           // I-O
393       0x00008924  SIOCSIFHWADDR          const struct ifreq *          // MORE
394       0x00008925  SIOCGIFENCAP      int *
395       0x00008926  SIOCSIFENCAP      const int *
396       0x00008927  SIOCGIFHWADDR          struct ifreq *           // I-O
397       0x00008929  SIOCGIFSLAVE      void
398       0x00008930  SIOCSIFSLAVE      void
399       0x00008931  SIOCADDMULTI      const struct ifreq *
400       0x00008932  SIOCDELMULTI      const struct ifreq *
401       0x00008940  SIOCADDRTOLD      void
402       0x00008941  SIOCDELRTOLD      void
403       0x00008950  SIOCDARP               const struct arpreq *
404       0x00008951  SIOCGARP               struct arpreq *               // I-O
405       0x00008952  SIOCSARP               const struct arpreq *
406       0x00008960  SIOCDRARP              const struct arpreq *
407       0x00008961  SIOCGRARP              struct arpreq *               // I-O
408       0x00008962  SIOCSRARP              const struct arpreq *
409       0x00008970  SIOCGIFMAP             struct ifreq *           // I-O
410       0x00008971  SIOCSIFMAP             const struct ifreq *
411
412       // <include/linux/soundcard.h>
413       0x00005100  SNDCTL_SEQ_RESET       void
414       0x00005101  SNDCTL_SEQ_SYNC        void
415       0xC08C5102  SNDCTL_SYNTH_INFO      struct synth_info *      // I-O
416       0xC0045103  SNDCTL_SEQ_CTRLRATE         int *                    // I-O
417       0x80045104  SNDCTL_SEQ_GETOUTCOUNT int *
418       0x80045105  SNDCTL_SEQ_GETINCOUNT  int *
419       0x40045106  SNDCTL_SEQ_PERCMODE         void
420       0x40285107  SNDCTL_FM_LOAD_INSTR   const struct sbi_instrument *
421       0x40045108  SNDCTL_SEQ_TESTMIDI         const int *
422       0x40045109  SNDCTL_SEQ_RESETSAMPLES     const int *
423       0x8004510A  SNDCTL_SEQ_NRSYNTHS         int *
424       0x8004510B  SNDCTL_SEQ_NRMIDIS          int *
425       0xC074510C  SNDCTL_MIDI_INFO       struct midi_info *       // I-O
426       0x4004510D  SNDCTL_SEQ_THRESHOLD   const int *
427       0xC004510E  SNDCTL_SYNTH_MEMAVL         int *                    // I-O
428       0x4004510F  SNDCTL_FM_4OP_ENABLE   const int *
429       0xCFB85110  SNDCTL_PMGR_ACCESS          struct patmgr_info *          // I-O
430       0x00005111  SNDCTL_SEQ_PANIC       void
431       0x40085112  SNDCTL_SEQ_OUTOFBAND   const struct seq_event_rec *
432       0xC0045401  SNDCTL_TMR_TIMEBASE         int *                    // I-O
433       0x00005402  SNDCTL_TMR_START       void
434       0x00005403  SNDCTL_TMR_STOP        void
435       0x00005404  SNDCTL_TMR_CONTINUE         void
436       0xC0045405  SNDCTL_TMR_TEMPO       int *                    // I-O
437       0xC0045406  SNDCTL_TMR_SOURCE      int *                    // I-O
438       0x40045407  SNDCTL_TMR_METRONOME   const int *
439       0x40045408  SNDCTL_TMR_SELECT      int *                    // I-O
440       0xCFB85001  SNDCTL_PMGR_IFACE      struct patmgr_info *          // I-O
441       0xC0046D00  SNDCTL_MIDI_PRETIME         int *                    // I-O
442       0xC0046D01  SNDCTL_MIDI_MPUMODE         const int *
443       0xC0216D02  SNDCTL_MIDI_MPUCMD          struct mpu_command_rec * // I-O
444       0x00005000  SNDCTL_DSP_RESET       void
445       0x00005001  SNDCTL_DSP_SYNC        void
446       0xC0045002  SNDCTL_DSP_SPEED       int *                    // I-O
447       0xC0045003  SNDCTL_DSP_STEREO      int *                    // I-O
448       0xC0045004  SNDCTL_DSP_GETBLKSIZE  int *                    // I-O
449       0xC0045006  SOUND_PCM_WRITE_CHANNELS    int *                    // I-O
450       0xC0045007  SOUND_PCM_WRITE_FILTER int *                    // I-O
451       0x00005008  SNDCTL_DSP_POST        void
452       0xC0045009  SNDCTL_DSP_SUBDIVIDE   int *                    // I-O
453       0xC004500A  SNDCTL_DSP_SETFRAGMENT int *                    // I-O
454       0x8004500B  SNDCTL_DSP_GETFMTS          int *
455       0xC0045005  SNDCTL_DSP_SETFMT      int *                    // I-O
456       0x800C500C  SNDCTL_DSP_GETOSPACE   struct audio_buf_info *
457       0x800C500D  SNDCTL_DSP_GETISPACE   struct audio_buf_info *
458       0x0000500E  SNDCTL_DSP_NONBLOCK         void
459       0x80045002  SOUND_PCM_READ_RATE         int *
460       0x80045006  SOUND_PCM_READ_CHANNELS     int *
461       0x80045005  SOUND_PCM_READ_BITS         int *
462       0x80045007  SOUND_PCM_READ_FILTER  int *
463       0x00004300  SNDCTL_COPR_RESET      void
464       0xCFB04301  SNDCTL_COPR_LOAD       const struct copr_buffer *
465       0xC0144302  SNDCTL_COPR_RDATA      struct copr_debug_buf *       // I-O
466       0xC0144303  SNDCTL_COPR_RCODE      struct copr_debug_buf *       // I-O
467       0x40144304  SNDCTL_COPR_WDATA      const struct copr_debug_buf *
468       0x40144305  SNDCTL_COPR_WCODE      const struct copr_debug_buf *
469       0xC0144306  SNDCTL_COPR_RUN        struct copr_debug_buf *       // I-O
470       0xC0144307  SNDCTL_COPR_HALT       struct copr_debug_buf *       // I-O
471       0x4FA44308  SNDCTL_COPR_SENDMSG         const struct copr_msg *
472       0x8FA44309  SNDCTL_COPR_RCVMSG          struct copr_msg *
473       0x80044D00  SOUND_MIXER_READ_VOLUME     int *
474       0x80044D01  SOUND_MIXER_READ_BASS  int *
475       0x80044D02  SOUND_MIXER_READ_TREBLE     int *
476       0x80044D03  SOUND_MIXER_READ_SYNTH int *
477       0x80044D04  SOUND_MIXER_READ_PCM   int *
478       0x80044D05  SOUND_MIXER_READ_SPEAKER    int *
479       0x80044D06  SOUND_MIXER_READ_LINE  int *
480       0x80044D07  SOUND_MIXER_READ_MIC   int *
481       0x80044D08  SOUND_MIXER_READ_CD         int *
482       0x80044D09  SOUND_MIXER_READ_IMIX  int *
483       0x80044D0A  SOUND_MIXER_READ_ALTPCM     int *
484       0x80044D0B  SOUND_MIXER_READ_RECLEV     int *
485       0x80044D0C  SOUND_MIXER_READ_IGAIN int *
486       0x80044D0D  SOUND_MIXER_READ_OGAIN int *
487       0x80044D0E  SOUND_MIXER_READ_LINE1 int *
488       0x80044D0F  SOUND_MIXER_READ_LINE2 int *
489       0x80044D10  SOUND_MIXER_READ_LINE3 int *
490       0x80044D1C  SOUND_MIXER_READ_MUTE  int *
491       0x80044D1D  SOUND_MIXER_READ_ENHANCE    int *
492       0x80044D1E  SOUND_MIXER_READ_LOUD  int *
493       0x80044DFF  SOUND_MIXER_READ_RECSRC     int *
494       0x80044DFE  SOUND_MIXER_READ_DEVMASK    int *
495       0x80044DFD  SOUND_MIXER_READ_RECMASK    int *
496       0x80044DFB  SOUND_MIXER_READ_STEREODEVS int *
497       0x80044DFC  SOUND_MIXER_READ_CAPS  int *
498       0xC0044D00  SOUND_MIXER_WRITE_VOLUME    int *                    // I-O
499       0xC0044D01  SOUND_MIXER_WRITE_BASS int *                    // I-O
500       0xC0044D02  SOUND_MIXER_WRITE_TREBLE    int *                    // I-O
501       0xC0044D03  SOUND_MIXER_WRITE_SYNTH     int *                    // I-O
502       0xC0044D04  SOUND_MIXER_WRITE_PCM  int *                    // I-O
503       0xC0044D05  SOUND_MIXER_WRITE_SPEAKER   int *                    // I-O
504       0xC0044D06  SOUND_MIXER_WRITE_LINE int *                    // I-O
505       0xC0044D07  SOUND_MIXER_WRITE_MIC  int *                    // I-O
506       0xC0044D08  SOUND_MIXER_WRITE_CD   int *                    // I-O
507       0xC0044D09  SOUND_MIXER_WRITE_IMIX int *                    // I-O
508       0xC0044D0A  SOUND_MIXER_WRITE_ALTPCM    int *                    // I-O
509       0xC0044D0B  SOUND_MIXER_WRITE_RECLEV    int *                    // I-O
510       0xC0044D0C  SOUND_MIXER_WRITE_IGAIN     int *                    // I-O
511       0xC0044D0D  SOUND_MIXER_WRITE_OGAIN     int *                    // I-O
512       0xC0044D0E  SOUND_MIXER_WRITE_LINE1     int *                    // I-O
513       0xC0044D0F  SOUND_MIXER_WRITE_LINE2     int *                    // I-O
514       0xC0044D10  SOUND_MIXER_WRITE_LINE3     int *                    // I-O
515       0xC0044D1C  SOUND_MIXER_WRITE_MUTE int *                    // I-O
516       0xC0044D1D  SOUND_MIXER_WRITE_ENHANCE   int *                    // I-O
517       0xC0044D1E  SOUND_MIXER_WRITE_LOUD int *                    // I-O
518       0xC0044DFF  SOUND_MIXER_WRITE_RECSRC    int *                    // I-O
519
520       // <include/linux/umsdos_fs.h>
521       0x000004D2  UMSDOS_READDIR_DOS          struct umsdos_ioctl *         // I-O
522       0x000004D3  UMSDOS_UNLINK_DOS      const struct umsdos_ioctl *
523       0x000004D4  UMSDOS_RMDIR_DOS       const struct umsdos_ioctl *
524       0x000004D5  UMSDOS_STAT_DOS        struct umsdos_ioctl *         // I-O
525       0x000004D6  UMSDOS_CREAT_EMD       const struct umsdos_ioctl *
526       0x000004D7  UMSDOS_UNLINK_EMD      const struct umsdos_ioctl *
527       0x000004D8  UMSDOS_READDIR_EMD          struct umsdos_ioctl *         // I-O
528       0x000004D9  UMSDOS_GETVERSION      struct umsdos_ioctl *
529       0x000004DA  UMSDOS_INIT_EMD        void
530       0x000004DB  UMSDOS_DOS_SETUP       const struct umsdos_ioctl *
531       0x000004DC  UMSDOS_RENAME_DOS      const struct umsdos_ioctl *
532
533       // <include/linux/vt.h>
534       0x00005600  VT_OPENQRY             int *
535       0x00005601  VT_GETMODE             struct vt_mode *
536       0x00005602  VT_SETMODE             const struct vt_mode *
537       0x00005603  VT_GETSTATE            struct vt_stat *
538       0x00005604  VT_SENDSIG             void
539       0x00005605  VT_RELDISP             int
540       0x00005606  VT_ACTIVATE            int
541       0x00005607  VT_WAITACTIVE          int
542       0x00005608  VT_DISALLOCATE         int
543       0x00005609  VT_RESIZE              const struct vt_sizes *
544       0x0000560A  VT_RESIZEX             const struct vt_consize *
545
546
547
548       // More arguments.
549
550       Some ioctl's take a pointer to a structure which contains additional
551       pointers.  These are documented here in alphabetical order.
552
553       CDROMREADAUDIO takes an input pointer 'const struct cdrom_read_audio *'.
554       The 'buf' field points to an output buffer
555       of length 'nframes * CD_FRAMESIZE_RAW'.
556
557       CDROMREADCOOKED, CDROMREADMODE1, CDROMREADMODE2, and CDROMREADRAW take
558       an input pointer 'const struct cdrom_msf *'.  They use the same pointer
559       as an output pointer to 'char []'.  The length varies by request.  For
560       CDROMREADMODE1, most drivers use 'CD_FRAMESIZE', but the Optics Storage
561       driver uses 'OPT_BLOCKSIZE' instead (both have the numerical value
562       2048).
563
564                CDROMREADCOOKED      char [CD_FRAMESIZE]
565                CDROMREADMODE1       char [CD_FRAMESIZE or OPT_BLOCKSIZE]
566                CDROMREADMODE2       char [CD_FRAMESIZE_RAW0]
567                CDROMREADRAW         char [CD_FRAMESIZE_RAW]
568
569       EQL_ENSLAVE, EQL_EMANCIPATE, EQL_GETSLAVECFG, EQL_SETSLAVECFG,
570       EQL_GETMASTERCFG, and EQL_SETMASTERCFG take a 'struct ifreq *'.
571       The 'ifr_data' field is a pointer to another structure as follows:
572
573                EQL_ENSLAVE               const struct slaving_request *
574                EQL_EMANCIPATE       const struct slaving_request *
575                EQL_GETSLAVECFG      struct slave_config *         // I-O
576                EQL_SETSLAVECFG      const struct slave_config *
577                EQL_GETMASTERCFG          struct master_config *
578                EQL_SETMASTERCFG          const struct master_config *
579
580       FDRAWCMD takes a 'struct floppy raw_cmd *'.  If 'flags & FD_RAW_WRITE'
581       is non-zero, then 'data' points to an input buffer of length 'length'.
582       If 'flags & FD_RAW_READ' is non-zero, then 'data' points to an output
583       buffer of length 'length'.
584
585       GIO_FONTX and PIO_FONTX take a 'struct console_font_desc *' or
586       a 'const struct console_font_desc *', respectively.  'chardata' points to
587       a buffer of 'char [charcount]'.  This is an output buffer for GIO_FONTX
588       and an input buffer for PIO_FONTX.
589
590       GIO_UNIMAP and PIO_UNIMAP take a 'struct unimapdesc *' or
591       a 'const struct unimapdesc *', respectively.  'entries' points to a buffer
592       of 'struct unipair [entry_ct]'.  This is an output buffer for GIO_UNIMAP
593       and an input buffer for PIO_UNIMAP.
594
595       KDADDIO, KDDELIO, KDDISABIO, and KDENABIO enable or disable access to
596       I/O ports.  They are essentially alternate interfaces to 'ioperm'.
597
598       KDMAPDISP and KDUNMAPDISP enable or disable memory mappings or I/O port
599       access.  They are not implemented in the kernel.
600
601       SCSI_IOCTL_PROBE_HOST takes an input pointer 'const int *', which is a
602       length.  It uses the same pointer as an output pointer to a 'char []'
603       buffer of this length.
604
605       SIOCADDRT and SIOCDELRT take an input pointer whose type depends on
606       the protocol:
607
608                Most protocols       const struct rtentry *
609                AX.25           const struct ax25_route *
610                NET/ROM              const struct nr_route_struct *
611
612       SIOCGIFCONF takes a 'struct ifconf *'.  The 'ifc_buf' field points to a
613       buffer of length 'ifc_len' bytes, into which the kernel writes a list of
614       type 'struct ifreq []'.
615
616       SIOCSIFHWADDR takes an input pointer whose type depends on the protocol:
617
618                Most protocols       const struct ifreq *
619                AX.25           const char [AX25_ADDR_LEN]
620
621       TIOCLINUX takes a 'const char *'.  It uses this to distinguish several
622       independent sub-cases.  In the table below, 'N + foo' means 'foo' after
623       an N-byte pad.  'struct selection' is implicitly defined
624       in 'drivers/char/selection.c'
625
626                TIOCLINUX-2               1 + const struct selection *
627                TIOCLINUX-3               void
628                TIOCLINUX-4               void
629                TIOCLINUX-5               4 + const struct { long [8]; } *
630                TIOCLINUX-6               char *
631                TIOCLINUX-7               char *
632                TIOCLINUX-10         1 + const char *
633
634
635
636
637
638       // Duplicate ioctls
639
640       This list does not include ioctls in the range SIOCDEVPRIVATE and
641       SIOCPROTOPRIVATE.
642
643       0x00000001  FDSETPRM               FIBMAP
644       0x00000002  FDDEFPRM               FIGETBSZ
645       0x00005382  CDROMAUDIOBUFSIZ       SCSI_IOCTL_GET_IDLUN
646       0x00005402  SNDCTL_TMR_START       TCSETS
647       0x00005403  SNDCTL_TMR_STOP        TCSETSW
648       0x00005404  SNDCTL_TMR_CONTINUE         TCSETSF
649
650
651
652Linux 1.3                         2003-03-30                     IOCTL_LIST(2)
Impressum