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>.