Manual Section... (2) - page: socketpair

NAME

SYNOPSIS

DESCRIPTION

The
socketpair()
call creates an unnamed pair of connected sockets in the specified
domain,
of the specified
type,
and using the optionally specified
protocol.
For further details of these arguments, see
socket(2).

The descriptors used in referencing the new sockets are returned in
sv[0]
and
sv[1].
The two sockets are indistinguishable.

RETURN VALUE

On success, zero is returned.
On error, -1 is returned, and
errno
is set appropriately.

ERRORS

EAFNOSUPPORT

The specified address family is not supported on this machine.

EFAULT

The address
sv
does not specify a valid part of the process address space.

CONFORMING TO

NOTES

On Linux, the only supported domain for this call is
AF_UNIX
(or synonymously,
AF_LOCAL).
(Most implementations have the same restriction.)

Since Linux 2.6.27,
socketpair()
supports the
SOCK_NONBLOCK
and
SOCK_CLOEXEC
flags described in
socket(2).

POSIX.1-2001 does not require the inclusion of
<sys/types.h>,
and this header file is not required on Linux.
However, some historical (BSD) implementations required this header
file, and portable applications are probably wise to include it.