Commit | Line | Data |
---|---|---|
cb67878b TL |
1 | .TH DUP 2 |
2 | .SH NAME | |
3 | dup, dup2 \- duplicate an open file descriptor | |
4 | .SH SYNOPSIS | |
5 | .B dup(fildes) | |
6 | .br | |
7 | .B int fildes; | |
8 | .PP | |
9 | .B dup2(fildes, fildes2) | |
10 | .br | |
11 | .B int fildes, fildes2; | |
12 | .SH DESCRIPTION | |
13 | Given | |
14 | a file descriptor returned from | |
15 | an | |
16 | .I open, | |
17 | .I pipe, | |
18 | or | |
19 | .I creat | |
20 | call, | |
21 | .I dup | |
22 | allocates another file descriptor | |
23 | synonymous | |
24 | with | |
25 | the original. | |
26 | The new file descriptor is returned. | |
27 | .PP | |
28 | In the second form of the call, | |
29 | .I fildes | |
30 | is a file descriptor referring to an open file, and | |
31 | .I fildes2 | |
32 | is a non-negative integer less than the maximum value | |
33 | allowed for file descriptors (approximately 19). | |
34 | .I Dup2 | |
35 | causes | |
36 | .I fildes2 | |
37 | to refer to the same file as | |
38 | .I fildes. | |
39 | If | |
40 | .I fildes2 | |
41 | already referred to an open file, it is closed first. | |
42 | .SH "SEE ALSO" | |
43 | creat(2), open(2), close(2), pipe(2) | |
44 | .SH DIAGNOSTICS | |
45 | The value \-1 is returned if: | |
46 | the given file descriptor is invalid; | |
47 | there are already too many open files. | |
48 | .SH "ASSEMBLER (PDP-11)" | |
49 | (dup = 41.) | |
50 | .br | |
51 | (file descriptor in r0) | |
52 | .br | |
53 | (new file descriptor in r1) | |
54 | .br | |
55 | .B sys dup | |
56 | .br | |
57 | (file descriptor in r0) | |
58 | .PP | |
59 | The | |
60 | .I dup2 | |
61 | entry is implemented by adding 0100 to | |
62 | .I fildes. |