Creates a pair of connected sockets.
#include <sys/socket.h>
int socketpair (Domain, Type, Protocol, SocketVector[0])
int Domain, Type, Protocol;
int SocketVector[2];
The socketpair subroutine creates an unnamed pair of connected sockets in a specified domain, of a specified type, and using the optionally specified protocol. The two sockets are identical.
Note: Create sockets with this subroutine only in the AF_UNIX protocol family.
The descriptors used in referencing the new sockets are returned in the SocketVector[0] and SocketVector[1] parameters.
The /usr/include/sys/socket.h file contains the definitions for socket domains, types, and protocols.
Domain | Specifies the communications domain within which the sockets are created. This subroutine does not create sockets in the Internet domain. |
Type | Specifies the communications method, whether SOCK_DGRAM or SOCK_STREAM, that the socket uses. |
Protocol | Points to an optional identifier used to specify which standard set of rules (such as UDP/IP and TCP/IP) governs the transfer of data. |
SocketVector | Points to a two-element vector that contains the integer descriptors of a pair of created sockets. |
Upon successful completion, the socketpair subroutine returns a value of 0.
If the socketpair subroutine is unsuccessful, the subroutine handler performs the following functions:
If the socketpair
subroutine is unsuccessful, it returns one of the following errors
codes:
The socketpair subroutine is part of Base Operating System (BOS) Runtime.
All applications containing the socketpair subroutine must be compiled with _BSD set to a value of 43 or 44. Socket applications must include the BSD libbsd.a library.
The socket subroutine.
Socketpair Communication Example Program, Sockets Overview, and Understanding Socket Creation in AIX 5L Version 5.1 Communications Programming Concepts.