Unix/Linux Go Back    


Linux 2.6 - man page for socketpair (linux section 3posix)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


SOCKETPAIR(P)			    POSIX Programmer's Manual			    SOCKETPAIR(P)

NAME
       socketpair - create a pair of connected sockets

SYNOPSIS
       #include <sys/socket.h>

       int socketpair(int domain, int type, int protocol,
	      int socket_vector[2]);

DESCRIPTION
       The socketpair() function shall create an unbound pair of connected sockets in a specified
       domain, of a specified type, under the protocol optionally specified by the protocol argu-
       ment.  The  two	sockets  shall be identical. The file descriptors used in referencing the
       created sockets shall be returned in socket_vector[0] and socket_vector[1].

       The socketpair() function takes the following arguments:

       domain Specifies the communications domain in which the sockets are to be created.

       type   Specifies the type of sockets to be created.

       protocol
	      Specifies a particular protocol to be used with the sockets. Specifying a  protocol
	      of 0 causes socketpair() to use an unspecified default protocol appropriate for the
	      requested socket type.

       socket_vector
	      Specifies a 2-integer array to hold the file  descriptors  of  the  created  socket
	      pair.

       The  type argument specifies the socket type, which determines the semantics of communica-
       tions over the socket. The following socket types are defined; implementations may specify
       additional socket types:

       SOCK_STREAM
	      Provides	sequenced, reliable, bidirectional, connection-mode byte streams, and may
	      provide a transmission mechanism for out-of-band data.

       SOCK_DGRAM
	      Provides datagrams, which are connectionless-mode,  unreliable  messages	of  fixed
	      maximum length.

       SOCK_SEQPACKET
	      Provides sequenced, reliable, bidirectional, connection-mode transmission paths for
	      records. A record can be sent using one or  more	output	operations  and  received
	      using  one or more input operations, but a single operation never transfers part of
	      more than one record. Record boundaries are visible to the receiver via the MSG_EOR
	      flag.

       If the protocol argument is non-zero, it shall specify a protocol that is supported by the
       address family. If the protocol argument is zero, the default protocol  for  this  address
       family  and  type shall be used. The protocols supported by the system are implementation-
       defined.

       The process may need to have appropriate privileges to use the socketpair() function or to
       create some sockets.

RETURN VALUE
       Upon  successful completion, this function shall return 0; otherwise, -1 shall be returned
       and errno set to indicate the error.

ERRORS
       The socketpair() function shall fail if:

       EAFNOSUPPORT

	      The implementation does not support the specified address family.

       EMFILE No more file descriptors are available for this process.

       ENFILE No more file descriptors are available for the system.

       EOPNOTSUPP
	      The specified protocol does not permit creation of socket pairs.

       EPROTONOSUPPORT

	      The protocol is not supported by the address family, or the protocol  is	not  sup-
	      ported by the implementation.

       EPROTOTYPE
	      The socket type is not supported by the protocol.

       The socketpair() function may fail if:

       EACCES The process does not have appropriate privileges.

       ENOBUFS
	      Insufficient resources were available in the system to perform the operation.

       ENOMEM Insufficient memory was available to fulfill the request.

       The following sections are informative.

EXAMPLES
       None.

APPLICATION USAGE
       The  documentation  for	specific  address families specifies which protocols each address
       family supports. The documentation for specific protocols  specifies  which  socket  types
       each protocol supports.

       The  socketpair() function is used primarily with UNIX domain sockets and need not be sup-
       ported for other domains.

RATIONALE
       None.

FUTURE DIRECTIONS
       None.

SEE ALSO
       socket() , the Base Definitions volume of IEEE Std 1003.1-2001, <sys/socket.h>

COPYRIGHT
       Portions of this text are reprinted and	reproduced  in	electronic  form  from	IEEE  Std
       1003.1,	2003  Edition,	Standard  for Information Technology -- Portable Operating System
       Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2003  by
       the  Institute  of  Electrical  and  Electronics Engineers, Inc and The Open Group. In the
       event of any discrepancy between this version and the original IEEE  and  The  Open  Group
       Standard, the original IEEE and The Open Group Standard is the referee document. The orig-
       inal Standard can be obtained online at http://www.opengroup.org/unix/online.html .

IEEE/The Open Group			       2003				    SOCKETPAIR(P)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums


All times are GMT -4. The time now is 10:43 AM.