+++ /dev/null
-.\" 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)