Provided by: manpages-nl_20051127-1_all bug

NAAM

       rename - verander de naam of plaats van een bestand

OVERZICHT

       #include <stdio.h>

       int rename(const char *oudpad, const char *nieuwpad);

BESCHRIJVING

       rename  hernoemd  een bestand, het naar andere directories verplaatsend
       als nodig.

       Elke andere harde koppeling naar  het  bestand  (gemaakt  met  link(2))
       blijft onaangetast.

       Als  nieuwpad  al  bestaat wordt het automatisch vervangen (afhankelijk
       van een paar voorwaarden - zie FOUTEN onder), zodat er geen  moment  is
       waarop  een  ander  proces dat toegang tot nieuwpad probeert te krijgen
       het zal missen.

       Als nieuwpad bestaat maar de handeling faalt om een  of  andere  reden,
       dan garandeert rename , nieuwpad op zijn plaats te laten.

       Maar:  bij  het  overschrijven  zal er waarschijnlijk een interval zijn
       waarin oudpad en nieuwpad allebei naar het bestand dat  hernoemd  wordt
       wijzen.

       Als  oudpad  naar  een  symbolische  link  wijst,  wordt  de  koppeling
       hernoemd; als  nieuwpad  naar  een  symbolische  link  wijst  wordt  de
       koppeling overschreven.

TERUGGEEF WAARDE

       Bij success wordt nul teruggegeven. Bij falen wordt -1 teruggegeven, en
       wordt errno naar behoren gezet.

FOUTEN

       EISDIR {is dir} nieuwpad is een bestaande dir, maar oudpad is geen dir.

       EXDEV  {?  apparaat}  oudpad  en  nieuwpad  zitten  niet  op  hetzelfde
              bestandsysteem.

       ENOTEMPTY of EEXIST
              {niet leeg} {bestaat} nieuwpad is een niet-lege dir,  het  bevat
              andere ingangen dan "." en "..".

       EBUSY  {bezig} Het hernoemen faalde omdat oudpad of nieuwpad een dir is
              die in gebruik is  door  een  of  ander  proces  (misschien  als
              huidige  werk-directorie,  of als root {eng: root} dir, of omdat
              het voor schrijven open was) of  het  is  in  gebruik  door  het
              systeem  (bijvoorbeeld  als  mount  {eng:  mount}  punt), en het
              systeem beschouwd dit als  een  fout.   (Merk  op  dat  er  geen
              vereiste  is om EBUSY terug te geven is in deze gevallen - er is
              niets mis met het hoe-dan-ook doen van de hernoeming - maar  het
              wordt  toegestaan  om  EBUSY  terug  te  geven  als  het systeem
              dergelijke situaties niet anders kan afhandelen.

       EINVAL {ongeldig} De nieuwe padnaam bevat een voorvoegsel van de  oude,
              of,  algemener,  een  poging werd gedaan om een dir een onderdir
              van zichzelf te maken.

       EMLINK {max verbind} oudpad heeft al  het  maximum  aantal  koppelingen
              naar  zich  toe, of het was een dir en de dir die nieuwpad bevat
              heeft al het maximum aantal koppelingen.

       ENOTDIR
              {geen dir} Een deel gebruikt als een dir in oudpad  of  nieuwpad
              is  in  feite  geen  dir.   Of,  oudpad  is een dir, en nieuwpad
              bestaat maar is geen dir.

       EFAULT {fout} oudpad of nieuwpad wijzen  buiten  door  u  toegankelijke
              adres ruimte.

       EACCES {toegang} Schrijf toegang in de dir die oudpad of nieuwpad bevat
              is niet toegestaan voor het proces zijn geldende uid, of een van
              de  directories  in  oudpad of nieuwpad liet geen zoek (uitvoer)
              toestemming  toe,  of  oudpad  was  een  dir  maar   liet   geen
              schrijftoestemming  toe  (benodigd  om  de  ..   ingang  bij  te
              werken).

       EPERM of EACCES
              {toestemming} {toegang} De dir die oudpad bevat heeft het sticky
              bit  gezet  en het proces zijn geldige uid is niet dat van root,
              nog het uid van het bestand dat geschrapt zal  worden,  nog  dat
              van de dir die het bevat, of nieuwpad is een bestaand bestand en
              de dir die het bevat heeft het sticky bit gezet maar het geldige
              uid  van  het  proces  is  niet dat van root nog het uid van het
              bestand dat verplaatst zal worden nog dat van  de  dir  die  het
              bevat,  of het bestandsysteem waar padnaam op zit ondersteund de
              gevraagde hernoem-soort niet.

       ENAMETOOLONG
              {naam te lang} oudpad of nieuwpad is te lang.

       ENOENT {geen ingang} Een dir deel van oudpad of nieuwpad  bestaat  niet
              of is een loshangende symbolische koppeling.

       ENOMEM {geen    geheugen}    Onvoldoende   besturingssysteem   geheugen
              voorhanden.

       EROFS  {alleen-lezen  b.s.}  Het  bestand  is   op   een   alleen-lezen
              bestandsysteem.

       ELOOP  {cirkel}  Teveel symbolische koppelingen werden tegengekomen bij
              het "oplossen" van oudpad of nieuwpad.

       ENOSPC {geen ruimte} Het apparaat dat  het  bestand  bevat  heeft  geen
              ruimte voor een nieuwe dir ingang.

VOLDOET AAN

       POSIX, 4.3BSD, ANSI C

BUGS

       Op  NFS  bestandsystemen  kun  je  niet  aannemen dat als een handeling
       mislukte, het bestand niet hernoemd werd. Als  de  server  de  hernoem-
       handeling  doet en gecrasht {eng: crashes} dan zal de herverstuurde RPC
       die afgehandeld zal worden als  de  server  het  weer  doet,  een  fout
       veroorzaken.  Van  toepassing  wordt  verwacht hiermee om te gaan.  Zie
       link(2) voor gelijksoortige problemen.

ZIE

       link(2)  {verbind},  unlink(2)  {maak-los},   symlink(2)   {symbolische
       koppeling}, mv(1) {verplaats}

VERTALING

       Dit  is  een  handleiding  uit  manpages-dev  1.29.   Alles  wat tussen
       ‘{’..‘}’ staat is aanvullende vertaling, en hoort niet bij de originele
       handleiding.  Email naar <manpages-nl@nl.linux.org>.

       $Id: rename.2,v 1.1.1.1 2004/03/21 21:02:25 cor Exp $