Provided by: manpages-pl-dev_0.7-1_all bug

NAZWA

       outb,  outw,  outl,  outsb, outsw, outsl, inb, inw, inl, insb, insw, insl, outb_p, outw_p, outl_p, inb_p,
       inw_p, inl_p - wejście/wyjście portów

SKŁADNIA

       #include <sys/io.h>

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

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

       void insb(unsigned short int port, void *addr,
                  unsigned long int count);
       void insw(unsigned short int port, void *addr,
                  unsigned long int count);
       void insl(unsigned short int port, void *addr,
                  unsigned long int count);
       void outsb(unsigned short int port, const void *addr,
                  unsigned long int count);
       void outsw(unsigned short int port, const void *addr,
                  unsigned long int count);
       void outsl(unsigned short int port, const void *addr,
                  unsigned long int count);

OPIS

       Ta rodzina funkcji jest używana do wykonywania niskopoziomowych odczytów z  portu  i  zapisów  do  portu.
       Funkcje  "out*"  zapisują  do  portu,  funkcje "in*" odczytują z portu; funkcje z sufiksem "b" operują na
       bajtach, a z sufiksem "w"  —  na  słowach;  funkcje  z  sufiksem  "p"  czekają  na  zakończenie  operacji
       wejścia/wyjścia.

       Są przeznaczone głównie do użytku wewnątrz jądra, lecz mogą być też używane w warstwie użytkownika.

       Trzeba  je  kompilować  z -O lub -O2 lub z czymś podobnym. Funkcje te są zdefiniowane jako makra inline i
       nie  będą  podstawione  bez  włączonej  optymalizacji,  powodując  niezdefiniowane   referencje   podczas
       konsolidacji.

       Aby przekazać jądru, że warstwa użytkownika chce uzyskać dostęp do żądanych portów, należy użyć ioperm(2)
       lub iopl(2). Błąd podczas wykonywanie tej operacji spowoduje błąd ochrony pamięci.

ZGODNE Z

       outb() i przyjaciele są zależne od sprzętu, na którym działają. Pierwszym przekazywanym  argumentem  jest
       value,  a  drugim — port, czyli kolejność argumentów jest odwrotna w stosunku do większości implementacji
       DOS-owych.

ZOBACZ TAKŻE

       ioperm(2), iopl(2)

O STRONIE

       Angielska wersja tej strony pochodzi z wydania 4.07 projektu Linux man-pages. Opis  projektu,  informacje
       dotyczące   zgłaszania   błędów,   oraz   najnowszą   wersję   oryginału   można   znaleźć   pod  adresem
       https://www.kernel.org/doc/man-pages/.

TŁUMACZENIE

       Autorami  polskiego  tłumaczenia  niniejszej   strony   podręcznika   man   są:   Przemek   Borys   (PTM)
       <pborys@dione.ids.pl>,    Andrzej    Krzysztofowicz    (PTM)    <ankry@mif.pg.gda.pl>,   Robert   Luberda
       <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>.

       Polskie tłumaczenie jest częścią  projektu  manpages-pl;  uwagi,  pomoc,  zgłaszanie  błędów  na  stronie
       http://sourceforge.net/projects/manpages-pl/. Jest zgodne z wersją  4.07 oryginału.