oracular (2) outb.2.gz

Provided by: manpages-pl-dev_4.23.1-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

BIBLIOTEKA

       Standardowa biblioteka C (libc, -lc)

SKŁADNIA

       #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 addr[.count],
                  unsigned long count);
       void insw(unsigned short port, void addr[.count],
                  unsigned long count);
       void insl(unsigned short port, void addr[.count],
                  unsigned long count);
       void outsb(unsigned short port, const void addr[.count],
                  unsigned long count);
       void outsw(unsigned short port, const void addr[.count],
                  unsigned long count);
       void outsl(unsigned short port, const void addr[.count],
                  unsigned long 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.

WERSJE

       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.

STANDARDY

       Brak.

ZOBACZ TAKŻE

       ioperm(2), iopl(2)

TŁUMACZENIE

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

       Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje  o  warunkach  licencji  można  uzyskać
       zapoznając  się  z  GNU General Public License w wersji 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ lub
       nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

       Błędy w tłumaczeniu  strony  podręcznika  prosimy  zgłaszać  na  adres  listy  dyskusyjnej  ⟨manpages-pl-
       list@lists.sourceforge.net⟩.