ioperm(2) | System Calls Manual | ioperm(2) |
NAZWA
ioperm - ustawia uprawnienia dla portu wejścia/wyjścia
BIBLIOTEKA
Standardowa biblioteka C (libc, -lc)
SKŁADNIA
#include <sys/io.h>
int ioperm(unsigned long from, unsigned long num, int turn_on);
OPIS
ioperm() ustawia bity dostępu do portów dla wątku wywołującego, dla num bitów, poczynając od adresu portu from. Jeśli turn_on jest niezerowe, to włączane są uprawnienia dla określonych bitów; w przeciwnym przypadku są one wyłączone. Jeśli turn_on jest niezerowe, to wątek wywołujący musi być uprzywilejowany (CAP_SYS_RAWIO).
Przed Linuksem 2.6.8, jedynie pierwsze 0x3ff portów wejścia/wyjścia mogło być w ten sposób określone. Aby uzyskać więcej portów, konieczne było użycie wywołania systemowego iopl(2) (z argumentem level wynoszącym 3). Od Linuksa 2.6.8, można podać 65 536 portów wejścia/wyjścia.
Permissions are inherited by the child created by fork(2) (but see HISTORY). Permissions are preserved across execve(2); this is useful for giving port access permissions to unprivileged programs.
To wywołanie jest przeznaczone głównie do architektury i386. Na wielu innych architekturach nie istnieje lub zawsze zwraca błąd.
WARTOŚĆ ZWRACANA
Po pomyślnym zakończeniu zwracane jest zero. Po błędzie zwracane jest -1 i ustawiane errno, wskazując błąd.
BŁĘDY
WERSJE
Glibc posiada prototyp ioperm() zarówno w <sys/io.h>, jak i w <sys/perm.h>. Należy unikać tego ostatniego, gdyż jest dostępne tylko na i386.
STANDARDY
Linux.
HISTORIA
Przed Linuksem 2.4, uprawnienia nie były dziedziczone przez potomka utworzonego za pomocą fork(2).
UWAGI
Plik /proc/ioports ukazuje porty wejścia/wyjścia, które są aktualnie przydzielone w systemie.
ZOBACZ TAKŻE
TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl> i Michał Kułach <michal.kulach@gmail.com>
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.
23 lipca 2024 r. | Linux man-pages 6.12 |