NAZWA¶
iopl - zmień poziom uprawnień we/wy
SKŁADNIA¶
#include <sys/io.h>
int iopl(int level);
OPIS¶
Uwaga! To tłumaczenie może być nieaktualne!
iopl zmienia poziom uprawnień we/wy bieżącego
procesu na podstawie parametru
level.
Wywołanie to jest niezbędne do umożliwienia
działania pod Linuksem X serwerom zgodnym z 8514. Ponieważ
serwery te wymagają dostępu do wszystkich 65536 portów
I/O, polecenie
ioperm nie wystarcza.
Dodatkowo do zapewnienia nieograniczonego dostępu do portów we/wy,
praca na wyższych poziomach uprawnień we/wy umożliwia
procesowi również zablokowanie przerwań. Prawdopodobnie
spowodowałoby to załamanie systemu i nie jest to zalecane.
Prawa są dziedziczone przez fork i exec.
Poziom uprawnień we/wy dla normalnego procesu wynosi 0.
WARTOŚĆ ZWRACANA¶
Po pomyślnym zakończeniu zwracane jest zero. Po
błędzie zwracane jest -1 i odpowiednio ustawiane
errno.
BŁĘDY¶
- EINVAL
- level jest większy niż 3.
- EPERM
- Bieżący użytkownik nie jest
superużytkownikiem.
iopl jest specyficzne dla Linuksa i nie powinno być używane
w przenośnych programach.
UWAGI¶
Libc5 traktuje to jak wywołanie systemowe i posiada dla niego prototyp w
<unistd.h>. Glibc1 nie posiada prototypu. 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.
ZOBACZ TAKŻE¶
ioperm(2)
Powyższe tłumaczenie pochodzi z nieistniejącego już
Projektu Tłumaczenia Manuali i
może nie być
aktualne. W razie zauważenia różnic między
powyższym opisem a rzeczywistym zachowaniem opisywanego programu lub
funkcji, prosimy o zapoznanie się z oryginalną
(angielską) wersją strony podręcznika za pomocą
polecenia:
- man --locale=C 2 iopl
Prosimy o pomoc w aktualizacji stron man - więcej informacji można
znaleźć pod adresem
http://sourceforge.net/projects/manpages-pl/.