BEZEICHNUNG¶
ioctl - Gerät steuern
ÜBERSICHT¶
#include <sys/ioctl.h>
 
int ioctl(int d, int request, ...);
BESCHREIBUNG¶
Die Funktion 
ioctl() manipuliert die zugrundeliegenden
  Geräteparameter von Spezialdateien. Im Besonderen können viele
  Betriebscharakteristika von zeichenorientierten Spezialdateien (z. B.
  Terminals) durch 
ioctl-Aufrufe gesteuert werden. Das Argument 
d
  muss ein geöffneter Dateideskriptor sein.
Das zweite Argument ist ein geräteabhängiger Aufrufkode. Das dritte
  Argument ist ein typloser Zeiger auf Speicher. Er ist traditionell 
char
  * argp (aus einer Zeit bevor 
void * gültiges C war) und
  wird für diese Diskussion so genannt.
In einem 
ioctl()-
Aufruf ist kodiert, ob das Argument ein
  
in- oder 
out-Parameter ist sowie die Größe des
  Argumentes 
argp in Byte. Makros und Definitionen, die in der
  Spezifikation eines 
ioctl()-
Aufrufs benutzt werden, befinden
  sich in der Datei 
<sys/ioctl.h>.
RÜCKGABEWERT¶
Üblicherweise wird im Erfolgsfall Null zurückgegeben. Ein paar
  
ioctl()-Aufrufe benutzen den Rückgabewert als Ausgabeparameter und
  geben bei Erfolg einen nicht negativen Wert zurück. Bei einem Fehler wird
  -1 zurückgegeben und 
errno entsprechend gesetzt.
FEHLER¶
  - EBADF
 
  - d ist kein gültiger Deskriptor.
 
  - EFAULT
 
  - argp referenziert einen Speicherbereich, auf den
      nicht zugegriffen werden kann.
 
  - EINVAL
 
  - Aufruf oder argp ist nicht gültig.
 
  - ENOTTY
 
  - d ist nicht mit einem zeichenorientierten
      Spezialgerät verbunden.
 
  - ENOTTY
 
  - Der angegebene Aufruf passt nicht zur Art des Objekts, auf
      die sich der Deskriptor d bezieht.
 
Kein einzelner Standard. Argumente, Rückgabewerte und Semantik von
  
ioctl(2) variieren je nach angefragtem Gerätetreiber (der Aufruf
  wird als ein Allheilmittel für alle Operationen benutzt, die nicht sauber
  in das UNIX-Stream-E/A-Modell passen). Lesen Sie 
ioctl_list(2), um eine
  Liste von vielen der bekannten 
ioctl-Aufrufe zu erhalten. Die Funktion
  
ioctl erschien in Version 7 von AT&T UNIX.
ANMERKUNGEN¶
Um diesen Aufruf zu benutzen, wird ein offener Dateideskriptor benötigt.
  Der Aufruf von 
open(2) hat oft unerwünschte Nebeneffekte, die
  unter Linux durch Angabe des Schalters 
O_NONBLOCK vermieden werden
  können.
SIEHE AUCH¶
execve(2), 
fcntl(2), 
ioctl_list(2), 
open(2),
  
sd(4), 
tty(4)
KOLOPHON¶
Diese Seite ist Teil der Veröffentlichung 3.42 des Projekts Linux-
  
man-pages. Eine Beschreibung des Projekts und Informationen, wie Fehler
  gemeldet werden können, finden sich unter
  
http://www.kernel.org/doc/man-pages/.
 
ÜBERSETZUNG¶
Die deutsche Übersetzung dieser Handbuchseite wurde von Patrick Rother
  <krd@gulu.net>, Martin Schulze <joey@infodrom.org>, Michael Piefel
  <piefel@debian.org> und Chris Leick <c.leick@vollbio.de> 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 <debian-l10n-german@lists.debian.org>.