dup(2) dup(2)
NAME [Toc] [Back]
dup - duplicate an open file descriptor
SYNOPSIS [Toc] [Back]
#include <unistd.h>
int dup(int fildes);
DESCRIPTION [Toc] [Back]
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 [Toc] [Back]
Upon successful completion, the file descriptor is returned as a nonnegative
integer. Otherwise, a value of -1 is returned and errno is
set to indicate the error.
ERRORS [Toc] [Back]
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 [Toc] [Back]
dup() was developed by AT&T and HP.
SEE ALSO [Toc] [Back]
close(2), creat(2), dup2(2), exec(2), fcntl(2), open(2), pipe(2).
STANDARDS CONFORMANCE [Toc] [Back]
dup(): AES, SVID2, SVID3, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1
Hewlett-Packard Company - 1 - HP-UX 11i Version 2: August 2003 [ Back ] |