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 sockets
     in the specified communications domain, of the specified  type,  and  using
     the optionally specified protocol.  The descriptors used in referencing the
     new sockets are returned in sv[0] and sv[1].  The two sockets are indistin-
     guishable.

     The SOCK_CLOEXEC, SOCK_CLOFORK 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  indicate  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 machine.

     [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 ports 15.quarterly	  May 17, 2025			   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+15.1-RELEASE+and+Ports.quarterly>

home | help