DUP(2-POSIX) RISC/os Reference Manual DUP(2-POSIX)
NAME
dup, dup2 - duplicate an open file descriptor
SYNOPSIS
int dup(fildes)
int fildes;
int dup2(fildes, fildes2)
int fildes, fildes2;
DESCRIPTION
fildes is a file descriptor obtained from a creat, open,
fcntl, or pipe system call.
dup returns a new file descriptor which refers to the same
open file description as fildes, and shares any locks. The
file descriptor returned is the lowest one available.
dup2 forces fildes2 to access the same open file description
as fildes. If fildes2 already references an open file
description, the file associated with fildes2 is closed,
unless fildes2 equals fildes. If fildes is not a valid file
descriptor, dup2 fails and does not close fildes2.
The new file descriptor returned by dup and dup2 is set to
remain open across exec system calls [see fcntl(2)].
ERRORS
dup and dup2 will fail if one or more of the following are
true:
[EBADF] fildes or fildes2 is not a valid open
file descriptor, or fildes2 is negative
or greater than or equal to {OPEN_MAX}.
[EINTR] A signal was caught during the dup2 sys-
tem call.
[EMFILE] The number of open file descriptors
would exceed {OPEN_MAX}.
SEE ALSO
close(2), creat(2), exec(2), fcntl(2), open(2), pipe(2).
DIAGNOSTICS
Upon successful completion a non-negative integer, namely
the file descriptor, is returned. Otherwise, a value of -1
is returned and errno is set to indicate the error.
Printed 1/15/91 Page 1