iopl(2) System Calls Manual iopl(2) NAZWA iopl - zmienia poziom uprawnien wejscia/wyjscia BIBLIOTEKA Standardowa biblioteka C (libc, -lc) SKLADNIA #include [[przestarzale]] int iopl(int level); OPIS iopl() zmienia poziom uprawnien wejscia/wyjscia watku wywolujacego na podstawie dwoch najmniej znaczacych bitow parametru level. Poziom uprawnien wejscia/wyjscia dla normalnego watku wynosi 0. Uprawnienia sa dziedziczone z rodzica na potomka. To wywolanie jest przestarzale, jest znacznie wolniejsze od ioperm(2) i jest zapewniane tylko dla starszych serwerow X, ktore wymagaja dostepu do wszystkich 65 536 portow wejscia/wyjscia. Jest przeznaczone glownie do architektury i386. Na wielu innych architekturach nie istnieje lub zawsze zwraca blad. WARTOSC ZWRACANA Po pomyslnym zakonczeniu zwracane jest zero. Po bledzie zwracane jest -1 i ustawiane errno, wskazujac blad. BLEDY EINVAL level jest wiekszy niz 3. ENOSYS To wywolanie jest niezaimplementowane. EPERM Wywolujacy watek jest niewystarczajaco uprzywilejowany do wywolania iopl(); do podniesienia poziomu uprawnien wejscia/wyjscia ponad ich aktualny poziom potrzebny jest przywilej CAP_SYS_RAWIO (ang. capability). WERSJE glibc2 posiada prototyp zarowno w , jak i w . Nalezy unikac tego ostatniego, gdyz jest dostepne tylko na i386. STANDARDY Linux. HISTORIA Przed Linuksem 5.5 iopl() umozliwialo rowniez watkowi zablokowanie przerwan, przy pracy na wyzszych poziomach uprawnien wejscia/wyjscia. Prawdopodobnie spowodowaloby to zalamanie systemu i nie jest to zalecane. Przed Linuksem 3.7, na niektorych architekturach (np. i386), uprawnienia byly dziedziczone przez potomka utworzonego za pomoca fork(2) i byly zachowywane przez execve(2). To zachowanie zmienilo sie niepostrzezenie w Linuksie 3.7 i nie zostanie przywrocone. ZOBACZ TAKZE ioperm(2), outb(2), capabilities(7) TLUMACZENIE Autorami polskiego tlumaczenia niniejszej strony podrecznika sa: Przemek Borys , Andrzej Krzysztofowicz i Michal Kulach Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej . Linux man-pages 6.9.1 2 maja 2024 r. iopl(2)