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

FreeBSD Manual Pages

  
 
  

home | help
SOCKETPAIR(2)		      System Calls Manual		 SOCKETPAIR(2)

NAME
       socketpair -- create a pair of connected	sockets

LIBRARY
       Standard	C Library (libc, -lc)

SYNOPSIS
       #include	<sys/types.h>
       #include	<sys/socket.h>

       int
       socketpair(int domain, int type,	int protocol, int *sv);

DESCRIPTION
       The socketpair()	system call creates an unnamed pair of connected sock-
       ets  in the specified communications domain, of the specified type, and
       using the optionally specified protocol.	 The descriptors used in  ref-
       erencing	 the  new  sockets  are	 returned in sv[0] and sv[1].  The two
       sockets are indistinguishable.

       The SOCK_CLOEXEC	and SOCK_NONBLOCK flags	in the type argument apply  to
       both descriptors.

RETURN VALUES
       The  socketpair() function returns the value 0 if successful; otherwise
       the value -1 is returned	and the	global variable	errno is set to	 indi-
       cate the	error.

ERRORS
       The call	succeeds unless:

       [EMFILE]		  Too many descriptors are in use by this process.

       [EAFNOSUPPORT]	  The  specified  address  family  is not supported on
			  this machine.

       [EPROTONOSUPPORT]  The specified	protocol is not	supported on this  ma-
			  chine.

       [EOPNOTSUPP]	  The  specified protocol does not support creation of
			  socket pairs.

       [EFAULT]		  The address sv does not specify a valid part of  the
			  process address space.

SEE ALSO
       pipe(2),	read(2), socket(2), write(2)

STANDARDS
       The   socketpair()   system  call  conforms  to	IEEE  Std  1003.1-2001
       ("POSIX.1") and IEEE Std	1003.1-2008 ("POSIX.1").

HISTORY
       The socketpair()	system call appeared in	4.2BSD.

BUGS
       This call is currently implemented only for the Unix domain.

FreeBSD	14.3		       February	10, 2018		 SOCKETPAIR(2)

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

home | help