.\" -*- coding: UTF-8 -*- .\" Copyright (c) 1980, 1991 Regents of the University of California. .\" and Copyright (c) 2011, Michael Kerrisk .\" 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 .\" .\" @(#)lseek.2 6.5 (Berkeley) 3/10/91 .\" .\" Modified 1993-07-23 by Rik Faith .\" Modified 1995-06-10 by Andries Brouwer .\" Modified 1996-10-31 by Eric S. Raymond .\" Modified 1998-01-17 by Michael Haardt .\" .\" Modified 2001-09-24 by Michael Haardt .\" Modified 2003-08-21 by Andries Brouwer .\" 2011-09-18, mtk, Added SEEK_DATA + SEEK_HOLE .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH LSEEK 2 "13 augustus 2020" Linux "Linux Programmeurs Handleiding" .SH NAAM lseek \- herplaats lees/schrijf bestand\-positie .SH SAMENVATTING \fB#include \fP .br \fB#include \fP .PP \fBoff_t lseek(int \fP\fIbi\fP\fB, off_t \fP\fIpositie\fP\fB, int \fP\fIvanaf\fP\fB);\fP .SH BESCHRIJVING De \fBlseek\fP() functie herplaatst de positie van de bestandindicator \fIbi\fP naar het argument \fIpositie\fP volgens de aanwijzing \fIvanaf\fP als volgt: .TP \fBSEEK_SET\fP De positie wordt naar \fIpositie\fP bytes gezet. .TP \fBSEEK_CUR\fP De positie wordt naar de huidige plaats plus \fIpositie\fP bytes gezet. .TP \fBSEEK_END\fP De positie wordt naar de lengte van het bestand plus \fIpositie\fP bytes gezet. .PP De \fBlseek\fP functie staat toe de bestand plaats te zetten ná het einde van het bestand (dit verandert niet de grootte van het bestand). Als later gegevens op deze positie worden geschreven, geven navolgende lees opdrachten in het gat ge\-Nulde (\(aq\e0\(aq) bytes terug (totdat er daadwerkelijk gegevens in het gat worden geschreven). .SS "Zoeken bestand data en gaten" Vanaf versie 3.1 ondersteund Linux de volgende additionele waarden voor \fIvanaf\fP: .TP \fBSEEK_DATA\fP Pas de bestandsplaats aan de volgende locatie in het bestand groter dan of gelijk aan \fIpositie\fP die data bevat. Als \fIpositie\fP naar data wijst, zet dan de bestandsplaats op \fIpositie\fP. .TP \fBSEEK_HOLE\fP Pas de bestandsplaats aan naar het volgende gat in het bestand groter dan of gelijk aan \fIpositie\fP. Als \fIpositie\fP naar het midden van een gat wijst, dan wordt de plaats gezet op \fIpositie\fP gezet. Als er geen gat is voorbij \fIpositie\fP, dan wordt de plaats gezet op het einde van het bestand (m.a.w. er is een impliciet gat aan het einde van elk bestand). .PP In beide bovenstaande gevallen faalt \fBlseek\fP() als \fIpositie\fP voorbij het einde van het bestand wijst. .PP Deze operaties staan applicaties toe om gaten in dun toegekende bestanden in kaart te brengen. Dit kan nuttig zijn voor applicaties zoals backup gereedschap, die ruimte kunnen sparen bij het aanmaken van backups en gaten kunnen bewaren, mits ze een mechanisme hebben om gaten de ontdekken. .PP .\" https://lkml.org/lkml/2011/4/22/79 .\" http://lwn.net/Articles/440255/ .\" http://blogs.oracle.com/bonwick/entry/seek_hole_and_seek_data Binnen de doelen van deze operaties bedoelen we met een gat een serie van nullen die (normaliter) niet zijn toegekend in de onderliggende bestandsopslag. Het is echter zo dat een bestandssysteem niet verplicht is gaten te rapporteren, daarom zijn deze operaties geen gegarandeerd mechanisme om de aan een bestand toegekende opslag ruimte in kaart te brengen. (Bovendien hoeft een serie van nullen die daadwerkelijk is geschreven naar de onderliggende opslag niet gerapporteerd te worden als een gat.) In de meest eenvoudige implementatie kan een bestandssysteem de operatie ondersteunen door te zorgen dat \fBSEEK_HOLE\fP altijd de afstand naar het einde van het bestand teruggeeft, en te zorgen dat \fBSEEK_DATA\fP altijd \fIpositie\fP teruggeeft (m.a.w. zelfs als de locatie aangewezen door \fIpositie\fP een gat is, kan het beschouwd worden te bestaan uit data die een serie van nullen is). .PP De \fB_GNU_SOURCE\fP test macro moet zijn gedefinieerd om de definities te verkrijgen van \fBSEEK_DATA\fP en \fBSEEK_HOLE\fP uit \fI\fP. .PP De \fBSEEK_HOLE\fP en \fBSEEK_DATA\fP operaties worden ondersteund door de volgende bestandssystemen: .IP * 3 Btrfs (sinds Linux 3.1) .IP * 3 .\" commit 93862d5e1ab875664c6cc95254fc365028a48bb1 OCFS (sinds Linux 3.2) .IP * XFS (sinds Linux 3.5) .IP * ext4 (sinds Linux 3.8) .IP * \fBtmpfs\fP(5) (sinds Linux 3.8) .IP * .\" commit 1c6dcbe5ceff81c2cf8d929646af675cd59fe7c0 .\" commit 24bab491220faa446d945624086d838af41d616c NFS (sinds Linux 3.18) .IP * .\" commit 0b5da8db145bfd44266ac964a2636a0cf8d7c286 FUSE (sinds Linux 4.5) .IP * .\" commit 3a27411cb4bc3ce31db228e3569ad01b462a4310 GFS2 (sinds Linux 4.15) .SH "EIND WAARDE" Bij geslaagde afronding geeft \fBlseek\fP de opgeleverde plaats zoals gemeten in bytes van het begin van het bestand, terug. Anders wordt een waarde van \fI(off_t)\ \-1\fP teruggegeven, en \fIerrno\fP wordt gezet om de fout duidelijk te maken. .SH FOUTEN .TP \fBEBADF\fP \fIbi\fP is niet een open bestandindicator.. .TP \fBEINVAL\fP .\" Some systems may allow negative offsets for character devices .\" and/or for remote filesystems. \fIVanaf\fP is niet geldig. Of: de resulterende bestand plaats zou negatief zijn, of voorbij het einde van een doorzoekbaar apparaat. .TP \fBENXIO\fP \fIwhence\fP is \fBSEEK_DATA\fP of \fBSEEK_HOLE\fP, en \fIpositie\fP is voorbij het einde van het bestand, of \fIwhence\fP is \fBSEEK_DATA\fP en \fIpositie\fP is in een gat aan het einde van het bestand. .TP \fBEOVERFLOW\fP .\" HP-UX 11 says EINVAL for this case (but POSIX.1 says EOVERFLOW) De resulterende bestand plaats kan niet gerepresenteerd worden in een \fIoff_t\fP. .TP \fBESPIPE\fP \fIbi\fP hoort bij een pijp, een socket, of een FIFO. .SH "VOLDOET AAN" POSIX.1\-2001, POSIX.1\-2008, SVr4, 4.3BSD. .PP .\" FIXME . Review http://austingroupbugs.net/view.php?id=415 in the future \fBSEEK_DATA\fP en \fBSEEK_HOLE\fP zijn niet\-standaard uitbreidingen ook aanwezig inSolaris, FreeBSD, en DragonFly BSD; zij zijn voorgesteld voor opname in de volgende POSIX revisie (Issue 8). .SH OPMERKINGEN Zie \fBopen\fP(2) voor een discussie over de relatie tussen bestandsbeschrijvingen, open bestandsbeschrijvingen en bestanden. .PP Als de \fBO_APPEND\fP bestand status vlag is gezet op de open bestandsbeschrijving, dan zal \fBwrite\fP(2) \fIaltijd\fP de bestandsafstand naar het einde van het bestand verplaatsen, onafhankelijk van het gebruik van \fBlseek\fP(). .PP Het \fIoff_t\fP data type is een positief of negatief geheel getal data type zoals gespecificeerd in POSIX.1. .PP Sommige apparaten zijn niet in status tot zoeken, en POSIX bepaald nietwelke apparaten het moeten \fBlseek\fP() ondersteunen. .PP .\" Other systems return the number of written characters, .\" using SEEK_SET to set the counter. (Of written characters.) Op Linux: het gebruik van \fBlseek\fP() zal op een terminal apparaat falen met de fout\fBESPIPE\fP. .SH "ZIE OOK" \fBdup\fP(2), \fBfallocate\fP(2), \fBfork\fP(2), \fBopen\fP(2), \fBfseek\fP(3), \fBlseek64\fP(3), \fBposix_fallocate\fP(3) .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. .SH VERTALING De Nederlandse vertaling van deze handleiding is geschreven door Jos Boersema , Mario Blättermann en Luc Castermans . 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. Indien U fouten in de vertaling van deze handleiding zou vinden, stuur een e-mail naar .MT debian-l10n-dutch@lists.debian.org .ME .