| .\" Ioctl List 1.3.27 is copyright 1995 by Michael Elizabeth Chastain. |
| .\" Michael Elizabeth Chastain |
| .\" <mec@duracef.shout.net> |
| .\" |
| .\" %%%LICENSE_START(GPLv2_MISC) |
| .\" It is licensed under the GNU General Public License, Version 2. |
| .\" %%%LICENSE_END |
| .\" |
| .\" Ioctl List 1.3.27 |
| .\" Sun 17 Sep 1995 |
| .\" |
| .\" // Copyright |
| .\" |
| .\" |
| .\" |
| .\" // Change Log |
| .\" |
| .\" 1.3.27 421 ioctls. |
| .\" Type information for non-pointer args. |
| .\" SIOCDEVPRIVATE, SIOCPROTOPRIVATE ioctls. |
| .\" Descriptions of extended arguments. |
| .\" |
| .\" 1.2.9 365 ioctls. |
| .\" First public version. |
| .\" |
| .\" |
| .\" 2007-12-29 Alain Portal <aportal@univ-montp2.fr> and Michael Kerrisk |
| .\" <mtk.manpages@gmail.com>: |
| .\" Various formatting improvements |
| .\" |
| .TH IOCTL_LIST 2 2016-03-15 "Linux" "Linux Programmer's Manual" |
| .SH NAME |
| ioctl_list \- list of ioctl calls in Linux/i386 kernel |
| .SH DESCRIPTION |
| This is Ioctl List 1.3.27, a list of ioctl calls in Linux/i386 kernel |
| 1.3.27. |
| It contains 421 ioctls from |
| .IR </usr/include/{asm,linux}/*.h> . |
| For each ioctl, its numerical value, its name, and its argument |
| type are given. |
| .PP |
| An argument type of |
| .I "const struct foo\ *" |
| means the argument is input to the kernel. |
| .I "struct foo\ *" |
| means the kernel outputs the argument. |
| If the kernel uses the argument for both input and output, this is |
| marked with \fI//\ I-O\fP. |
| .PP |
| Some ioctls take more arguments or return more values than a single |
| structure. |
| These are marked \fI//\ MORE\fP and documented further in a |
| separate section. |
| .PP |
| This list is very incomplete. |
| .SS ioctl structure |
| .\" added two sections - aeb |
| Ioctl command values are 32-bit constants. |
| In principle these constants are completely arbitrary, but people have |
| tried to build some structure into them. |
| .LP |
| The old Linux situation was that of mostly 16-bit constants, where the |
| last byte is a serial number, and the preceding byte(s) give a type |
| indicating the driver. |
| Sometimes the major number was used: 0x03 |
| for the |
| .B HDIO_* |
| ioctls, 0x06 for the |
| .B LP* |
| ioctls. |
| And sometimes |
| one or more ASCII letters were used. |
| For example, |
| .B TCGETS |
| has value |
| 0x00005401, with 0x54 = \(aqT\(aq indicating the terminal driver, and |
| .B CYGETTIMEOUT |
| has value 0x00435906, with 0x43 0x59 = \(aqC\(aq \(aqY\(aq |
| indicating the cyclades driver. |
| .LP |
| Later (0.98p5) some more information was built into the number. |
| One has 2 direction bits |
| (00: none, 01: write, 10: read, 11: read/write) |
| followed by 14 size bits (giving the size of the argument), |
| followed by an 8-bit type (collecting the ioctls in groups |
| for a common purpose or a common driver), and an 8-bit |
| serial number. |
| .LP |
| The macros describing this structure live in |
| .I <asm/ioctl.h> |
| and are |
| .B _IO(type,nr) |
| and |
| .BR "{_IOR,_IOW,_IOWR}(type,nr,size)" . |
| They use |
| .I sizeof(size) |
| so that size is a |
| misnomer here: this third argument is a data type. |
| .LP |
| Note that the size bits are very unreliable: in lots of cases |
| they are wrong, either because of buggy macros using |
| .IR sizeof(sizeof(struct)) , |
| or because of legacy values. |
| .LP |
| Thus, it seems that the new structure only gave disadvantages: |
| it does not help in checking, but it causes varying values |
| for the various architectures. |
| .SH RETURN VALUE |
| Decent ioctls return 0 on success and \-1 on error, while |
| any output value is stored via the argument. |
| However, |
| quite a few ioctls in fact return an output value. |
| This is not yet indicated below. |
| |
| // Main table. |
| |
| // <include/asm-i386/socket.h> |
| .TS |
| l l l. |
| 0x00008901 FIOSETOWN const int * |
| 0x00008902 SIOCSPGRP const int * |
| 0x00008903 FIOGETOWN int * |
| 0x00008904 SIOCGPGRP int * |
| 0x00008905 SIOCATMAR int * |
| 0x00008906 SIOCGSTAMP timeval * |
| .TE |
| |
| // <include/asm-i386/termios.h> |
| .TS |
| l l l l. |
| 0x00005401 TCGETS struct termios * |
| 0x00005402 TCSETS const struct termios * |
| 0x00005403 TCSETSW const struct termios * |
| 0x00005404 TCSETSF const struct termios * |
| 0x00005405 TCGETA struct termio * |
| 0x00005406 TCSETA const struct termio * |
| 0x00005407 TCSETAW const struct termio * |
| 0x00005408 TCSETAF const struct termio * |
| 0x00005409 TCSBRK int |
| 0x0000540A TCXONC int |
| 0x0000540B TCFLSH int |
| 0x0000540C TIOCEXCL void |
| 0x0000540D TIOCNXCL void |
| 0x0000540E TIOCSCTTY int |
| 0x0000540F TIOCGPGRP pid_t * |
| 0x00005410 TIOCSPGRP const pid_t * |
| 0x00005411 TIOCOUTQ int * |
| 0x00005412 TIOCSTI const char * |
| 0x00005413 TIOCGWINSZ struct winsize * |
| 0x00005414 TIOCSWINSZ const struct winsize * |
| 0x00005415 TIOCMGET int * |
| 0x00005416 TIOCMBIS const int * |
| 0x00005417 TIOCMBIC const int * |
| 0x00005418 TIOCMSET const int * |
| 0x00005419 TIOCGSOFTCAR int * |
| 0x0000541A TIOCSSOFTCAR const int * |
| 0x0000541B FIONREAD int * |
| 0x0000541B TIOCINQ int * |
| 0x0000541C TIOCLINUX const char * // MORE |
| 0x0000541D TIOCCONS void |
| 0x0000541E TIOCGSERIAL struct serial_struct * |
| 0x0000541F TIOCSSERIAL const struct serial_struct * |
| 0x00005420 TIOCPKT const int * |
| 0x00005421 FIONBIO const int * |
| 0x00005422 TIOCNOTTY void |
| 0x00005423 TIOCSETD const int * |
| 0x00005424 TIOCGETD int * |
| 0x00005425 TCSBRKP int |
| 0x00005426 TIOCTTYGSTRUCT struct tty_struct * |
| 0x00005450 FIONCLEX void |
| 0x00005451 FIOCLEX void |
| 0x00005452 FIOASYNC const int * |
| 0x00005453 TIOCSERCONFIG void |
| 0x00005454 TIOCSERGWILD int * |
| 0x00005455 TIOCSERSWILD const int * |
| 0x00005456 TIOCGLCKTRMIOS struct termios * |
| 0x00005457 TIOCSLCKTRMIOS const struct termios * |
| 0x00005458 TIOCSERGSTRUCT struct async_struct * |
| 0x00005459 TIOCSERGETLSR int * |
| .TE |
| .\" Some tables are split into two or more to avoid the warning: |
| .\" "table wider than line width". Some lines are to long to fit |
| .\" on one line on an 80 columns console |
| .TS |
| l l l. |
| 0x0000545A TIOCSERGETMULTI struct serial_multiport_struct * |
| 0x0000545B TIOCSERSETMULTI const struct serial_multiport_struct * |
| .TE |
| |
| // <include/linux/ax25.h> |
| .TS |
| l l l l. |
| 0x000089E0 SIOCAX25GETUID const struct sockaddr_ax25 * |
| 0x000089E1 SIOCAX25ADDUID const struct sockaddr_ax25 * |
| 0x000089E2 SIOCAX25DELUID const struct sockaddr_ax25 * |
| 0x000089E3 SIOCAX25NOUID const int * |
| 0x000089E4 SIOCAX25DIGCTL const int * |
| 0x000089E5 SIOCAX25GETPARMS struct ax25_parms_struct * // I-O |
| .TE |
| .TS |
| l l l. |
| 0x000089E6 SIOCAX25SETPARMS const struct ax25_parms_struct * |
| .TE |
| |
| // <include/linux/cdk.h> |
| .TS |
| l l l. |
| 0x00007314 STL_BINTR void |
| 0x00007315 STL_BSTART void |
| 0x00007316 STL_BSTOP void |
| 0x00007317 STL_BRESET void |
| .TE |
| |
| // <include/linux/cdrom.h> |
| .TS |
| l l l. |
| 0x00005301 CDROMPAUSE void |
| 0x00005302 CDROMRESUME void |
| 0x00005303 CDROMPLAYMSF const struct cdrom_msf * |
| 0x00005304 CDROMPLAYTRKIND const struct cdrom_ti * |
| 0x00005305 CDROMREADTOCHDR struct cdrom_tochdr * |
| .TE |
| .TS |
| l l l l. |
| 0x00005306 CDROMREADTOCENTRY struct cdrom_tocentry * // I-O |
| .TE |
| .TS |
| l l l l. |
| 0x00005307 CDROMSTOP void |
| 0x00005308 CDROMSTART void |
| 0x00005309 CDROMEJECT void |
| 0x0000530A CDROMVOLCTRL const struct cdrom_volctrl * |
| 0x0000530B CDROMSUBCHNL struct cdrom_subchnl * // I-O |
| 0x0000530C CDROMREADMODE2 const struct cdrom_msf * // MORE |
| 0x0000530D CDROMREADMODE1 const struct cdrom_msf * // MORE |
| 0x0000530E CDROMREADAUDIO const struct cdrom_read_audio * // MORE |
| 0x0000530F CDROMEJECT_SW int |
| .TE |
| .TS |
| l l l l. |
| 0x00005310 CDROMMULTISESSION struct cdrom_multisession * // I-O |
| .TE |
| .TS |
| l l l l. |
| 0x00005311 CDROM_GET_UPC struct { char [8]; } * |
| 0x00005312 CDROMRESET void |
| 0x00005313 CDROMVOLREAD struct cdrom_volctrl * |
| 0x00005314 CDROMREADRAW const struct cdrom_msf * // MORE |
| 0x00005315 CDROMREADCOOKED const struct cdrom_msf * // MORE |
| 0x00005316 CDROMSEEK const struct cdrom_msf * |
| .TE |
| |
| // <include/linux/cm206.h> |
| .TS |
| l l l. |
| 0x00002000 CM206CTL_GET_STAT int |
| 0x00002001 CM206CTL_GET_LAST_STAT int |
| .TE |
| |
| // <include/linux/cyclades.h> |
| .TS |
| l l l. |
| 0x00435901 CYGETMON struct cyclades_monitor * |
| 0x00435902 CYGETTHRESH int * |
| 0x00435903 CYSETTHRESH int |
| 0x00435904 CYGETDEFTHRESH int * |
| 0x00435905 CYSETDEFTHRESH int |
| 0x00435906 CYGETTIMEOUT int * |
| 0x00435907 CYSETTIMEOUT int |
| 0x00435908 CYGETDEFTIMEOUT int * |
| 0x00435909 CYSETDEFTIMEOUT int |
| .TE |
| |
| // <include/linux/fd.h> |
| .TS |
| l l l. |
| 0x00000000 FDCLRPRM void |
| 0x00000001 FDSETPRM const struct floppy_struct * |
| 0x00000002 FDDEFPRM const struct floppy_struct * |
| 0x00000003 FDGETPRM struct floppy_struct * |
| 0x00000004 FDMSGON void |
| 0x00000005 FDMSGOFF void |
| 0x00000006 FDFMTBEG void |
| 0x00000007 FDFMTTRK const struct format_descr * |
| 0x00000008 FDFMTEND void |
| 0x0000000A FDSETEMSGTRESH int |
| 0x0000000B FDFLUSH void |
| 0x0000000C FDSETMAXERRS const struct floppy_max_errors * |
| 0x0000000E FDGETMAXERRS struct floppy_max_errors * |
| 0x00000010 FDGETDRVTYP struct { char [16]; } * |
| 0x00000014 FDSETDRVPRM const struct floppy_drive_params * |
| 0x00000015 FDGETDRVPRM struct floppy_drive_params * |
| 0x00000016 FDGETDRVSTAT struct floppy_drive_struct * |
| 0x00000017 FDPOLLDRVSTAT struct floppy_drive_struct * |
| 0x00000018 FDRESET int |
| 0x00000019 FDGETFDCSTAT struct floppy_fdc_state * |
| 0x0000001B FDWERRORCLR void |
| 0x0000001C FDWERRORGET struct floppy_write_errors * |
| .TE |
| .TS |
| l l l l. |
| 0x0000001E FDRAWCMD struct floppy_raw_cmd * // MORE // I-O |
| 0x00000028 FDTWADDLE void |
| .TE |
| |
| // <include/linux/fs.h> |
| .TS |
| l l l l. |
| 0x0000125D BLKROSET const int * |
| 0x0000125E BLKROGET int * |
| 0x0000125F BLKRRPART void |
| 0x00001260 BLKGETSIZE unsigned long * |
| 0x00001261 BLKFLSBUF void |
| 0x00001262 BLKRASET int |
| 0x00001263 BLKRAGET int * |
| 0x00000001 FIBMAP int * // I-O |
| 0x00000002 FIGETBSZ int * |
| 0x80086601 FS_IOC_GETFLAGS int * |
| 0x40086602 FS_IOC_SETFLAGS int * |
| 0x80087601 FS_IOC_GETVERSION int * |
| 0x40087602 FS_IOC_SETVERSION int * |
| 0xC020660B FS_IOC_FIEMAP struct fiemap * |
| 0x40086602 FS_IOC32_SETFLAGS int * |
| 0x40086602 FS_IOC32_SETFLAGS int * |
| 0x80047601 FS_IOC32_GETVERSION int * |
| 0x40047602 FS_IOC32_SETVERSION int * |
| .TE |
| |
| // <include/linux/hdreg.h> |
| .TS |
| l l l l. |
| 0x00000301 HDIO_GETGEO struct hd_geometry * |
| 0x00000302 HDIO_GET_UNMASKINTR int * |
| 0x00000304 HDIO_GET_MULTCOUNT int * |
| 0x00000307 HDIO_GET_IDENTITY struct hd_driveid * |
| 0x00000308 HDIO_GET_KEEPSETTINGS int * |
| 0x00000309 HDIO_GET_CHIPSET int * |
| 0x0000030A HDIO_GET_NOWERR int * |
| 0x0000030B HDIO_GET_DMA int * |
| 0x0000031F HDIO_DRIVE_CMD int * // I-O |
| 0x00000321 HDIO_SET_MULTCOUNT int |
| 0x00000322 HDIO_SET_UNMASKINTR int |
| 0x00000323 HDIO_SET_KEEPSETTINGS int |
| 0x00000324 HDIO_SET_CHIPSET int |
| 0x00000325 HDIO_SET_NOWERR int |
| 0x00000326 HDIO_SET_DMA int |
| .TE |
| |
| // <include/linux/if_eql.h> |
| .TS |
| l l l l. |
| 0x000089F0 EQL_ENSLAVE struct ifreq * // MORE // I-O |
| 0x000089F1 EQL_EMANCIPATE struct ifreq * // MORE // I-O |
| 0x000089F2 EQL_GETSLAVECFG struct ifreq * // MORE // I-O |
| 0x000089F3 EQL_SETSLAVECFG struct ifreq * // MORE // I-O |
| 0x000089F4 EQL_GETMASTRCFG struct ifreq * // MORE // I-O |
| 0x000089F5 EQL_SETMASTRCFG struct ifreq * // MORE // I-O |
| .TE |
| |
| // <include/linux/if_plip.h> |
| .TS |
| l l l l. |
| 0x000089F0 SIOCDEVPLIP struct ifreq * // I-O |
| .TE |
| |
| // <include/linux/if_ppp.h> |
| .TS |
| l l l. |
| 0x00005490 PPPIOCGFLAGS int * |
| 0x00005491 PPPIOCSFLAGS const int * |
| 0x00005492 PPPIOCGASYNCMAP int * |
| 0x00005493 PPPIOCSASYNCMAP const int * |
| 0x00005494 PPPIOCGUNIT int * |
| 0x00005495 PPPIOCSINPSIG const int * |
| 0x00005497 PPPIOCSDEBUG const int * |
| 0x00005498 PPPIOCGDEBUG int * |
| 0x00005499 PPPIOCGSTAT struct ppp_stats * |
| 0x0000549A PPPIOCGTIME struct ppp_ddinfo * |
| 0x0000549B PPPIOCGXASYNCMAP struct { int [8]; } * |
| 0x0000549C PPPIOCSXASYNCMAP const struct { int [8]; } * |
| 0x0000549D PPPIOCSMRU const int * |
| 0x0000549E PPPIOCRASYNCMAP const int * |
| 0x0000549F PPPIOCSMAXCID const int * |
| .TE |
| |
| // <include/linux/ipx.h> |
| .TS |
| l l l. |
| 0x000089E0 SIOCAIPXITFCRT const char * |
| 0x000089E1 SIOCAIPXPRISLT const char * |
| 0x000089E2 SIOCIPXCFGDATA struct ipx_config_data * |
| .TE |
| |
| // <include/linux/kd.h> |
| .TS |
| l l l. |
| 0x00004B60 GIO_FONT struct { char [8192]; } * |
| 0x00004B61 PIO_FONT const struct { char [8192]; } * |
| .TE |
| .TS |
| l2 l2 l2 l. |
| 0x00004B6B GIO_FONTX struct console_font_desc * // MORE // I-O |
| 0x00004B6C PIO_FONTX const struct console_font_desc * //MORE |
| .TE |
| .TS |
| l l l. |
| 0x00004B70 GIO_CMAP struct { char [48]; } * |
| 0x00004B71 PIO_CMAP const struct { char [48]; } |
| .TE |
| .TS |
| l l l l. |
| 0x00004B2F KIOCSOUND int |
| 0x00004B30 KDMKTONE int |
| 0x00004B31 KDGETLED char * |
| 0x00004B32 KDSETLED int |
| 0x00004B33 KDGKBTYPE char * |
| 0x00004B34 KDADDIO int // MORE |
| 0x00004B35 KDDELIO int // MORE |
| 0x00004B36 KDENABIO void // MORE |
| 0x00004B37 KDDISABIO void // MORE |
| 0x00004B3A KDSETMODE int |
| 0x00004B3B KDGETMODE int * |
| 0x00004B3C KDMAPDISP void // MORE |
| 0x00004B3D KDUNMAPDISP void // MORE |
| 0x00004B40 GIO_SCRNMAP struct { char [E_TABSZ]; } * |
| .TE |
| .TS |
| l l l. |
| 0x00004B41 PIO_SCRNMAP const struct { char [E_TABSZ]; } * |
| 0x00004B69 GIO_UNISCRNMAP struct { short [E_TABSZ]; } * |
| 0x00004B6A PIO_UNISCRNMAP const struct { short [E_TABSZ]; } * |
| .TE |
| .TS |
| l l l l. |
| 0x00004B66 GIO_UNIMAP struct unimapdesc * // MORE // I-O |
| 0x00004B67 PIO_UNIMAP const struct unimapdesc * // MORE |
| 0x00004B68 PIO_UNIMAPCLR const struct unimapinit * |
| 0x00004B44 KDGKBMODE int * |
| 0x00004B45 KDSKBMODE int |
| 0x00004B62 KDGKBMETA int * |
| 0x00004B63 KDSKBMETA int |
| 0x00004B64 KDGKBLED int * |
| 0x00004B65 KDSKBLED int |
| 0x00004B46 KDGKBENT struct kbentry * // I-O |
| 0x00004B47 KDSKBENT const struct kbentry * |
| 0x00004B48 KDGKBSENT struct kbsentry * // I-O |
| 0x00004B49 KDSKBSENT const struct kbsentry * |
| 0x00004B4A KDGKBDIACR struct kbdiacrs * |
| 0x00004B4B KDSKBDIACR const struct kbdiacrs * |
| 0x00004B4C KDGETKEYCODE struct kbkeycode * // I-O |
| 0x00004B4D KDSETKEYCODE const struct kbkeycode * |
| 0x00004B4E KDSIGACCEPT int |
| .TE |
| |
| // <include/linux/lp.h> |
| .TS |
| l l l. |
| 0x00000601 LPCHAR int |
| 0x00000602 LPTIME int |
| 0x00000604 LPABORT int |
| 0x00000605 LPSETIRQ int |
| 0x00000606 LPGETIRQ int * |
| 0x00000608 LPWAIT int |
| 0x00000609 LPCAREFUL int |
| 0x0000060A LPABORTOPEN int |
| 0x0000060B LPGETSTATUS int * |
| 0x0000060C LPRESET void |
| 0x0000060D LPGETSTATS struct lp_stats * |
| .TE |
| |
| // <include/linux/mroute.h> |
| .TS |
| l l l l. |
| 0x000089E0 SIOCGETVIFCNT struct sioc_vif_req * // I-O |
| 0x000089E1 SIOCGETSGCNT struct sioc_sg_req * // I-O |
| .TE |
| |
| // <include/linux/msdos_fs.h> see |
| .BR ioctl_fat (2) |
| .TS |
| l l l l. |
| 0x82307201 VFAT_IOCTL_READDIR_BOTH struct dirent [2] |
| 0x82307202 VFAT_IOCTL_READDIR_SHORT struct dirent [2] |
| 0x80047210 FAT_IOCTL_GET_ATTRIBUTES __u32 * |
| 0x40047211 FAT_IOCTL_SET_ATTRIBUTES const __u32 * |
| 0x80047213 FAT_IOCTL_GET_VOLUME_ID __u32 * |
| .TE |
| |
| // <include/linux/mtio.h> |
| .TS |
| l l l. |
| 0x40086D01 MTIOCTOP const struct mtop * |
| 0x801C6D02 MTIOCGET struct mtget * |
| 0x80046D03 MTIOCPOS struct mtpos * |
| 0x80206D04 MTIOCGETCONFIG struct mtconfiginfo * |
| 0x40206D05 MTIOCSETCONFIG const struct mtconfiginfo * |
| .TE |
| |
| // <include/linux/netrom.h> |
| .TS |
| l l l l. |
| 0x000089E0 SIOCNRGETPARMS struct nr_parms_struct * // I-O |
| 0x000089E1 SIOCNRSETPARMS const struct nr_parms_struct * |
| 0x000089E2 SIOCNRDECOBS void |
| 0x000089E3 SIOCNRRTCTL const int * |
| .TE |
| |
| // <include/uapi/linux/wireless.h> |
| .br |
| // This API is deprecated. |
| .br |
| // It is being replaced by nl80211 and cfg80211. |
| See |
| .br |
| // |
| .I https://wireless.wiki.kernel.org/en/developers/documentation/nl80211 |
| .TS |
| l l l. |
| x00008b00 SIOCSIWCOMMIT struct iwreq * |
| x00008b01 SIOCGIWNAME struct iwreq * |
| x00008b02 SIOCSIWNWID struct iwreq * |
| x00008b03 SIOCGIWNWID struct iwreq * |
| x00008b04 SIOCSIWFREQ struct iwreq * |
| x00008b05 SIOCGIWFREQ struct iwreq * |
| x00008b06 SIOCSIWMODE struct iwreq * |
| x00008b07 SIOCGIWMODE struct iwreq * |
| x00008b08 SIOCSIWSENS struct iwreq * |
| x00008b09 SIOCGIWSENS struct iwreq * |
| x00008b0a SIOCSIWRANGE struct iwreq * |
| x00008b0b SIOCGIWRANGE struct iwreq * |
| x00008b0c SIOCSIWPRIV struct iwreq * |
| x00008b0d SIOCGIWPRIV struct iwreq * |
| x00008b0e SIOCSIWSTATS struct iwreq * |
| x00008b0f SIOCGIWSTATS struct iwreq * |
| x00008b10 SIOCSIWSPY struct iwreq * |
| x00008b11 SIOCGIWSPY struct iwreq * |
| x00008b12 SIOCSIWTHRSPY struct iwreq * |
| x00008b13 SIOCGIWTHRSPY struct iwreq * |
| x00008b14 SIOCSIWAP struct iwreq * |
| x00008b15 SIOCGIWAP struct iwreq * |
| x00008b17 SIOCGIWAPLIST struct iwreq * |
| x00008b18 SIOCSIWSCAN struct iwreq * |
| x00008b19 SIOCGIWSCAN struct iwreq * |
| x00008b1a SIOCSIWESSID struct iwreq * |
| x00008b1b SIOCGIWESSID struct iwreq * |
| x00008b1c SIOCSIWNICKN struct iwreq * |
| x00008b1d SIOCGIWNICKN struct iwreq * |
| x00008b20 SIOCSIWRATE struct iwreq * |
| x00008b21 SIOCGIWRATE struct iwreq * |
| x00008b22 SIOCSIWRTS struct iwreq * |
| x00008b23 SIOCGIWRTS struct iwreq * |
| x00008b24 SIOCSIWFRAG struct iwreq * |
| x00008b25 SIOCGIWFRAG struct iwreq * |
| x00008b26 SIOCSIWTXPOW struct iwreq * |
| x00008b27 SIOCGIWTXPOW struct iwreq * |
| x00008b28 SIOCSIWRETRY struct iwreq * |
| x00008b29 SIOCGIWRETRY struct iwreq * |
| x00008b2a SIOCSIWENCODE struct iwreq * |
| x00008b2b SIOCGIWENCODE struct iwreq * |
| x00008b2c SIOCSIWPOWER struct iwreq * |
| x00008b2d SIOCGIWPOWER struct iwreq * |
| x00008b30 SIOCSIWGENIE struct iwreq * |
| x00008b31 SIOCGIWGENIE struct iwreq * |
| x00008b16 SIOCSIWMLME struct iwreq * |
| x00008b32 SIOCSIWAUTH struct iwreq * |
| x00008b33 SIOCGIWAUTH struct iwreq * |
| x00008b34 SIOCSIWENCODEEXT struct iwreq * |
| x00008b35 SIOCGIWENCODEEXT struct iwreq * |
| x00008b36 SIOCSIWPMKSA struct iwreq * |
| .TE |
| |
| // <include/linux/sbpcd.h> |
| .TS |
| l l l. |
| 0x00009000 DDIOCSDBG const int * |
| 0x00005382 CDROMAUDIOBUFSIZ int |
| .TE |
| |
| // <include/linux/scc.h> |
| .TS |
| l l l l. |
| 0x00005470 TIOCSCCINI void |
| 0x00005471 TIOCCHANINI const struct scc_modem * |
| 0x00005472 TIOCGKISS struct ioctl_command * // I-O |
| 0x00005473 TIOCSKISS const struct ioctl_command * |
| 0x00005474 TIOCSCCSTAT struct scc_stat * |
| .TE |
| |
| // <include/linux/scsi.h> |
| .TS |
| l l l. |
| 0x00005382 SCSI_IOCTL_GET_IDLUN struct { int [2]; } * |
| 0x00005383 SCSI_IOCTL_TAGGED_ENABLE void |
| 0x00005384 SCSI_IOCTL_TAGGED_DISABLE void |
| .TE |
| .TS |
| l l l l. |
| 0x00005385 SCSI_IOCTL_PROBE_HOST const int * // MORE |
| .TE |
| |
| // <include/linux/smb_fs.h> |
| .TS |
| l l l. |
| 0x80027501 SMB_IOC_GETMOUNTUID uid_t * |
| .TE |
| |
| // <include/uapi/linux/sockios.h> see |
| .BR netdevice (7) |
| |
| .TS |
| l l l l. |
| 0x0000890B SIOCADDRT const struct rtentry * // MORE |
| 0x0000890C SIOCDELRT const struct rtentry * // MORE |
| 0x00008910 SIOCGIFNAME char [] |
| 0x00008911 SIOCSIFLINK void |
| 0x00008912 SIOCGIFCONF struct ifconf * // MORE // I-O |
| 0x00008913 SIOCGIFFLAGS struct ifreq * // I-O |
| 0x00008914 SIOCSIFFLAGS const struct ifreq * |
| 0x00008915 SIOCGIFADDR struct ifreq * // I-O |
| 0x00008916 SIOCSIFADDR const struct ifreq * |
| 0x00008917 SIOCGIFDSTADDR struct ifreq * // I-O |
| 0x00008918 SIOCSIFDSTADDR const struct ifreq * |
| 0x00008919 SIOCGIFBRDADDR struct ifreq * // I-O |
| 0x0000891A SIOCSIFBRDADDR const struct ifreq * |
| 0x0000891B SIOCGIFNETMASK struct ifreq * // I-O |
| 0x0000891C SIOCSIFNETMASK const struct ifreq * |
| 0x0000891D SIOCGIFMETRIC struct ifreq * // I-O |
| 0x0000891E SIOCSIFMETRIC const struct ifreq * |
| 0x0000891F SIOCGIFMEM struct ifreq * // I-O |
| 0x00008920 SIOCSIFMEM const struct ifreq * |
| 0x00008921 SIOCGIFMTU struct ifreq * // I-O |
| 0x00008922 SIOCSIFMTU const struct ifreq * |
| .TE |
| .TS |
| l l l l. |
| 0x00008923 OLD_SIOCGIFHWADDR struct ifreq * // I-O |
| 0x00008924 SIOCSIFHWADDR const struct ifreq * // MORE |
| 0x00008925 SIOCGIFENCAP int * |
| 0x00008926 SIOCSIFENCAP const int * |
| 0x00008927 SIOCGIFHWADDR struct ifreq * // I-O |
| 0x00008929 SIOCGIFSLAVE void |
| 0x00008930 SIOCSIFSLAVE void |
| 0x00008931 SIOCADDMULTI const struct ifreq * |
| 0x00008932 SIOCDELMULTI const struct ifreq * |
| 0x00008940 SIOCADDRTOLD void |
| 0x00008941 SIOCDELRTOLD void |
| 0x00008950 SIOCDARP const struct arpreq * |
| 0x00008951 SIOCGARP struct arpreq * // I-O |
| 0x00008952 SIOCSARP const struct arpreq * |
| 0x00008960 SIOCDRARP const struct arpreq * |
| 0x00008961 SIOCGRARP struct arpreq * // I-O |
| 0x00008962 SIOCSRARP const struct arpreq * |
| 0x00008970 SIOCGIFMAP struct ifreq * // I-O |
| 0x00008971 SIOCSIFMAP const struct ifreq * |
| .TE |
| |
| // <include/linux/soundcard.h> |
| .TS |
| l l l. |
| 0x00005100 SNDCTL_SEQ_RESET void |
| 0x00005101 SNDCTL_SEQ_SYNC void |
| .TE |
| .TS |
| l l l l. |
| 0xC08C5102 SNDCTL_SYNTH_INFO struct synth_info * // I-O |
| 0xC0045103 SNDCTL_SEQ_CTRLRATE int * // I-O |
| 0x80045104 SNDCTL_SEQ_GETOUTCOUNT int * |
| 0x80045105 SNDCTL_SEQ_GETINCOUNT int * |
| 0x40045106 SNDCTL_SEQ_PERCMODE void |
| .TE |
| .TS |
| l l l. |
| 0x40285107 SNDCTL_FM_LOAD_INSTR const struct sbi_instrument * |
| .TE |
| .TS |
| l l l l. |
| 0x40045108 SNDCTL_SEQ_TESTMIDI const int * |
| 0x40045109 SNDCTL_SEQ_RESETSAMPLES const int * |
| 0x8004510A SNDCTL_SEQ_NRSYNTHS int * |
| 0x8004510B SNDCTL_SEQ_NRMIDIS int * |
| 0xC074510C SNDCTL_MIDI_INFO struct midi_info * // I-O |
| 0x4004510D SNDCTL_SEQ_THRESHOLD const int * |
| 0xC004510E SNDCTL_SYNTH_MEMAVL int * // I-O |
| 0x4004510F SNDCTL_FM_4OP_ENABLE const int * |
| 0xCFB85110 SNDCTL_PMGR_ACCESS struct patmgr_info * // I-O |
| 0x00005111 SNDCTL_SEQ_PANIC void |
| .TE |
| .TS |
| l l l. |
| 0x40085112 SNDCTL_SEQ_OUTOFBAND const struct seq_event_rec * |
| .TE |
| .TS |
| l l l l. |
| 0xC0045401 SNDCTL_TMR_TIMEBASE int * // I-O |
| 0x00005402 SNDCTL_TMR_START void |
| 0x00005403 SNDCTL_TMR_STOP void |
| 0x00005404 SNDCTL_TMR_CONTINUE void |
| 0xC0045405 SNDCTL_TMR_TEMPO int * // I-O |
| 0xC0045406 SNDCTL_TMR_SOURCE int * // I-O |
| 0x40045407 SNDCTL_TMR_METRONOME const int * |
| 0x40045408 SNDCTL_TMR_SELECT int * // I-O |
| 0xCFB85001 SNDCTL_PMGR_IFACE struct patmgr_info * // I-O |
| 0xC0046D00 SNDCTL_MIDI_PRETIME int * // I-O |
| 0xC0046D01 SNDCTL_MIDI_MPUMODE const int * |
| .TE |
| .TS |
| l l l l. |
| 0xC0216D02 SNDCTL_MIDI_MPUCMD struct mpu_command_rec * // I-O |
| .TE |
| .TS |
| l l l l. |
| 0x00005000 SNDCTL_DSP_RESET void |
| 0x00005001 SNDCTL_DSP_SYNC void |
| 0xC0045002 SNDCTL_DSP_SPEED int * // I-O |
| 0xC0045003 SNDCTL_DSP_STEREO int * // I-O |
| 0xC0045004 SNDCTL_DSP_GETBLKSIZE int * // I-O |
| 0xC0045006 SOUND_PCM_WRITE_CHANNELS int * // I-O |
| 0xC0045007 SOUND_PCM_WRITE_FILTER int * // I-O |
| 0x00005008 SNDCTL_DSP_POST void |
| 0xC0045009 SNDCTL_DSP_SUBDIVIDE int * // I-O |
| 0xC004500A SNDCTL_DSP_SETFRAGMENT int * // I-O |
| 0x8004500B SNDCTL_DSP_GETFMTS int * |
| 0xC0045005 SNDCTL_DSP_SETFMT int * // I-O |
| .TE |
| .TS |
| l l l. |
| 0x800C500C SNDCTL_DSP_GETOSPACE struct audio_buf_info * |
| 0x800C500D SNDCTL_DSP_GETISPACE struct audio_buf_info * |
| 0x0000500E SNDCTL_DSP_NONBLOCK void |
| 0x80045002 SOUND_PCM_READ_RATE int * |
| 0x80045006 SOUND_PCM_READ_CHANNELS int * |
| 0x80045005 SOUND_PCM_READ_BITS int * |
| 0x80045007 SOUND_PCM_READ_FILTER int * |
| 0x00004300 SNDCTL_COPR_RESET void |
| 0xCFB04301 SNDCTL_COPR_LOAD const struct copr_buffer * |
| .TE |
| .TS |
| l l l l. |
| 0xC0144302 SNDCTL_COPR_RDATA struct copr_debug_buf * // I-O |
| 0xC0144303 SNDCTL_COPR_RCODE struct copr_debug_buf * // I-O |
| .TE |
| .TS |
| l l l. |
| 0x40144304 SNDCTL_COPR_WDATA const struct copr_debug_buf * |
| 0x40144305 SNDCTL_COPR_WCODE const struct copr_debug_buf * |
| .TE |
| .TS |
| l l l l. |
| 0xC0144306 SNDCTL_COPR_RUN struct copr_debug_buf * // I-O |
| 0xC0144307 SNDCTL_COPR_HALT struct copr_debug_buf * // I-O |
| .TE |
| .TS |
| l l l. |
| 0x4FA44308 SNDCTL_COPR_SENDMSG const struct copr_msg * |
| 0x8FA44309 SNDCTL_COPR_RCVMSG struct copr_msg * |
| 0x80044D00 SOUND_MIXER_READ_VOLUME int * |
| 0x80044D01 SOUND_MIXER_READ_BASS int * |
| 0x80044D02 SOUND_MIXER_READ_TREBLE int * |
| 0x80044D03 SOUND_MIXER_READ_SYNTH int * |
| 0x80044D04 SOUND_MIXER_READ_PCM int * |
| 0x80044D05 SOUND_MIXER_READ_SPEAKER int * |
| 0x80044D06 SOUND_MIXER_READ_LINE int * |
| 0x80044D07 SOUND_MIXER_READ_MIC int * |
| 0x80044D08 SOUND_MIXER_READ_CD int * |
| 0x80044D09 SOUND_MIXER_READ_IMIX int * |
| 0x80044D0A SOUND_MIXER_READ_ALTPCM int * |
| 0x80044D0B SOUND_MIXER_READ_RECLEV int * |
| 0x80044D0C SOUND_MIXER_READ_IGAIN int * |
| 0x80044D0D SOUND_MIXER_READ_OGAIN int * |
| 0x80044D0E SOUND_MIXER_READ_LINE1 int * |
| 0x80044D0F SOUND_MIXER_READ_LINE2 int * |
| 0x80044D10 SOUND_MIXER_READ_LINE3 int * |
| 0x80044D1C SOUND_MIXER_READ_MUTE int * |
| 0x80044D1D SOUND_MIXER_READ_ENHANCE int * |
| 0x80044D1E SOUND_MIXER_READ_LOUD int * |
| 0x80044DFF SOUND_MIXER_READ_RECSRC int * |
| 0x80044DFE SOUND_MIXER_READ_DEVMASK int * |
| 0x80044DFD SOUND_MIXER_READ_RECMASK int * |
| 0x80044DFB SOUND_MIXER_READ_STEREODEVS int * |
| 0x80044DFC SOUND_MIXER_READ_CAPS int * |
| .TE |
| .TS |
| l l l l. |
| 0xC0044D00 SOUND_MIXER_WRITE_VOLUME int * // I-O |
| 0xC0044D01 SOUND_MIXER_WRITE_BASS int * // I-O |
| 0xC0044D02 SOUND_MIXER_WRITE_TREBLE int * // I-O |
| 0xC0044D03 SOUND_MIXER_WRITE_SYNTH int * // I-O |
| 0xC0044D04 SOUND_MIXER_WRITE_PCM int * // I-O |
| 0xC0044D05 SOUND_MIXER_WRITE_SPEAKER int * // I-O |
| 0xC0044D06 SOUND_MIXER_WRITE_LINE int * // I-O |
| 0xC0044D07 SOUND_MIXER_WRITE_MIC int * // I-O |
| 0xC0044D08 SOUND_MIXER_WRITE_CD int * // I-O |
| 0xC0044D09 SOUND_MIXER_WRITE_IMIX int * // I-O |
| 0xC0044D0A SOUND_MIXER_WRITE_ALTPCM int * // I-O |
| 0xC0044D0B SOUND_MIXER_WRITE_RECLEV int * // I-O |
| 0xC0044D0C SOUND_MIXER_WRITE_IGAIN int * // I-O |
| 0xC0044D0D SOUND_MIXER_WRITE_OGAIN int * // I-O |
| 0xC0044D0E SOUND_MIXER_WRITE_LINE1 int * // I-O |
| 0xC0044D0F SOUND_MIXER_WRITE_LINE2 int * // I-O |
| 0xC0044D10 SOUND_MIXER_WRITE_LINE3 int * // I-O |
| 0xC0044D1C SOUND_MIXER_WRITE_MUTE int * // I-O |
| 0xC0044D1D SOUND_MIXER_WRITE_ENHANCE int * // I-O |
| 0xC0044D1E SOUND_MIXER_WRITE_LOUD int * // I-O |
| 0xC0044DFF SOUND_MIXER_WRITE_RECSRC int * // I-O |
| .TE |
| |
| // <include/linux/timerfd.h> see |
| .BR timerfd_create (2) |
| .TS |
| l l l l. |
| 0x40085400 TFD_IOC_SET_TICKS uint64_t * |
| .TE |
| |
| // <include/linux/umsdos_fs.h> |
| .TS |
| l l l l. |
| 0x000004D2 UMSDOS_READDIR_DOS struct umsdos_ioctl * // I-O |
| 0x000004D3 UMSDOS_UNLINK_DOS const struct umsdos_ioctl * |
| 0x000004D4 UMSDOS_RMDIR_DOS const struct umsdos_ioctl * |
| 0x000004D5 UMSDOS_STAT_DOS struct umsdos_ioctl * // I-O |
| 0x000004D6 UMSDOS_CREAT_EMD const struct umsdos_ioctl * |
| 0x000004D7 UMSDOS_UNLINK_EMD const struct umsdos_ioctl * |
| 0x000004D8 UMSDOS_READDIR_EMD struct umsdos_ioctl * // I-O |
| 0x000004D9 UMSDOS_GETVERSION struct umsdos_ioctl * |
| 0x000004DA UMSDOS_INIT_EMD void |
| 0x000004DB UMSDOS_DOS_SETUP const struct umsdos_ioctl * |
| 0x000004DC UMSDOS_RENAME_DOS const struct umsdos_ioctl * |
| .TE |
| |
| // <include/linux/vt.h> |
| .TS |
| l l l. |
| 0x00005600 VT_OPENQRY int * |
| 0x00005601 VT_GETMODE struct vt_mode * |
| 0x00005602 VT_SETMODE const struct vt_mode * |
| 0x00005603 VT_GETSTATE struct vt_stat * |
| 0x00005604 VT_SENDSIG void |
| 0x00005605 VT_RELDISP int |
| 0x00005606 VT_ACTIVATE int |
| 0x00005607 VT_WAITACTIVE int |
| 0x00005608 VT_DISALLOCATE int |
| 0x00005609 VT_RESIZE const struct vt_sizes * |
| 0x0000560A VT_RESIZEX const struct vt_consize * |
| .TE |
| |
| // More arguments. |
| Some ioctl's take a pointer to a structure which contains additional |
| pointers. |
| These are documented here in alphabetical order. |
| |
| .B CDROMREADAUDIO |
| takes an input pointer |
| .IR "const struct cdrom_read_audio\ *" . |
| The |
| .I buf |
| field points to an output buffer of length |
| .IR "nframes\ * CD_FRAMESIZE_RAW" . |
| |
| .BR CDROMREADCOOKED , |
| .BR CDROMREADMODE1 , |
| .BR CDROMREADMODE2 , |
| and |
| .B CDROMREADRAW |
| take an input pointer |
| .IR "const struct cdrom_msf\ *" . |
| They use the same pointer as an output pointer to |
| .IR "char []" . |
| The length varies by request. |
| For |
| .BR CDROMREADMODE1 , |
| most drivers use CD_FRAMESIZE, but the Optics Storage |
| driver uses OPT_BLOCKSIZE instead (both have the numerical value |
| 2048). |
| .nf |
| |
| CDROMREADCOOKED char [CD_FRAMESIZE] |
| CDROMREADMODE1 char [CD_FRAMESIZE or OPT_BLOCKSIZE] |
| CDROMREADMODE2 char [CD_FRAMESIZE_RAW0] |
| CDROMREADRAW char [CD_FRAMESIZE_RAW] |
| |
| .fi |
| .BR EQL_ENSLAVE , |
| .BR EQL_EMANCIPATE , |
| .BR EQL_GETSLAVECFG , |
| .BR EQL_SETSLAVECFG , |
| .BR EQL_GETMASTERCFG , |
| and |
| .B EQL_SETMASTERCFG |
| take a |
| .IR "struct ifreq\ *" . |
| The |
| .I ifr_data |
| field is a pointer to another structure as follows: |
| .nf |
| |
| EQL_ENSLAVE const struct slaving_request * |
| EQL_EMANCIPATE const struct slaving_request * |
| EQL_GETSLAVECFG struct slave_config * // I-O |
| EQL_SETSLAVECFG const struct slave_config * |
| EQL_GETMASTERCFG struct master_config * |
| EQL_SETMASTERCFG const struct master_config * |
| |
| .fi |
| .B FDRAWCMD |
| takes a |
| .IR "struct floppy raw_cmd\ *" . |
| If |
| .I flags & FD_RAW_WRITE |
| is nonzero, then |
| .I data |
| points to an input buffer of length |
| .IR length . |
| If |
| .I flags & FD_RAW_READ |
| is nonzero, then |
| .I data |
| points to an output buffer of length |
| .IR length . |
| |
| .B GIO_FONTX |
| and |
| .B PIO_FONTX |
| take a |
| .I struct console_font_desc\ * |
| or a |
| .IR "const struct console_font_desc\ *" , |
| respectively. |
| .I chardata |
| points to a buffer of |
| .IR "char [charcount]" . |
| This is an output buffer for |
| .B GIO_FONTX |
| and an input buffer for |
| .BR PIO_FONTX . |
| |
| .B GIO_UNIMAP |
| and |
| .B PIO_UNIMAP |
| take a |
| .I "struct unimapdesc\ *" |
| or a |
| .IR "const struct unimapdesc\ *" , |
| respectively. |
| .I entries |
| points to a buffer of |
| .IR "struct unipair [entry_ct]" . |
| This is an output buffer for |
| .B GIO_UNIMAP |
| and an input buffer for |
| .BR PIO_UNIMAP . |
| |
| KDADDIO, KDDELIO, KDDISABIO, and KDENABIO enable or disable access to |
| I/O ports. |
| They are essentially alternate interfaces to 'ioperm'. |
| |
| .B KDMAPDISP |
| and |
| .B KDUNMAPDISP |
| enable or disable memory mappings or I/O port access. |
| They are not implemented in the kernel. |
| |
| .B SCSI_IOCTL_PROBE_HOST |
| takes an input pointer |
| .IR "const int\ *" , |
| which is a length. |
| It uses the same pointer as an output pointer to a |
| .I char [] |
| buffer of this length. |
| |
| .B SIOCADDRT |
| and |
| .B SIOCDELRT |
| take an input pointer whose type depends on |
| the protocol: |
| .nf |
| |
| Most protocols const struct rtentry * |
| AX.25 const struct ax25_route * |
| NET/ROM const struct nr_route_struct * |
| INET6 const struct in6_rtmsg * |
| |
| .fi |
| .B SIOCGIFCONF |
| takes a |
| .IR "struct ifconf\ *" . |
| The |
| .I ifc_buf |
| field points to a buffer of length |
| .I ifc_len |
| bytes, into which the kernel writes a list of type |
| .IR "struct ifreq []" . |
| |
| .B SIOCSIFHWADDR |
| takes an input pointer whose type depends on the protocol: |
| .nf |
| |
| Most protocols const struct ifreq * |
| AX.25 const char [AX25_ADDR_LEN] |
| |
| .fi |
| .B TIOCLINUX |
| takes a |
| .IR "const char\ *" . |
| It uses this to distinguish several |
| independent subcases. |
| In the table below, |
| .I N + foo |
| means |
| .I foo |
| after an N-byte pad. |
| .I struct selection |
| is implicitly defined in |
| .IR drivers/char/selection.c |
| .nf |
| |
| TIOCLINUX-2 1 + const struct selection * |
| TIOCLINUX-3 void |
| TIOCLINUX-4 void |
| TIOCLINUX-5 4 + const struct { long [8]; } * |
| TIOCLINUX-6 char * |
| TIOCLINUX-7 char * |
| TIOCLINUX-10 1 + const char * |
| |
| .fi |
| // Duplicate ioctls |
| |
| This list does not include ioctls in the range |
| .B SIOCDEVPRIVATE |
| and |
| .BR SIOCPROTOPRIVATE . |
| .TS |
| l l l. |
| 0x00000001 FDSETPRM FIBMAP |
| 0x00000002 FDDEFPRM FIGETBSZ |
| 0x00005382 CDROMAUDIOBUFSIZ SCSI_IOCTL_GET_IDLUN |
| 0x00005402 SNDCTL_TMR_START TCSETS |
| 0x00005403 SNDCTL_TMR_STOP TCSETSW |
| 0x00005404 SNDCTL_TMR_CONTINUE TCSETSF |
| .TE |
| .SH SEE ALSO |
| .BR ioctl (2), |
| .BR ioctl_fat (2), |
| .BR netdevice (7) |