|
|
1.1 root 1: .\" Copyright (c) 1983 The Regents of the University of California.
2: .\" All rights reserved.
3: .\"
4: .\" Redistribution and use in source and binary forms are permitted provided
5: .\" that: (1) source distributions retain this entire copyright notice and
6: .\" comment, and (2) distributions including binaries display the following
7: .\" acknowledgement: ``This product includes software developed by the
8: .\" University of California, Berkeley and its contributors'' in the
9: .\" documentation or other materials provided with the distribution and in
10: .\" all advertising materials mentioning features or use of this software.
11: .\" Neither the name of the University nor the names of its contributors may
12: .\" be used to endorse or promote products derived from this software without
13: .\" specific prior written permission.
14: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
15: .\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
16: .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
17: .\"
18: .\" @(#)socketpair.2 6.3 (Berkeley) 6/23/90
19: .\"
20: .TH SOCKETPAIR 2 "June 23, 1990"
21: .UC 5
22: .SH NAME
23: socketpair \- create a pair of connected sockets
24: .SH SYNOPSIS
25: .nf
26: .ft B
27: #include <sys/types.h>
28: #include <sys/socket.h>
29: .PP
30: .ft B
31: socketpair(d, type, protocol, sv)
32: int d, type, protocol;
33: int sv[2];
34: .fi
35: .SH DESCRIPTION
36: The
37: .I socketpair
38: call creates an unnamed pair of connected sockets in
39: the specified domain
40: .IR d ,
41: of the specified
42: .IR type ,
43: and using the optionally specified
44: .IR protocol .
45: The descriptors used in referencing the new sockets
46: are returned in
47: .IR sv [0]
48: and
49: .IR sv [1].
50: The two sockets are indistinguishable.
51: .SH DIAGNOSTICS
52: A 0 is returned if the call succeeds, \-1 if it fails.
53: .SH ERRORS
54: The call succeeds unless:
55: .TP 20
56: [EMFILE]
57: Too many descriptors are in use by this process.
58: .TP 20
59: [EAFNOSUPPORT]
60: The specified address family is not supported on this machine.
61: .TP 20
62: [EPROTONOSUPPORT]
63: The specified protocol is not supported on this machine.
64: .TP 20
65: [EOPNOSUPPORT]
66: The specified protocol does not support creation of socket pairs.
67: .TP 20
68: [EFAULT]
69: The address \fIsv\fP does not specify a valid part of the
70: process address space.
71: .SH "SEE ALSO"
72: read(2), write(2), pipe(2)
73: .SH BUGS
74: This call is currently implemented only for the UNIX domain.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.