BEZEICHNUNG¶
iopl - I/O-Privilegienstufe ändern
ÜBERSICHT¶
#include <sys/io.h>
int iopl(int level);
BESCHREIBUNG¶
iopl() ändert die I/O-Privilegienstufe des aktuellen Prozesses wie
in
level angegeben.
Dieser Aufruf ist notwendig, um 8514-kompatible X-Server unter Linux
auszuführen. Da diese X-Server Zugriff auf alle 65536 I/O-Ports
benötigen, ist der Aufruf
ioperm(2) nicht ausreichend.
Zusätzlich zu uneingeschränktem Zugriff auf I/O-Ports erlaubt das
Laufen in einer höheren I/O-Privilegienstufe dem Prozess auch, Interupts
auszuschalten. Dies wird wahrscheinlich das System zusammenbrechen lassen und
wird nicht empfohlen.
Zugriffsrechte werden von
fork(2) und
execve(2) vererbt.
Die I/O-Privilegienstufe eines normalen Prozesses ist 0.
Der Aufruf ist hauptsächlich für die i386-Architektur. Auf vielen
anderen Architekturen existiert er nicht und wird immer einen Fehler
zurückliefern.
RÜCKGABEWERT¶
Bei Erfolg wird Null zurückgegeben. Bei einem Fehler wird -1
zurückgegeben und
errno entsprechend gesetzt.
FEHLER¶
- EINVAL
- level ist größer als 3.
- ENOSYS
- Dieser Aufruf ist nicht implementiert.
- EPERM
- Der aufrufende Prozess hat unzureichende Privilegien, um
iopl() aufzurufen; die Capability CAP_SYS_RAWIO wird
benötigt.
iopl() ist Linux-spezifisch und sollte nicht in Prozessen verwandt
werden, die portabel sein sollen.
ANMERKUNGEN¶
Libc5 behandelt ihn als Systemaufruf und hat einen Prototyp in
<unistd.h>. Glibc1 hat diesen Prototyp nicht. Glibc2 hat einen
Prototyp sowohl in
<sys/io.h> als auch in
<sys/perm.h>. Vermeiden Sie letzteren, er ist nur auf i386
verfügbar.
SIEHE AUCH¶
ioperm(2),
capabilities(7)
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> und Helge Kreutzmann <debian@helgefjell.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>.