socketpair —
create a pair of connected sockets
Standard C Library (libc, -lc)
#include
<sys/types.h>
#include
<sys/socket.h>
int
socketpair(
int
domain,
int type,
int protocol,
int
sv[2]);
The
socketpair() library call creates an unnamed
pair of connected sockets in the specified address family
domain, of the specified
type, that uses the optionally specified
protocol. The descriptors that are used in
referencing the new sockets are returned in
sv[0] and
sv[1]. The two sockets are indistinguishable.
socketpair() returns -1 on failure and 0 on
success.
The call succeeds unless:
-
-
- [
EAFNOSUPPORT
]
- The specified address family is not supported on this
machine.
-
-
- [
EMFILE
]
- Too many descriptors are in use by this process.
-
-
- [
ENOMEM
]
- There was insufficient user memory for the operation to
complete.
-
-
- [
ENOSR
]
- There were insufficient STREAMS resources for the operation
to complete.
-
-
- [
EOPNOTSUPP
]
- The specified protocol does not support creation of socket
pairs.
-
-
- [
EPROTONOSUPPORT
]
- The specified protocol is not supported on this
machine.
-
-
- [
EACCES
]
- The process does not have appropriate privileges.
Safe
pipe(2),
read(2),
write(2),
socket.h(3HEAD),
attributes(5)
This call is currently implemented only for the
AF_UNIX
address family.