Provided by: manpages-de-dev_4.21.0-2_all bug

BEZEICHNUNG

       outb,  outw,  outl,  outsb, outsw, outsl, inb, inw, inl, insb, insw, insl, outb_p, outw_p,
       outl_p, inb_p, inw_p, inl_p - Ein-/Ausgabe mittels Ports

BIBLIOTHEK

       Standard-C-Bibliothek (libc, -lc)

ÜBERSICHT

       #include <sys/io.h>

       unsigned char inb(unsigned short port);
       unsigned char inb_p(unsigned short port);
       unsigned short inw(unsigned short port);
       unsigned short inw_p(unsigned short port);
       unsigned int inl(unsigned short port);
       unsigned int inl_p(unsigned short port);

       void outb(unsigned char value, unsigned short port);
       void outb_p(unsigned char value, unsigned short port);
       void outw(unsigned short value, unsigned short port);
       void outw_p(unsigned short value, unsigned short port);
       void outl(unsigned int value, unsigned short port);
       void outl_p(unsigned int value, unsigned short port);

       void insb(unsigned short port, void Adr[.Anzahl],
                  unsigned long Anzahl);
       void insw(unsigned short port, void Adr[.Anzahl],
                  unsigned long Anzahl);
       void insl(unsigned short port, void Adr[.Anzahl],
                  unsigned long Anzahl);
       void outsb(unsigned short port, const void Adr[.Anzahl],
                  unsigned long Anzahl);
       void outsw(unsigned short port, const void Adr[.Anzahl],
                  unsigned long Anzahl);
       void outsl(unsigned short port, const void Adr[.Anzahl],
                  unsigned long Anzahl);

BESCHREIBUNG

       Diese Funktionenfamilie dient zur systemnahen Ein- und Ausgabe auf  Hardwareschnittstellen
       (Ports).  Die  Out*-Funktionen  schreiben  dorthin, die In*-Funktionen lesen von dort. Die
       Suffixe bedeuten: b - die Funktion bearbeitet Byte; w - die Funktion bearbeitet Worte;  _p
       - die Funktion pausiert bis zum Abschluss des E/A-Vorgangs.

       Sie  wurden  ursprünglich  als  interne  Kernelfunktionen  konzipiert, können aber auch in
       User-Space-Programmen verwendet werden.

       Sie müssen die Funktionen mit -O oder -O2 oder ähnlichem kompilieren. Die Funktionen  sind
       als  Inline-Makros definiert und werden ohne aktivierte Optimierungen nicht eingefügt, was
       zu nicht aufgelösten Verweisen während des Linkvorgangs führt.

       Durch   ioperm(2)   oder   alternativ   auch   iopl(2)   wird   der   Kernel   angewiesen,
       Benutzeranwendungen  den  Zugriff  auf  die betreffenden Ein- und Ausgabeschnittstellen zu
       gestatten. Wird dies nicht gemacht, treten in der Anwendung Speicherzugriffsfehler auf.

STANDARDS

       outb() und Co. sind hardwarespezifisch. Die Argumente value  und  port  werden  in  dieser
       Reihenfolge   übergeben.   Die  meisten  DOS-Implementierungen  verwenden  die  umgekehrte
       Reihenfolge.

SIEHE AUCH

       ioperm(2), iopl(2)

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite wurde von Ralf  Demmer  <rdemmer@rdemmer.de>
       und Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> erstellt.

       Diese  Übersetzung  ist  Freie  Dokumentation;  lesen  Sie  die GNU General Public License
       Version 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ 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 ⟨debian-l10n-german@lists.debian.org⟩.