IOPERM(2)

NAAM
ioperm - zet poort invoer/uitvoer toestemmingen

SAMENVATTING
#include <sys/io.h>

int ioperm(unsigned long vanaf, unsigned long num, int doe_aan);

BESCHRIJVING
ioperm() zet de poort toegang rechten bits voor het proces voor num bytes startend van poort adres vanaf tot de waarde doe_aan. Als doe_aan niet-nul is, dan wordt de toestemming voor de opgegeven bits gegeven, anders teruggetrokken. Als doe_aan niet-nul is, dan moet de aanroepende thread gerechtigd zijn (CAP_SYS_RAWIO).

Voor Linux 2.6.8 konden alleen de eerste 0x3FF Invoer/Uitvoer poorten op deze manier gespecificeerd worden. Voor meer poorten zou de iopl(2) systeem aanroep gebruikt moeten worden (met een niveau argument gelijk aan 3). Vanaf Linux 2.6.8 konden 65.536 Invoer/Uitvoer poorten opgegeven worden.

Rechten worden geërfd door het kind aangemaakt door fork(2) (maar zie OPMERKINGEN). Rechten worden behouden via execve(2); dit is nuttig om poort toegangsrechten te geven aan niet-gerechtigde programma´s

Deze aanroep is meestal voor de i386 architectuur. Op veel andere architecture bestaat hij niet of zal een fout terug geven.

EIND WAARDE
Bij succes wordt nul teruggegeven. Bij falen wordt -1 teruggegeven en wordt errno overeenkomstig gezet.

FOUTEN

EINVAL
    Ongeldige waarden voor vanaf of num.

EIO (op PowerPC) Deze aanroep wordt niet ondersteund.

ENOMEM
    Geen geheugen meer.

EPERM
    De aanroepende thread heeft niet voldoende rechten.

VOLDOET AAN
ioperm() is Linux specifiek en moet niet gebruikt worden in overdraagbare programma´s.

OPMERKINGEN
Het /proc/ioports bestand toont de Invoer/Uitvoer poorten die momenteel toegewezen zijn aan het systeem.

Voor Linux 2.4 werden rechten niet geërfd door een kind aangemaakt door fork(2).

glibc heeft een ioperm() prototype zowel in <sys/io.h> en in <sys/perm.h>. Vermijd gebruik van de laatste want die is alleen beschikbaar op i386.

ZIE OOK
iopl(2), outb(2), capabilities(7)

COLOFON
Deze pagina is onderdeel van release 5.13 van het Linux man-pages-project. Een beschrijving van het project, informatie over het melden van bugs en de nieuwste versie van deze pagina zijn op https://www.kernel.org/doc/man-pages/ te vinden.

VERTALING
De Nederlandse vertaling van deze handleiding is geschreven door Jos Boersema <joshb@xs4all.nl>, Mario Blättermann <mario.blaettermann@gmail.com> en Luc Castermans <luc.castermans@gmail.com> Deze vertaling is vrije documentatie; lees de GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) of later over de Copyright-voorwaarden. Er is geen AANSPRAKELIJKHEID. Indien U fouten in de vertaling van deze handleiding zou vinden, stuur een e-mail naar debian-l10n-dutch@lists.debian.org.