.\" Ioctl List 1.3.27
.\" Sun 17 Sep 1995
.\" Michael Elizabeth Chastain
.\" <mec@duracef.shout.net>
.\" 
.\" // Copyright
.\" 
.\" Ioctl List 1.3.27 is copyright 1995 by Michael Elizabeth Chastain.
.\" It is licensed under the Gnu Public License, Version 2.
.\" 
.\" 
.\" 
.\" // 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.
.\" 
.\" Translated into Spanish Mon Feb 16 18:20:35 CET 1998 by Gerardo
.\" Aburruzaga García <gerardo.aburruzaga@uca.es>
.\" 
.nf

// Introducción

Esto es Ioctl List 1.3.27, una lista de llamadas a ioctl para el
núcleo de Linux/i386 1.3.27.  Contiene 421 ioctl's de
/usr/include/{asm,linux}/*.h. 
Para cada ioctl, listo su valor numérico, su nombre y el tipo de su
argumento. 

Un tipo de argumento de la forma 'const struct fu *' significa que el
argumento es entrada para el núcleo. 'struct fu' significa que del
núcleo se extrae el argumento. Si el núcleo emplea el argumento para
entrada y salida, esto se marca con // E-S.

Algunas ioctl's toman más argumentos o devuelven más valores que una
simple estructura. Éstas se marcan con // MÁS y se documentan más
adelante en una sección separada.

Esta lista está incompleta. No incluye:

    -- Ioctl's definidas internamente en el núcleo ('scsi_ioctl.h').
    -- Ioctl's definidas en módulos distribuidos separadamente del núcleo.

Y, por supuesto, puedo haber cometido errores y omisiones.

Por favor mande por electrocorreo cambios y comentarios a
<mec@duracef.shout.net>. Estoy interesado particularmente en módulos
cargables que definan sus propias ioctl's. Si Ud. conoce un tal
módulo, dígame de dónde puedo obtenerlo por FTP, e incluiré sus
ioctl's en mi próxima distribución.



// Tabla principal.

// <include/asm-i386/socket.h>
0x00008901  FIOSETOWN			const int *
0x00008902  SIOCSPGRP			const int *
0x00008903  FIOGETOWN			int *
0x00008904  SIOCGPGRP			int *
0x00008905  SIOCATMARK			int *
0x00008906  SIOCGSTAMP			timeval *

// <include/asm-i386/termios.h>
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			const struct winsize *
0x00005414  TIOCSWINSZ			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 *			// MÁS
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 temios *
0x00005458  TIOCSERGSTRUCT		struct async_struct *
0x00005459  TIOCSERGETLSR		int *
0x0000545A  TIOCSERGETMULTI		struct serial_multiport_struct *
0x0000545B  TIOCSERSETMULTI		const struct serial_multiport_struct *

// <include/linux/ax25.h>
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 *	// E-S
0x000089E6  SIOCAX25SETPARMS		const struct ax25_parms-struct *

// <include/linux/cdk.h>
0x00007314  STL_BINTR			void
0x00007315  STL_BSTART			void
0x00007316  STL_BSTOP			void
0x00007317  STL_BRESET			void

// <include/linux/cdrom.h>
0x00005301  CDROMPAUSE			void
0x00005302  CDROMRESUME			void
0x00005303  CDROMPLAYMSF		const struct cdrom_msf *
0x00005304  CDROMPLAYTRKIND		const struct cdrom_ti *
0x00005305  CDROMREADTOCHDR		struct cdrom_tochdr *
0x00005306  CDROMREADTOCENTRY		struct cdrom_tocentry *		// E-S
0x00005307  CDROMSTOP			void
0x00005308  CDROMSTART			void
0x00005309  CDROMEJECT			void
0x0000530A  CDROMVOLCTRL		const struct cdrom_volctrl *
0x0000530B  CDROMSUBCHNL		struct cdrom_subchnl *		// E-S
0x0000530C  CDROMREADMODE2		const struct cdrom_msf *	// MÁS
0x0000530D  CDROMREADMODE1		const struct cdrom_msf *	// MÁS
0x0000530E  CDROMREADAUDIO		const struct cdrom_read_audio *	// MÁS
0x0000530F  CDROMEJECT_SW		int
0x00005310  CDROMMULTISESSION		struct cdrom_multisession *	// E-S
0x00005311  CDROM_GET_UPC		struct { char [8]; } *
0x00005312  CDROMRESET			void
0x00005313  CDROMVOLREAD		struct cdrom_volctrl *
0x00005314  CDROMREADRAW		const struct cdrom_msf *	// MÁS
0x00005315  CDROMREADCOOKED		const struct cdrom_msf *	// MÁS
0x00005316  CDROMSEEK			const struct cdrom_msf *

// <include/linux/cm206.h>
0x00002000  CM206CTL_GET_STAT		int
0x00002001  CM206CTL_GET_LAST_STAT	int

// <include/linux/cyclades.h>
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

// <include/linux/ext2_fs.h>
0x80046601  EXT2_IOC_GETFLAGS		int *
0x40046602  EXT2_IOC_SETFLAGS		const int *
0x80047601  EXT2_IOC_GETVERSION		int *
0x40047602  EXT2_IOC_SETVERSION		const int *

// <include/linux/fd.h>
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 *
0x0000001E  FDRAWCMD			struct floppy_raw_cmd *	// MÁS	// E-S
0x00000028  FDTWADDLE			void

// <include/linux/fs.h>
0x0000125D  BLKROSET			const int *
0x0000125E  BLKROGET			int *
0x0000125F  BLKRRPART			void
0x00001260  BLKGETSIZE			int *
0x00001261  BLKFLSBUF			void
0x00001262  BLKRASET			int
0x00001263  BLKRAGET			int *
0x00000001  FIBMAP			int *				// E-S
0x00000002  FIGETBSZ			int *

// <include/linux/hdreg.h>
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 *				// E-S
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

// <include/linux/if_eql.h>
0x000089F0  EQL_ENSLAVE			struct ifreq *		// MÁS // E-S
0x000089F1  EQL_EMANCIPATE		struct ifreq *		// MÁS // E-S
0x000089F2  EQL_GETSLAVECFG		struct ifreq *		// MÁS // E-S
0x000089F3  EQL_SETSLAVECFG		struct ifreq *		// MÁS // E-S
0x000089F4  EQL_GETMASTRCFG		struct ifreq *		// MÁS // E-S
0x000089F5  EQL_SETMASTRCFG		struct ifreq *		// MÁS // E-S

// <include/linux/if_plip.h>
0x000089F0  SIOCDEVPLIP			struct ifreq *			// E-S

// <include/linux/if_ppp.h>
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 *

// <include/linux/ipx.h>
0x000089E0  SIOCAIPXITFCRT		const char *
0x000089E1  SIOCAIPXPRISLT		const char *
0x000089E2  SIOCIPXCFGDATA		struct ipx_config_data *

// <include/linux/kd.h>
0x00004B60  GIO_FONT			struct { char [8192]; } *
0x00004B61  PIO_FONT			const struct { char [8192]; } *
0x00004B6B  GIO_FONTX			struct console_font_desc *  // MÁS I-O
0x00004B6C  PIO_FONTX			const struct console_font_desc * // MÁS
0x00004B70  GIO_CMAP			struct { char [48]; } *
0x00004B71  PIO_CMAP			const struct { char [48]; }
0x00004B2F  KIOCSOUND			int
0x00004B30  KDMKTONE			int
0x00004B31  KDGETLED			char *
0x00004B32  KDSETLED			int
0x00004B33  KDGKBTYPE			char *
0x00004B34  KDADDIO			int				// MÁS
0x00004B35  KDDELIO			int				// MÁS
0x00004B36  KDENABIO			void				// MÁS
0x00004B37  KDDISABIO			void				// MÁS
0x00004B3A  KDSETMODE			int
0x00004B3B  KDGETMODE			int *
0x00004B3C  KDMAPDISP			void				// MÁS
0x00004B3D  KDUNMAPDISP			void				// MÁS
0x00004B40  GIO_SCRNMAP			struct { char [E_TABSZ]; } *
0x00004B41  PIO_SCRNMAP			const struct { char [E_TABSZ]; } *
0x00004B69  GIO_UNISCRNMAP		struct { short [E_TABSZ]; } *
0x00004B6A  PIO_UNISCRNMAP		const struct { short [E_TABSZ]; } *
0x00004B66  GIO_UNIMAP			struct unimapdesc *	// MÁS	// E-S
0x00004B67  PIO_UNIMAP			const struct unimapdesc *	// MÁS
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 *		// E-S
0x00004B47  KDSKBENT			const struct kbentry *
0x00004B48  KDGKBSENT			struct kbsentry *		// E-S
0x00004B49  KDSKBSENT			const struct kbsentry *
0x00004B4A  KDGKBDIACR			struct kbdiacrs *
0x00004B4B  KDSKBDIACR			const struct kbdiacrs *
0x00004B4C  KDGETKEYCODE		struct kbkeycode *		// E-S
0x00004B4D  KDSETKEYCODE		const struct kbkeycode *
0x00004B4E  KDSIGACCEPT			int

// <include/linux/lp.h>
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 *

// <include/linux/mroute.h>
0x000089E0  SIOCGETVIFCNT		struct sioc_vif_req *		// E-S
0x000089E1  SIOCGETSGCNT		struct sioc_sg_req *		// E-S

// <include/linux/mtio.h>
0x40086D01  MTIOCTOP			const struct mtop *
0x801C6D02  MTIOCGET			struct mtget *
0x80046D03  MTIOCPOS			struct mtpos *
0x80206D04  MTIOCGETCONFIG		struct mtconfiginfo *
0x40206D05  MTIOCSETCONFIG		const struct mtconfiginfo *

// <include/linux/netrom.h>
0x000089E0  SIOCNRGETPARMS		struct nr_parms_struct *	// E-S
0x000089E1  SIOCNRSETPARMS		const struct nr_parms_struct *
0x000089E2  SIOCNRDECOBS		void
0x000089E3  SIOCNRRTCTL			const int *

// <include/linux/sbpcd.h>
0x00009000  DDIOCSDBG			const int *
0x00005382  CDROMAUDIOBUFSIZ		int

// <include/linux/scc.h>
0x00005470  TIOCSCCINI			void
0x00005471  TIOCCHANINI			const struct scc_modem *
0x00005472  TIOCGKISS			struct ioctl_command *		// E-S
0x00005473  TIOCSKISS			const struct ioctl_command *
0x00005474  TIOCSCCSTAT			struct scc_stat *

// <include/linux/scsi.h>
0x00005382  SCSI_IOCTL_GET_IDLUN	struct { int [2]; } *
0x00005383  SCSI_IOCTL_TAGGED_ENABLE	void
0x00005384  SCSI_IOCTL_TAGGED_DISABLE	void
0x00005385  SCSI_IOCTL_PROBE_HOST	const int *			// MÁS

// <include/linux/smb_fs.h>
0x80027501  SMB_IOC_GETMOUNTUID		uid_t *

// <include/linux/sockios.h>
0x0000890B  SIOCADDRT			const struct rtentry *		// MÁS
0x0000890C  SIOCDELRT			const struct rtentry *		// MÁS
0x00008910  SIOCGIFNAME			char []
0x00008911  SIOCSIFLINK			void
0x00008912  SIOCGIFCONF			struct ifconf *		// MÁS	// E-S
0x00008913  SIOCGIFFLAGS		struct ifreq *			// E-S
0x00008914  SIOCSIFFLAGS		const struct ifreq *
0x00008915  SIOCGIFADDR			struct ifreq *			// E-S
0x00008916  SIOCSIFADDR			const struct ifreq *
0x00008917  SIOCGIFDSTADDR		struct ifreq *			// E-S
0x00008918  SIOCSIFDSTADDR		const struct ifreq *
0x00008919  SIOCGIFBRDADDR		struct ifreq *			// E-S
0x0000891A  SIOCSIFBRDADDR		const struct ifreq *
0x0000891B  SIOCGIFNETMASK		struct ifreq *			// E-S
0x0000891C  SIOCSIFNETMASK		const struct ifreq *
0x0000891D  SIOCGIFMETRIC		struct ifreq *			// E-S
0x0000891E  SIOCSIFMETRIC		const struct ifreq *
0x0000891F  SIOCGIFMEM			struct ifreq *			// E-S
0x00008920  SIOCSIFMEM			const struct ifreq *
0x00008921  SIOCGIFMTU			struct ifreq *			// E-S
0x00008922  SIOCSIFMTU			const struct ifreq *
0x00008923  OLD_SIOCGIFHWADDR		struct ifreq *			// E-S
0x00008924  SIOCSIFHWADDR		const struct ifreq *		// MÁS
0x00008925  SIOCGIFENCAP		int *
0x00008926  SIOCSIFENCAP		const int *
0x00008927  SIOCGIFHWADDR		struct ifreq *			// E-S
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 *			// E-S
0x00008952  SIOCSARP			const struct arpreq *
0x00008960  SIOCDRARP			const struct arpreq *
0x00008961  SIOCGRARP			struct arpreq *			// E-S
0x00008962  SIOCSRARP			const struct arpreq *
0x00008970  SIOCGIFMAP			struct ifreq *			// E-S
0x00008971  SIOCSIFMAP			const struct ifreq *

// <include/linux/soundcard.h>
0x00005100  SNDCTL_SEQ_RESET		void
0x00005101  SNDCTL_SEQ_SYNC		void
0xC08C5102  SNDCTL_SYNTH_INFO		struct synth_info *		// E-S
0xC0045103  SNDCTL_SEQ_CTRLRATE		int *				// E-S
0x80045104  SNDCTL_SEQ_GETOUTCOUNT	int *
0x80045105  SNDCTL_SEQ_GETINCOUNT	int *
0x40045106  SNDCTL_SEQ_PERCMODE		void
0x40285107  SNDCTL_FM_LOAD_INSTR	const struct sbi_instrument *
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 *		// E-S
0x4004510D  SNDCTL_SEQ_THRESHOLD	const int *
0xC004510E  SNDCTL_SYNTH_MEMAVL		int *				// E-S
0x4004510F  SNDCTL_FM_4OP_ENABLE	const int *
0xCFB85110  SNDCTL_PMGR_ACCESS		struct patmgr_info *		// E-S
0x00005111  SNDCTL_SEQ_PANIC		void
0x40085112  SNDCTL_SEQ_OUTOFBAND	const struct seq_event_rec *
0xC0045401  SNDCTL_TMR_TIMEBASE		int *				// E-S
0x00005402  SNDCTL_TMR_START		void
0x00005403  SNDCTL_TMR_STOP		void
0x00005404  SNDCTL_TMR_CONTINUE		void
0xC0045405  SNDCTL_TMR_TEMPO		int *				// E-S
0xC0045406  SNDCTL_TMR_SOURCE		int *				// E-S
0x40045407  SNDCTL_TMR_METRONOME	const int *
0x40045408  SNDCTL_TMR_SELECT		int *				// E-S
0xCFB85001  SNDCTL_PMGR_IFACE		struct patmgr_info *		// E-S
0xC0046D00  SNDCTL_MIDI_PRETIME		int *				// E-S
0xC0046D01  SNDCTL_MIDI_MPUMODE		const int *
0xC0216D02  SNDCTL_MIDI_MPUCMD		struct mpu_command_rec *	// E-S
0x00005000  SNDCTL_DSP_RESET		void
0x00005001  SNDCTL_DSP_SYNC		void
0xC0045002  SNDCTL_DSP_SPEED		int *				// E-S
0xC0045003  SNDCTL_DSP_STEREO		int *				// E-S
0xC0045004  SNDCTL_DSP_GETBLKSIZE	int *				// E-S
0xC0045006  SOUND_PCM_WRITE_CHANNELS	int *				// E-S
0xC0045007  SOUND_PCM_WRITE_FILTER	int *				// E-S
0x00005008  SNDCTL_DSP_POST		void
0xC0045009  SNDCTL_DSP_SUBDIVIDE	int *				// E-S
0xC004500A  SNDCTL_DSP_SETFRAGMENT	int *				// E-S
0x8004500B  SNDCTL_DSP_GETFMTS		int *
0xC0045005  SNDCTL_DSP_SETFMT		int *				// E-S
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 *
0xC0144302  SNDCTL_COPR_RDATA		struct copr_debug_buf *		// E-S
0xC0144303  SNDCTL_COPR_RCODE		struct copr_debug_buf *		// E-S
0x40144304  SNDCTL_COPR_WDATA		const struct copr_debug_buf *
0x40144305  SNDCTL_COPR_WCODE		const struct copr_debug_buf *
0xC0144306  SNDCTL_COPR_RUN		struct copr_debug_buf *		// E-S
0xC0144307  SNDCTL_COPR_HALT		struct copr_debug_buf *		// E-S
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 *
0xC0044D00  SOUND_MIXER_WRITE_VOLUME	int *				// E-S
0xC0044D01  SOUND_MIXER_WRITE_BASS	int *				// E-S
0xC0044D02  SOUND_MIXER_WRITE_TREBLE	int *				// E-S
0xC0044D03  SOUND_MIXER_WRITE_SYNTH	int *				// E-S
0xC0044D04  SOUND_MIXER_WRITE_PCM	int *				// E-S
0xC0044D05  SOUND_MIXER_WRITE_SPEAKER	int *				// E-S
0xC0044D06  SOUND_MIXER_WRITE_LINE	int *				// E-S
0xC0044D07  SOUND_MIXER_WRITE_MIC	int *				// E-S
0xC0044D08  SOUND_MIXER_WRITE_CD	int *				// E-S
0xC0044D09  SOUND_MIXER_WRITE_IMIX	int *				// E-S
0xC0044D0A  SOUND_MIXER_WRITE_ALTPCM	int *				// E-S
0xC0044D0B  SOUND_MIXER_WRITE_RECLEV	int *				// E-S
0xC0044D0C  SOUND_MIXER_WRITE_IGAIN	int *				// E-S
0xC0044D0D  SOUND_MIXER_WRITE_OGAIN	int *				// E-S
0xC0044D0E  SOUND_MIXER_WRITE_LINE1	int *				// E-S
0xC0044D0F  SOUND_MIXER_WRITE_LINE2	int *				// E-S
0xC0044D10  SOUND_MIXER_WRITE_LINE3	int *				// E-S
0xC0044D1C  SOUND_MIXER_WRITE_MUTE	int *				// E-S
0xC0044D1D  SOUND_MIXER_WRITE_ENHANCE	int *				// E-S
0xC0044D1E  SOUND_MIXER_WRITE_LOUD	int *				// E-S
0xC0044DFF  SOUND_MIXER_WRITE_RECSRC	int *				// E-S

// <include/linux/umsdos_fs.h>
0x000004D2  UMSDOS_READDIR_DOS		struct umsdos_ioctl *		// E-S
0x000004D3  UMSDOS_UNLINK_DOS		const struct umsdos_ioctl *
0x000004D4  UMSDOS_RMDIR_DOS		const struct umsdos_ioctl *
0x000004D5  UMSDOS_STAT_DOS		struct umsdos_ioctl *		// E-S
0x000004D6  UMSDOS_CREAT_EMD		const struct umsdos_ioctl *
0x000004D7  UMSDOS_UNLINK_EMD		const struct umsdos_ioctl *
0x000004D8  UMSDOS_READDIR_EMD		struct umsdos_ioctl *		// E-S
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 *

// <include/linux/vt.h>
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 *



// Más argumentos.

Algunas ioctl's toman un puntero a una estructura que contiene
punteros adicionales. Éstas se documentan aquí en orden alfabético.

CDROMREADAUDIO toma un puntero de entrada 'const struct cdrom_read_audio *'.
El campo 'buf' apunta a un búfer de salida de longitud 'nframes *
CD_FRAMESIZE_RAW'. 

CDROMREADCOOKED, CDROMREADMODE1, CDROMREADMODE2 y CDROMREADRAW toman
un puntero de entrada 'const struct cdrom_msf *'.  Utilizan el mismo
puntero como un puntero de salida a 'char []'. La longitud varía según
la petición. Para CDROMREADMODE1, la mayoría de los controladores
emplean 'CD_FRAMESIZE', pero el controlador del Optics Storage utiliza
en su lugar 'OPT_BLOCKSIZE' (ambos tienen el valor numérico 2048).

	    CDROMREADCOOKED		char [CD_FRAMESIZE]
	    CDROMREADMODE1		char [CD_FRAMESIZE or OPT_BLOCKSIZE]
	    CDROMREADMODE2		char [CD_FRAMESIZE_RAW0]
	    CDROMREADRAW		char [CD_FRAMESIZE_RAW]

EQL_ENSLAVE, EQL_EMANCIPATE, EQL_GETSLAVECFG, EQL_SETSLAVECFG,
EQL_GETMASTERCFG y EQL_SETMASTERCFG toman una 'struct ifreq *'.
El campo 'ifr_data' es un puntero a otra estructura como sigue:

	    EQL_ENSLAVE			const struct slaving_request *
	    EQL_EMANCIPATE		const struct slaving_request *
	    EQL_GETSLAVECFG		struct slave_config *		// E-S
	    EQL_SETSLAVECFG		const struct slave_config *
	    EQL_GETMASTERCFG		struct master_config *
	    EQL_SETMASTERCFG		const struct master_config *

FDRAWCMD toma una 'struct floppy raw_cmd *'.  Si 'flags & FD_RAW_WRITE'
es no cero, entonces 'data' apunta a un búfer de entrada de longitud 'length'.
Si 'flags & FD_RAW_READ' es no cero, entonces 'data' apunta a un búfer
de salida de longitud 'length'.

GIO_FONTX y PIO_FONTX toman una 'struct console_font_desc *' o una
 'const struct console_font_desc *', respectivamente.  'chardata'
apunta a un búfer de 'char [charcount]'.  Esto es un búfer de salida
para GIO_FONTX y de entrada para PIO_FONTX.

GIO_UNIMAP y PIO_UNIMAP toman una 'struct unimapdesc *' o una
 'const struct unimapdesc *', respectivamente.  'entries' apunta a un
búfer de 'struct unipair [entry_ct]'.  Esto es un búfer de salida para
GIO_UNIMAP y de entrada para PIO_UNIMAP.

KDADDIO, KDDELIO, KDDISABIO y KDENABIO habilitan o inhabilitan acceso
a puertos de E/S. Son esencialmente interfaces alternativas para 'ioperm'.

KDMAPDISP y KDUNMAPDISP habilitan o inhabilitan asociaciones de
memoria o acceso a puertos de E/S. No están implementadas en el núcleo.

SCSI_IOCTL_PROBE_HOST toma un puntero de entrada 'const int *', que es
una longitud. Utiliza el mismo puntero como un puntero de salida a un
búfer 'char []' de esta longitud.

SIOCADDRT y SIOCDELRT toman un puntero de entrada cuyo tipo depende
del protocolo:

	    La mayoría de ellos		const struct rtentry *
	    AX.25			const struct ax25_route *
	    NET/ROM			const struct nr_route_struct *

SIOCGIFCONF toma una 'struct ifconf *'.  El campo 'ifc_buf' apunta a
un búfer de longitud 'ifc_len' bytes, en el cual el núcleo escribe una
lista de tipo 'struct ifreq []'.

SIOCSIFHWADDR toma un puntero de entrada cuyo tipo depende del protocolo:

	    La mayoría de ellos		const struct ifreq *
	    AX.25			const char [AX25_ADDR_LEN]

TIOCLINUX toma un 'const char *'.  Lo emplea para distinguir varios
sub-casos independientes. En la tabla de abajo, 'N + fu' significa 'foo' tras
un relleno de N bytes.  'struct selection' se define implícitamente en
 'drivers/char/selection.c'

	    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 *





// Ioctl's duplicadas

Esta lista no incluye ioctl's en el rango de   SIOCDEVPRIVATE a
SIOCPROTOPRIVATE.

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
