Provided by: manpages-pl-dev_4.23.1-1_all bug

NAZWA

       iopl - zmienia poziom uprawnień wejścia/wyjścia

BIBLIOTEKA

       Standardowa biblioteka C (libc, -lc)

SKŁADNIA

       #include <sys/io.h>

       [[przestarzałe]] int iopl(int level);

OPIS

       iopl() zmienia poziom uprawnień wejścia/wyjścia wątku wywołującego na podstawie dwóch najmniej znaczących
       bitów parametru level.

       Poziom  uprawnień wejścia/wyjścia dla normalnego wątku wynosi 0. Uprawnienia są dziedziczone z rodzica na
       potomka.

       To wywołanie jest przestarzałe, jest znacznie  wolniejsze  od  ioperm(2)  i  jest  zapewniane  tylko  dla
       starszych  serwerów  X,  które  wymagają  dostępu  do  wszystkich  65 536  portów  wejścia/wyjścia.  Jest
       przeznaczone głównie do architektury i386. Na wielu innych architekturach nie istnieje lub zawsze  zwraca
       błąd.

WARTOŚĆ ZWRACANA

       Po  pomyślnym  zakończeniu  zwracane  jest zero. Po błędzie zwracane jest -1 i ustawiane errno, wskazując
       błąd.

BŁĘDY

       EINVAL level jest większy niż 3.

       ENOSYS To wywołanie jest niezaimplementowane.

       EPERM  Wywołujący wątek jest  niewystarczająco  uprzywilejowany  do  wywołania  iopl();  do  podniesienia
              poziomu uprawnień wejścia/wyjścia ponad ich aktualny poziom potrzebny jest przywilej CAP_SYS_RAWIO
              (ang. capability).

WERSJE

       glibc2  posiada  prototyp zarówno w <sys/io.h>, jak i w <sys/perm.h>. Należy unikać tego ostatniego, gdyż
       jest dostępne tylko na i386.

STANDARDY

       Linux.

HISTORIA

       Przed Linuksem 5.5 iopl() umożliwiało również wątkowi  zablokowanie  przerwań,  przy  pracy  na  wyższych
       poziomach  uprawnień  wejścia/wyjścia.  Prawdopodobnie  spowodowałoby  to załamanie systemu i nie jest to
       zalecane.

       Przed Linuksem 3.7, na niektórych architekturach (np. i386), uprawnienia były dziedziczone przez  potomka
       utworzonego   za  pomocą  fork(2)  i  były  zachowywane  przez  execve(2).  To  zachowanie  zmieniło  się
       niepostrzeżenie w Linuksie 3.7 i nie zostanie przywrócone.

ZOBACZ TAKŻE

       ioperm(2), outb(2), capabilities(7)

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> 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  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.

Linux man-pages 6.8                              2 maja 2024 r.                                          iopl(2)