SOCKETPAIR(3XNET) | X/Open Networking Services Library Functions | SOCKETPAIR(3XNET) |
socketpair - create a pair of connected sockets
cc [ flag ... ] file ... -lxnet [ library ... ] #include <sys/socket.h> int socketpair(int domain, int type, int protocol, int socket_vector[2]);
The socketpair() function creates an unbound pair of connected sockets in a specified domain, of a specified type, under the protocol optionally specified by the protocol argument. The two sockets are identical. The file descriptors used in referencing the created sockets are returned in socket_vector0 and socket_vector1.
The type argument specifies the socket type, which determines the semantics of communications over the socket. The socket types supported by the system are implementation-dependent. Possible socket types include:
SOCK_STREAM
SOCK_DGRAM
SOCK_SEQPACKET
If the protocol argument is non-zero, it must specify a protocol that is supported by the address family. The protocols supported by the system are implementation-dependent.
The process may need to have appropriate privileges to use the socketpair() function or to create some sockets.
domain
type
protocol
socket_vector
The documentation for specific address families specifies which protocols each address family supports. The documentation for specific protocols specifies which socket types each protocol supports.
The socketpair() function is used primarily with UNIX domain sockets and need not be supported for other domains.
Upon successful completion, this function returns 0. Otherwise, −1 is returned and errno is set to indicate the error.
The socketpair() function will fail if:
EAFNOSUPPORT
EMFILE
ENFILE
EOPNOTSUPP
EPROTONOSUPPORT
EPROTOTYPE
The socketpair() function may fail if:
EACCES
ENOBUFS
ENOMEM
ENOSR
See attributes(7) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Interface Stability | Standard |
MT-Level | MT-Safe |
June 10, 2002 | OmniOS |