socketpair() - create a pair of connected sockets
int socketpair(int af, int type, int protocol, int sv);
The socketpair() system call creates an unnamed pair of connected
sockets and returns two file descriptors in sv and sv. The two
sockets are indistinguishable. af specifies the address family. See
socket(2). type specifies the semantics of communication for the
socket. protocol specifies a particular protocol to be used.
protocol can be specified as zero, which causes the system to choose a
protocol type to use.
socketpair() returns the following values:
0 Successful completion.
-1 Failure. errno is set to indicate the error.
If socketpair() fails, errno is set to one of the following values.
[EAFNOSUPPORT] The specified address family is not supported
in this version of the system.
[EFAULT] The sv parameter is not valid.
[EMFILE] The per-process file descriptor table is
[ENFILE] The system file table is temporarily full.
[ENOBUFS] No buffer space is available for the
operation to complete.
[EOPNOTSUPP] The specified protocol does not support
creation of socket pairs.
[EPROTONOSUPPORT] The specified protocol is not supported in
this version of the system.
socketpair() is supported only for AF_UNIX.
Currently, the default behavior is the HP-UX BSD Sockets; however, it
might be changed to X/Open Sockets in a future release. At that time,
Hewlett-Packard Company - 1 - HP-UX Release 11i: November 2000
any HP-UX BSD Sockets behavior that is incompatible with X/Open
Sockets might be obsoleted. Applications that conform to the X/Open
specification now will avoid migration problems (see
The socketpair() system call is thread-safe. It has a cancellation
point; and it is async-cancel safe, async-signal safe, and fork-safe.
socketpair() was developed by HP and the University of California,
read(2), socket(2), write(2), xopen_networking(7).
Hewlett-Packard Company - 2 - HP-UX Release 11i: November 2000