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

NAZWA

       ioperm - ustawia uprawnienia dla portu wejścia/wyjścia

BIBLIOTEKA

       Standardowa biblioteka C (libc, -lc)

SKŁADNIA

       #include <sys/io.h>

       int ioperm(unsigned long from, unsigned long num, int turn_on);

OPIS

       ioperm()  ustawia bity dostępu do portów dla wątku wywołującego, dla num bitów, poczynając
       od adresu portu from. Jeśli  turn_on  jest  niezerowe,  to  włączane  są  uprawnienia  dla
       określonych  bitów; w przeciwnym przypadku są one wyłączone. Jeśli turn_on jest niezerowe,
       to wątek wywołujący musi być uprzywilejowany (CAP_SYS_RAWIO).

       Przed Linuksem 2.6.8, jedynie pierwsze 0x3ff portów wejścia/wyjścia mogło być w ten sposób
       określone.  Aby uzyskać więcej portów, konieczne było użycie wywołania systemowego iopl(2)
       (z  argumentem  level  wynoszącym  3).  Od  Linuksa  2.6.8,  można  podać  65 536   portów
       wejścia/wyjścia.

       Uprawnienia są dziedziczone przez potomka utworzonego za pomocą fork(2) (lecz zob. UWAGI).
       Uprawnienia są zachowywane przez execve(2); jest to  przydatne  przy  nadawaniu  uprawnień
       dostępu do portów programom nieuprzywilejowanym.

       To   wywołanie   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 Nieprawidłowe wartości dla from lub num.

       EIO    (na PowerPC) To wywołanie nie jest obsługiwane.

       ENOMEM Brak pamięci.

       EPERM  Wywołujący wątek jest niewystarczająco uprzywilejowany.

WERSJE

       Glibc  posiada prototyp ioperm() 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 2.4, uprawnienia nie były dziedziczone przez potomka utworzonego za  pomocą
       fork(2).

UWAGI

       Plik  /proc/ioports  ukazuje  porty  wejścia/wyjścia,  które  są  aktualnie przydzielone w
       systemie.

ZOBACZ TAKŻE

       iopl(2), outb(2), capabilities(7)

TŁUMACZENIE

       Autorami polskiego tłumaczenia niniejszej strony podręcznika  są:  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
       ⟨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⟩.