Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Apropos / Subsearch:
optional field

socketpair(2)							socketpair(2)

  socketpair - Creates a pair of connected sockets


  #include <sys/socket.h>
  int socketpair(
	  int domain,
	  int type,
	  int protocol,
	  int socket_vector[2] );


  Interfaces documented	on this	reference page conform to industry standards
  as follows:

  socketpair():	 XNS5.0

  Refer	to the standards(5) reference page for more information	about indus-
  try standards	and associated tags.


  domain    Specifies the communications domain	in which the sockets are
	    created. This function does	not create sockets in the Internet

  type	    Specifies the communications method	that sockets use, for example

  protocol  Specifies an optional identifier used to define the	communica-
	    tions protocols used in the	transport layer	interface.

	    Specifies a	two-integer array used to hold the file	descriptors
	    of the socket pair created with the	call to	this function.

  The socketpair() function creates an unnamed pair of connected sockets in a
  specified domain, of a specified type, under the protocol optionally speci-
  fied by the protocol parameter.  The two sockets are identical. The file
  descriptors used in referencing the created sockets are returned to
  socket_vector[0] and socket_vector[1]. The sys/socket.h include file con-
  tains	definitions for	socket domains,	types, and protocols.

  Not all protocol families support the	socketpair() function.


  Upon successful completion, this function returns a value of 0 (zero).
  Otherwise, -1	is returned and	errno is specified to indicate the error.


  If the socketpair() function fails, errno may	be set to one of the follow-
  ing values:

  [EACCES]  The	process	have not have appropriate privileges.

	    The	addresses in the specified address family cannot be used to
	    create this	socket pair.

  [EFAULT]  [Tru64 UNIX]  The socket_vector array is not located in a writ-
	    able part of user address space.

  [EMFILE]  The	current	process	has too	many open file descriptors.

  [ENFILE]  No more file descriptors are available for the system.

  [ENOBUFS] Insufficient resources were	available in the system	to complete
	    the	call.

  [ENOMEM]  The	system was unable to allocate kernel memory to increase	the
	    process descriptor table.

  [ENOSR]   The	available STREAMS resources were insufficient for the opera-
	    tion to complete.

	    The	specified protocol does	not permit creation of socket pairs.

	    The	specified protocol cannot be used in this system.

	    The	socket type is not supported by	the protocol.


  Functions: socket(2)

  Standards: standards(5)