|
|
1.1 root 1: .th DUP II 8/5/73
2: .sh NAME
3: dup \*- duplicate an open file descriptor
4: .sh SYNOPSIS
5: (dup = 41.; not in assembler)
6: .br
7: (file descriptor in r0)
8: .br
9: .ft B
10: sys dup
11: .s3
12: dup(fildes)
13: .br
14: int fildes;
15: .ft R
16: .sh DESCRIPTION
17: Given
18: a file descriptor returned from
19: an
20: .it open,
21: .it pipe,
22: or
23: .it creat
24: call,
25: .it dup
26: will allocate another file descriptor
27: synonymous
28: with
29: the original.
30: The new file descriptor is returned in r0.
31: .s3
32: .it Dup
33: is used more to reassign the value
34: of file descriptors
35: than to genuinely
36: duplicate a file descriptor.
37: Since the algorithm to allocate
38: file descriptors
39: returns the
40: lowest available
41: value between 0 and 9,
42: combinations of
43: .it dup
44: and
45: .it close
46: can be
47: used to
48: manipulate file descriptors
49: in a general way.
50: This is handy for
51: manipulating standard input and/or
52: standard output.
53: .sh "SEE ALSO"
54: creat(II), open(II), close(II), pipe(II)
55: .sh DIAGNOSTICS
56: The
57: error bit (c-bit)
58: is set if:
59: the given file descriptor is invalid;
60: there are already 10 open files.
61: From C, a \*-1 returned value indicates an error.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.