2004-11-03 13:51:07 +00:00
|
|
|
.\" Copyright (c) 1983, 1991 The Regents of the University of California.
|
|
|
|
.\" All rights reserved.
|
|
|
|
.\"
|
|
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
|
|
.\" modification, are permitted provided that the following conditions
|
|
|
|
.\" are met:
|
|
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
|
|
.\" 3. All advertising materials mentioning features or use of this software
|
|
|
|
.\" must display the following acknowledgement:
|
|
|
|
.\" This product includes software developed by the University of
|
|
|
|
.\" California, Berkeley and its contributors.
|
|
|
|
.\" 4. Neither the name of the University nor the names of its contributors
|
|
|
|
.\" may be used to endorse or promote products derived from this software
|
|
|
|
.\" without specific prior written permission.
|
|
|
|
.\"
|
|
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
|
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
|
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
|
|
.\" SUCH DAMAGE.
|
|
|
|
.\"
|
|
|
|
.\" @(#)socketpair.2 6.4 (Berkeley) 3/10/91
|
|
|
|
.\"
|
|
|
|
.\" Modified 1993-07-24 by Rik Faith <faith@cs.unc.edu>
|
|
|
|
.\" Modified 1996-10-22 by Eric S. Raymond <esr@thyrsus.com>
|
2004-11-03 14:43:40 +00:00
|
|
|
.\" Modified 2002-07-22 by Michael Kerrisk <mtk-manpages@gmx.net>
|
|
|
|
.\" Modified 2004-06-17 by Michael Kerrisk <mtk-manpages@gmx.net>
|
2004-11-03 13:51:07 +00:00
|
|
|
.\"
|
|
|
|
.TH SOCKETPAIR 2 2004-06-17 "Linux 2.6.7" "Linux Programmer's Manual"
|
|
|
|
.SH NAME
|
|
|
|
socketpair \- create a pair of connected sockets
|
|
|
|
.SH SYNOPSIS
|
|
|
|
.B #include <sys/types.h>
|
|
|
|
.br
|
|
|
|
.B #include <sys/socket.h>
|
|
|
|
.sp
|
|
|
|
.BI "int socketpair(int " d ", int " type ", int " protocol ", int " sv [2]);
|
|
|
|
.SH DESCRIPTION
|
|
|
|
The
|
2005-11-02 11:34:24 +00:00
|
|
|
.BR socketpair ()
|
2004-11-03 13:51:07 +00:00
|
|
|
call creates an unnamed pair of connected sockets in
|
|
|
|
the specified domain
|
|
|
|
.IR d ,
|
|
|
|
of the specified
|
|
|
|
.IR type ,
|
|
|
|
and using the optionally specified
|
|
|
|
.IR protocol .
|
|
|
|
The descriptors used in referencing the new sockets are returned in
|
|
|
|
.IR sv [0]
|
|
|
|
and
|
|
|
|
.IR sv [1].
|
|
|
|
The two sockets are indistinguishable.
|
|
|
|
.SH "RETURN VALUE"
|
|
|
|
On success, zero is returned. On error, \-1 is returned, and
|
|
|
|
.I errno
|
|
|
|
is set appropriately.
|
|
|
|
.SH ERRORS
|
|
|
|
.TP
|
|
|
|
.B EAFNOSUPPORT
|
|
|
|
The specified address family is not supported on this machine.
|
|
|
|
.TP
|
|
|
|
.B EFAULT
|
|
|
|
The address
|
|
|
|
.I sv
|
|
|
|
does not specify a valid part of the process address space.
|
|
|
|
.TP
|
|
|
|
.B EMFILE
|
|
|
|
Too many descriptors are in use by this process.
|
|
|
|
.TP
|
|
|
|
.B ENFILE
|
|
|
|
The system limit on the total number of open files has been reached.
|
|
|
|
.TP
|
|
|
|
.B EOPNOTSUPP
|
|
|
|
The specified protocol does not support creation of socket pairs.
|
|
|
|
.TP
|
|
|
|
.B EPROTONOSUPPORT
|
|
|
|
The specified protocol is not supported on this machine.
|
|
|
|
.SH "CONFORMING TO"
|
2006-08-03 13:57:17 +00:00
|
|
|
4.4BSD, POSIX.1-2001.
|
2004-11-03 13:51:07 +00:00
|
|
|
The
|
2005-10-19 06:54:38 +00:00
|
|
|
.BR socketpair ()
|
2004-11-03 13:51:07 +00:00
|
|
|
function call appeared in 4.2BSD. It is generally portable to/from
|
|
|
|
non-BSD systems supporting clones of the BSD socket layer (including
|
|
|
|
System V variants).
|
|
|
|
.SH NOTES
|
|
|
|
On Linux, the only supported domain for this call is
|
|
|
|
.BR AF_UNIX
|
|
|
|
(or synonymously,
|
|
|
|
.BR AF_LOCAL ).
|
|
|
|
(Most implementations have the same restriction.)
|
|
|
|
.SH "SEE ALSO"
|
|
|
|
.BR pipe (2),
|
|
|
|
.BR read (2),
|
|
|
|
.BR socket (2),
|
|
|
|
.BR write (2),
|
|
|
|
.BR unix (7)
|