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[2]);


DESCRIPTION

       The  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.


RETURN VALUE

       On  success,  zero is returned.  On error, -1 is returned,
       and errno is set appropriately.


ERRORS

       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.

       EOPNOSUPPORT
              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.


CONFORMING TO

       4.4BSD (the socketpair function call appeared in  4.2BSD).
       Generally  portable  to/from  non-BSD  systems  supporting
       clones of the BSD socket layer (including System  V  vari­
       ants).


SEE ALSO

       read(2), write(2), pipe(2)