|
|
1.1 root 1: .TH DUP 2 "12 February 1983"
2: .UC 4
3: .SH NAME
4: dup, dup2 \- duplicate a descriptor
5: .SH SYNOPSIS
6: .nf
7: .ft B
8: newd = dup(oldd)
9: int newd, oldd;
10: .PP
11: .ft B
12: dup2(oldd, newd)
13: int oldd, newd;
14: .fi
15: .SH DESCRIPTION
16: .I Dup
17: duplicates an existing object descriptor.
18: The argument \fIoldd\fP is a small non-negative integer index in
19: the per-process descriptor table. The value must be less
20: than the size of the table, which is returned by
21: .IR getdtablesize (2).
22: The new descriptor
23: .I newd
24: returned by the call is the lowest numbered descriptor which is
25: not currently in use by the process.
26: .PP
27: The object referenced by the descriptor does not distinguish
28: between references using \fIoldd\fP and \fInewd\fP in any way.
29: Thus if \fInewd\fP and \fIoldd\fP are duplicate references to an open
30: file,
31: .IR read (2),
32: .IR write (2)
33: and
34: .IR lseek (2)
35: calls all move a single pointer into the file.
36: If a separate pointer into the file is desired, a different
37: object reference to the file must be obtained by issuing an
38: additional
39: .IR open (2)
40: call.
41: .PP
42: In the second form of the call, the value of
43: .IR newd
44: desired is specified. If this descriptor is already
45: in use, the descriptor is first deallocated as if a
46: .IR close (2)
47: call had been done first.
48: .SH "RETURN VALUE
49: The value \-1 is returned if an error occurs in either call.
50: The external variable
51: .I errno
52: indicates the cause of the error.
53: .SH "ERRORS
54: .I Dup
55: and
56: .I dup2
57: fail if:
58: .TP 15
59: [EBADF]
60: \fIOldd\fP or
61: \fInewd\fP is not a valid active descriptor
62: .TP 15
63: [EMFILE]
64: Too many descriptors are active.
65: .SH "SEE ALSO"
66: accept(2),
67: open(2),
68: close(2),
69: pipe(2),
70: socket(2),
71: socketpair(2),
72: getdtablesize(2)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.