ioperm(2) System Calls Manual ioperm(2) NAZWA ioperm - ustawia uprawnienia dla portu wejscia/wyjscia BIBLIOTEKA Standardowa biblioteka C (libc, -lc) SKLADNIA #include int ioperm(unsigned long from, unsigned long num, int turn_on); OPIS ioperm() ustawia bity dostepu do portow dla watku wywolujacego, dla num bitow, poczynajac od adresu portu from. Jesli turn_on jest niezerowe, to wlaczane sa uprawnienia dla okreslonych bitow; w przeciwnym przypadku sa one wylaczone. Jesli turn_on jest niezerowe, to watek wywolujacy musi byc uprzywilejowany (CAP_SYS_RAWIO). Przed Linuksem 2.6.8, jedynie pierwsze 0x3ff portow wejscia/wyjscia moglo byc w ten sposob okreslone. Aby uzyskac wiecej portow, konieczne bylo uzycie wywolania systemowego iopl(2) (z argumentem level wynoszacym 3). Od Linuksa 2.6.8, mozna podac 65 536 portow wejscia/wyjscia. Uprawnienia sa dziedziczone przez potomka utworzonego za pomoca fork(2) (lecz zob. UWAGI). Uprawnienia sa zachowywane przez execve(2); jest to przydatne przy nadawaniu uprawnien dostepu do portow programom nieuprzywilejowanym. To wywolanie 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 Nieprawidlowe wartosci dla from lub num. EIO (na PowerPC) To wywolanie nie jest obslugiwane. ENOMEM Brak pamieci. EPERM Wywolujacy watek jest niewystarczajaco uprzywilejowany. WERSJE Glibc posiada prototyp ioperm() zarowno w , jak i w . Nalezy unikac tego ostatniego, gdyz jest dostepne tylko na i386. STANDARDY Linux. HISTORIA Przed Linuksem 2.4, uprawnienia nie byly dziedziczone przez potomka utworzonego za pomoca fork(2). UWAGI Plik /proc/ioports ukazuje porty wejscia/wyjscia, ktore sa aktualnie przydzielone w systemie. ZOBACZ TAKZE iopl(2), outb(2), capabilities(7) TLUMACZENIE Autorami polskiego tlumaczenia niniejszej strony podrecznika sa: 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. ioperm(2)