Provided by: manpages-pl-dev_0.7-2_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.

Linux                                              2012-12-31                                            OUTB(2)