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)

       socketpair - create a pair of connected sockets

       #include <sys/socket.h>

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

       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.

	      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.

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

       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:

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

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

	      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

       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-

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

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

       The socketpair() function shall fail if:


	      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.

	      The specified protocol does not permit creation of socket pairs.


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

	      The socket type is not supported by the protocol.

       The socketpair() function may fail if:

       EACCES The process does not have appropriate privileges.

	      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.


       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.



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

       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.