Provided by: manpages-nl-dev_4.21.0-2_all 

NAAM
lseek - herplaats lees/schrijf bestand-positie
BIBLIOTHEEK
Standard C bibliotheek (libc, -lc)
SAMENVATTING
#include <unistd.h>
off_t lseek(int bi, off_t positie, int vanaf);
BESCHRIJVING
De lseek() functie herplaatst de positie van de bestandindicator bi naar het argument positie volgens de
aanwijzing vanaf als volgt:
SEEK_SET
De positie wordt naar positie bytes gezet.
SEEK_CUR
De positie wordt naar de huidige plaats plus positie bytes gezet.
SEEK_END
De positie wordt naar de lengte van het bestand plus positie bytes gezet.
De lseek functie staat toe de bestand positie 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 ('\0') bytes terug (totdat er daadwerkelijk gegevens in het gat worden
geschreven).
Zoeken bestand data en gaten
Vanaf Linux 3.1 ondersteund Linux de volgende additionele waarden voor vanaf:
SEEK_DATA
Pas de bestandsplaats aan de volgende locatie in het bestand groter dan of gelijk aan positie die
data bevat. Als positie naar data wijst, zet dan de bestandsplaats op positie.
SEEK_HOLE
Pas de bestandsplaats aan naar het volgende gat in het bestand groter dan of gelijk aan positie.
Als positie naar het midden van een gat wijst, dan wordt de plaats gezet op positie gezet. Als er
geen gat is voorbij positie, 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).
In beide bovenstaande gevallen faalt lseek() als positie voorbij het einde van het bestand wijst.
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.
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
SEEK_HOLE altijd de afstand naar het einde van het bestand teruggeeft, en te zorgen dat SEEK_DATA altijd
positie teruggeeft (m.a.w. zelfs als de locatie aangewezen door positie een gat is, kan het beschouwd
worden te bestaan uit data die een serie van nullen is).
De _GNU_SOURCE test macro moet zijn gedefinieerd om de definities te verkrijgen van SEEK_DATA en
SEEK_HOLE uit <unistd.h>.
De SEEK_HOLE en SEEK_DATA operaties worden ondersteund door de volgende bestandssystemen:
• Btrfs (sinds Linux 3.1)
• OCFS (sinds Linux 3.2)
• XFS (sinds Linux 3.5)
• ext4 (sinds Linux 3.8)
• tmpfs(5) (sinds Linux 3.8)
• NFS (sinds Linux 3.18)
• FUSE (sinds Linux 4.5)
• GFS2 (sinds Linux 4.15)
EIND WAARDE
Bij geslaagde afronding geeft lseek de opgeleverde plaats zoals gemeten in bytes van het begin van het
bestand, terug. Anders wordt een waarde van (off_t) -1 teruggegeven, en errno wordt gezet om de fout
duidelijk te maken.
FOUTEN
EBADF bi is niet een open bestandindicator..
EINVAL Vanaf is niet geldig. Of: de resulterende bestand plaats zou negatief zijn, of voorbij het einde
van een doorzoekbaar apparaat.
ENXIO whence is SEEK_DATA of SEEK_HOLE, en positie is voorbij het einde van het bestand, of whence is
SEEK_DATA en positie is in een gat aan het einde van het bestand.
EOVERFLOW
De resulterende bestand plaats kan niet gerepresenteerd worden in een off_t.
ESPIPE bi hoort bij een pijp, een socket, of een FIFO.
VOLDOET AAN
POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.
SEEK_DATA en SEEK_HOLE zijn niet-standaard uitbreidingen ook aanwezig inSolaris, FreeBSD, en DragonFly
BSD; zij zijn voorgesteld voor opname in de volgende POSIX revisie (Issue 8).
OPMERKINGEN
Zie open(2) voor een discussie over de relatie tussen bestandsbeschrijvingen, open bestandsbeschrijvingen
en bestanden.
Als de O_APPEND bestand status vlag is gezet op de open bestandsbeschrijving, dan zal write(2) altijd de
bestandsafstand naar het einde van het bestand verplaatsen, onafhankelijk van het gebruik van lseek().
Het off_t data type is een positief of negatief geheel getal data type zoals gespecificeerd in POSIX.1.
Sommige apparaten zijn niet in status tot zoeken, en POSIX bepaald nietwelke apparaten het moeten lseek()
ondersteunen.
Op Linux: het gebruik van lseek() zal op een terminal apparaat falen met de foutESPIPE.
ZIE OOK
dup(2), fallocate(2), fork(2), open(2), fseek(3), lseek64(3), posix_fallocate(3)
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.
Linux man-pagina's 6.03 5 februari 2023 lseek(2)