plucky (2) ioperm.2.gz

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