table of contents
- bookworm-backports 1:4.24.0-2~bpo12+1
- testing 1:4.24.0-2
- unstable 1:4.24.0-2
iopl(2) | System Calls Manual | iopl(2) |
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¶
STANDARDY¶
iopl() jest specyficzne dla Linuksa i nie powinno być używane w przenośnych programach.
UWAGI¶
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.
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¶
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.
5 lutego 2023 r. | Linux man-pages 6.03 |