.\" -*- coding: UTF-8 -*- .\" Ioctl List 1.3.27 is copyright 1995 by Michael Elizabeth Chastain. .\" Michael Elizabeth Chastain .\" .\" .\" %%%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 and Michael Kerrisk .\" : .\" Various formatting improvements .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH IOCTL_LIST 2 "15. September 2017" Linux Linux\-Programmierhandbuch .SH BEZEICHNUNG ioctl_list \- Liste der ioctl\-Aufrufe im Linux/i386\-Kernel .SH BESCHREIBUNG Dies ist die Ioctl\-Liste 1.3.27, eine Liste von Ioctl\-Aufrufen im Linux/i386\-Kernel 1.3.27. Sie enthält 421 Ioctls aus \fI. Für jeden Ioctl wird der numerische Wert, der Name und der Argumenttyp aufgelistet. .PP Ein Argumenttyp \fIconst struct foo\ *\fP bedeutet, dass das Argument Eingabe für den Kernel ist. \fIstruct foo\ *\fP bedeutet, der Kernel gibt das Argument aus. Falls der Kernel das Argument für Ein\- und Ausgabe benutzt, wird dies durch \fI//\ E/A\fP markiert. .PP Einige Ioctls benötigen mehr Argumente oder geben mehr Werte zurück als eine einzige Struktur. Diese werden durch \fI//\ WEITERE\fP markiert und weiter in einem separaten Abschnitt dokumentiert. .PP Diese Liste ist sehr unvollständig. .SS Ioctl\-Struktur .\" added two sections - aeb Ioctl\-Befehle sind 32\-Bit\-Konstanten. Im Prinzip sind diese Konstanten vollkommen willkürlich, aber es gibt Bestrebungen, etwas Struktur zu etablieren. .PP Die alte Linux\-Situation war, dass 16\-Bit\-Konstanten vorherrschten, wobei das letzte Byte eine Seriennummer ist und das/die vorhergehende(n) Byte(s) den Typ des Treibers anzeigt. Manchmal wurde die Major\-Nummer verwendet: 0x03 für die \fBHDIO_*\fP\-Ioctls, 0x06 für die \fBLP*\fP\-Ioctls. Und manchmal wurden ein oder mehrere ASCII\-Buchstaben verwendet. Beispielsweise hat \fBTCGETS\fP den Wert 0x00005401, mit 0x54 = \(aqT\(aq zur Angabe des Terminal\-Treibers und \fBCYGETTIMEOUT\fP hat den Wert 0x00435906, mit 0x43 0x59 = \(aqC\(aq \(aqY\(aq zur Angabe des »cyclades«\-Treibers. .PP Später (0.98p5) wurde etwas mehr Information in die Zahlen eingebaut. Es gibt zwei Richtungs\-Bits (00:keine, 01: schreiben, 10: lesen, 11: lesen/schreiben) gefolgt von 14 Größen\-Bits (übergeben die Größe als Argument) gefolgt von einem 8\-Bit\-Typ (gruppiert die Ioctls für einen gemeinsamen Zweck oder einen gemeinsamen Treiber) sowie eine 8\-Bit\-Seriennummer. .PP Die Makros, die diese Struktur beschreiben, stammen aus \fI\fP und sind \fB_IO(type,nr)\fP und \fB{_IOR,_IOW,_IOWR}(type,nr,size)\fP. Sie verwenden \fIsizeof(size)\fP, so dass die Größe hier eine Fehlbezeichnung ist: das dritte Argument ist ein Datentyp. .PP Beachten Sie, dass die Größen\-Bits sehr unzuverlässig sind: in vielen Fällen stimmen sie nicht, entweder aufgrund fehlerhafter Makros, die \fIsizeof(sizeof(struct))\fP verwenden oder aufgrund vererbter (legacy) Werte. .PP Daher scheint es, dass die neue Struktur nur Nachteile mit sich brachte: sie hilft nicht beim Überprüfen, verursacht aber variierende Werte für die verschiedenen Architekturen. .SH RÜCKGABEWERT »Anständige« Ioctls geben bei Erfolg 0 zurück und \-1 bei einem Fehler, während jede ausgegebene Wert mittels des Arguments gespeichert wird. Allerdings geben etliche Ioctls in der Tat einen Ausgabewert zurück. Dies ist im Folgenden noch nicht angegeben. .PP // Haupttabelle .PP // .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 .sp 1 // .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 * // WEITERE 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 .sp 1 // .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 * // E/A .TE .TS l l l. 0x000089E6 SIOCAX25SETPARMS const struct ax25_parms_struct * .TE .sp 1 // .TS l l l. 0x00007314 STL_BINTR void 0x00007315 STL_BSTART void 0x00007316 STL_BSTOP void 0x00007317 STL_BRESET void .TE .sp 1 // .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 * // E/A .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 * // E/A 0x0000530C CDROMREADMODE2 const struct cdrom_msf * // WEITERE 0x0000530D CDROMREADMODE1 const struct cdrom_msf * // WEITERE 0x0000530E CDROMREADAUDIO const struct cdrom_read_audio * // WEITERE 0x0000530F CDROMEJECT_SW int .TE .TS l l l l. 0x00005310 CDROMMULTISESSION struct cdrom_multisession * // E/A .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 * // WEITERE 0x00005315 CDROMREADCOOKED const struct cdrom_msf * // WEITERE 0x00005316 CDROMSEEK const struct cdrom_msf * .TE .sp 1 // .TS l l l. 0x00002000 CM206CTL_GET_STAT int 0x00002001 CM206CTL_GET_LAST_STAT int .TE .sp 1 // .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 .sp 1 // .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 * // WEITERE // E/A 0x00000028 FDTWADDLE void .TE .sp 1 // .TS l l l l. 0x0000125D BLKROSET const int * 0x0000125E BLKROGET int * 0x0000125F BLKRRPART void 0x00001260 BLKGETSIZE unsigned long * 0x00001261 BLKFLSBUF void 0x00001262 BLKRASET unsigned long 0x00001263 BLKRAGET unsigned long * 0x00000001 FIBMAP int * // E/A 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 .sp 1 // .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 * // E/A 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 .sp 1 // .TS l l l l. 0x000089F0 EQL_ENSLAVE struct ifreq * // WEITERE // E/A 0x000089F1 EQL_EMANCIPATE struct ifreq * // WEITERE // E/A 0x000089F2 EQL_GETSLAVECFG struct ifreq * // WEITERE // E/A 0x000089F3 EQL_SETSLAVECFG struct ifreq * // WEITERE // E/A 0x000089F4 EQL_GETMASTRCFG struct ifreq * // WEITERE // E/A 0x000089F5 EQL_SETMASTRCFG struct ifreq * // WEITERE // E/A .TE .sp 1 // .TS l l l l. 0x000089F0 SIOCDEVPLIP struct ifreq * // E/A .TE .sp 1 // .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 .sp 1 // .TS l l l. 0x000089E0 SIOCAIPXITFCRT const char * 0x000089E1 SIOCAIPXPRISLT const char * 0x000089E2 SIOCIPXCFGDATA struct ipx_config_data * .TE .sp 1 // .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 * // WEITERE // E/A 0x00004B6C PIO_FONTX const struct console_font_desc * // WEITERE .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 // WEITERE 0x00004B35 KDDELIO int // WEITERE 0x00004B36 KDENABIO void // WEITERE 0x00004B37 KDDISABIO void // WEITERE 0x00004B3A KDSETMODE int 0x00004B3B KDGETMODE int * 0x00004B3C KDMAPDISP void // WEITERE 0x00004B3D KDUNMAPDISP void // WEITERE 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 * // WEITERE // E/A 0x00004B67 PIO_UNIMAP const struct unimapdesc * // WEITERE 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/A 0x00004B47 KDSKBENT const struct kbentry * 0x00004B48 KDGKBSENT struct kbsentry * // E/A 0x00004B49 KDSKBSENT const struct kbsentry * 0x00004B4A KDGKBDIACR struct kbdiacrs * 0x00004B4B KDSKBDIACR const struct kbdiacrs * 0x00004B4C KDGETKEYCODE struct kbkeycode * // E/A 0x00004B4D KDSETKEYCODE const struct kbkeycode * 0x00004B4E KDSIGACCEPT int .TE .sp 1 // .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 .sp 1 // .TS l l l l. 0x000089E0 SIOCGETVIFCNT struct sioc_vif_req * // E/A 0x000089E1 SIOCGETSGCNT struct sioc_sg_req * // E/A .TE .sp 1 // siehe \fBioctl_fat\fP(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 .sp 1 // .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 .sp 1 // .TS l l l l. 0x000089E0 SIOCNRGETPARMS struct nr_parms_struct * // E/A 0x000089E1 SIOCNRSETPARMS const struct nr_parms_struct * 0x000089E2 SIOCNRDECOBS void 0x000089E3 SIOCNRRTCTL const int * .TE .sp 1 // .br // Dieses API ist missbilligt. .br // Es wird durch nl80211 und cfg80211 ersetzt. Siehe .br // \fIhttps://wireless.wiki.kernel.org/en/developers/documentation/nl80211\fP .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 // .TS l l l. 0x00009000 DDIOCSDBG const int * 0x00005382 CDROMAUDIOBUFSIZ int .TE .sp 1 // .TS l l l l. 0x00005470 TIOCSCCINI void 0x00005471 TIOCCHANINI const struct scc_modem * 0x00005472 TIOCGKISS struct ioctl_command * // E/A 0x00005473 TIOCSKISS const struct ioctl_command * 0x00005474 TIOCSCCSTAT struct scc_stat * .TE .sp 1 // .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 * // WEITERE .TE .sp 1 // .TS l l l. 0x80027501 SMB_IOC_GETMOUNTUID uid_t * .TE .sp 1 // siehe \fBnetdevice\fP(7) .PP .TS l l l l. 0x0000890B SIOCADDRT const struct rtentry * // WEITERE 0x0000890C SIOCDELRT const struct rtentry * // WEITERE 0x00008910 SIOCGIFNAME char [] 0x00008911 SIOCSIFLINK void 0x00008912 SIOCGIFCONF struct ifconf * // WEITERE // E/A 0x00008913 SIOCGIFFLAGS struct ifreq * // E/A 0x00008914 SIOCSIFFLAGS const struct ifreq * 0x00008915 SIOCGIFADDR struct ifreq * // E/A 0x00008916 SIOCSIFADDR const struct ifreq * 0x00008917 SIOCGIFDSTADDR struct ifreq * // E/A 0x00008918 SIOCSIFDSTADDR const struct ifreq * 0x00008919 SIOCGIFBRDADDR struct ifreq * // E/A 0x0000891A SIOCSIFBRDADDR const struct ifreq * 0x0000891B SIOCGIFNETMASK struct ifreq * // E/A 0x0000891C SIOCSIFNETMASK const struct ifreq * 0x0000891D SIOCGIFMETRIC struct ifreq * // E/A 0x0000891E SIOCSIFMETRIC const struct ifreq * 0x0000891F SIOCGIFMEM struct ifreq * // E/A 0x00008920 SIOCSIFMEM const struct ifreq * 0x00008921 SIOCGIFMTU struct ifreq * // E/A 0x00008922 SIOCSIFMTU const struct ifreq * .TE .TS l l l l. 0x00008923 OLD_SIOCGIFHWADDR struct ifreq * // E/A 0x00008924 SIOCSIFHWADDR const struct ifreq * // WEITERE 0x00008925 SIOCGIFENCAP int * 0x00008926 SIOCSIFENCAP const int * 0x00008927 SIOCGIFHWADDR struct ifreq * // E/A 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/A 0x00008952 SIOCSARP const struct arpreq * 0x00008960 SIOCDRARP const struct arpreq * 0x00008961 SIOCGRARP struct arpreq * // E/A 0x00008962 SIOCSRARP const struct arpreq * 0x00008970 SIOCGIFMAP struct ifreq * // E/A 0x00008971 SIOCSIFMAP const struct ifreq * .TE .sp 1 // .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 * // E/A 0xC0045103 SNDCTL_SEQ_CTRLRATE int * // E/A 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 * // E/A 0x4004510D SNDCTL_SEQ_THRESHOLD const int * 0xC004510E SNDCTL_SYNTH_MEMAVL int * // E/A 0x4004510F SNDCTL_FM_4OP_ENABLE const int * 0xCFB85110 SNDCTL_PMGR_ACCESS struct patmgr_info * // E/A 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 * // E/A 0x00005402 SNDCTL_TMR_START void 0x00005403 SNDCTL_TMR_STOP void 0x00005404 SNDCTL_TMR_CONTINUE void 0xC0045405 SNDCTL_TMR_TEMPO int * // E/A 0xC0045406 SNDCTL_TMR_SOURCE int * // E/A 0x40045407 SNDCTL_TMR_METRONOME const int * 0x40045408 SNDCTL_TMR_SELECT int * // E/A 0xCFB85001 SNDCTL_PMGR_IFACE struct patmgr_info * // E/A 0xC0046D00 SNDCTL_MIDI_PRETIME int * // E/A 0xC0046D01 SNDCTL_MIDI_MPUMODE const int * .TE .TS l l l l. 0xC0216D02 SNDCTL_MIDI_MPUCMD struct mpu_command_rec * // E/A .TE .TS l l l l. 0x00005000 SNDCTL_DSP_RESET void 0x00005001 SNDCTL_DSP_SYNC void 0xC0045002 SNDCTL_DSP_SPEED int * // E/A 0xC0045003 SNDCTL_DSP_STEREO int * // E/A 0xC0045004 SNDCTL_DSP_GETBLKSIZE int * // E/A 0xC0045006 SOUND_PCM_WRITE_CHANNELS int * // E/A 0xC0045007 SOUND_PCM_WRITE_FILTER int * // E/A 0x00005008 SNDCTL_DSP_POST void 0xC0045009 SNDCTL_DSP_SUBDIVIDE int * // E/A 0xC004500A SNDCTL_DSP_SETFRAGMENT int * // E/A 0x8004500B SNDCTL_DSP_GETFMTS int * 0xC0045005 SNDCTL_DSP_SETFMT int * // E/A .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 * // E/A 0xC0144303 SNDCTL_COPR_RCODE struct copr_debug_buf * // E/A .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 * // E/A 0xC0144307 SNDCTL_COPR_HALT struct copr_debug_buf * // E/A .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 * // E/A 0xC0044D01 SOUND_MIXER_WRITE_BASS int * // E/A 0xC0044D02 SOUND_MIXER_WRITE_TREBLE int * // E/A 0xC0044D03 SOUND_MIXER_WRITE_SYNTH int * // E/A 0xC0044D04 SOUND_MIXER_WRITE_PCM int * // E/A 0xC0044D05 SOUND_MIXER_WRITE_SPEAKER int * // E/A 0xC0044D06 SOUND_MIXER_WRITE_LINE int * // E/A 0xC0044D07 SOUND_MIXER_WRITE_MIC int * // E/A 0xC0044D08 SOUND_MIXER_WRITE_CD int * // E/A 0xC0044D09 SOUND_MIXER_WRITE_IMIX int * // E/A 0xC0044D0A SOUND_MIXER_WRITE_ALTPCM int * // E/A 0xC0044D0B SOUND_MIXER_WRITE_RECLEV int * // E/A 0xC0044D0C SOUND_MIXER_WRITE_IGAIN int * // E/A 0xC0044D0D SOUND_MIXER_WRITE_OGAIN int * // E/A 0xC0044D0E SOUND_MIXER_WRITE_LINE1 int * // E/A 0xC0044D0F SOUND_MIXER_WRITE_LINE2 int * // E/A 0xC0044D10 SOUND_MIXER_WRITE_LINE3 int * // E/A 0xC0044D1C SOUND_MIXER_WRITE_MUTE int * // E/A 0xC0044D1D SOUND_MIXER_WRITE_ENHANCE int * // E/A 0xC0044D1E SOUND_MIXER_WRITE_LOUD int * // E/A 0xC0044DFF SOUND_MIXER_WRITE_RECSRC int * // E/A .TE .sp 1 // siehe \fBtimerfd_create\fP(2) .TS l l l l. 0x40085400 TFD_IOC_SET_TICKS uint64_t * .TE .sp 1 // .TS l l l l. 0x000004D2 UMSDOS_READDIR_DOS struct umsdos_ioctl * // E/A 0x000004D3 UMSDOS_UNLINK_DOS const struct umsdos_ioctl * 0x000004D4 UMSDOS_RMDIR_DOS const struct umsdos_ioctl * 0x000004D5 UMSDOS_STAT_DOS struct umsdos_ioctl * // E/A 0x000004D6 UMSDOS_CREAT_EMD const struct umsdos_ioctl * 0x000004D7 UMSDOS_UNLINK_EMD const struct umsdos_ioctl * 0x000004D8 UMSDOS_READDIR_EMD struct umsdos_ioctl * // E/A 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 .sp 1 // .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 .sp 1 // Weitere Argumente. Einige Ioctls benötigen einen Zeiger auf eine Struktur, die zusätzliche Zeiger enthält. Diese sind hier in alphabetischer Reihenfolge dokumentiert. .PP \fBCDROMREADAUDIO\fP benötigt einen Eingabezeiger \fIconst struct cdrom_read_audio\ *\fP. Das Feld \fIbuf\fP zeigt auf einen Ausgabepuffer der Länge \fInframes\ * CD_FRAMESIZE_RAW\fP. .PP \fBCDROMREADCOOKED\fP, \fBCDROMREADMODE1\fP, \fBCDROMREADMODE2\fP und \fBCDROMREADRAW\fP benötigen einen Eingabezeiger \fIconst struct cdrom_msf\ *\fP. Sie benutzen denselben Zeiger als Ausgabezeiger auf \fIchar []\fP. Die Länge ändert sich durch die Anforderung. Bei \fBCDROMREADMODE1\fP benutzen die meisten Treiber CD_FRAMESIZE, jedoch benutzt der Optics\-Storage\-Treiber stattdessen OPT_BLOCKSIZE (beide haben den numerischen Wert 2048). .PP .nf CDROMREADCOOKED char [CD_FRAMESIZE] CDROMREADMODE1 char [CD_FRAMESIZE oder OPT_BLOCKSIZE] CDROMREADMODE2 char [CD_FRAMESIZE_RAW0] CDROMREADRAW char [CD_FRAMESIZE_RAW] .fi .PP \fBEQL_ENSLAVE\fP, \fBEQL_EMANCIPATE\fP, \fBEQL_GETSLAVECFG\fP, \fBEQL_SETSLAVECFG\fP, \fBEQL_GETMASTERCFG\fP und \fBEQL_SETMASTERCFG\fP benötigen ein \fIstruct ifreq\ *\fP. Das Feld \fIifr_data\fP ist ein Zeiger auf eine weitere Struktur wie folgt: .PP .nf EQL_ENSLAVE const struct slaving_request * EQL_EMANCIPATE const struct slaving_request * EQL_GETSLAVECFG struct slave_config * // E/A EQL_SETSLAVECFG const struct slave_config * EQL_GETMASTERCFG struct master_config * EQL_SETMASTERCFG const struct master_config * .fi .PP \fBFDRAWCMD\fP benötigt ein \fIstruct floppy raw_cmd\ *\fP. Falls \fIflags & FD_RAW_WRITE\fP nicht Null ist, dann zeigt \fIdata\fP auf einen Eingabepuffer der Länge \fIlength\fP. Falls \fIflags & FD_RAW_READ\fP nicht Null ist, dann zeigt \fIdata\fP auf einen Ausgabepuffer der Länge \fIlength\fP. .PP \fBGIO_FONTX\fP und \fBPIO_FONTX\fP benötigen ein \fIstruct console_font_desc\ *\fP beziehungsweise ein \fIconst struct console_font_desc\ *\fP. \fIchardata\fP zeigt auf einen Puffer von \fIchar [charcount]\fP. Dies ist ein Ausgabepuffer für \fBGIO_FONTX\fP und ein Eingabepuffer für \fBPIO_FONTX\fP. .PP \fBGIO_UNIMAP\fP und \fBPIO_UNIMAP\fP benötigen eine \fIstruct unimapdesc\ *\fP beziehungsweise ein \fIconst struct unimapdesc\ *\fP. \fIentries\fP zeigt auf einen Puffer von \fIstruct unipair [entry_ct]\fP. Dies ist ein Ausgabepuffer für \fBGIO_UNIMAP\fP und ein Eingabepuffer für \fBPIO_UNIMAP\fP. .PP KDADDIO, KDDELIO, KDDISABIO und KDENABIO geben den Zugriff auf E/A\-Ports frei oder sperren ihn. Sie sind grundlegende Alternativen zu »ioperm«. .PP \fBKDMAPDISP\fP und \fBKDUNMAPDISP\fP aktivieren oder deaktivieren Memory\-Mappings oder den Zugriff auf E/A\-Ports. Sie sind nicht im Kernel implementiert. .PP \fBSCSI_IOCTL_PROBE_HOST\fP benötigt einen Eingabezeiger \fIconst int\ *\fP, der eine Länge ist. Er benutzt denselben Zeiger als Ausgabezeiger auf einen \fIchar []\fP\-Puffer dieser Länge. .PP \fBSIOCADDRT\fP und \fBSIOCDELRT\fP benötigen einen Eingabezeiger, dessen Typ vom Protokoll abhängt: .PP .nf Die meisten Protokolle const struct rtentry * AX.25 const struct ax25_route * NET/ROM const struct nr_route_struct * INET6 const struct in6_rtmsg * .fi .PP \fBSIOCGIFCONF\fP benötigt ein \fIstruct ifconf\ *\fP. Das Feld \fIifc_buf\fP zeigt auf einen Puffer der Länge \fIifc_len\fP Byte, wohinein der Kernel eine Liste des Typs \fIstruct ifreq []\fP schreibt. .PP \fBSIOCSIFHWADDR\fP benötigt einen Eingabezeiger, dessen Typ vom Protokoll abhängt: .PP .nf Die meisten Protokolle const struct ifreq * AX.25 const char [AX25_ADDR_LEN] .fi .PP \fBTIOCLINUX\fP benötigt ein \fIconst char\ *\fP. Es benutzt dies, um zwischen diversen Unterfällen zu unterscheiden. In der Tabelle unten bedeutet \fIN + foo\fP so viel wie \fIfoo\fP nach einem N\-byte\-Block. \fIstruct selection\fP ist definiert in \fIdrivers/char/selection.c\fP. .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 // Doppelte Ioctls .PP Diese Liste enthält keine Ioctls der Bereiche \fBSIOCDEVPRIVATE\fP und \fBSIOCPROTOPRIVATE\fP. .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 "SIEHE AUCH" \fBioctl\fP(2), \fBioctl_fat\fP(2), \fBnetdevice\fP(7) .SH KOLOPHON Diese Seite ist Teil der Veröffentlichung 4.16 des Projekts Linux\-\fIman\-pages\fP. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden sich unter \%https://www.kernel.org/doc/man\-pages/. .SH ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von Patrick Rother , Helge Kreutzmann , Martin Eberhard Schauer und Mario Blättermann erstellt. Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an .