NAAM
dup, dup2 − kopieer een bestandindicator
OVERZICHT
#include <unistd.h>
int
dup(int oudebi);
int dup2(int oudebi, int
oudebi);
BESCHRIJVING
dup en dup2 maken een kopie van de bestandindicator oudebi. Na geslaagd terugkeren van dup of dup2, zijn de oude en nieuwe bestandindicators uitwisselbaar {gelijk}. Ze delen grendels, bestand positie pointers {positie in het bestand} en vlaggen; bijvoorbeeld, als de bestand-positie veranderd werd met lseek voor 1 van de beschrijvers dan wordt de positie ook voor de andere veranderd. De twee beschrijvers delen de sluit-bij-exec {voer-uit} vlag echter niet.
dup gebruikt de laagste ongebruikte beschrijver voor de nieuwe beschrijver.
dup2 maakt nieuwebi de gelijke van oudebi, nieuwebi eerst sluitend als dat nodig is.
TERUGGEEF WAARDE
dup en dup2 geven de nieuwe beschrijver terug, of −1 als een fout optrad (in welk geval errno naar behoren gezet wordt.)
FOUTEN
EBADF |
{slechte bi} oudebi is geen open bestandindicator, of nieuwebi ligt buiten de toegestane waardes voor bestandindicators. | ||
EMFILE |
{max bestand} Het proces heeft al het maximale aantal bestandindicators open, en probeerde nog eentje extra te openen. |
WAARSCHUWING
De fout teruggegeven door dup2 is anders dan de fout door fcntl(..., F_DUPFD, ...) teruggegeven, wanneer nieuwebi buiten de toegestane waardes ligt. Op sommige systemen geeft dup2 ook soms EINVAL terug, zoals F_DUPFD.
VOLDOET AAN
SVr4, SVID, POSIX, X/OPEN, BSD 4.3. SVr4 beschrijft extra EINTR en ENOLINK fouttoestanden. POSIX.1 voegt EINTR toe.
ZIE
fcntl(2) {manipuleer bi}, open(2) {open}, close(2) {sluit}
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 [AT] nl.org>.
$Id: dup.2,v 1.1.1.1 2004/03/21 21:02:25 cor Exp $