GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
DUP3(3) FreeBSD Library Functions Manual DUP3(3)

dup3
duplicate an existing file descriptor

Standard C Library (libc, -lc)

#include <fcntl.h>
#include <unistd.h>

int
dup3(int oldd, int newd, int flags);

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 olddnewd and flags == 0, the behavior is identical to dup2(oldd, newd).

If oldd == newd, then dup3() fails, unlike dup2(2).

The value -1 is returned if an error occurs. The external variable errno indicates the cause of the error.

The dup3() function fails if:
[]
The oldd argument is not a valid active descriptor or the newd argument is negative or exceeds the maximum allowable descriptor number
[]
The oldd argument is equal to the newd argument.
[]
The flags argument has bits set other than O_CLOEXEC.

accept(2), close(2), dup2(2), fcntl(2), getdtablesize(2), open(2), pipe(2), socket(2), socketpair(2)

The dup3() function does not conform to any standard.

The dup3() function appeared in FreeBSD 10.0.
August 16, 2013 FreeBSD 13.1-RELEASE

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.