Scroll to navigation

IOPL(2) Linux Programmeurs Handleiding IOPL(2)

NAAM

iopl - verander In/Uit privilege niveau

SAMENVATTING

#include <sys/io.h>

int iopl(int niveau);

BESCHRIJVING

iopl() verandert het Invoer/Uitvoer privilege niveau van de aanroepende thread, zoals zoals opgegeven in de twee minst significante bits in niveau.

Het Invoer/Uitvoer privilege niveau voor een gewone thread is 0. Permissies worden geërfd van ouders naar kinderen.

Deze aanroep is verouderd, is significant langzamer dan ioperm(2), en is alleen nog voorzien voor oudere X servers die toegang nodig hebben tot alle 65536 Invoer/Uitvoer poorten. Dit is voorzien voor de i386 architectuur. Op veel andere architecturen bestaat hij niet of zal altijd een fout terug geven.

EIND WAARDE

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

FOUTEN

EINVAL
niveau is groter dan 3.
ENOSYS
Deze aanroep is niet geïmplementeerd.
EPERM
De aanroepende thread heeft een te laag privilege om iopl() aan te roepen; de CAP_SYS_RAWIO capaciteit is vereist om het Invoer/Uitvoer niveau te verhogen tot boven het huidige niveau.

VOLDOET AAN

iopl() is Linux-specifiek en zou niet gebruikt moeten worden in programma´s die overdraagbaar moeten zijn.

OPMERKINGEN

glibc2 heeft een prototype zowel in <sys/io.h> als in <sys/perm.h>. Vermijd de laatste, die is alleen beschikbaar in i386.

Vóór Linux 5.5 stond iopl() toe aan de thread om interrupts uit te schakelen terwijl deze op een hoger Invoer/Uitvoer niveau draait. Dit zal waarschijnlijk het systeem crashen en wordt niet aanbevolen.

Vóór Linux 3.7 werden op een aantal architecturen (zoals i386), rechten geërfd van het kind geproduceerd door fork(2) en werden behouden dwars door execve(2). Dit gedrag werd per ongeluk veranderd in Linux 3.7, en zal niet worden hersteld.

ZIE OOK

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

13 augustus 2020 Linux