Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
DUP3(3)			    Library Functions Manual		       DUP3(3)

NAME
       dup3 -- duplicate an existing file descriptor

LIBRARY
       Standard	C Library (libc, -lc)

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

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

DESCRIPTION
       The  dup3() function duplicates an existing object descriptor while al-
       lowing 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 max-
			  imum 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.

FreeBSD	14.3			August 16, 2013			       DUP3(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=dup3&sektion=3&manpath=FreeBSD+14.3-RELEASE+and+Ports>

home | help