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

DESCRIPTION

9       This  is  Ioctl List 1.3.27, a list of ioctl calls in Linux/i386 kernel
10       1.3.27.  It contains 421  ioctls  from  </usr/include/{asm,linux}/*.h>.
11       For  each  ioctl,  its numerical value, its name, and its argument type
12       are given.
13
14       An argument type of const struct foo * means the argument is  input  to
15       the  kernel.   struct  foo * means the kernel outputs the argument.  If
16       the kernel uses the argument for both input and output, this is  marked
17       with // I-O.
18
19       Some  ioctls  take  more  arguments or return more values than a single
20       structure.  These are marked // MORE and documented further in a  sepa‐
21       rate section.
22
23       This list is very incomplete.
24
25   ioctl structure
26       Ioctl  command  values  are  32-bit constants.  In principle these con‐
27       stants are completely arbitrary, but people have tried  to  build  some
28       structure into them.
29
30       The  old Linux situation was that of mostly 16-bit constants, where the
31       last byte is a serial number, and the preceding  byte(s)  give  a  type
32       indicating  the  driver.  Sometimes the major number was used: 0x03 for
33       the HDIO_* ioctls, 0x06 for the LP* ioctls.  And sometimes one or  more
34       ASCII  letters  were  used.   For example, TCGETS has value 0x00005401,
35       with 0x54 = 'T' indicating the terminal driver,  and  CYGETTIMEOUT  has
36       value  0x00435906,  with  0x43  0x59  = 'C' 'Y' indicating the cyclades
37       driver.
38
39       Later (0.98p5) some more information was built into  the  number.   One
40       has  2  direction  bits (00: none, 01: write, 10: read, 11: read/write)
41       followed by 14 size bits (giving the size of the argument), followed by
42       an  8-bit type (collecting the ioctls in groups for a common purpose or
43       a common driver), and an 8-bit serial number.
44
45       The macros describing this structure  live  in  <asm/ioctl.h>  and  are
46       _IO(type,nr)    and    {_IOR,_IOW,_IOWR}(type,nr,size).     They    use
47       sizeof(size) so that size is a misnomer here: this third argument is  a
48       data type.
49
50       Note  that the size bits are very unreliable: in lots of cases they are
51       wrong, either because of buggy macros using sizeof(sizeof(struct)),  or
52       because of legacy values.
53
54       Thus,  it seems that the new structure only gave disadvantages: it does
55       not help in checking, but it causes  varying  values  for  the  various
56       architectures.
57

RETURN VALUE

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

SEE ALSO

675       ioctl(2)
676

COLOPHON

678       This page is part of release 3.22 of the Linux  man-pages  project.   A
679       description  of  the project, and information about reporting bugs, can
680       be found at http://www.kernel.org/doc/man-pages/.
681
682
683
684Linux                             2007-12-29                     IOCTL_LIST(2)
Impressum