add directory Minix
This commit is contained in:
118
Minix/CD-ROM-2.0/MINIX/MANUALS/CAT2/DUP.2
Normal file
118
Minix/CD-ROM-2.0/MINIX/MANUALS/CAT2/DUP.2
Normal file
@@ -0,0 +1,118 @@
|
||||
|
||||
|
||||
DUP(2) Minix Programmer's Manual DUP(2)
|
||||
|
||||
|
||||
NAME
|
||||
dup, dup2 - duplicate a descriptor
|
||||
|
||||
SYNOPSIS
|
||||
#include <unistd.h>
|
||||
|
||||
int dup(int oldd)
|
||||
int dup2(int oldd, int newd)
|
||||
|
||||
DESCRIPTION
|
||||
Dup duplicates an existing descriptor. The argument oldd is a small non-
|
||||
negative integer index in the per-process descriptor table. The value
|
||||
must be less than OPEN_MAX, the size of the table. The new descriptor
|
||||
returned by the call, let's name it newd, is the lowest numbered
|
||||
descriptor that is not currently in use by the process.
|
||||
|
||||
The object referenced by the descriptor does not distinguish between
|
||||
references using oldd and newd in any way. Thus if newd and oldd are
|
||||
duplicate references to an open file, read(2), write(2) and lseek(2)
|
||||
calls all move a single pointer into the file, and append mode, non-
|
||||
blocking I/O and asynchronous I/O options are shared between the
|
||||
references. If a separate pointer into the file is desired, a different
|
||||
object reference to the file must be obtained by issuing an additional
|
||||
open(2) call. The close-on-exec flag on the new file descriptor is
|
||||
unset.
|
||||
|
||||
In the second form of the call, the value of newd desired is specified.
|
||||
If this descriptor is already in use, the descriptor is first deallocated
|
||||
as if a close(2) call had been done first. Newd is not closed if it
|
||||
equals oldd.
|
||||
|
||||
RETURN VALUE
|
||||
The value -1 is returned if an error occurs in either call. The external
|
||||
variable errno indicates the cause of the error.
|
||||
|
||||
ERRORS
|
||||
Dup and dup2 fail if:
|
||||
|
||||
[EBADF] Oldd or newd is not a valid active descriptor
|
||||
|
||||
[EMFILE] Too many descriptors are active.
|
||||
|
||||
NOTES
|
||||
Dup and dup2 are now implemented using the F_DUPFD function of fcntl(2),
|
||||
although the old system call interfaces still exist to support old
|
||||
programs.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
4BSD May 13, 1986 1
|
||||
|
||||
|
||||
|
||||
DUP(2) Minix Programmer's Manual DUP(2)
|
||||
|
||||
|
||||
SEE ALSO
|
||||
open(2), close(2), fcntl(2), pipe(2).
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
4BSD May 13, 1986 2
|
||||
|
||||
Reference in New Issue
Block a user