2004-04-10 18:53:55 +00:00
|
|
|
.TH DUP 3
|
|
|
|
.SH NAME
|
|
|
|
dup \- duplicate an open file descriptor
|
|
|
|
.SH SYNOPSIS
|
|
|
|
.B #include <u.h>
|
|
|
|
.br
|
|
|
|
.B #include <libc.h>
|
|
|
|
.PP
|
|
|
|
.B
|
|
|
|
int dup(int oldfd, int newfd)
|
|
|
|
.SH DESCRIPTION
|
|
|
|
Given a file descriptor,
|
|
|
|
.IR oldfd ,
|
|
|
|
referring to an open file,
|
|
|
|
.I dup
|
|
|
|
returns a new file descriptor referring to the same file.
|
|
|
|
.PP
|
|
|
|
If
|
|
|
|
.I newfd
|
|
|
|
is \-1 the system chooses the lowest available file descriptor.
|
|
|
|
Otherwise,
|
|
|
|
.I dup
|
|
|
|
will use
|
|
|
|
.I newfd
|
|
|
|
for the new file descriptor
|
|
|
|
(closing any old file associated with
|
|
|
|
.IR newfd ).
|
|
|
|
File descriptors are allocated dynamically,
|
|
|
|
so to prevent unwarranted growth of the file descriptor table,
|
|
|
|
.I dup
|
|
|
|
requires that
|
|
|
|
.I newfd
|
|
|
|
be no greater than 20 more than the highest file descriptor ever used by
|
|
|
|
the program.
|
|
|
|
.SH SOURCE
|
2004-04-19 19:22:56 +00:00
|
|
|
.B /usr/local/plan9/src/libc/9syscall
|
2004-04-10 18:53:55 +00:00
|
|
|
.SH SEE ALSO
|
2004-04-11 03:42:27 +00:00
|
|
|
.IR intro (3),
|
2004-04-10 18:53:55 +00:00
|
|
|
.IR dup (3)
|
|
|
|
.SH DIAGNOSTICS
|
|
|
|
Sets
|
|
|
|
.IR errstr .
|