OSDN Git Service

Import translated manuals from JM CVS Repository.
[linuxjm/jm.git] / manual / LDP_man-pages / release / man2 / socket.2
1 '\" t
2 .\" Copyright (c) 1983, 1991 The Regents of the University of California.
3 .\" All rights reserved.
4 .\"
5 .\" Redistribution and use in source and binary forms, with or without
6 .\" modification, are permitted provided that the following conditions
7 .\" are met:
8 .\" 1. Redistributions of source code must retain the above copyright
9 .\"    notice, this list of conditions and the following disclaimer.
10 .\" 2. Redistributions in binary form must reproduce the above copyright
11 .\"    notice, this list of conditions and the following disclaimer in the
12 .\"    documentation and/or other materials provided with the distribution.
13 .\" 3. All advertising materials mentioning features or use of this software
14 .\"    must display the following acknowledgement:
15 .\"     This product includes software developed by the University of
16 .\"     California, Berkeley and its contributors.
17 .\" 4. Neither the name of the University nor the names of its contributors
18 .\"    may be used to endorse or promote products derived from this software
19 .\"    without specific prior written permission.
20 .\"
21 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
22 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
25 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 .\" SUCH DAMAGE.
32 .\"
33 .\"     $Id: socket.2,v 1.4 1999/05/13 11:33:42 freitag Exp $
34 .\"
35 .\" Modified 1993-07-24 by Rik Faith <faith@cs.unc.edu>
36 .\" Modified 1996-10-22 by Eric S. Raymond <esr@thyrsus.com>
37 .\" Modified 1998, 1999 by Andi Kleen <ak@muc.de>
38 .\" Modified 2002-07-17 by Michael Kerrisk <mtk.manpages@gmail.com>
39 .\" Modified 2004-06-17 by Michael Kerrisk <mtk.manpages@gmail.com>
40 .\"
41 .\" Japanese Version Copyright (c) 1997 HANATAKA Shinya
42 .\"         all rights reserved.
43 .\" Translated Mon Mar  3 23:40:11 JST 1997
44 .\"         by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
45 .\" Modified Sun Aug 15 23:52:28 JST 1999
46 .\"         by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
47 .\" Updated Mon Jan 13 JST 2000 by Kentaro Shirakata <argrath@ub32.org>
48 .\" Updated Mon Oct 15 JST 2001 by Kentaro Shirakata <argrath@ub32.org>
49 .\" Updated Mon Oct 26 JST 2002 by Kentaro Shirakata <argrath@ub32.org>
50 .\" Updated 2008-11-09, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v3.13
51 .\"
52 .\"WORD:        endpoint                Ã¼ÅÀ
53 .\"WORD:        descriptor              ¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼
54 .\"WORD:        link layer              ¥ê¥ó¥¯ÁØ
55 .\"WORD:        byte stream             ¥Ð¥¤¥È¡¦¥¹¥È¥ê¡¼¥à
56 .\"WORD:        out-of-band             ÂÓ°è³°
57 .\"WORD:        sequenced               ½ç½øÀ­¤Î¤¢¤ë
58 .\"WORD:        reliable                ¿®ÍêÀ­¤Î¤¢¤ë
59 .\"WORD:        two-way                 ÁÐÊý¸þ¤Î
60 .\"WORD:        datagram                ¥Ç¡¼¥¿¥°¥é¥à
61 .\"WORD:        implement               ¼ÂÁõ
62 .\"WORD:        super-user              ¥¹¡¼¥Ñ¡¼¡¦¥æ¡¼¥¶¡¼
63 .\"WORD:        full-duplex             Á´Æó½Å
64 .\"WORD:        non-blocking I/O        ÈóÄä»ß I/O
65 .\"WORD:        asynchronous            ÈóƱ´ü
66 .\"
67 .TH SOCKET 2 2009-01-19 "Linux" "Linux Programmer's Manual"
68 .SH Ì¾Á°
69 socket \- ÄÌ¿®¤Î¤¿¤á¤ÎüÅÀ(endpoint)¤òºîÀ®¤¹¤ë
70 .SH ½ñ¼°
71 .BR "#include <sys/types.h>" "          /* ¡ÖÃí°Õ¡×»²¾È */"
72 .br
73 .B #include <sys/socket.h>
74 .sp
75 .BI "int socket(int " domain ", int " type ", int " protocol );
76 .SH ÀâÌÀ
77 .BR socket ()
78 ¤ÏÄÌ¿®¤Î¤¿¤á¤ÎüÅÀ(endpoint)¤òºîÀ®¤·¡¢¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼(descriptor)¤òÊÖ¤¹¡£
79 .PP
80 .I domain
81 °ú¿ô¤ÏÄÌ¿®¤ò¹Ô¤Ê¤¦¥É¥á¥¤¥ó¤ò»ØÄꤹ¤ë; ¤³¤ì¤Ï¤É¤Î
82 ¥×¥í¥È¥³¥ë¡¦¥Õ¥¡¥ß¥ê(protocol family)¤òÄÌ¿®¤Ë»ÈÍѤ¹¤ë¤«¤ò»ØÄꤹ¤ë¡£
83 ¤³¤ì¤é¤Î¥Õ¥¡¥ß¥ê¤Ï
84 .I <sys/socket.h>
85 ¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£
86 ¸½ºß¡¢Íý²ò¤Ç¤­¤ë¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï°Ê²¼¤ÎÄ̤ꡣ
87 .TS
88 tab(:);
89 l l l.
90 ̾Á°:ÌÜŪ:¥Þ¥Ë¥å¥¢¥ë
91 T{
92 .BR AF_UNIX ", " AF_LOCAL
93 T}:T{
94 ¥í¡¼¥«¥ëÄÌ¿®
95 T}:T{
96 .BR unix (7)
97 T}
98 T{
99 .B AF_INET
100 T}:IPv4 ¥¤¥ó¥¿¡¼¥Í¥Ã¥È¡¦¥×¥í¥È¥³¥ë:T{
101 .BR ip (7)
102 T}
103 T{
104 .B AF_INET6
105 T}:IPv6 ¥¤¥ó¥¿¡¼¥Í¥Ã¥È¡¦¥×¥í¥È¥³¥ë:T{
106 .BR ipv6 (7)
107 T}
108 T{
109 .B AF_IPX
110 T}:IPX \- Novell ¥×¥í¥È¥³¥ë:
111 T{
112 .B AF_NETLINK
113 T}:T{
114 ¥«¡¼¥Í¥ë¡¦¥æ¡¼¥¶¡¦¥Ç¥Ð¥¤¥¹
115 T}:T{
116 .BR netlink (7)
117 T}
118 T{
119 .B AF_X25
120 T}:ITU-T X.25 / ISO-8208 ¥×¥í¥È¥³¥ë:T{
121 .BR x25 (7)
122 T}
123 T{
124 .B AF_AX25
125 T}:T{
126 ¥¢¥Þ¥Á¥å¥¢ÌµÀþ AX.25 ¥×¥í¥È¥³¥ë
127 T}:
128 T{
129 .B AF_ATMPVC
130 T}:À¸¤Î ATM PVC ¤Ë¥¢¥¯¥»¥¹¤¹¤ë:
131 T{
132 .B AF_APPLETALK
133 T}:¥¢¥Ã¥×¥ë¥È¡¼¥¯:T{
134 .BR ddp (7)
135 T}
136 T{
137 .B AF_PACKET
138 T}:T{
139 Äã¥ì¥Ù¥ë¤Î¥Ñ¥±¥Ã¥È¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹
140 T}:T{
141 .BR packet (7)
142 T}
143 .TE
144 .PP
145 ¥½¥±¥Ã¥È¤Ï
146 .I type
147 ¤Ç»ØÄꤵ¤ì¤ë·¿¤ò»ý¤Á¡¢¤½¤ì¤ÏÄÌ¿®Êý¼°(semantics)¤ò»ØÄꤹ¤ë¡£
148 ÄêµÁ¤µ¤ì¤Æ¤¤¤ë·¿¤Ï¸½ºß°Ê²¼¤ÎÄ̤ꡣ
149 .TP 16
150 .B SOCK_STREAM
151 ½ç½øÀ­¤È¿®ÍêÀ­¤¬¤¢¤ê¡¢ÁÐÊý¸þ¤Î¡¢Àܳ¤µ¤ì¤¿
152 ¥Ð¥¤¥È¡¦¥¹¥È¥ê¡¼¥à(byte stream)¤òÄ󶡤¹¤ë¡£
153 ÂÓ°è³°(out-of-band)¥Ç¡¼¥¿Å¾Á÷¥á¥«¥Ë¥º¥à¤â¥µ¥Ý¡¼¥È¤µ¤ì¤ë¡£
154 .TP
155 .B SOCK_DGRAM
156 ¥Ç¡¼¥¿¥°¥é¥à(Àܳ¡¢¿®ÍêÀ­Ìµ¤·¡¢¸ÇÄêºÇÂçĹ¥á¥Ã¥»¡¼¥¸)
157 ¤ò¥µ¥Ý¡¼¥È¤¹¤ë¡£
158 .TP
159 .B SOCK_SEQPACKET
160 ¸ÇÄêºÇÂçĹ¤Î¥Ç¡¼¥¿¥°¥é¥àžÁ÷¥Ñ¥¹¤Ë´ð¤Å¤¤¤¿½ç½øÀ­¡¢¿®ÍêÀ­¤Î¤¢¤ë
161 ÁÐÊý¸þ¤ÎÀܳ¤Ë´ð¤Å¤¤¤¿ÄÌ¿®¤òÄ󶡤¹¤ë¡£¼õ¤±¼è¤ê¦¤Ç¤Ï¤½¤ì¤¾¤ì¤ÎÆþÎÏ
162 ¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë¤Ç¥Ñ¥±¥Ã¥ÈÁ´ÂΤòÆɤ߼è¤ë¤³¤È¤¬Í׵ᤵ¤ì¤ë¡£
163 .TP
164 .B SOCK_RAW
165 À¸¤Î¥Í¥Ã¥È¥ï¡¼¥¯¡¦¥×¥í¥È¥³¥ë¤Ø¤Î¥¢¥¯¥»¥¹¤òÄ󶡤¹¤ë¡£
166 .TP
167 .B SOCK_RDM
168 ¿®ÍêÀ­¤Ï¤¢¤ë¤¬¡¢½ç½ø¤ÏÊݾڤ·¤Ê¤¤¥Ç¡¼¥¿¥°¥é¥àÁؤòÄ󶡤¹¤ë¡£
169 .TP
170 .B SOCK_PACKET
171 Çѻߤµ¤ì¤Æ¤ª¤ê¿·¤·¤¤¥×¥í¥°¥é¥à¤Ç»ÈÍѤ·¤Æ¤Ï¤¤¤±¤Ê¤¤¡£
172 .BR packet (7)
173 ¤ò»²¾È¤¹¤ë¤³¤È
174 .PP
175 ¤¢¤ë¼ï¤Î¥½¥±¥Ã¥È·¿¤¬Á´¤Æ¤Î¥×¥í¥È¥³¥ë¡¦¥Õ¥¡¥ß¥ê¤Ç¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¡£
176 Î㤨¤Ð
177 .B SOCK_SEQPACKET
178 ¤Ï
179 .B AF_INET
180 ¤Ë¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
181 .PP
182 Linux 2.6.27 °Ê¹ß¤Ç¤Ï¡¢
183 .I type
184 °ú¿ô¤ÏÆó¤ÄÌܤÎÌÜŪ¤Ë¤â»ÈÍѤµ¤ì¤ë¡£
185 ¥½¥±¥Ã¥È¤Î·¿¤ò»ØÄꤹ¤ë¤Î¤Ë²Ã¤¨¤Æ¡¢
186 °Ê²¼¤ÎÃͤΤ¤¤¯¤Ä¤«¤ò¥Ó¥Ã¥Èñ°Ì¤ÎÏÀÍýÏ (OR) ¤Ç»ØÄꤹ¤ë¤³¤È¤Ç¡¢
187 .BR socket ()
188 ¤Î¿¶Éñ¤¤¤òÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
189 .TP 16
190 .B SOCK_NONBLOCK
191 ¿·¤·¤¯À¸À®¤µ¤ì¤ë¥ª¡¼¥×¥ó¥Õ¥¡¥¤¥ëµ­½Ò (open file description) ¤Î
192 .B O_NONBLOCK
193 ¥Õ¥¡¥¤¥ë¥¹¥Æ¡¼¥¿¥¹¥Õ¥é¥°¤ò¥»¥Ã¥È¤¹¤ë¡£
194 ¤³¤Î¥Õ¥é¥°¤ò»È¤¦¤³¤È¤Ç¡¢
195 .B O_NONBLOCK
196 ¤ò¥»¥Ã¥È¤¹¤ë¤¿¤á¤Ë
197 .BR fcntl (2)
198 ¤òÄɲäǸƤӽФ¹É¬Íפ¬¤Ê¤¯¤Ê¤ë¡£
199 .TP
200 .B SOCK_CLOEXEC
201 ¿·¤·¤¤¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼¤ËÂФ·¤Æ
202 close-on-exec
203 .RB ( FD_CLOEXEC )
204 ¥Õ¥é¥°¤ò¥»¥Ã¥È¤¹¤ë¡£
205 ¤³¤Î¥Õ¥é¥°¤¬Ìò¤ËΩ¤ÄÍýͳ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
206 .BR open (2)
207 ¤Î
208 .B O_CLOEXEC
209 ¥Õ¥é¥°¤ÎÀâÌÀ¤ò»²¾È¤Î¤³¤È¡£
210 .PP
211 .I protocol
212 ¤Ï¥½¥±¥Ã¥È¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤ë¸ÇÍ­¤Î¥×¥í¥È¥³¥ë¤ò»ØÄꤹ¤ë¡£Ä̾綠¤ì¤¾¤ì¤Î
213 ¥½¥±¥Ã¥È¤Ï¡¢Í¿¤¨¤é¤ì¤¿¥×¥í¥È¥³¥ë¡¦¥Õ¥¡¥ß¥ê¤Î¼ïÎऴ¤È¤Ë°ì¤Ä¤Î¥×¥í¥È¥³¥ë¤Î¤ß¤ò
214 ¥µ¥Ý¡¼¥È¤¹¤ë¡£
215 ¤½¤Î¾ì¹ç¤Ï
216 .I protocol
217 ¤Ë 0 ¤ò»ØÄê¤Ç¤­¤ë¡£
218 ¤·¤«¤·¡¢Â¿¤¯¤Î¥×¥í¥È¥³¥ë¤¬Â¸ºß¤·¤Æ¤â¤«¤Þ¤ï¤Ê¤¤¡£
219 ¤³¤Î¾ì¹ç¤Ë¤Ï¤³¤ÎÊýË¡¤Ë¤è¤ê¸ÇÍ­¤Î¥×¥í¥È¥³¥ë¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ë¡£
220 »ÈÍѤµ¤ì¤ë¥×¥í¥È¥³¥ëÈÖ¹æ¤ÏÄÌ¿®¤Î¹Ô¤Ê¤ï¤ì¤ë\*(lqÄÌ¿®¥É¥á¥¤¥ó\*(rq¤Ë
221 ¸ÇÍ­¤Ç¤¢¤ë;
222 .BR protocols (5)
223 ¤ò»²¾È¤¹¤ë¤³¤È¡£
224 ¥×¥í¥È¥³¥ë̾¤ò¤É¤¦¤ä¤Ã¤Æ¥×¥í¥È¥³¥ëÈÖ¹æ¤ËÂбþ¤µ¤»¤ë¤«¤Ë¤Ä¤¤¤Æ¤Ï
225 .BR getprotoent (3)
226 ¤ò»²¾È¤¹¤ë¤³¤È¡£
227 .PP
228 .B SOCK_STREAM
229 ·¿¤Î¥½¥±¥Ã¥È¤Ï¥Ñ¥¤¥×¤Î¤è¤¦¤ÊÁ´Æó½Å¥Ð¥¤¥È¡¦¥¹¥È¥ê¡¼¥à¤Ç¤¢¤ë¡£
230 ¤³¤ì¤é¤Ï¥ì¥³¡¼¥É¶­³¦¤òÊݸ¤·¤Ê¤¤¡£
231 ¥¹¥È¥ê¡¼¥à¤Ï¡¢¥½¥±¥Ã¥È¤¬¥Ç¡¼¥¿¤òÁ÷¤Ã¤¿¤ê¼õ¤±¤¿¤ê¤¹¤ëÁ°¤Ë
232 .I Àܳ¤µ¤ì¤¿
233 ¾õÂ֤ˤʤäƤʤ±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£Â¾¤Î¥½¥±¥Ã¥È¤Ø¤ÎÀܳ¤Ï
234 .BR connect (2)
235 ¥³¡¼¥ë¤Ë¤è¤Ã¤Æ¹Ô¤Ê¤ï¤ì¤ë¡£°ìÅÙÀܳ¤·¤¿¤é¥Ç¡¼¥¿¤Ï
236 .BR read (2)
237 ¤È
238 .BR write (2)
239 ¥³¡¼¥ë¤ä
240 .BR send (2)
241 ¤È
242 .BR recv (2)
243 ¥³¡¼¥ë¤ÎÊѼï¤ò»ÈÍѤ·¤ÆžÁ÷¤Ç¤­¤ë¡£
244 ¥»¥Ã¥·¥ç¥ó¤¬´°Î»¤·¤¿¤é
245 .BR close (2)
246 ¤¬¹Ô¤Ê¤ï¤ì¤ë¡£ÂÓ°è³°¥Ç¡¼¥¿¤ÎžÁ÷¤â
247 .BR send (2)
248 ¤Ëµ­½Ò¤µ¤ì¤Æ¤ª¤ê¡¢
249 ¼õ¿®¤â
250 .BR recv (2)
251 ¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤ë¡£
252 .PP
253 .B SOCK_STREAM
254 ¤ò¼ÂÁõ¤·¤¿ÄÌ¿®¥×¥í¥È¥³¥ë¤Ï¥Ç¡¼¥¿¤Ë»¼º¤ä½ÅÊ£¤¬¤Ê¤¤¤³¤È¤òÊݾڤ¹¤ë¡£
255 ¤â¤·Áê¼ê¤Î¥×¥í¥È¥³¥ë¤¬¥Ð¥Ã¥Õ¥¡¡¼¶õ´Ö¤ò»ý¤Ä
256 ¥Ç¡¼¥¿¤ÎÃÇÊÒ¤òŬÅö¤Ê»þ´Ö¤Î¤¦¤Á¤ËžÁ÷¤Ç¤­¤Ê¤±¤ì¤Ð¡¢
257 Àܳ¤ÏÃǤ¿¤ì¤¿¤È¤ß¤Ê¤¹¡£¤½¤Î¥½¥±¥Ã¥È
258 .B SO_KEEPALIVE
259 ¤¬Í­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢¥×¥í¥È¥³¥ëÆȼ«¤ÎÊýË¡¤ÇÀܳ¤ÎÁê¼ê¦¤¬¤Þ¤À
260 Í­¸ú¤Ç¤¢¤ë¤«¤ò¥Á¥§¥Ã¥¯¤¹¤ë¡£
261 ¤â¤·¥×¥í¥»¥¹¤¬¡¢²õ¤ì¤¿¥¹¥È¥ê¡¼¥à¤Ç¥Ç¡¼¥¿¤òÁ÷¼õ¿®¤·¤è¤¦¤È¤·¤¿¾ì¹ç¤Ë¤Ï
262 .B SIGPIPE
263 ¥·¥°¥Ê¥ë¤¬Á÷¤é¤ì¤ë; ¤³¤ì¤ÏÄ̾ï¤Î¤½¤Î¥·¥°¥Ê¥ë¤ò°·¤Ã¤Æ¤¤¤Ê¤¤¥×¥í¥»¥¹¤ò
264 ½ªÎ»¤µ¤»¤ë¡£
265 .B SOCK_SEQPACKET
266 ¥½¥±¥Ã¥È¤Ï
267 .B SOCK_STREAM
268 ¥½¥±¥Ã¥È¤ÈƱ¤¸¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë¤ò»ÈÍѤ¹¤ë¡£
269 Í£°ì¤Î°ã¤¤¤Ï
270 .BR read (2)
271 ¥³¡¼¥ë¤¬Í׵ᤵ¤ì¤¿Î̤Υǡ¼¥¿¤Î¤ß¤òÊÖ¤·¡¢ÅþÃ夷¤¿¥Ñ¥±¥Ã¥È¤Î»Ä¤ê¤ÎÉôʬ¤ò
272 ¼Î¤Æ¤Æ¤·¤Þ¤¦¤³¤È¤Ç¤¢¤ë¡£Æ±ÍͤËÆþ¤Ã¤Æ¤¯¤ë¥Ç¡¼¥¿¥°¥é¥à¤ÎÁ´¤Æ¤Î¥á¥Ã¥»¡¼¥¸¶­³¦¤Ï
273 Êݸ¤µ¤ì¤ë¡£
274 .PP
275 .B SOCK_DGRAM
276 ¤È
277 .B SOCK_RAW
278 ¥½¥±¥Ã¥È¤Ï
279 .BR sendto (2)
280 ¥³¡¼¥ë¤Ç»ØÄꤵ¤ì¤¿Áê¼ê¤Ø¥Ç¡¼¥¿¥°¥é¥à¤òÁ÷¤ë¤³¤È¤¬µö¤µ¤ì¤Æ¤¤¤ë¡£
281 ¥Ç¡¼¥¿¥°¥é¥à¤Ï°ìÈ̤Ë
282 .BR recvfrom (2)
283 ¤Ç¼õ¤±¤È¤ê¡¢
284 ¤³¤Î¥³¡¼¥ë¤Ï¼¡¤Î¥Ç¡¼¥¿¥°¥é¥à¤òÁ÷¿®¼Ô¤Î¥¢¥É¥ì¥¹¤È°ì½ï¤ËÊÖ¤¹¡£
285 .PP
286 .B SOCK_PACKET
287 ¤Ï¸Å¤¤¥½¥±¥Ã¥È·¿¤Ç¡¢À¸(raw)¤Î¥Ñ¥±¥Ã¥È¤ò¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤«¤é
288 ľÀܼõ¿®¤¹¤ë¤¿¤á¤Î¤â¤Î¤Ç¤¢¤ë¡£
289 º£¤ÏÂå¤ï¤ê¤Ë
290 .BR packet (7)
291 ¤òÍѤ¤¤ë¤³¤È¡£
292 .PP
293 .BR fcntl (2)
294 ¤Î
295 .B F_SETOWN
296 Áàºî¤ò»È¤Ã¤Æ¡¢¥·¥°¥Ê¥ë
297 .B SIGURG
298 ¤ä
299 .B SIGPIPE
300 ¤ò¼õ¤±¤È¤ë¥×¥í¥»¥¹¡¦¥°¥ë¡¼¥×¤ò»ØÄê¤Ç¤­¤ë¡£
301 .B SIGURG
302 ¥·¥°¥Ê¥ë¤ÏÂÓ°è³°¥Ç¡¼¥¿¤¬ÅþÃ夷¤¿»þ¤Ë¡¢
303 .B SIGPIPE
304 ¥·¥°¥Ê¥ë¤Ï
305 .B SOCK_STREAM
306 Àܳ¤¬Í½´ü¤»¤ºÀÚÃǤµ¤ì¤¿»þ¤ËÁ÷¤é¤ì¤ë¡£
307 ¤Þ¤¿¡¢
308 .B F_SETOWN
309 Áàºî¤Ï¡¢I/O ¤ä I/O ¥¤¥Ù¥ó¥È¤ÎÈóƱ´ü (asynchronous) ÄÌÃΤò
310 .B SIGIO
311 ¤ò·Ðͳ¤Ç¼õ¤±¼è¤ë¥×¥í¥»¥¹¤ä¥×¥í¥»¥¹¡¦¥°¥ë¡¼¥×¤òÀßÄꤹ¤ë¤Î¤Ë¤â»ÈÍѤǤ­¤ë¡£
312 .B F_SETOWN
313 ¤ò»ÈÍѤ¹¤ë¤³¤È¤Ï
314 .B FIOSETOWN
315 ¤Þ¤¿¤Ï
316 .B SIOCSPGRP
317 ¤Î°ú¿ô¤Ç
318 .BR ioctl (2)
319 ¤ò»ÈÍѤ¹¤ë¤³¤È¤ÈÅù²Á¤Ç¤¢¤ë¡£
320 .PP
321 ¥Í¥Ã¥È¥ï¡¼¥¯¤¬¥×¥í¥È¥³¥ë¡¦¥â¥¸¥å¡¼¥ë¤Ë¥¨¥é¡¼¾õÂÖ¤òÅÁ¤¨¤¿¾ì¹ç
322 (Î㤨¤Ð¡¢IP ¤Î ICMP ¥á¥Ã¥»¡¼¥¸¤ò»ÈÍѤ·¤Æ)¤Ë¤Ï¡¢¥½¥±¥Ã¥È¤Î
323 ¥Ú¥ó¥Ç¥£¥ó¥°¡¦¥¨¥é¡¼¡¦¥Õ¥é¥°¤¬ÀßÄꤵ¤ì¤ë¡£¼¡¤Ë¤³¤Î¥½¥±¥Ã¥È¤òÁàºî¤·¤¿
324 »þ¤Ë¥Ú¥ó¥Ç¥£¥ó¥°¤µ¤ì¤Æ¤¤¤¿¥¨¥é¡¼¡¦¥³¡¼¥É¤¬ÊÖ¤µ¤ì¤ë¡£¥×¥í¥È¥³¥ë¤Ë¤è¤Ã¤Æ¤Ï
325 ¥¨¥é¡¼¤Ë¤Ä¤¤¤Æ¤Î¤è¤ê¾Ü¤·¤¤¾ðÊó¤ò¼õ¤±¼è¤ë¤¿¤á¤Ë¥½¥±¥Ã¥È¤´¤È¤Î¥¨¥é¡¼¡¦¥­¥å¡¼¤ò
326 ¼õ¤±¼è¤ë¤³¤È¤¬²Äǽ¤Ç¤¢¤ë¡£
327 .BR ip (7)
328 ¤Î
329 .B IP_RECVERR
330 ¤ò»²¾È¤¹¤ë¤³¤È¡£
331 .PP
332 ¥½¥±¥Ã¥È¤ÎÁàºî¤Ï¥½¥±¥Ã¥È¡¦¥ì¥Ù¥ë
333 .I options
334 ¤Ë¤è¤Ã¤ÆÀ©¸æ¤µ¤ì¤ë¡£
335 ¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï
336 .I <sys/socket.h>
337 ¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£
338 .BR setsockopt (2)
339 ¤È
340 .BR getsockopt (2)
341 ´Ø¿ô¤Ï¤½¤ì¤¾¤ì¥ª¥×¥·¥ç¥ó¤ÎÀßÄê¤È¼èÆÀ¤ò¹Ô¤Ê¤¦¡£
342 .SH ÊÖ¤êÃÍ
343 À®¸ù¤·¤¿¾ì¹ç¡¢¿·¤·¤¤¥½¥±¥Ã¥È¤Î¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼¤òÊÖ¤¹¡£
344 ¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¤Ï \-1 ¤òÊÖ¤·¡¢
345 .I errno
346 ¤òŬÀÚ¤ËÀßÄꤹ¤ë¡£
347 .SH ¥¨¥é¡¼
348 .TP
349 .B EACCES
350 »ØÄꤵ¤ì¤¿¥¿¥¤¥×¤Þ¤¿¤Ï¥×¥í¥È¥³¥ë¤Î¥½¥±¥Ã¥È¤òºîÀ®¤¹¤ëµö²Ä¤¬Í¿¤¨¤é¤ì¤Æ¤¤¤Ê¤¤¡£
351 .TP
352 .B EAFNOSUPPORT
353 »ØÄꤵ¤ì¤¿¥¢¥É¥ì¥¹¥Õ¥¡¥ß¥ê¡¼¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
354 .TP
355 .B EINVAL
356 ÃΤé¤Ê¤¤¥×¥í¥È¥³¥ë¡¢¤Þ¤¿¤ÏÍøÍѤǤ­¤Ê¤¤¥×¥í¥È¥³¥ë¡¦¥Õ¥¡¥ß¥ê¤Ç¤¢¤ë¡£
357 .TP
358 .B EINVAL
359 .\" Since Linux 2.6.27
360 .I type
361 ¤Ë̵¸ú¤Ê¥Õ¥é¥°¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¡£
362 .TP
363 .B EMFILE
364 ¥×¥í¥»¥¹¤Î¥Õ¥¡¥¤¥ë¥Æ¡¼¥Ö¥ë¤¬°î¤ì¤Æ¤¤¤ë¡£
365 .TP
366 .B ENFILE
367 ¥ª¡¼¥×¥ó¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ÎÁí¿ô¤¬¥·¥¹¥Æ¥à¾å¸Â¤Ë㤷¤Æ¤¤¤ë¡£
368 .TP
369 .BR ENOBUFS " ¤Þ¤¿¤Ï " ENOMEM
370 ½½Ê¬¤Ê¥á¥â¥ê¤¬¤Ê¤¤¡£½½Ê¬¤Ê»ñ¸»¤¬²òÊü¤µ¤ì¤ë¤Þ¤Ç¤Ï¥½¥±¥Ã¥È¤ò
371 ºîÀ®¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£
372 .TP
373 .B EPROTONOSUPPORT
374 ¤³¤Î¥É¥á¥¤¥ó¤Ç¤Ï»ØÄꤵ¤ì¤¿¥×¥í¥È¥³¥ë¤Þ¤¿¤Ï¥×¥í¥È¥³¥ë¡¦¥¿¥¤¥×¤¬
375 ¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
376 .PP
377 ²¼°Ì¤Î¥×¥í¥È¥³¥ë¡¦¥â¥¸¥å¡¼¥ë¤«¤é¾¤Î¥¨¥é¡¼¤¬À¸À®¤µ¤ì¤ë¤«¤â¤·¤ì¤Ê¤¤¡£
378 .SH ½àµò
379 4.4BSD, POSIX.1-2001.
380
381 ¥Õ¥é¥°
382 .BR SOCK_NONBLOCK ,
383 .B SOCK_CLOEXEC
384 ¤Ï Linux ¸ÇÍ­¤Ç¤¢¤ë¡£
385
386 .BR socket ()
387 ¤Ï 4.2BSD ¤ÇÅо줷¤¿¡£°ìÈ̤ˡ¢(System V ¤ÎÊѼï¤ò´Þ¤á¤Æ)
388 BSD ¤Î¥½¥±¥Ã¥ÈÁؤθߴ¹À­¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë BSD °Ê³°¤Î¥·¥¹¥Æ¥à¤Ø¤Î¡¢
389 ¤Þ¤¿¤Ï¡¢BSD °Ê³°¤Î¥·¥¹¥Æ¥à¤«¤é¤Î°Ü¿¢¤¬¤Ç¤­¤ë¡£
390 .SH Ãí°Õ
391 POSIX.1-2001 ¤Ç¤Ï
392 .I <sys/types.h>
393 ¤Î¥¤¥ó¥¯¥ë¡¼¥É¤Ïɬ¿Ü¤È¤µ¤ì¤Æ¤ª¤é¤º¡¢
394 Linux ¤Ç¤Ï¤³¤Î¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤ÏɬÍפǤϤʤ¤¡£
395 ¤·¤«¤·¡¢Îò»ËŪ¤Ë¤Ï¡¢¤¤¤¯¤Ä¤«¤Î¼ÂÁõ (BSD ·Ï) ¤Ç¤³¤Î¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤¬
396 ɬÍפǤ¢¤ê¡¢°Ü¿¢À­¤¬É¬Íפʥ¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤Ï¤³¤Î¥Õ¥¡¥¤¥ë¤ò
397 ¥¤¥ó¥¯¥ë¡¼¥É¤¹¤ë¤Î¤¬¸­ÌÀ¤Ç¤¢¤í¤¦¡£
398
399 4.x BSD ¤Ë¤ª¤¤¤ÆÄê¿ô¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥×¥í¥È¥³¥ë¡¦¥Õ¥¡¥ß¥ê¡¼¤Ë¤Ï
400 .BR PF_UNIX ,
401 .B PF_INET
402 Åù¤ò»ÈÍѤ·¤Æ¤¤¤ë¡£°ìÊý¤Ç¥¢¥É¥ì¥¹¡¦¥Õ¥¡¥ß¥ê¡¼¤Ë¤Ï
403 .B AF_UNIX
404 Åù¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¡£¤·¤«¤·¤Ê¤¬¤é BSD ¤Î¥Þ¥Ë¥å¥¢¥ë¤Ç¤Ï
405 ¡Ö°ìÈ̤˥ץí¥È¥³¥ë¡¦¥Õ¥¡¥ß¥ê¡¼¤Ï¥¢¥É¥ì¥¹¡¦¥Õ¥¡¥ß¥ê¡¼¤ÈƱ¤¸¤â¤Î¤Ç¤¢¤ë¡£¡×
406 ¤ÈÊݾڤ·¤Æ¤¤¤ë¡£¤½¤ì¤Ç¤½¤ì°Ê³°¤Îµ¬³Ê¤Ç¤ÏÁ´¤Æ¤Î¾ì½ê¤Ç AF_* ¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¡£
407 .SH Îã
408 .BR socket ()
409 ¤ÎÍøÍÑÎ㤬
410 .BR getaddrinfo (3)
411 ¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¡£
412 .SH ´ØÏ¢¹àÌÜ
413 .BR accept (2),
414 .BR bind (2),
415 .BR connect (2),
416 .BR fcntl (2),
417 .BR getpeername (2),
418 .BR getsockname (2),
419 .BR getsockopt (2),
420 .BR ioctl (2),
421 .BR listen (2),
422 .BR read (2),
423 .BR recv (2),
424 .BR select (2),
425 .BR send (2),
426 .BR shutdown (2),
427 .BR socketpair (2),
428 .BR write (2),
429 .BR getprotoent (3),
430 .BR ip (7),
431 .BR socket (7),
432 .BR tcp (7),
433 .BR udp (7),
434 .BR unix (7)
435 .PP
436 \(lqAn Introductory 4.3BSD Interprocess Communication Tutorial\(rq
437 ¤Ï
438 .I UNIX Programmer's Supplementary Documents Volume 1
439 ¤È¤·¤ÆºÆÈǤµ¤ì¤¿¡£
440 .PP
441 \(lqBSD Interprocess Communication Tutorial\(rq
442 ¤Ï
443 .I UNIX Programmer's Supplementary Documents Volume 1
444 ¤È¤·¤ÆºÆÈǤµ¤ì¤¿¡£