- NetBSD Manual Pages
SOCKETPAIR(2) NetBSD System Calls Manual SOCKETPAIR(2)
Powered by man-cgi (2021-06-01).
Maintained for NetBSD
by Kimmo Suominen.
Based on man-cgi by Panagiotis Christias.
socketpair -- create a pair of connected sockets
Standard C Library (libc, -lc)
socketpair(int d, int type, int protocol, int *sv);
The socketpair() call creates an unnamed pair of connected sockets in the
specified domain d, of the specified type, and using the optionally spec-
ified protocol. The descriptors used in referencing the new sockets are
returned in sv and sv. The two sockets are indistinguishable.
A 0 is returned if the call succeeds, -1 if it fails.
The call succeeds unless:
[EMFILE] Too many descriptors are in use by this process.
[ENFILE] The system file table is full.
[EAFNOSUPPORT] The specified address family is not supported on this
[EPROTONOSUPPORT] The specified protocol is not supported on this
[EOPNOTSUPP] The specified protocol does not support creation of
[EFAULT] The address sv does not specify a valid part of the
process address space.
pipe(2), read(2), write(2)
The socketpair() function call appeared in 4.2BSD.
This call is currently implemented only for the LOCAL domain. Many oper-
ating systems only accept a protocol of PF_UNSPEC, so that should be used
instead of PF_LOCAL for maximal portability.
NetBSD 4.0 August 18, 2002 NetBSD 4.0