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

SEE ALSO

702       ioctl(2)
703

COLOPHON

705       This page is part of release 3.53 of the Linux  man-pages  project.   A
706       description  of  the project, and information about reporting bugs, can
707       be found at http://www.kernel.org/doc/man-pages/.
708
709
710
711Linux                             2007-12-29                     IOCTL_LIST(2)
Impressum