DUP3(3) | FreeBSD Library Functions Manual | DUP3(3) |
NAME
dup3 — duplicate an existing file descriptorLIBRARY
Standard C Library (libc, -lc)DESCRIPTION
The dup3() function duplicates an existing object descriptor while allowing the value of the new descriptor to be specified.The close-on-exec flag on the new file descriptor is determined by the O_CLOEXEC bit in flags.
If oldd ≠ newd and flags == 0, the behavior is identical to dup2(oldd, newd)
.
If oldd == newd, then dup3() fails, unlike dup2(2).
RETURN VALUES
The value -1 is returned if an error occurs. The external variable errno indicates the cause of the error.ERRORS
The dup3() function fails if:- [ EBADF]
- The oldd argument is not a valid active descriptor or the newd argument is negative or exceeds the maximum allowable descriptor number
- [ EINVAL]
- The oldd argument is equal to the newd argument.
- [ EINVAL]
- The flags argument has bits set other than O_CLOEXEC.
SEE ALSO
accept(2), close(2), dup2(2), fcntl(2), getdtablesize(2), open(2), pipe(2), socket(2), socketpair(2)STANDARDS
The dup3() function does not conform to any standard.HISTORY
The dup3() function appeared in FreeBSD 10.0.August 16, 2013 | FreeBSD |