Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
SOCKETPAIR(2)             OpenBSD Programmer's 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 ma-
                   chine.

     [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)

STANDARDS
     The socketpair() function conforms to X/Open Portability Guide Issue 4.2
     (``XPG4.2'').

HISTORY
     The socketpair() function call appeared in 4.2BSD.

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.

OpenBSD 3.4                      June 4, 1993                                1

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO | STANDARDS | HISTORY | BUGS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=socketpair&sektion=2&manpath=OpenBSD+3.4>

home | help