Provided by: manpages-de-dev_4.13-4_all bug

BEZEICHNUNG

       ioperm - setzt Port-Zugriffsrechte für Eingabe/Ausgabe

ÜBERSICHT

       #include <stdio.h>  /* für Glibc */

       int ioperm(unsigned long von, unsigned long Anz, int einschalten);

BESCHREIBUNG

       ioperm() setzt die Bits für die Port-Zugriffsrechte des aufrufenden Prozesses ab der Port-Adresse von für
       Anz  Byte  auf  den  Wert  einschalten. Wenn der Wert von einschalten 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 (siehe aber auch HINWEISE). 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 von oder Anz.

       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.

       Vor Linux 2.4 wurden Rechte nicht von durch fork(2) erstellte Kinder ererbt.

       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  5.10  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 https://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 die
       Mailingliste der Übersetzer.

Linux                                          15. September 2017                                      IOPERM(2)