Provided by: manpages-de-dev_1.4-1_all
BEZEICHNUNG
iopl - I/O-Privilegienstufe ändern
ÜBERSICHT
#include <sys/io.h> int iopl(int level);
BESCHREIBUNG
iopl() ändert die E/A-Privilegienstufe des aufrufenden Prozesses wie durch die zwei niedrigstwertigen Bits 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, um die E/A-Privilegienstufe über deren aktuellen Wert zu erhöhen.
KONFORM ZU
iopl() ist Linux-spezifisch und sollte nicht in Programmen 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), outb(2), capabilities(7)
KOLOPHON
This page is part of release 3.54 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Patrick Rother <krd@gulu.net>, Helge Kreutzmann <debian@helgefjell.de> und Mario Blättermann <mario.blaettermann@gmail.com> 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>.