BEZEICHNUNG¶
ioperm - setzt Port-Zugriffsrechte für Eingabe/Ausgabe
ÜBERSICHT¶
#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).
Mit Linux-Versionen älter als 2.6.8 können nur die ersten 0x3ff
  E/A-Ports auf diese Weise angegeben werden. Für weitere Ports muss der
  Systemaufruf 
iopl(2) verwendet werden, mit einem 
level-Argument
  von 3. Seit Linux 2.6.8 können 65536 Ports angegeben werden.
Von 
fork(2) erzeugte Kindprozesse erben die Zugriffsrechte nicht, das
  Kind muss die benötigten Zugriffsrechte selbst aktivieren. 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.
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
 
  - 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¶
Die Datei 
/proc/ioports zeigt die E/A-Ports, die aktuell im System
  zugewiesen sind.
Glibc2 hat einen 
ioperm()-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), 
outb(2), 
capabilities(7)
KOLOPHON¶
Diese Seite ist Teil der Veröffentlichung 3.74 des Projekts Linux-
  
man-pages. Eine Beschreibung des Projekts, Informationen, wie Fehler
  gemeldet werden können sowie die aktuelle Version dieser Seite finden
  sich unter 
http://www.kernel.org/doc/man-pages/.
ÜBERSETZUNG¶
Die deutsche Übersetzung dieser Handbuchseite wurde von Patrick Rother
  <krd@gulu.net>, Martin Eberhard Schauer <Martin.E.Schauer@gmx.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>.