NAME
dup — duplicate an open file descriptor
SYNOPSIS
#include <unistd.h>
int dup(int fildes);
DESCRIPTION
fildes
is a file descriptor obtained from a
creat(),
open(),
dup(),
fcntl(),
or
pipe()
system call.
dup()
returns a new file descriptor having the following
in common with the original:
Same open file (or pipe).
Same file pointer (i.e., both file descriptors share one file pointer).
Same access mode (read, write or read/write).
Same file status flags (see
fcntl(2),
F_DUPFD).
The new file descriptor is set to remain open across
exec()
system calls.
See
fcntl(2).
The file descriptor returned is the lowest one available.
RETURN VALUE
Upon successful completion, the file descriptor is returned
as a non-negative integer.
Otherwise, a value of -1 is returned and
errno
is set to indicate the error.
ERRORS
dup()
fails if one or more of the following is true:
- EBADF
fildes
is not a valid open file descriptor.
- EMFILE
Request violates the maximum number of open file descriptors.
AUTHOR
dup()
was developed by AT&T and HP.
STANDARDS CONFORMANCE
dup(): AES, SVID2, SVID3, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1