Scroll to navigation

IOPERM(2) Linux Programmeurs Handleiding IOPERM(2)

NAAM

ioperm - zet poort invoer/uitvoer toestemmingen

SAMENVATTING

#include <sys/io.h> /* voor glibc */

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

15 september 2017 Linux