outb(2)

NUME
outb, outw, outl, outsb, outsw, outsl, inb, inw, inl, insb, insw, insl, outb_p, outw_p, outl_p, inb_p, inw_p, inl_p - port In/Ieș

BIBLIOTECA
Biblioteca C standard (libc, -lc)

REZUMAT
#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 valoare, unsigned short port);
void outb_p(unsigned char valoare, unsigned short port);
void outw(unsigned short valoare, unsigned short port);
void outw_p(unsigned short valoare, unsigned short port);
void outl(unsigned int valoare, unsigned short port);
void outl_p(unsigned int valoare, unsigned short port);

void insb(unsigned short port, void adresa[.număr],
           unsigned long număr);
void insw(unsigned short port, void adresa[.număr],
           unsigned long număr);
void insl(unsigned short port, void adresa[.număr],
           unsigned long număr);
void outsb(unsigned short port, const void adresar[.număr],
           unsigned long număr);
void outsw(unsigned short port, const void adresa[.număr],
           unsigned long număr);
void outsl(unsigned short port, const void adresa[.număr],
           unsigned long număr);

DESCRIERE
Această familie de funcții este utilizată pentru a efectua intrări și ieșiri de nivel scăzut în porturi. Funcțiile out* realizează ieșirea portului, iar funcțiile in* realizează intrarea portului; funcțiile b-suffix au o lățime de octet, iar funcțiile w-suffix au o lățime de cuvânt; funcțiile _p-suffix fac o pauză până la finalizarea intrării/ieșirii.

Acestea sunt concepute în primul rând pentru utilizarea internă a nucleului, dar pot fi utilizate din spațiul utilizatorului.

Trebuie să compilați cu -O sau -O2 sau similar. Funcțiile sunt definite ca macrocomenzi „inline” și nu vor fi substituite fără activarea optimizării, cauzând referințe nerezolvate în momentul legării.

Folosiți ioperm(2) sau, alternativ, iopl(2) pentru a indica nucleului să permită aplicației din spațiul utilizatorului să acceseze porturile de In/Ieș în cauză. În caz contrar, aplicația va primi o eroare de segmentare.

VERSIUNI
outb() și prietenii săi sunt specifici pentru dispozitivele fizice. Argumentul valoare este transmis primul, iar argumentul port este transmis al doilea, ceea ce reprezintă ordinea opusă față de majoritatea implementărilor DOS.

STANDARDE
Niciunul.

CONSULTAȚI ȘI
ioperm(2), iopl(2)

TRADUCERE
Traducerea în limba română a acestui manual a fost creată de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă Nicio RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.