SOCKETPAIR(2) System Calls Manual SOCKETPAIR(2) NAME socketpair - create a pair of connected sockets SYNOPSIS #include <sys/types.h> #include <sys/socket.h> 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 spec- ified 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. [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. [ENFILE] The system file table is full. SEE ALSO pipe(2), read(2), write(2) BUGS This call is currently implemented only for the LOCAL domain. Many oper- ating systems only accept a protocol of PF_UNSPEC, so that should be used instead of PF_LOCAL for maximal portability. STANDARDS The socketpair() function conforms to X/Open Portability Guide Issue 4.2 (``XPG4.2''). HISTORY The socketpair() function call appeared in 4.2BSD. BSD June 4, 1993 BSD |