create a pair of connected sockets
d, int type,
() call creates an unnamed pair of
connected sockets in the specified domain d
, of the
, and using the optionally specified
. The descriptors used in referencing the new
sockets are returned in sv
. The two sockets are indistinguishable.
A 0 is returned if the call succeeds, -1 if it fails.
The call succeeds unless:
- The specified address family is not supported on this machine.
- The specified protocol is not supported on this machine.
- The specified protocol does not support creation of socket pairs.
- The combination of the specified protocol and type is not supported.
- The per-process descriptor table is full.
- The system file table is full.
- Insufficient resources were available in the system to perform the
- The address sv does not specify a valid part of the
process address space.
socketpair() function conforms to
IEEE Std 1003.1-2008 (“POSIX.1”).
socketpair() function call appeared in
This call is currently implemented only for the LOCAL domain. Many operating
systems only accept a protocol of
PF_UNSPEC, so that should be used instead of
PF_LOCAL for maximal portability.