NAME
socketpair
- create a pair of connected sockets
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
int
socketpair(
int d
, int type
, int protocol
, int *sv
)
DESCRIPTION
The
socketpair(
)
call creates an unnamed pair of connected sockets in
the specified domain
d
,
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 indistinguishable.
RETURN VALUES
A 0 is returned if the call succeeds, -1 if it fails.
ERRORS
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 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),
write(2)
HISTORY
The
socketpair(
)
function call appeared in
4.2BSD.
BUGS
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.