.\" -*- coding: UTF-8 -*- .\" Copyright 1980-1991, Regents of the University of California. .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: BSD-4-Clause-UC .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH ioctl 2 "21 september 2025" "Linux man\-paginas 6.17" .SH NAAM ioctl \- manipuleer apparaat .SH BIBLIOTHEEK Standaard C bibliotheek (\fIlibc\fP, \fI\-lc\fP) .SH SAMENVATTING .nf \fB#include \fP .P \fBint ioctl(int \fP\fIfd\fP\fB, unsigned long \fP\fIop\fP\fB, ...);\fP\f[R] /* glibc, BSD */\fR \fBint ioctl(int \fP\fIfd\fP\fB, int \fP\fIop\fP\fB, ...);\fP\f[R] /* musl, andere UNIX */\fR .fi .SH BESCHRIJVING De \fBioctl\fP() functie manipuleert de onderliggende apparaat parameters van speciale bestanden. In heb bijzonder veel eigenschappen van speciale teken bestanden (b.v. terminals) kunnen bepaald worden met \fBioctl\fP() verzoeken. Het argument \fIbi\fP moet een open bestandsindicator zijn. .P Het tweede argument is een apparaat\-afhankelijke aanvraag code. Het derde argument is een wijzer (zonder type) naar het geheugen. Traditioneel is het \fBchar *\fP\fIargp\fP (van de tijd voordat \fBvoid *\fP geldig C was), en het wordt zo genoemd in deze discussie. .P Een \fBioctl\fP() \fIverzoek\fP heeft in zichzelf gecodeerd of het argument een \fIin\fP parameter of \fIuit\fP parameter is, en de grootte van het argument \fIargp\fP in bytes. Macro's en definities die gebruikt worden in het opgeven van een \fBioctl\fP() \fIverzoek\fP zijn te vinden in het bestand \fI\fP. Zie OPMERKINGEN. .SH "EIND WAARDE" Meestal wordt bij succes een nul teruggegeven. Een aantal \fBioctl\fP() operaties gebruiken de uitvoer waarde als een uitvoer parameter en geven een niet\-negatieve waarde terug bij succes. Bij falen wordt \-1 teruggegeven en \fIerrno\fPwordt overeenkomstig gezet. .SH FOUTEN .TP \fBEBADF\fP \fIbb\fP is geen geldige bestandsbeschrijving. .TP \fBEFAULT\fP \fIargp\fP verwijst naar een ontoegankelijk geheugen gebied. .TP \fBEINVAL\fP \fIrequest\fP of \fIargp\fP is ongeldig. .TP \fBENOTTY\fP \fIbi\fP is niet verbonden met een karakter speciaal apparaat. .TP \fBENOTTY\fP Het opgegeven verzoek is niet van toepassing op het object waar de bestandsindicator \fIbi\fP naar wijst. .SH VERSIES Argumenten, uitvoerwaarden en semantiek van \fBioctl\fP(2) wisselen naar gelang het betreffende apparaat stuurprogramma (de aanroep wordt gebruikt als een goed\-voor\-de\-rest voor handelingen die niet netjes in het Unix stroom Invoer/Uitvoer model passen). .SH STANDAARDEN Geen. .SH HISTORIE Versie\ 7 AT&T UNIX heeft .PD 0 .in +4n .nf \fBioctl(int \fP\fIfd\fP\fB, int \fP\fIop\fP\fB, struct sgttyb *\fP\fIargp\fP\fB);\fP .fi .in .P .PD ( \fBstruct sgttyb\fP werd historisch gebruikt door \fBstty\fP(2) en \fBgtty\fP(2), en is een polymorf per bewerkingstype (net als een \fBvoid *\fP als het beschikbaar zou zijn geweest)). .P Syslll documenten \fIarg\fP zonder enig type. .P 4.3BSD heeft .PD 0 .in +4n .nf \fBioctl(int \fP\fIbi\fP\fB, unsigned long \fP\fIverzoek\fP\fB, char *\fP\fIargp\fP\fB);\fP .fi .in .P .PD (met \fBchar *\fP vergelijkbaar als voor \fBvoid *\fP. .P SysVr4 heeft .in +4n .nf \fBint ioctl(int \fP\fIfd\fP\fB, int \fP\fIop\fP\fB, ... /* \fP\fIarg\fP\fB */);\fP .fi .in .SH OPMERKINGEN .\" Om deze systeem aanroep te gebruiken moet men een open bestandsbeschrijving hebben, Vaak heeft de \fBopen\fP(2) niet gewenste neven effecten, die vermeden kunnen worden onder Linux door het meegeven van de \fBO_NONBLOCK\fP vlag. .SS "ioctl structure" .\" added two sections - aeb Ioctl \fIverzoek\fP waarden zijn 32\-bits constanten. In principe zijn deze constanten volledig willekeurig, hoewel men er enige structuur in heeft proberen in te bouwen. .P De oude Linux situatie bestond uit veelal 16\-bit constanten, waarbij het laatste byte een serieel getal was, en het voorafgaande byte was de type aanduiding van het betreffende stuurprogramma. Soms werden als belangrijkste getallen gebruikt: 0x03 voor de \fBHDIO_*\fP ioctls, 0x06 voor de \fBLP*\fP ioctls. En soms werden een of meerdere ASCII tekens gebruikt. Bij voorbeeld, \fBTCGETS\fP heeft waarde x00005401, met 0x54 = \(aqT\(aq wijzende op het terminal stuurprogramma, en \fBCYGETTIMEOUT\fP heeft waarde 0x00435906, met 0x43 0x59 = \(aqC\(aq \(aqY\(aq wijzende op het cyclade stuurprogramma. .P Later (0.98p5) werd meer informatie in het getal ingebouwd. Een heeft 2 richting bits (00: geen, 01: schrijf, 10: lees, 11: lees/schrijf) gevolgd door de 14 bits grootte (aangevende de grootte van het argument), gevolgd door een 8\-bit type (die verzamelen de ioctls in groepen met een gemeenschappelijk doel or een gemeenschappelijk stuurprogramma), en een 8\-bit serieel getal, .P De macro´s die de structuur beschrijven staan in \fI\fP en zijn \fB_IO(type,nr)\fP en \fB{_IOR,_IOW,_IOWR}(type,nr,size)\fP. Ze gebruiken \fIsizeof(size)\fP waarbij dat een verkeerde benaming is: dit derde argument is een data type. .P Let op dat de grootte bits erg onbetrouwbaar zijn: in veel gevallen zijn ze verkeerd, ofwel door de macro´s met fouten die \fIsizeof(sizeof(struct))\fP gebruiken, ofwel door gebruik van geërfde waarden. .P Dus, het lijkt erop dat de nieuwe structuur alleen nadelen gaf: het helpt in bij controles, maar het zorgt voor variërende waarden voor de diverse architecturen. .SH "ZIE OOK" .\" .BR mt (4), \fBexecve\fP(2), \fBfcntl\fP(2), \fBioctl_console\fP(2), \fBioctl_fat\fP(2), \fBioctl_fs\fP(2), \fBioctl_fsmap\fP(2), \fBioctl_nsfs\fP(2), \fBioctl_tty\fP(2), \fBioctl_userfaultfd\fP(2), \fBioctl_eventpoll\fP(2), \fBopen\fP(2), \fBsd\fP(4), \fBtty\fP(4) .PP .SH VERTALING De Nederlandse vertaling van deze handleiding is geschreven door Jos Boersema , Mario Blättermann en Luc Castermans . .PP Deze vertaling is vrije documentatie; lees de .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE of later over de Copyright-voorwaarden. Er is geen AANSPRAKELIJKHEID. .PP Indien U fouten in de vertaling van deze handleiding zou vinden, stuur een e-mail naar .MT debian-l10n-dutch@lists.debian.org .ME .