SOCKETPAIR(3SOCKET)       Sockets Library Functions      SOCKETPAIR(3SOCKET)
NAME
       socketpair - create a pair of connected sockets
SYNOPSIS
       cc [ 
flag ... ] 
file ... 
-lsocket  -lnsl  [ 
library ... ]
       #include <sys/types.h>
       #include <sys/socket.h>       
int socketpair(
int domain, 
int type, 
int protocol, 
int sv[2]);
DESCRIPTION
       The 
socketpair() library call creates an unnamed pair of connected
       sockets in the specified address family 
domain, of the specified       
type, that uses the optionally specified 
protocol. The descriptors
       that are used in referencing the new sockets are returned in 
sv[0]
       and 
sv[1]. The two sockets are indistinguishable.
       The 
type arguments supports the various flags that modify the
       returned socket's behavior that are discussed in 
socket(3SOCKET):       
SOCK_CLOEXEC, 
SOCK_CLOFORK, 
SOCK_NDELAY, and 
SOCK_NONBLOCK.
RETURN VALUES
       socketpair() returns 
-1 on failure and 
0 on success.
ERRORS
       The call succeeds unless:       
EAFNOSUPPORT                          The specified address family is not supported on
                          this machine.       
EMFILE                          Too many descriptors are in use by this process.       
ENOMEM                          There was insufficient user memory for the
                          operation to complete.       
ENOSR                          There were insufficient 
STREAMS resources for the
                          operation to complete.       
EOPNOTSUPP                          The specified protocol does not support creation
                          of socket pairs.       
EPROTONOSUPPORT                          The specified protocol is not supported on this
                          machine.       
EACCES                          The process does not have appropriate privileges.
ATTRIBUTES
       See 
attributes(7) for descriptions of the following attributes:
       +---------------+-----------------+
       |ATTRIBUTE TYPE | ATTRIBUTE VALUE |
       +---------------+-----------------+
       |MT-Level       | Safe            |
       +---------------+-----------------+
SEE ALSO
       pipe(2), 
read(2), 
write(2), 
socket.h(3HEAD), 
attributes(7)NOTES
       This call is currently implemented only for the 
AF_UNIX address
       family.
                                June 21, 2024            SOCKETPAIR(3SOCKET)