eCos Reference Manual
Prev | Chapter 38. TCP/IP Library Reference | Next

# socketpair

    SOCKETPAIR(2)                 System Calls 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
                            machine.

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

    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.

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

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

    BSD                              June 4, 1993                              BSD

Prev | Home | Next
socket | Up | FreeBSD TCP/IP Stack port for eCos