unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

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



socketpair(2)							socketpair(2)



NAME
  socketpair - Creates a pair of connected sockets

SYNOPSIS

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

STANDARDS

  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.

PARAMETERS

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

  type	    Specifies the communications method	that sockets use, for example
	    SOCK_DGRAM or SOCK_STREAM.

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

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

DESCRIPTION
  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.

RETURN VALUES

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

ERRORS

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

  [EACCES]  The	process	have not have appropriate privileges.

  [EAFNOSUPPORT]
	    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.

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

  [EPROTONOSUPPORT]
	    The	specified protocol cannot be used in this system.

  [EPROTOTYPE]
	    The	socket type is not supported by	the protocol.

RELATED	INFORMATION

  Functions: socket(2)

  Standards: standards(5)