Provided by: manpages-de-dev_1.4-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).

       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.

KONFORM ZU

       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.

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