outb(2) System Calls Manual outb(2) 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 - wejscie/wyjscie portow BIBLIOTEKA Standardowa biblioteka C (libc, -lc) SKLADNIA #include 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 uzywana do wykonywania niskopoziomowych odczytow z portu i zapisow do portu. Funkcje "out*" zapisuja do portu, funkcje "in*" odczytuja z portu; funkcje z sufiksem "b" operuja na bajtach, a z sufiksem "w" -- na slowach; funkcje z sufiksem "p" czekaja na zakonczenie operacji wejscia/wyjscia. Sa przeznaczone glownie do uzytku wewnatrz jadra, lecz moga byc tez uzywane w warstwie uzytkownika. Trzeba je kompilowac z -O lub -O2 lub z czyms podobnym. Funkcje te sa zdefiniowane jako makra inline i nie beda podstawione bez wlaczonej optymalizacji, powodujac niezdefiniowane referencje podczas konsolidacji. Aby przekazac jadru, ze warstwa uzytkownika chce uzyskac dostep do zadanych portow, nalezy uzyc ioperm(2) lub iopl(2). Blad podczas wykonywanie tej operacji spowoduje blad ochrony pamieci. WERSJE outb() i przyjaciele sa zalezne od sprzetu, na ktorym dzialaja. Pierwszym przekazywanym argumentem jest value, a drugim -- port, czyli kolejnosc argumentow jest odwrotna w stosunku do wiekszosci implementacji DOS-owych. STANDARDY None. ZOBACZ TAKZE ioperm(2), iopl(2) TLUMACZENIE Autorami polskiego tlumaczenia niniejszej strony podrecznika sa: Przemek Borys , Andrzej Krzysztofowicz , Robert Luberda i Michal Kulach Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej . Linux man-pages 6.06 31 pazdziernika 2023 r. outb(2)