xref: /original-bsd/lib/libc/sys/socketpair.2 (revision b21da0a0)
Copyright (c) 1983 The Regents of the University of California.
All rights reserved.

%sccs.include.redist.man%

@(#)socketpair.2 6.3 (Berkeley) 06/23/90

SOCKETPAIR 2 ""
C 5
NAME
socketpair - create a pair of connected sockets
SYNOPSIS
#include <sys/types.h>
#include <sys/socket.h>

socketpair(d, type, protocol, sv) int d, type, protocol; int sv[2];

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.
DIAGNOSTICS
A 0 is returned if the call succeeds, -1 if it fails.
ERRORS
The call succeeds unless:

20 [EMFILE] Too many descriptors are in use by this process.

20 [EAFNOSUPPORT] The specified address family is not supported on this machine.

20 [EPROTONOSUPPORT] The specified protocol is not supported on this machine.

20 [EOPNOSUPPORT] The specified protocol does not support creation of socket pairs.

20 [EFAULT] The address sv does not specify a valid part of the process address space.

"SEE ALSO"
read(2), write(2), pipe(2)
BUGS
This call is currently implemented only for the UNIX domain.