Provided by: manpages-nl-dev_4.15.0-9_all bug

NAAM

       truncate, ftruncate - snoei een bestand terug tot een bepaalde lengte

SAMENVATTING

       #include <unistd.h>

       int truncate(const char *pad, off_t lengte);
       int ftruncate(int fd, off_t lengte);

   Feature Test Macro´s eisen in  glibc (zie feature_test_macros(7)):

       truncate():
           _XOPEN_SOURCE >= 500
               || /* Vanaf glibc 2.12: */ _POSIX_C_SOURCE >= 200809L
               || /* Glibc <= 2.19: */ _BSD_SOURCE

       ftruncate():
           _XOPEN_SOURCE >= 500
               || /* Vanaf glibc 2.3.5: */ _POSIX_C_SOURCE >= 200112L
               || /* Glibc <= 2.19: */ _BSD_SOURCE

BESCHRIJVING

       truncate() en ftruncate() veroorzaken dat het bestand genoemd in pad of verwezen naar door
       bi teruggesnoeid wordt tot hoogstens lengte bytes in grootte.

       Als het bestand eerder groter dan deze maat was zijn de extra gegevens verloren.  Als  het
       bestand  eerder  korter  was  is het onbepaald of het bestand onveranderd wordt gelaten of
       wordt verlengd. In het laatste geval leest het toegevoegde deel als genulde bytes ('\0').

       De bestands afstand is niet veranderd.

       Als de grootte veranderde, dan worden de st_ctime and  st_mtime  velden  (respectievelijk,
       tijdstip  van  de  laatste  status  verandering  en tijdstip van de laatste wijziging; zie
       inode(7)) aangepast, en de set-user-ID en de set-group-ID modus bits mogen gewist worden.

       Voor ftruncate() moet het bestand open zijn om te schrijven;  voor  truncate(),  moet  het
       bestand schrijfbaar zijn.

EIND WAARDE

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

FOUTEN

       Voor truncate():

       EACCES Zoek toestemming werd geweigerd voor een deel  van  het  pad  voorvoegsel,  of  het
              genoemde    bestand   is   niet   schrijfbaar   door   de   gebruiker.   (Zie   ook
              path_resolution(7).)

       EFAULT Het argument pad wijst buiten de toegewezen adres ruimte van het proces.

       EFBIG  Het argument lengte is groter dan de maximum bestandsgrootte. (XSI)

       EINTR  Zolang geblokkeerd wachten op beëindiging, de aanroep  werd  onderbroken  door  een
              signaal verwerker; zie fcntl(2)  en signal(7).

       EINVAL Het argument lengte is negatief of groter dan de maximum bestandsgrootte.

       EIO    Een In/Uit fout trad op tijdens het bij de tijd brengen van de inode.

       EISDIR Het genoemde bestand is een map.

       ELOOP  Teveel symbolische koppelingen werden tegengekomen bij het vertalen van de padnaam.

       ENAMETOOLONG
              Een deel van de padnaam overtreft 255 karakters, of een hele padnaam overtreft 1023
              karakters.

       ENOENT Het genoemde bestand bestaat niet.

       ENOTDIR
              Een deel van het pad-voorvoegsel is geen map.

       EPERM  Het onderliggende bestandssysteem ondersteund uitbreiding  van  het  bestand  boven
              zijn huidige grootte niet.

       EPERM  De operatie werd voorkomen door een bestandszegel; zie fcntl(2).

       EROFS  Het benoemde bestand verblijft op een alleen-lezen bestandsysteem.

       ETXTBSY
              Het bestand is een uitvoerbaar bestand dat wordt uitgevoerd.

       Voor  ftruncate()  zijn  dezelfde fouten van toepassing, maar in plaats van zaken die fout
       kunnen gaan met padnaam, kunnen nu zaken fout gaan met de bestands beschrijving, fd:

       EBADF  bb is geen geldige bestandsbeschrijving.

       EBADF of EINVAL
              De bi is niet open voor schrijven.

       EINVAL fd refereert niet naar een regulier bestand of  naar  een  POSIX  gedeeld  geheugen
              object.

       EINVAL of EBADF
              De  bestands  beschrijving  fd  is  niet  open  voor schrijven. POSIX staat toe, en
              overdraagbare applicatie  moeten  elke  fout  voor  dit  geval  afhandelen.  (Linux
              produceert EINVAL.)

VOLDOET AAN

       POSIX.1-2001, POSIX.1-2008, 4.4BSD, SVr4 (deze functie aanroepen verschenen voor het eerst
       in BSD 4.2).

OPMERKINGEN

       ftruncate() kan ook worden gebruikt om de grootte van een POSIX gedeeld geheugen object in
       te stellen; zie shm_open(3).

       De  details in BESCHRIJVING zijn voor systemen die voldoen aan XSI. Voor systemen die niet
       voldoen aan XSI staat de POSIX standaard twee gedragingen toe voor ftruncate() als  length
       de  bestandslengte  overschrijd  (let  op  dat  truncate()  is  niet gespecificeerd in die
       omgeving): ofwel een fout teruggevende ofwel het bestand  uitbreidende.  Zoals  de  meeste
       UNIX  implementaties  volgt  Linux  de  XSI  eis bij in omgaan met eigen bestandssystemen.
       Echter, sommige niet-eigen bestandsystemen staan niet toe om truncate() en ftruncate()  te
       gebruiken  om  een  bestand  uit  te  breiden  boven  zijn huidige lengte: een opmerkelijk
       voorbeeld op Linux is VFAT.

       De originele Linux truncate() en ftruncate() systeem aanroepen  waren  niet  ontworpen  om
       grote bestands afstanden te behandelen.

       Op  sommige  32-bit  architecturen, verschillen de oproepende signaturen voor deze systeem
       aanroepen, vanwege redenen zoals beschreven in syscall(2).

BUGS

       Een bug  in een kop bestand van glibc 2.12 leidde  er  toe  dat  de  minimale  waarde  van
       _POSIX_C_SOURCE  in  de declaratie van ftruncate() moest veranderen van  200809L in plaats
       van 200112L. Dit is opgelost in latere versies van glibc.

ZIE OOK

       truncate(1), open(2), stat(2), path_resolution(7)

COLOFON

       Deze  pagina  is  onderdeel  van  release  5.13  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
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  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⟩.