Provided by: manpages-de-dev_0.10-1_all bug

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.

KONFORM ZU

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