Man page - iopl(2)

Packages contains this manual

Available languages:

en fr pl nl ja ro de

Manual

iopl

NAZWA
BIBLIOTEKA
SKŁADNIA
OPIS
WARTOŚĆ ZWRACANA
BŁĘDY
WERSJE
STANDARDY
HISTORIA
ZOBACZ TAKŻE
TŁUMACZENIE

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

Tłumaczenie niniejszej strony podręcznika: 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 .