sourCEntral - mobile manpages

pdf

IOCTL

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.

KONFORM ZU

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.52 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 AT gulu DOT net>, Martin Schulze <joey AT infodrom DOT org>, Michael Piefel <piefel AT debian DOT org> und Chris Leick <c DOT leick AT vollbio DOT 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 AT lists DOT debian DOT org>.

pdf