.\" -*- coding: UTF-8 -*- .\" Copyright (c) 1980, 1991 Regents of the University of California. .\" All rights reserved. .\" .\" %%%LICENSE_START(BSD_4_CLAUSE_UCB) .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" %%%LICENSE_END .\" .\" @(#)ioctl.2 6.4 (Berkeley) 3/10/91 .\" .\" Modified 1993-07-23 by Rik Faith .\" Modified 1996-10-22 by Eric S. Raymond .\" Modified 1999-06-25 by Rachael Munns .\" Modified 2000-09-21 by Andries Brouwer .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH IOCTL 2 "11 april 2020" Linux "Linux Programmeurs Handleiding" .SH NAAM ioctl \- manipuleer apparaat .SH SAMENVATTING \fB#include \fP .PP .\" POSIX says 'request' is int, but glibc has the above .\" See https://bugzilla.kernel.org/show_bug.cgi?id=42705 \fBint ioctl(int \fP\fIbi\fP\fB, unsigned long \fP\fIverzoek\fP\fB, ...);\fP .SH BESCHRIJVING De \fBioctl\fP() functie manipuleert de onderliggende apparaat parameters van speciale bestanden. In heb bijzonder vele werkings eigenschappen van teken speciale bestanden ("terminals" {terminals}) kunnen bestuurd worden met \fBioctl\fP() verzoeken. Het argument \fIbi\fP moet een open bestands indicator zijn. .PP 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. .PP 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. .SH "EIND WAARDE" Bij success wordt nul teruggegeven. Enkele \fBioctl\fP() verzoeken gebruiken de retour waarde als een uitvoer parameter en retourneren een niet\-negative waarde 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 gaat niet op voor het soort voorwerp waar de beschrijver \fIbi\fP naar wijst. .SH "VOLDOET AAN" Geen enkele standaard. Argumenten, uitvoerwaarden en semantiek van \fBioctl\fP(2) wisselt 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). .PP De \fBioctl\fP() systeem aanroep verscheen in Versie 7 AT&T UNIX. .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 commando waarden zijn 32\-bits constanten. In principe zijn deze constanten volledig willekeurig, hoewel men er enige structuur in heeft proberen in te bouwen. .PP 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 letters 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. .PP 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, .PP 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. .PP 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. .PP 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_ficlonerange\fP(2), \fBioctl_fideduperange\fP(2), \fBioctl_getfsmap\fP(2), \fBioctl_iflags\fP(2), \fBioctl_list\fP(2), \fBioctl_ns\fP(2), \fBioctl_tty\fP(2), \fBioctl_userfaultfd\fP(2), \fBopen\fP(2), \fBsd\fP(4), \fBtty\fP(4) .SH COLOFON Deze pagina is onderdeel van release 5.10 van het Linux \fIman\-pages\fP\-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. .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 .