mirror of https://github.com/mkerrisk/man-pages
1047 lines
24 KiB
Groff
1047 lines
24 KiB
Groff
.\" 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 2019-11-19 "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.
|
|
In addition, information about some ioctls can be found in
|
|
the pages listed under SEE ALSO in
|
|
.BR ioctl (2).
|
|
.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.
|
|
.PP
|
|
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.
|
|
.PP
|
|
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.
|
|
.PP
|
|
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.
|
|
.PP
|
|
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.
|
|
.PP
|
|
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.
|
|
.PP
|
|
// Main table.
|
|
.PP
|
|
// <include/asm-i386/socket.h>
|
|
.TS
|
|
l l.
|
|
FIOSETOWN const int *
|
|
SIOCSPGRP const int *
|
|
FIOGETOWN int *
|
|
SIOCGPGRP int *
|
|
SIOCATMAR int *
|
|
SIOCGSTAMP timeval *
|
|
.TE
|
|
.sp 1
|
|
// <include/asm-i386/termios.h>
|
|
.TS
|
|
l l.
|
|
TCGETS struct termios *
|
|
TCSETS const struct termios *
|
|
TCSETSW const struct termios *
|
|
TCSETSF const struct termios *
|
|
TCGETA struct termio *
|
|
TCSETA const struct termio *
|
|
TCSETAW const struct termio *
|
|
TCSETAF const struct termio *
|
|
TCSBRK int
|
|
TCXONC int
|
|
TCFLSH int
|
|
TIOCEXCL void
|
|
TIOCNXCL void
|
|
TIOCSCTTY int
|
|
TIOCGPGRP pid_t *
|
|
TIOCSPGRP const pid_t *
|
|
TIOCOUTQ int *
|
|
TIOCSTI const char *
|
|
TIOCGWINSZ struct winsize *
|
|
TIOCSWINSZ const struct winsize *
|
|
TIOCMGET int *
|
|
TIOCMBIS const int *
|
|
TIOCMBIC const int *
|
|
TIOCMSET const int *
|
|
TIOCGSOFTCAR int *
|
|
TIOCSSOFTCAR const int *
|
|
FIONREAD int *
|
|
TIOCINQ int *
|
|
TIOCLINUX const char * // MORE
|
|
TIOCCONS void
|
|
TIOCGSERIAL struct serial_struct *
|
|
TIOCSSERIAL const struct serial_struct *
|
|
TIOCPKT const int *
|
|
FIONBIO const int *
|
|
TIOCNOTTY void
|
|
TIOCSETD const int *
|
|
TIOCGETD int *
|
|
TCSBRKP int
|
|
TIOCTTYGSTRUCT struct tty_struct *
|
|
FIONCLEX void
|
|
FIOCLEX void
|
|
FIOASYNC const int *
|
|
TIOCSERCONFIG void
|
|
TIOCSERGWILD int *
|
|
TIOCSERSWILD const int *
|
|
TIOCGLCKTRMIOS struct termios *
|
|
TIOCSLCKTRMIOS const struct termios *
|
|
TIOCSERGSTRUCT struct async_struct *
|
|
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.
|
|
TIOCSERGETMULTI struct serial_multiport_struct *
|
|
TIOCSERSETMULTI const struct serial_multiport_struct *
|
|
.TE
|
|
.sp 1
|
|
// <include/linux/ax25.h>
|
|
.TS
|
|
l l.
|
|
SIOCAX25GETUID const struct sockaddr_ax25 *
|
|
SIOCAX25ADDUID const struct sockaddr_ax25 *
|
|
SIOCAX25DELUID const struct sockaddr_ax25 *
|
|
SIOCAX25NOUID const int *
|
|
SIOCAX25DIGCTL const int *
|
|
SIOCAX25GETPARMS struct ax25_parms_struct * // I-O
|
|
.TE
|
|
.TS
|
|
l l.
|
|
SIOCAX25SETPARMS const struct ax25_parms_struct *
|
|
.TE
|
|
.sp 1
|
|
// <include/linux/cdk.h>
|
|
.TS
|
|
l l.
|
|
STL_BINTR void
|
|
STL_BSTART void
|
|
STL_BSTOP void
|
|
STL_BRESET void
|
|
.TE
|
|
.sp 1
|
|
// <include/linux/cdrom.h>
|
|
.TS
|
|
l l.
|
|
CDROMPAUSE void
|
|
CDROMRESUME void
|
|
CDROMPLAYMSF const struct cdrom_msf *
|
|
CDROMPLAYTRKIND const struct cdrom_ti *
|
|
CDROMREADTOCHDR struct cdrom_tochdr *
|
|
.TE
|
|
.TS
|
|
l l l.
|
|
CDROMREADTOCENTRY struct cdrom_tocentry * // I-O
|
|
.TE
|
|
.TS
|
|
l l l.
|
|
CDROMSTOP void
|
|
CDROMSTART void
|
|
CDROMEJECT void
|
|
CDROMVOLCTRL const struct cdrom_volctrl *
|
|
CDROMSUBCHNL struct cdrom_subchnl * // I-O
|
|
CDROMREADMODE2 const struct cdrom_msf * // MORE
|
|
CDROMREADMODE1 const struct cdrom_msf * // MORE
|
|
CDROMREADAUDIO const struct cdrom_read_audio * // MORE
|
|
CDROMEJECT_SW int
|
|
.TE
|
|
.TS
|
|
l l l.
|
|
CDROMMULTISESSION struct cdrom_multisession * // I-O
|
|
.TE
|
|
.TS
|
|
l l l.
|
|
CDROM_GET_UPC struct { char [8]; } *
|
|
CDROMRESET void
|
|
CDROMVOLREAD struct cdrom_volctrl *
|
|
CDROMREADRAW const struct cdrom_msf * // MORE
|
|
CDROMREADCOOKED const struct cdrom_msf * // MORE
|
|
CDROMSEEK const struct cdrom_msf *
|
|
.TE
|
|
.sp 1
|
|
// <include/linux/cm206.h>
|
|
.TS
|
|
l l.
|
|
CM206CTL_GET_STAT int
|
|
CM206CTL_GET_LAST_STAT int
|
|
.TE
|
|
.sp 1
|
|
// <include/linux/cyclades.h>
|
|
.TS
|
|
l l.
|
|
CYGETMON struct cyclades_monitor *
|
|
CYGETTHRESH int *
|
|
CYSETTHRESH int
|
|
CYGETDEFTHRESH int *
|
|
CYSETDEFTHRESH int
|
|
CYGETTIMEOUT int *
|
|
CYSETTIMEOUT int
|
|
CYGETDEFTIMEOUT int *
|
|
CYSETDEFTIMEOUT int
|
|
.TE
|
|
.sp 1
|
|
// <include/linux/fd.h>
|
|
.TS
|
|
l l.
|
|
FDCLRPRM void
|
|
FDSETPRM const struct floppy_struct *
|
|
FDDEFPRM const struct floppy_struct *
|
|
FDGETPRM struct floppy_struct *
|
|
FDMSGON void
|
|
FDMSGOFF void
|
|
FDFMTBEG void
|
|
FDFMTTRK const struct format_descr *
|
|
FDFMTEND void
|
|
FDSETEMSGTRESH int
|
|
FDFLUSH void
|
|
FDSETMAXERRS const struct floppy_max_errors *
|
|
FDGETMAXERRS struct floppy_max_errors *
|
|
FDGETDRVTYP struct { char [16]; } *
|
|
FDSETDRVPRM const struct floppy_drive_params *
|
|
FDGETDRVPRM struct floppy_drive_params *
|
|
FDGETDRVSTAT struct floppy_drive_struct *
|
|
FDPOLLDRVSTAT struct floppy_drive_struct *
|
|
FDRESET int
|
|
FDGETFDCSTAT struct floppy_fdc_state *
|
|
FDWERRORCLR void
|
|
FDWERRORGET struct floppy_write_errors *
|
|
.TE
|
|
.TS
|
|
l l l.
|
|
FDRAWCMD struct floppy_raw_cmd * // MORE // I-O
|
|
FDTWADDLE void
|
|
.TE
|
|
.sp 1
|
|
// <include/linux/fs.h>
|
|
.TS
|
|
l l l.
|
|
BLKROSET const int *
|
|
BLKROGET int *
|
|
BLKRRPART void
|
|
BLKGETSIZE unsigned long *
|
|
BLKFLSBUF void
|
|
BLKRASET unsigned long
|
|
BLKRAGET unsigned long *
|
|
FIBMAP int * // I-O
|
|
FIGETBSZ int *
|
|
FS_IOC_GETFLAGS int *
|
|
FS_IOC_SETFLAGS int *
|
|
FS_IOC_GETVERSION int *
|
|
FS_IOC_SETVERSION int *
|
|
FS_IOC_FIEMAP struct fiemap *
|
|
FS_IOC32_SETFLAGS int *
|
|
FS_IOC32_SETFLAGS int *
|
|
FS_IOC32_GETVERSION int *
|
|
FS_IOC32_SETVERSION int *
|
|
.TE
|
|
.sp 1
|
|
// <include/linux/hdreg.h>
|
|
.TS
|
|
l l.
|
|
HDIO_GETGEO struct hd_geometry *
|
|
HDIO_GET_UNMASKINTR int *
|
|
HDIO_GET_MULTCOUNT int *
|
|
HDIO_GET_IDENTITY struct hd_driveid *
|
|
HDIO_GET_KEEPSETTINGS int *
|
|
HDIO_GET_CHIPSET int *
|
|
HDIO_GET_NOWERR int *
|
|
HDIO_GET_DMA int *
|
|
HDIO_DRIVE_CMD int * // I-O
|
|
HDIO_SET_MULTCOUNT int
|
|
HDIO_SET_UNMASKINTR int
|
|
HDIO_SET_KEEPSETTINGS int
|
|
HDIO_SET_CHIPSET int
|
|
HDIO_SET_NOWERR int
|
|
HDIO_SET_DMA int
|
|
.TE
|
|
.sp 1
|
|
// <include/linux/if_eql.h>
|
|
.TS
|
|
l l l.
|
|
EQL_ENSLAVE struct ifreq * // MORE // I-O
|
|
EQL_EMANCIPATE struct ifreq * // MORE // I-O
|
|
EQL_GETSLAVECFG struct ifreq * // MORE // I-O
|
|
EQL_SETSLAVECFG struct ifreq * // MORE // I-O
|
|
EQL_GETMASTRCFG struct ifreq * // MORE // I-O
|
|
EQL_SETMASTRCFG struct ifreq * // MORE // I-O
|
|
.TE
|
|
.sp 1
|
|
// <include/linux/if_plip.h>
|
|
.TS
|
|
l l l.
|
|
SIOCDEVPLIP struct ifreq * // I-O
|
|
.TE
|
|
.sp 1
|
|
// <include/linux/if_ppp.h>
|
|
.TS
|
|
l l.
|
|
PPPIOCGFLAGS int *
|
|
PPPIOCSFLAGS const int *
|
|
PPPIOCGASYNCMAP int *
|
|
PPPIOCSASYNCMAP const int *
|
|
PPPIOCGUNIT int *
|
|
PPPIOCSINPSIG const int *
|
|
PPPIOCSDEBUG const int *
|
|
PPPIOCGDEBUG int *
|
|
PPPIOCGSTAT struct ppp_stats *
|
|
PPPIOCGTIME struct ppp_ddinfo *
|
|
PPPIOCGXASYNCMAP struct { int [8]; } *
|
|
PPPIOCSXASYNCMAP const struct { int [8]; } *
|
|
PPPIOCSMRU const int *
|
|
PPPIOCRASYNCMAP const int *
|
|
PPPIOCSMAXCID const int *
|
|
.TE
|
|
.sp 1
|
|
// <include/linux/ipx.h>
|
|
.TS
|
|
l l.
|
|
SIOCAIPXITFCRT const char *
|
|
SIOCAIPXPRISLT const char *
|
|
SIOCIPXCFGDATA struct ipx_config_data *
|
|
.TE
|
|
.sp 1
|
|
// <include/linux/kd.h>
|
|
.TS
|
|
l l.
|
|
GIO_FONT struct { char [8192]; } *
|
|
PIO_FONT const struct { char [8192]; } *
|
|
.TE
|
|
.TS
|
|
l2 l2 l.
|
|
GIO_FONTX struct console_font_desc * // MORE // I-O
|
|
PIO_FONTX const struct console_font_desc * //MORE
|
|
.TE
|
|
.TS
|
|
l l l.
|
|
GIO_CMAP struct { char [48]; } *
|
|
PIO_CMAP const struct { char [48]; }
|
|
.TE
|
|
.TS
|
|
l l l.
|
|
KIOCSOUND int
|
|
KDMKTONE int
|
|
KDGETLED char *
|
|
KDSETLED int
|
|
KDGKBTYPE char *
|
|
KDADDIO int // MORE
|
|
KDDELIO int // MORE
|
|
KDENABIO void // MORE
|
|
KDDISABIO void // MORE
|
|
KDSETMODE int
|
|
KDGETMODE int *
|
|
KDMAPDISP void // MORE
|
|
KDUNMAPDISP void // MORE
|
|
GIO_SCRNMAP struct { char [E_TABSZ]; } *
|
|
.TE
|
|
.TS
|
|
l l.
|
|
PIO_SCRNMAP const struct { char [E_TABSZ]; } *
|
|
GIO_UNISCRNMAP struct { short [E_TABSZ]; } *
|
|
PIO_UNISCRNMAP const struct { short [E_TABSZ]; } *
|
|
.TE
|
|
.TS
|
|
l l l.
|
|
GIO_UNIMAP struct unimapdesc * // MORE // I-O
|
|
PIO_UNIMAP const struct unimapdesc * // MORE
|
|
PIO_UNIMAPCLR const struct unimapinit *
|
|
KDGKBMODE int *
|
|
KDSKBMODE int
|
|
KDGKBMETA int *
|
|
KDSKBMETA int
|
|
KDGKBLED int *
|
|
KDSKBLED int
|
|
KDGKBENT struct kbentry * // I-O
|
|
KDSKBENT const struct kbentry *
|
|
KDGKBSENT struct kbsentry * // I-O
|
|
KDSKBSENT const struct kbsentry *
|
|
KDGKBDIACR struct kbdiacrs *
|
|
KDSKBDIACR const struct kbdiacrs *
|
|
KDGETKEYCODE struct kbkeycode * // I-O
|
|
KDSETKEYCODE const struct kbkeycode *
|
|
KDSIGACCEPT int
|
|
.TE
|
|
.sp 1
|
|
// <include/linux/lp.h>
|
|
.TS
|
|
l l.
|
|
LPCHAR int
|
|
LPTIME int
|
|
LPABORT int
|
|
LPSETIRQ int
|
|
LPGETIRQ int *
|
|
LPWAIT int
|
|
LPCAREFUL int
|
|
LPABORTOPEN int
|
|
LPGETSTATUS int *
|
|
LPRESET void
|
|
LPGETSTATS struct lp_stats *
|
|
.TE
|
|
.sp 1
|
|
// <include/linux/mroute.h>
|
|
.TS
|
|
l l l.
|
|
SIOCGETVIFCNT struct sioc_vif_req * // I-O
|
|
SIOCGETSGCNT struct sioc_sg_req * // I-O
|
|
.TE
|
|
.sp 1
|
|
// <include/linux/msdos_fs.h> see
|
|
.BR ioctl_fat (2)
|
|
.TS
|
|
l l.
|
|
VFAT_IOCTL_READDIR_BOTH struct dirent [2]
|
|
VFAT_IOCTL_READDIR_SHORT struct dirent [2]
|
|
FAT_IOCTL_GET_ATTRIBUTES __u32 *
|
|
FAT_IOCTL_SET_ATTRIBUTES const __u32 *
|
|
FAT_IOCTL_GET_VOLUME_ID __u32 *
|
|
.TE
|
|
.sp 1
|
|
// <include/linux/mtio.h>
|
|
.TS
|
|
l l.
|
|
MTIOCTOP const struct mtop *
|
|
MTIOCGET struct mtget *
|
|
MTIOCPOS struct mtpos *
|
|
MTIOCGETCONFIG struct mtconfiginfo *
|
|
MTIOCSETCONFIG const struct mtconfiginfo *
|
|
.TE
|
|
.sp 1
|
|
// <include/linux/netrom.h>
|
|
.TS
|
|
l l l.
|
|
SIOCNRGETPARMS struct nr_parms_struct * // I-O
|
|
SIOCNRSETPARMS const struct nr_parms_struct *
|
|
SIOCNRDECOBS void
|
|
SIOCNRRTCTL const int *
|
|
.TE
|
|
.sp 1
|
|
// <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
|
|
.sp 1
|
|
// <include/linux/sbpcd.h>
|
|
.TS
|
|
l l.
|
|
DDIOCSDBG const int *
|
|
CDROMAUDIOBUFSIZ int
|
|
.TE
|
|
.sp 1
|
|
// <include/linux/scc.h>
|
|
.TS
|
|
l l l.
|
|
TIOCSCCINI void
|
|
TIOCCHANINI const struct scc_modem *
|
|
TIOCGKISS struct ioctl_command * // I-O
|
|
TIOCSKISS const struct ioctl_command *
|
|
TIOCSCCSTAT struct scc_stat *
|
|
.TE
|
|
.sp 1
|
|
// <include/linux/scsi.h>
|
|
.TS
|
|
l l.
|
|
SCSI_IOCTL_GET_IDLUN struct { int [2]; } *
|
|
SCSI_IOCTL_TAGGED_ENABLE void
|
|
SCSI_IOCTL_TAGGED_DISABLE void
|
|
.TE
|
|
.TS
|
|
l l l.
|
|
SCSI_IOCTL_PROBE_HOST const int * // MORE
|
|
.TE
|
|
.sp 1
|
|
// <include/linux/smb_fs.h>
|
|
.TS
|
|
l l l.
|
|
SMB_IOC_GETMOUNTUID uid_t *
|
|
.TE
|
|
.sp 1
|
|
// <include/uapi/linux/sockios.h> see
|
|
.BR netdevice (7)
|
|
.PP
|
|
.TS
|
|
l l l.
|
|
SIOCADDRT const struct rtentry * // MORE
|
|
SIOCDELRT const struct rtentry * // MORE
|
|
SIOCGIFNAME char []
|
|
SIOCSIFLINK void
|
|
SIOCGIFCONF struct ifconf * // MORE // I-O
|
|
SIOCGIFFLAGS struct ifreq * // I-O
|
|
SIOCSIFFLAGS const struct ifreq *
|
|
SIOCGIFADDR struct ifreq * // I-O
|
|
SIOCSIFADDR const struct ifreq *
|
|
SIOCGIFDSTADDR struct ifreq * // I-O
|
|
SIOCSIFDSTADDR const struct ifreq *
|
|
SIOCGIFBRDADDR struct ifreq * // I-O
|
|
SIOCSIFBRDADDR const struct ifreq *
|
|
SIOCGIFNETMASK struct ifreq * // I-O
|
|
SIOCSIFNETMASK const struct ifreq *
|
|
SIOCGIFMETRIC struct ifreq * // I-O
|
|
SIOCSIFMETRIC const struct ifreq *
|
|
SIOCGIFMEM struct ifreq * // I-O
|
|
SIOCSIFMEM const struct ifreq *
|
|
SIOCGIFMTU struct ifreq * // I-O
|
|
SIOCSIFMTU const struct ifreq *
|
|
.TE
|
|
.TS
|
|
l l l.
|
|
OLD_SIOCGIFHWADDR struct ifreq * // I-O
|
|
SIOCSIFHWADDR const struct ifreq * // MORE
|
|
SIOCGIFENCAP int *
|
|
SIOCSIFENCAP const int *
|
|
SIOCGIFHWADDR struct ifreq * // I-O
|
|
SIOCGIFSLAVE void
|
|
SIOCSIFSLAVE void
|
|
SIOCADDMULTI const struct ifreq *
|
|
SIOCDELMULTI const struct ifreq *
|
|
SIOCADDRTOLD void
|
|
SIOCDELRTOLD void
|
|
SIOCDARP const struct arpreq *
|
|
SIOCGARP struct arpreq * // I-O
|
|
SIOCSARP const struct arpreq *
|
|
SIOCDRARP const struct arpreq *
|
|
SIOCGRARP struct arpreq * // I-O
|
|
SIOCSRARP const struct arpreq *
|
|
SIOCGIFMAP struct ifreq * // I-O
|
|
SIOCSIFMAP const struct ifreq *
|
|
.TE
|
|
.sp 1
|
|
// <include/linux/soundcard.h>
|
|
.TS
|
|
l l.
|
|
SNDCTL_SEQ_RESET void
|
|
SNDCTL_SEQ_SYNC void
|
|
.TE
|
|
.TS
|
|
l l l.
|
|
SNDCTL_SYNTH_INFO struct synth_info * // I-O
|
|
SNDCTL_SEQ_CTRLRATE int * // I-O
|
|
SNDCTL_SEQ_GETOUTCOUNT int *
|
|
SNDCTL_SEQ_GETINCOUNT int *
|
|
SNDCTL_SEQ_PERCMODE void
|
|
.TE
|
|
.TS
|
|
l l.
|
|
SNDCTL_FM_LOAD_INSTR const struct sbi_instrument *
|
|
.TE
|
|
.TS
|
|
l l l.
|
|
SNDCTL_SEQ_TESTMIDI const int *
|
|
SNDCTL_SEQ_RESETSAMPLES const int *
|
|
SNDCTL_SEQ_NRSYNTHS int *
|
|
SNDCTL_SEQ_NRMIDIS int *
|
|
SNDCTL_MIDI_INFO struct midi_info * // I-O
|
|
SNDCTL_SEQ_THRESHOLD const int *
|
|
SNDCTL_SYNTH_MEMAVL int * // I-O
|
|
SNDCTL_FM_4OP_ENABLE const int *
|
|
SNDCTL_PMGR_ACCESS struct patmgr_info * // I-O
|
|
SNDCTL_SEQ_PANIC void
|
|
.TE
|
|
.TS
|
|
l l.
|
|
SNDCTL_SEQ_OUTOFBAND const struct seq_event_rec *
|
|
.TE
|
|
.TS
|
|
l l l.
|
|
SNDCTL_TMR_TIMEBASE int * // I-O
|
|
SNDCTL_TMR_START void
|
|
SNDCTL_TMR_STOP void
|
|
SNDCTL_TMR_CONTINUE void
|
|
SNDCTL_TMR_TEMPO int * // I-O
|
|
SNDCTL_TMR_SOURCE int * // I-O
|
|
SNDCTL_TMR_METRONOME const int *
|
|
SNDCTL_TMR_SELECT int * // I-O
|
|
SNDCTL_PMGR_IFACE struct patmgr_info * // I-O
|
|
SNDCTL_MIDI_PRETIME int * // I-O
|
|
SNDCTL_MIDI_MPUMODE const int *
|
|
.TE
|
|
.TS
|
|
l l l.
|
|
SNDCTL_MIDI_MPUCMD struct mpu_command_rec * // I-O
|
|
.TE
|
|
.TS
|
|
l l l.
|
|
SNDCTL_DSP_RESET void
|
|
SNDCTL_DSP_SYNC void
|
|
SNDCTL_DSP_SPEED int * // I-O
|
|
SNDCTL_DSP_STEREO int * // I-O
|
|
SNDCTL_DSP_GETBLKSIZE int * // I-O
|
|
SOUND_PCM_WRITE_CHANNELS int * // I-O
|
|
SOUND_PCM_WRITE_FILTER int * // I-O
|
|
SNDCTL_DSP_POST void
|
|
SNDCTL_DSP_SUBDIVIDE int * // I-O
|
|
SNDCTL_DSP_SETFRAGMENT int * // I-O
|
|
SNDCTL_DSP_GETFMTS int *
|
|
SNDCTL_DSP_SETFMT int * // I-O
|
|
.TE
|
|
.TS
|
|
l l.
|
|
SNDCTL_DSP_GETOSPACE struct audio_buf_info *
|
|
SNDCTL_DSP_GETISPACE struct audio_buf_info *
|
|
SNDCTL_DSP_NONBLOCK void
|
|
SOUND_PCM_READ_RATE int *
|
|
SOUND_PCM_READ_CHANNELS int *
|
|
SOUND_PCM_READ_BITS int *
|
|
SOUND_PCM_READ_FILTER int *
|
|
SNDCTL_COPR_RESET void
|
|
SNDCTL_COPR_LOAD const struct copr_buffer *
|
|
.TE
|
|
.TS
|
|
l l l.
|
|
SNDCTL_COPR_RDATA struct copr_debug_buf * // I-O
|
|
SNDCTL_COPR_RCODE struct copr_debug_buf * // I-O
|
|
.TE
|
|
.TS
|
|
l l.
|
|
SNDCTL_COPR_WDATA const struct copr_debug_buf *
|
|
SNDCTL_COPR_WCODE const struct copr_debug_buf *
|
|
.TE
|
|
.TS
|
|
l l l.
|
|
SNDCTL_COPR_RUN struct copr_debug_buf * // I-O
|
|
SNDCTL_COPR_HALT struct copr_debug_buf * // I-O
|
|
.TE
|
|
.TS
|
|
l l.
|
|
SNDCTL_COPR_SENDMSG const struct copr_msg *
|
|
SNDCTL_COPR_RCVMSG struct copr_msg *
|
|
SOUND_MIXER_READ_VOLUME int *
|
|
SOUND_MIXER_READ_BASS int *
|
|
SOUND_MIXER_READ_TREBLE int *
|
|
SOUND_MIXER_READ_SYNTH int *
|
|
SOUND_MIXER_READ_PCM int *
|
|
SOUND_MIXER_READ_SPEAKER int *
|
|
SOUND_MIXER_READ_LINE int *
|
|
SOUND_MIXER_READ_MIC int *
|
|
SOUND_MIXER_READ_CD int *
|
|
SOUND_MIXER_READ_IMIX int *
|
|
SOUND_MIXER_READ_ALTPCM int *
|
|
SOUND_MIXER_READ_RECLEV int *
|
|
SOUND_MIXER_READ_IGAIN int *
|
|
SOUND_MIXER_READ_OGAIN int *
|
|
SOUND_MIXER_READ_LINE1 int *
|
|
SOUND_MIXER_READ_LINE2 int *
|
|
SOUND_MIXER_READ_LINE3 int *
|
|
SOUND_MIXER_READ_MUTE int *
|
|
SOUND_MIXER_READ_ENHANCE int *
|
|
SOUND_MIXER_READ_LOUD int *
|
|
SOUND_MIXER_READ_RECSRC int *
|
|
SOUND_MIXER_READ_DEVMASK int *
|
|
SOUND_MIXER_READ_RECMASK int *
|
|
SOUND_MIXER_READ_STEREODEVS int *
|
|
SOUND_MIXER_READ_CAPS int *
|
|
.TE
|
|
.TS
|
|
l l l.
|
|
SOUND_MIXER_WRITE_VOLUME int * // I-O
|
|
SOUND_MIXER_WRITE_BASS int * // I-O
|
|
SOUND_MIXER_WRITE_TREBLE int * // I-O
|
|
SOUND_MIXER_WRITE_SYNTH int * // I-O
|
|
SOUND_MIXER_WRITE_PCM int * // I-O
|
|
SOUND_MIXER_WRITE_SPEAKER int * // I-O
|
|
SOUND_MIXER_WRITE_LINE int * // I-O
|
|
SOUND_MIXER_WRITE_MIC int * // I-O
|
|
SOUND_MIXER_WRITE_CD int * // I-O
|
|
SOUND_MIXER_WRITE_IMIX int * // I-O
|
|
SOUND_MIXER_WRITE_ALTPCM int * // I-O
|
|
SOUND_MIXER_WRITE_RECLEV int * // I-O
|
|
SOUND_MIXER_WRITE_IGAIN int * // I-O
|
|
SOUND_MIXER_WRITE_OGAIN int * // I-O
|
|
SOUND_MIXER_WRITE_LINE1 int * // I-O
|
|
SOUND_MIXER_WRITE_LINE2 int * // I-O
|
|
SOUND_MIXER_WRITE_LINE3 int * // I-O
|
|
SOUND_MIXER_WRITE_MUTE int * // I-O
|
|
SOUND_MIXER_WRITE_ENHANCE int * // I-O
|
|
SOUND_MIXER_WRITE_LOUD int * // I-O
|
|
SOUND_MIXER_WRITE_RECSRC int * // I-O
|
|
.TE
|
|
.sp 1
|
|
// <include/linux/timerfd.h> see
|
|
.BR timerfd_create (2)
|
|
.TS
|
|
l l l.
|
|
TFD_IOC_SET_TICKS uint64_t *
|
|
.TE
|
|
.sp 1
|
|
// <include/linux/umsdos_fs.h>
|
|
.TS
|
|
l l l.
|
|
UMSDOS_READDIR_DOS struct umsdos_ioctl * // I-O
|
|
UMSDOS_UNLINK_DOS const struct umsdos_ioctl *
|
|
UMSDOS_RMDIR_DOS const struct umsdos_ioctl *
|
|
UMSDOS_STAT_DOS struct umsdos_ioctl * // I-O
|
|
UMSDOS_CREAT_EMD const struct umsdos_ioctl *
|
|
UMSDOS_UNLINK_EMD const struct umsdos_ioctl *
|
|
UMSDOS_READDIR_EMD struct umsdos_ioctl * // I-O
|
|
UMSDOS_GETVERSION struct umsdos_ioctl *
|
|
UMSDOS_INIT_EMD void
|
|
UMSDOS_DOS_SETUP const struct umsdos_ioctl *
|
|
UMSDOS_RENAME_DOS const struct umsdos_ioctl *
|
|
.TE
|
|
.sp 1
|
|
// <include/linux/vt.h>
|
|
.TS
|
|
l l.
|
|
VT_OPENQRY int *
|
|
VT_GETMODE struct vt_mode *
|
|
VT_SETMODE const struct vt_mode *
|
|
VT_GETSTATE struct vt_stat *
|
|
VT_SENDSIG void
|
|
VT_RELDISP int
|
|
VT_ACTIVATE int
|
|
VT_WAITACTIVE int
|
|
VT_DISALLOCATE int
|
|
VT_RESIZE const struct vt_sizes *
|
|
VT_RESIZEX const struct vt_consize *
|
|
.TE
|
|
.sp 1
|
|
// More arguments.
|
|
Some ioctl's take a pointer to a structure which contains additional
|
|
pointers.
|
|
These are documented here in alphabetical order.
|
|
.PP
|
|
.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" .
|
|
.PP
|
|
.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).
|
|
.PP
|
|
.nf
|
|
CDROMREADCOOKED char [CD_FRAMESIZE]
|
|
CDROMREADMODE1 char [CD_FRAMESIZE or OPT_BLOCKSIZE]
|
|
CDROMREADMODE2 char [CD_FRAMESIZE_RAW0]
|
|
CDROMREADRAW char [CD_FRAMESIZE_RAW]
|
|
.fi
|
|
.PP
|
|
.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:
|
|
.PP
|
|
.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
|
|
.PP
|
|
.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 .
|
|
.PP
|
|
.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 .
|
|
.PP
|
|
.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 .
|
|
.PP
|
|
KDADDIO, KDDELIO, KDDISABIO, and KDENABIO enable or disable access to
|
|
I/O ports.
|
|
They are essentially alternate interfaces to 'ioperm'.
|
|
.PP
|
|
.B KDMAPDISP
|
|
and
|
|
.B KDUNMAPDISP
|
|
enable or disable memory mappings or I/O port access.
|
|
They are not implemented in the kernel.
|
|
.PP
|
|
.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.
|
|
.PP
|
|
.B SIOCADDRT
|
|
and
|
|
.B SIOCDELRT
|
|
take an input pointer whose type depends on
|
|
the protocol:
|
|
.PP
|
|
.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
|
|
.PP
|
|
.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 []" .
|
|
.PP
|
|
.B SIOCSIFHWADDR
|
|
takes an input pointer whose type depends on the protocol:
|
|
.PP
|
|
.nf
|
|
Most protocols const struct ifreq *
|
|
AX.25 const char [AX25_ADDR_LEN]
|
|
.fi
|
|
.PP
|
|
.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
|
|
.PP
|
|
.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
|
|
.PP
|
|
// Duplicate ioctls
|
|
.PP
|
|
This list does not include ioctls in the range
|
|
.B SIOCDEVPRIVATE
|
|
and
|
|
.BR SIOCPROTOPRIVATE .
|
|
.TS
|
|
l l l.
|
|
FDSETPRM FIBMAP
|
|
FDDEFPRM FIGETBSZ
|
|
SCSI_IOCTL_GET_IDLUN
|
|
SNDCTL_TMR_START TCSETS
|
|
SNDCTL_TMR_STOP TCSETSW
|
|
SNDCTL_TMR_CONTINUE TCSETSF
|
|
.TE
|
|
.SH SEE ALSO
|
|
.BR ioctl (2),
|
|
.BR ioctl_fat (2),
|
|
.BR netdevice (7)
|