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