table of contents
- trixie 1:4.27.0-1
- trixie-backports 1:4.31.0-1~bpo13+1
- testing 1:4.31.0-1
- unstable 1:4.32.4-1
| ioperm(2) | System Calls Manual | ioperm(2) |
NAZWA¶
ioperm - set I/O port permissions
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() sets the calling thread's access permission for num ports starting from port address from. If turn_on is nonzero, then permission for the specified ports is enabled; otherwise it is disabled. If turn_on is nonzero, the calling thread must be privileged (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.
Uprawnienia są dziedziczone przez potomka utworzonego za pomocą fork(2) (lecz zob. HISTORIA). Uprawnienia są zachowywane przez execve(2); jest to przydatne przy nadawaniu uprawnień dostępu do portów programom nieuprzywilejowanym.
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¶
Tłumaczenie niniejszej strony podręcznika: 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.
| 11 października 2026 r. | Linux man-pages 6.20 |