Scroll to navigation

ioperm(2) System Calls Manual ioperm(2)

NAAM

ioperm - zet poort invoer/uitvoer toestemmingen

BIBLIOTHEEK

Standard C bibliotheek (libc, -lc)

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

Ongeldige waarden voor vanaf of num.
(op PowerPC) Deze aanroep wordt niet ondersteund.
Geen geheugen meer.
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)

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 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.

5 februari 2023 Linux man-pagina's 6.03