Provided by: manpages-pl-dev_20060617-1_all bug

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

       EINVAL level jest większy niż 3.

       EPERM  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)