BEZEICHNUNG¶
ioperm - setzt Port-Zugriffsrechte für Eingabe/Ausgabe
ÜBERSICHT¶
#include <unistd.h> /* für Libc5 */
#include <stdio.h> /* für Glibc */
int ioperm(unsigned long from, unsigned long num,
int turn_on);
BESCHREIBUNG¶
ioperm() setzt die Bits für die Port-Zugriffsrechte des aufrufenden
Prozesses ab der Port-Adresse
from für
num Byte auf den
Wert
turn_on. Wenn der Wert von
turn_on nicht Null ist, muss der
aufrufende Prozess privilegiert sein (
CAP_SYS_RAWIO).
Nur die ersten 0x3ff E/A-Ports können auf diese Weise angegeben werden.
Für weitere Ports muss der Systemaufruf
iopl(2) verwendet werden.
Von
fork(2) erzeugte Kindprozesse erben die Zugriffsrechte nicht. Die
Rechte bleiben über Aufrufe von
execve(2) erhalten. Das ist
nützlich für die Gewährung von Port-Zugriffsberechtigungen
für nicht privilegierte Programme.
Dieser Systemaufruf ist hauptsächlich für i386-Architektur gedacht.
Auf vielen anderen Architekturen ist er nicht vorhanden oder gibt immer einen
Fehler zurück.
RÜCKGABEWERT¶
Bei Erfolg wird Null zurückgegeben. Bei einem Fehler wird -1
zurückgegeben und
errno entsprechend gesetzt.
FEHLER¶
- EINVAL
- ungültige Werte für from oder
num
- EIO
- (auf PowerPC) Dieser Aufruf wird nicht
unterstützt.
- ENOMEM
- Speicher aufgebraucht
- EPERM
- Der aufrufende Prozess hat unzureichende Rechte.
ioperm() ist Linux-spezifisch und sollte nicht in Programmen verwendet
werden, die portierbar sein sollen.
ANMERKUNGEN¶
Libc5 behandelt
ioperm() als einen Systemaufruf und hat einen Prototyp in
<unistd.h>. Glibc1 hat keinen Prototyp. Glibc2 hat einen
Prototypen sowohl in
<sys/io.h> als auch in
<sys/perm.h>. Vermeiden Sie den Letzteren, weil er nur für
i386 verfügbar ist.
SIEHE AUCH¶
iopl(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 Martin Eberhard Schauer
<Martin.E.Schauer@gmx.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>.