Scroll to navigation

IOPL(2) Podręcznik programisty Linuksa IOPL(2)

NAZWA

iopl - zmień poziom uprawnień we/wy

SKŁADNIA

#include <sys/io.h>

int iopl(int level);

OPIS

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

level jest większy niż 3.
Bieżący użytkownik nie jest superużytkownikiem.

CONFORMING TO

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)

1993-07-24 Linux 0.99.11