OSDN Git Service

(split) LDP v3.30, v3.31 の定型的な変更内容を反映。
[linuxjm/LDP_man-pages.git] / release / man7 / unix.7
1 .\" This man page is Copyright (C) 1999 Andi Kleen <ak@muc.de>.
2 .\" Permission is granted to distribute possibly modified copies
3 .\" of this page provided the header is included verbatim,
4 .\" and in case of nontrivial modification author and date
5 .\" of the modification is added to the header.
6 .\"
7 .\" Modified, 2003-12-02, Michael Kerrisk, <mtk.manpages@gmail.com>
8 .\" Modified, 2003-09-23, Adam Langley
9 .\" Modified, 2004-05-27, Michael Kerrisk, <mtk.manpages@gmail.com>
10 .\"     Added SOCK_SEQPACKET
11 .\" 2008-05-27, mtk, Provide a clear description of the three types of
12 .\"     address that can appear in the sockaddr_un structure: pathname,
13 .\"     unnamed, and abstract.
14 .\"
15 .\" Japanese Version Copyright (c) 1999 Shouichi Saito and
16 .\"     NAKANO Takeo all rights reserved.
17 .\" Translated 1999-12-06, NAKANO Takeo <nakano@apm.seikei.ac.jp>
18 .\"     based on the work by Shouichi Saito <ss236rx@ymg.urban.ne.jp>
19 .\" Updated 2003-01-07, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
20 .\" Updated 2005-02-21, Akihiro MOTOKI
21 .\" Updated 2005-12-26, Akihiro MOTOKI
22 .\" Updated 2008-08-08, Akihiro MOTOKI, LDP v3.05
23 .\"
24 .\"WORD         abstract namespace              Ãê¾Ý̾Á°¶õ´Ö
25 .\"WORD         anonymous socket                Ì¾Á°Ìµ¤·¥½¥±¥Ã¥È
26 .\"WORD         credential                      ¿®Ç¤¾õ
27 .\"WORD         ancillary message               Êä½õ¥á¥Ã¥»¡¼¥¸
28 .\"WORD         file descriptor                 ¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿
29 .\"
30 .\" ÌõÃí: Ìõ¤¹ºÝ¤â Unix ¤Ï capitalize ¤·¤Æ¤ª¤¯¤³¤È¡£
31 .\"       LDP_man-pages 1.66¢ª2.01 ¤Ë¤ª¤¤¤Æ unix ¢ª Unix ¤ÎÊѹ¹¤¬¤¢¤ê¡¢
32 .\"       °Õ¿ÞŪ¤Êɽµ­¤È»×¤ï¤ì¤ë¡£
33 .\"
34 .TH UNIX  7 2008-12-01 "Linux" "Linux Programmer's Manual"
35 .SH Ì¾Á°
36 unix, AF_UNIX, AF_LOCAL \- ¥í¡¼¥«¥ë¤Ê
37 ¥×¥í¥»¥¹´ÖÄÌ¿®ÍѤΥ½¥±¥Ã¥È
38 .SH ½ñ¼°
39 .B #include <sys/socket.h>
40 .br
41 .B #include <sys/un.h>
42
43 .IB unix_socket " = socket(AF_UNIX, type, 0);"
44 .br
45 .IB error " = socketpair(AF_UNIX, type, 0, int *" sv ");"
46 .SH ÀâÌÀ
47 .B AF_UNIX
48 .RB ( AF_LOCAL
49 ¤È¤â¸À¤ï¤ì¤ë) ¥½¥±¥Ã¥È¥Õ¥¡¥ß¥ê¡¼¤Ï¡¢Æ±¤¸¥Þ¥·¥ó¾å¤Ç¥×¥í¥»¥¹Æ±»Î¤¬
50 ¸úΨŪ¤ËÄÌ¿®¤¹¤ë¤¿¤á¤ËÍѤ¤¤é¤ì¤ë¡£ 
51 ÅÁÅýŪ¤Ë¡¢Unix ¥½¥±¥Ã¥È¤Ï¡¢Ì¾Á°¤Ê¤·¤Ë¤â¤Ç¤­¤ë¤·¡¢
52 (¥½¥±¥Ã¥È·¿¤Ç¤¢¤ë¤È°õ¤Î¤Ä¤¤¤¿) ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥Ñ¥¹Ì¾¤Ë
53 ·ë¤ÓÉÕ¤±¤ë¤³¤È¤â¤Ç¤­¤ë¡£
54 ¤µ¤é¤Ë Linux ¤Ç¤Ï¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë°Í¸¤·¤Ê¤¤
55 Ãê¾Ý̾Á°¶õ´Ö (abstract namespace) ¤â¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¡£
56
57 .\" MOTOKI: ¸«¤ä¤¹¤¤¤è¤¦¤Ë .TP ·Á¼°¤ËÊѹ¹
58 Í­¸ú¤Ê¥¿¥¤¥×¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¢¤ë:
59 .TP
60 .B SOCK_STREAM
61 ¥¹¥È¥ê¡¼¥à»Ø¸þ¤Î¥½¥±¥Ã¥È
62 .TP
63 .B SOCK_DGRAM
64 ¥á¥Ã¥»¡¼¥¸¶­³¦¤òÊݸ¤¹¤ë¥Ç¡¼¥¿¥°¥é¥à»Ø¸þ¤Î¥½¥±¥Ã¥È
65 (¤Û¤È¤ó¤É¤Î Unix ¤Î¼ÂÁõ¤Ç¤Ï¡¢Unix ¥É¥á¥¤¥ó¡¦¥Ç¡¼¥¿¥°¥é¥à¡¦¥½¥±¥Ã¥È¤Ï
66 ¾ï¤Ë¿®Íê¤Ç¤­¡¢¥Ç¡¼¥¿¥°¥é¥à¤ÎʤÓÂؤ¨¤Ï¹Ô¤ï¤Ê¤¤)
67 .TP
68 .B SOCK_SEQPACKET
69 (Linux 2.6.4 °Ê¹ß¤ÇÍøÍѤǤ­¤ë)
70 ¥á¥Ã¥»¡¼¥¸¶­³¦¤òÊݸ¤·¡¢Á÷¿®¤µ¤ì¤¿½ç½ø¤Ç¥á¥Ã¥»¡¼¥¸¤òÆϤ±¤ëÀܳ»Ø¸þ¥½¥±¥Ã¥È
71
72 Unix ¥½¥±¥Ã¥È¤Ç¤Ï¡¢Êä½õ¥Ç¡¼¥¿¤ò»È¤Ã¤Æ
73 ¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤ä¥×¥í¥»¥¹¤Î¿®Ç¤¾õ (credential) ¤ò
74 Á÷¼õ¿®¤¹¤ë¤³¤È¤â¤Ç¤­¤ë¡£
75 .SS ¥¢¥É¥ì¥¹¤Î¥Õ¥©¡¼¥Þ¥Ã¥È
76 Unix ¥É¥á¥¤¥ó¥½¥±¥Ã¥È¤Î¥¢¥É¥ì¥¹¤Ï°Ê²¼¤Î¹½Â¤ÂΤÇɽ¸½¤µ¤ì¤ë¡£
77 .in +4n
78 .nf
79
80 #define UNIX_PATH_MAX    108
81
82 struct sockaddr_un {
83     sa_family_t sun_family;               /* AF_UNIX */
84     char        sun_path[UNIX_PATH_MAX];  /* pathname */
85 };
86 .fi
87 .in
88 .PP
89 .I sun_family
90 ¤Ë¤Ïɬ¤º
91 .B AF_UNIX
92 ¤¬Æþ¤Ã¤Æ¤¤¤ë¡£
93
94 ¤³¤Î¹½Â¤ÂΤǤϠ3 ¼ïÎà¤Î¥¢¥É¥ì¥¹¤¬¶èÊ̤µ¤ì¤ë¡£
95 .IP * 3
96 .IR "pathname (¥Ñ¥¹Ì¾)" :
97 .BR bind (2)
98 ¤ò»È¤Ã¤Æ¡¢Unix ¥É¥á¥¤¥ó¥½¥±¥Ã¥È¤ò NULL ½ªÃ¼¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¾å¤Î
99 ¥Ñ¥¹Ì¾¤Ë·ë¤ÓÉÕ¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
100 .BR getsockname (2),
101 .BR getpeername (2),
102 .BR accept (2)
103 ¤¬¥½¥±¥Ã¥È¤Î¥¢¥É¥ì¥¹¤òÊÖ¤¹ºÝ¤Ë¤Ï¡¢
104 ¤½¤ÎŤµ¤Ï
105 .I "sizeof(sa_family_t) + strlen(sun_path) + 1"
106 ¤Ç¤¢¤ê¡¢
107 .I sun_path
108 ¤Ë NULL ½ªÃ¼¤µ¤ì¤¿¥Ñ¥¹Ì¾¤¬³ÊǼ¤µ¤ì¤ë¡£
109 .IP *
110 .IR "unnamed (̾Á°¤Ê¤·)" :
111 .BR bind (2)
112 ¤ò»È¤Ã¤Æ¥Ñ¥¹Ì¾¤Ë·ë¤ÓÉÕ¤±¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¥¹¥È¥ê¡¼¥à·¿¤Î¥½¥±¥Ã¥È¤Ï
113 ̾Á°¤ò»ý¤¿¤Ê¤¤¡£Æ±Íͤˡ¢
114 .BR socketpair (2)
115 ¤ÇºîÀ®¤µ¤ì¤ë 2 ¤Ä¤Î¥½¥±¥Ã¥È¤â̾Á°¤ò»ý¤¿¤Ê¤¤¡£
116 .BR getsockname (2),
117 .BR getpeername (2),
118 .BR accept (2)
119 ¤¬Ì¾Á°¤Ê¤·¤Î¥½¥±¥Ã¥È¤Î¥¢¥É¥ì¥¹¤òÊÖ¤¹ºÝ¤Ë¤Ï¡¢
120 ¤½¤ÎŤµ¤Ï
121 .I "sizeof(sa_family_t)"
122 ¤Ç¤¢¤ê¡¢
123 .I sun_path
124 ¤Ï¸¡ºº¤¹¤Ù¤­¤Ç¤Ï¤Ê¤¤¡£
125 .\" ¼ÂÁõ¤´¤È¤Ë¤«¤Ê¤ê¤Î°ã¤¤¤¬Â¸ºß¤¹¤ë¡£
126 .\" FreeBSD ¤Ç¤ÏŤµ¤Ï 16 ¥Ð¥¤¥È¤È¤Ê¤ê¡¢HP-UX ¤Ç¤ÏŤµ¤Ï 0 ¥Ð¥¤¥È¤È¤Ê¤ë¡£
127 .IP *
128 .IR "abstract (Ãê¾Ý)" :
129 Ãê¾Ý¥½¥±¥Ã¥È¥¢¥É¥ì¥¹¤Ï¡¢
130 .I sun_path[0]
131 ¤¬¥Ì¥ë¥Ð¥¤¥È ('\\0') ¤Ç¤¢¤ë¤³¤È¤«¤é¶èÊ̤Ǥ­¤ë¡£
132 .I sun_path
133 ¤Î»Ä¤ê¤ÎÁ´¥Ð¥¤¥È¤Ë¤è¤ê¥½¥±¥Ã¥È¤Î¡Ö̾Á°¡×¤¬ÄêµÁ¤µ¤ì¤ë
134 (̾Á°Ãæ¤Î¥Ì¥ë¥Ð¥¤¥È¤Ë¤ÏÆÃÊ̤ʰÕÌ£¤Ï¤Ê¤¤)¡£
135 ¤³¤Î̾Á°¤Ï¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥Ñ¥¹Ì¾¤È¤Ï²¿¤Î´Ø·¸¤â¤Ê¤¤¡£
136 ¤³¤Î̾Á°¶õ´Ö¤Ë¤ª¤±¤ë¥½¥±¥Ã¥È¤Î¥¢¥É¥ì¥¹¤Ï¡¢
137 .I sun_path
138 ¤Î»Ä¤ê¤Î¥Ð¥¤¥È¤Çɽ¤µ¤ì¤ë¡£
139 .BR getsockname (2),
140 .BR getpeername (2),
141 .BR accept (2)
142 ¤¬Ãê¾Ý¥½¥±¥Ã¥È¤Î¥¢¥É¥ì¥¹¤òÊÖ¤¹ºÝ¤Ë¤Ï¡¢¤½¤ÎŤµ¤Ï
143 .I "sizeof(struct sockaddr_un)"
144 ¤Ç¤¢¤ê¡¢
145 .I sun_path
146 ¤ËÃê¾Ý̾Á°¶õ´Ö¤Î̾Á°¤¬³ÊǼ¤µ¤ì¤ë¡£
147 ¥½¥±¥Ã¥È¤ÎÃê¾Ý̾Á°¶õ´Ö¤Ï Linux ¤Ë¤è¤ë³ÈÄ¥¤Ç¤¢¤ê¡¢°Ü¿¢À­¤Ï¤Ê¤¤¡£
148 .SS ¥½¥±¥Ã¥È¥ª¥×¥·¥ç¥ó
149 Îò»ËŪ¤ÊÍýͳ¤Ë¤è¤ê¡¢¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï
150 ¤¿¤È¤¨
151 .B AF_UNIX
152 ¸ÇÍ­¤Î¥ª¥×¥·¥ç¥ó¤Ç¤¢¤Ã¤Æ¤â
153 .B SOL_SOCKET
154 ·¿¤Ç»ØÄꤹ¤ë¡£
155 ¥½¥±¥Ã¥È¥Õ¥¡¥ß¥ê¡¼¤È¤·¤Æ
156 .B SOL_SOCKET
157 ¤ò»ØÄꤹ¤ë¤È¡¢
158 .BR setsockopt (2)
159 ¤Ç¥ª¥×¥·¥ç¥ó¤¬ÀßÄê¤Ç¤­¡¢
160 .BR getsockopt (2)
161 ¤Ç¼èÆÀ¤¬¤Ç¤­¤ë¡£
162 .\" NAKANO added this TP
163 .TP
164 .B SO_PASSCRED
165 Á÷¿®¥×¥í¥»¥¹¤ÎÊä½õ¥á¥Ã¥»¡¼¥¸¤È¤·¤Æ¿®Ç¤¾õ¤ò¼õ¿®¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¡£
166 ¤³¤Î¥ª¥×¥·¥ç¥ó¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤Æ¡¢¤Þ¤À¥½¥±¥Ã¥È¤¬Àܳ¤µ¤ì¤Æ¤¤¤Ê¤¤¤È¡¢
167 Ãê¾Ý̾Á°¶õ´Ö¤Ë¾¤È½Å¤Ê¤é¤Ê¤¤Ì¾Á°¤¬¼«Æ°Åª¤ËÀ¸À®¤µ¤ì¤ë¡£
168 ¥Ö¡¼¥ëÀ°¿ôÃͤΥե饰¤ò¼è¤ë¡£
169 .SS ¥½¥±¥Ã¥È API
170 ¤³¤ÎÀá¤Ç¤Ï¡¢Linux ¤Î Unix ¥É¥á¥¤¥ó¡¦¥½¥±¥Ã¥È¤Ç¤Î¡¢
171 ¥É¥á¥¤¥ó¸ÇÍ­¤Î¾ÜºÙ»ÅÍͤȥ½¥±¥Ã¥È API ¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤µ¡Ç½¤Ë
172 ¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë¡£
173
174 Unix ¥É¥á¥¤¥ó¡¦¥½¥±¥Ã¥È¤Ç¤Ï¡¢ÂÓ°è³°¥Ç¡¼¥¿ (out-of-band data) ¤Î
175 Á÷¿®
176 .RB ( send (2)
177 ¤È
178 .BR recv (2)
179 ¤Î
180 .B MSG_OOB
181 ¥Õ¥é¥°) ¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
182
183 .BR send (2)
184 .B MSG_MORE
185 ¥Õ¥é¥°¤Ï Unix ¥É¥á¥¤¥ó¡¦¥½¥±¥Ã¥È¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
186
187 .BR recv (2)
188 ¤Î
189 .I flags
190 °ú¤­¿ô¤Ç¤Î
191 .B MSG_TRUNC
192 ¤Î»ÈÍѤϠUnix ¥É¥á¥¤¥ó¡¦¥½¥±¥Ã¥È¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
193
194 .B SO_SNDBUF
195 ¥½¥±¥Ã¥È¥ª¥×¥·¥ç¥ó¤Ï Unix ¥É¥á¥¤¥ó¡¦¥½¥±¥Ã¥È¤Ç¸ú²Ì¤ò»ý¤Ä¤¬¡¢
196 .B SO_RCVBUF
197 ¤Ï¸ú²Ì¤¬¤Ê¤¤¡£
198 ¥Ç¡¼¥¿¥°¥é¥à¡¦¥½¥±¥Ã¥È¤Ç¤Ï¡¢
199 .B SO_SNDBUF
200 ¤ÎÃͤ¬½ÐÎϥǡ¼¥¿¥°¥é¥à¤Î¾å¸Â¥µ¥¤¥º¤È¤Ê¤ë¡£
201 ¼ÂºÝ¤Î¾å¸ÂÃͤϡ¢
202 .B SO_SNDBUF
203 ¥ª¥×¥·¥ç¥ó¤È¤·¤ÆÀßÄꤵ¤ì¤¿ÃͤΠ2ÇÜ
204 .RB ( socket (7)
205 »²¾È) ¤«¤é¥ª¡¼¥Ð¥Ø¥Ã¥É¤È¤·¤Æ»ÈÍѤµ¤ì¤ë 32 ¥Ð¥¤¥È¤ò°ú¤¤¤¿ÃͤȤʤ롣
206 .SS Êä½õ¥á¥Ã¥»¡¼¥¸
207 Êä½õ¥Ç¡¼¥¿¤òÁ÷¼õ¤¹¤ë¤Ë¤Ï¡¢
208 .BR sendmsg (2)
209 ¤ä
210 .BR recvmsg (2)
211 ¤ò»ÈÍѤ¹¤ë¡£
212 Îò»ËŪ¤ÊÍýͳ¤Ë¤è¤ê¡¢°Ê²¼¤Ë¼¨¤¹Êä½õ¥á¥Ã¥»¡¼¥¸¤Î·¿¤Ï
213 ¤¿¤È¤¨
214 .B AF_UNIX
215 ¸ÇÍ­¤Î¤â¤Î¤Ç¤¢¤Ã¤Æ¤â
216 .B SOL_SOCKET
217 ·¿¤Ç»ØÄꤹ¤ë¡£
218 ¤³¤ì¤é¤òÁ÷¤ë¤Ë¤Ï¡¢¹½Â¤ÂÎ
219 .I cmsghdr
220 ¤Î
221 .I cmsg_level
222 ¥Õ¥£¡¼¥ë¥É¤Ë
223 .B SOL_SOCKET
224 ¤ò¥»¥Ã¥È¤·¡¢
225 .I cmsg_type
226 ¥Õ¥£¡¼¥ë¥É¤Ë¥¿¥¤¥×¤ò¥»¥Ã¥È¤¹¤ë¡£
227 ¾ÜºÙ¤Ï
228 .BR cmsg (3)
229 ¤ò¸«¤è¡£
230 .TP
231 .B SCM_RIGHTS
232 ¾¤Î¥×¥í¥»¥¹¤Ç¥ª¡¼¥×¥ó¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Î¥»¥Ã¥È¤òÁ÷¼õ¿®¤¹¤ë¡£
233 ¥Ç¡¼¥¿Éôʬ¤Ë¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤ÎÀ°¿ôÇÛÎó¤¬Æþ¤Ã¤Æ¤¤¤ë¡£
234 ÅϤµ¤ì¤¿¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ï¡¢¤¢¤¿¤«¤â
235 .BR dup (2)
236 ¤ÇÀ¸À®¤µ¤ì¤¿¤«¤Î¤è¤¦¤Ë¿¶¤ëÉñ¤¦¡£
237 .TP
238 .B SCM_CREDENTIALS
239 Unix ¿®Ç¤¾õ¤òÁ÷¼õ¿®¤¹¤ë¡£¤³¤ì¤Ïǧ¾Ú¤ËÍѤ¤¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
240 ¿®Ç¤¾õ¤Ï¡¢
241 .I struct ucred
242 ¤ÎÊä½õ¥á¥Ã¥»¡¼¥¸¤È¤·¤ÆÅϤµ¤ì¤ë¡£
243 ¤³¤Î¹½Â¤ÂΤÏ
244 .I <sys/socket.h>
245 ¤Ç°Ê²¼¤Î¤è¤¦¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£
246
247 .in +4n
248 .nf
249 struct ucred {
250     pid_t pid;    /* process ID of the sending process */
251     uid_t uid;    /* user ID of the sending process */
252     gid_t gid;    /* group ID of the sending process */
253 };
254 .fi
255 .in
256
257 glibc 2.8 °Ê¹ß¤Ç¤Ï¡¢¤³¤Î¹½Â¤ÂΤÎÄêµÁ¤òÆÀ¤ë¤¿¤á¤Ë¤Ïµ¡Ç½¸¡ºº¥Þ¥¯¥í
258 .B _GNU_SOURCE
259 ¤òÄêµÁ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
260
261 Á÷¿®Â¦¤¬»ØÄꤷ¤¿¿®Ç¤¾õ¤Ï¡¢¥«¡¼¥Í¥ë¤¬¥Á¥§¥Ã¥¯¤¹¤ë¡£
262 ¼Â¸ú¥æ¡¼¥¶¡¼ ID ¤¬ 0 ¤Î¥×¥í¥»¥¹¤Ë¤Ï¡¢
263 ¼«Ê¬¼«¿È°Ê³°¤ÎÃͤò»ØÄꤹ¤ë»ö¤¬µö¤µ¤ì¤ë¡£
264 Á÷¿®Â¦¤Ï°Ê²¼¤Î 3 ¤Ä¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
265 1) ¼«Ê¬¼«¿È¤Î¥×¥í¥»¥¹ ID
266 .RB ( CAP_SYS_ADMIN
267 ¸¢¸Â¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç)¡¢
268 2) ¼«Ê¬¼«¿È¤Î¥æ¡¼¥¶¡¼ ID ¤¢¤ë¤¤¤Ï¼Â¸ú¥æ¡¼¥¶¡¼ ID ¤«Êݸ set-user-ID
269 .RB ( CAP_SETUID
270 ¸¢¸Â¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç)¡¢
271 3) ¼«Ê¬¼«¿È¤Î¥°¥ë¡¼¥× ID ¤¢¤ë¤¤¤Ï¼Â¹Ô¥°¥ë¡¼¥× ID ¤«Êݸ set-group-ID
272 .RB ( CAP_SETGID
273 ¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç)¡£
274 .I struct ucred
275 ¥á¥Ã¥»¡¼¥¸¤ò¼õ¿®¤¹¤ë¤¿¤á¤Ë¤Ï¡¢¥½¥±¥Ã¥È¤ËÂФ·
276 .B SO_PASSCRED
277 ¥ª¥×¥·¥ç¥ó¤òÍ­¸ú¤Ë¤·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£
278 .SH ¥¨¥é¡¼
279 .TP
280 .B EADDRINUSE
281 ÁªÂò¤·¤¿¥½¥±¥Ã¥È¤¬´û¤ËÍѤ¤¤é¤ì¤Æ¤¤¤¿¡£¤Þ¤¿¤Ï¡¢
282 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥½¥±¥Ã¥È¥ª¥Ö¥¸¥§¥¯¥È¤¬´û¤Ë¸ºß¤·¤Æ¤¤¤¿¡£
283 .TP
284 .B ECONNREFUSED
285 listen ¾õÂ֤ˤʤ¤¥½¥±¥Ã¥È¥ª¥Ö¥¸¥§¥¯¥È¤ËÂФ·¤Æ
286 .BR connect (2)
287 ¤¬¸Æ¤Ð¤ì¤¿¡£¥ê¥â¡¼¥È¥½¥±¥Ã¥È¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤«¤Ã¤¿¡¢
288 ¥Õ¥¡¥¤¥ë̾¤¬¥½¥±¥Ã¥È¤Ç¤Ï¤Ê¤«¤Ã¤¿¡¢¤Ê¤É¤Î¤È¤­¤Ëµ¯¤³¤ë¡£
289 .TP
290 .B ECONNRESET
291 ¥ê¥â¡¼¥È¥½¥±¥Ã¥È¤¬Í½´ü¤·¤Ê¤¤¤«¤¿¤Á¤Ç¥¯¥í¡¼¥º¤µ¤ì¤¿¡£
292 .TP
293 .B EFAULT
294 ¥æ¡¼¥¶¡¼¥á¥â¥ê¥¢¥É¥ì¥¹¤¬ÉÔÀµ¡£
295 .TP
296 .B EINVAL
297 ÅϤ·¤¿°ú¿ô¤¬ÉÔÀµ¡£¤è¤¯¤¢¤ë¸¶°ø¤Ï¡¢
298 ÅϤ·¤¿¥¢¥É¥ì¥¹¤Î
299 .I sun_type
300 ¥Õ¥£¡¼¥ë¥É¤Ë AF_UNIX ¤òÀßÄꤷ¤Ê¤«¤Ã¤¿¡¢
301 ¹Ô¤ª¤¦¤È¤·¤¿Áàºî¤ËÂФ·¤Æ¥½¥±¥Ã¥È¤Î¾õÂÖ¤¬Í­¸ú¤Ç¤Ï¤Ê¤«¤Ã¤¿¡¢¤Ê¤É¡£
302 .TP
303 .B EISCONN
304 ´û¤ËÀܳ¤µ¤ì¤Æ¤¤¤ë¥½¥±¥Ã¥È¤ËÂФ·¤Æ
305 .BR connect (2)
306 ¤¬¸Æ¤Ð¤ì¤¿¡£¤Þ¤¿¤Ï¡¢»ØÄꤷ¤¿¥¿¡¼¥²¥Ã¥È¥¢¥É¥ì¥¹¤¬
307 ´û¤ËÀܳºÑ¤ß¤Î¥½¥±¥Ã¥È¤À¤Ã¤¿¡£
308 .TP
309 .B ENOMEM
310 ¥á¥â¥ê¤¬Â­¤ê¤Ê¤¤¡£
311 .TP
312 .B ENOTCONN
313 ¥½¥±¥Ã¥ÈÁàºî¤Ë¥¿¡¼¥²¥Ã¥È¥¢¥É¥ì¥¹¤¬É¬ÍפÀ¤¬¡¢
314 ¤³¤Î¥½¥±¥Ã¥È¤ÏÀܳ¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
315 .TP
316 .B EOPNOTSUPP
317 ¥¹¥È¥ê¡¼¥à»Ø¸þ¤Ç¤Ê¤¤¥½¥±¥Ã¥È¤ËÂФ·¤Æ¥¹¥È¥ê¡¼¥àÁàºî¤¬¸Æ¤Ó½Ð¤µ¤ì¤¿¡£
318 ¤Þ¤¿¤ÏÂÓ°è³°¥Ç¡¼¥¿¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤è¤¦¤È¤·¤¿¡£
319 .TP
320 .B EPERM
321 Á÷¿®¼Ô¤¬
322 .I struct ucred
323 ¤ËÉÔÀµ¤Ê¿®Ç¤¾õ¤òÅϤ·¤¿¡£
324 .TP
325 .B EPIPE
326 ¥ê¥â¡¼¥È¥½¥±¥Ã¥È¤¬¥¹¥È¥ê¡¼¥à¥½¥±¥Ã¥È¾å¤Ç¥¯¥í¡¼¥º¤µ¤ì¤¿¡£
327 ²Äǽ¤Ê¾ì¹ç¤Ï
328 .B SIGPIPE
329 ¤âƱ»þ¤ËÁ÷¤é¤ì¤ë¡£¤³¤ì¤òÈò¤±¤ë¤Ë¤Ï
330 .B MSG_NOSIGNAL
331 ¥Õ¥é¥°¤ò
332 .BR sendmsg (2)
333 ¤ä
334 .BR recvmsg (2)
335 ¤ËÅϤ¹¡£
336 .TP
337 .B EPROTONOSUPPORT
338 ÅϤµ¤ì¤¿¥×¥í¥È¥³¥ë¤¬ AF_UNIX ¤Ç¤Ê¤¤¡£
339 .TP
340 .B EPROTOTYPE
341 ¥ê¥â¡¼¥È¥½¥±¥Ã¥È¤È¥í¡¼¥«¥ë¥½¥±¥Ã¥È¤Î¥¿¥¤¥×¤¬°ìÃפ·¤Æ¤¤¤Ê¤«¤Ã¤¿
342 .RB ( SOCK_DGRAM
343 ¤È
344 .BR SOCK_STREAM )¡£
345 .TP
346 .B ESOCKTNOSUPPORT
347 ̤ÃΤΥ½¥±¥Ã¥È¥¿¥¤¥×¡£
348 .PP
349 ¾¤Ë¤âÈÆÍѤΥ½¥±¥Ã¥ÈÁؤǥ¨¥é¡¼¤¬µ¯¤³¤Ã¤¿¤ê¡¢
350 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¾å¤Ë¥½¥±¥Ã¥È¥ª¥Ö¥¸¥§¥¯¥È¤òºî¤í¤¦¤È¤·¤¿¾ì¹ç¤Ë
351 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥¨¥é¡¼¤¬µ¯¤³¤ë¤³¤È¤¬¤¢¤ë¡£
352 ¤½¤ì¤¾¤ì¤Î¾ÜºÙ¤ÏŬÀڤʠman ¥Ú¡¼¥¸¤ò»²¾È¤¹¤ë¤³¤È¡£
353 .SH ¥Ð¡¼¥¸¥ç¥ó
354 .B SCM_CREDENTIALS
355 ¤ÈÃê¾Ý̾Á°¶õ´Ö¤Ï¡¢Linux 2.2 ¤ÇƳÆþ¤µ¤ì¤¿¡£
356 °Ü¿¢À­¤¬É¬Í×¤Ê¥×¥í¥°¥é¥à¤Ç¤Ï»È¤¦¤Ù¤­¤Ç¤Ï¤Ê¤¤¡£
357 (BSD Í³Íè¤Î¥·¥¹¥Æ¥à¤ÎÃæ¤Ë¤â¿®Ç¤¾õ¤ÎÁ÷¼õ¿®¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤â¤Î¤¬¤¢¤ë¤¬¡¢
358 ¤½¤Î¼ÂÁõ¤Î¾ÜºÙ¤Ï¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë)
359 .SH Ãí°Õ
360 Linux ¤Î¼ÂÁõ¤Ç¤Ï¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¾å¤«¤é¸«¤¨¤ë¥½¥±¥Ã¥È¤Ï¡¢
361 ¤½¤ì¤é¤¬ÃÖ¤«¤ì¤Æ¤¤¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤Ë½¾¤¦¡£
362 ¥½¥±¥Ã¥È¤Î½êÍ­¼Ô¡¢¥°¥ë¡¼¥×¡¢¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤ÏÊѹ¹¤Ç¤­¤ë¡£
363 ¿·¤·¤¤¥½¥±¥Ã¥È¤òºî¤ë¤È¤­¡¢ºî¤í¤¦¤È¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ËÂФ·¤Æ
364 ¥×¥í¥»¥¹¤¬½ñ¤­¹þ¤ß¤È¸¡º÷ (¼Â¹Ô) ¸¢¸Â¤ò»ý¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢ºîÀ®¤Ë¼ºÇÔ¤¹¤ë¡£
365 ¥½¥±¥Ã¥È¥ª¥Ö¥¸¥§¥¯¥È¤ËÀܳ¤¹¤ë¤Ë¤Ï¡¢ read/write ¸¢¸Â¤¬É¬ÍפǤ¢¤ë¡£
366 ¤³¤ÎÆ°ºî¤Ï¡¢Â¿¤¯¤Î BSD Í³Íè¤Î¥·¥¹¥Æ¥à¤È¤Ï°Û¤Ê¤Ã¤Æ¤¤¤ë
367 (BSD ¤Ç¤Ï Unix ¥½¥±¥Ã¥È¤ËÂФ·¤Æ¤Ï¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤ò̵»ë¤¹¤ë)¡£
368 °Ü¿¢À­¤ÎɬÍ×¤Ê¥×¥í¥°¥é¥à¤Ç¤Ï¡¢
369 ¥»¥­¥å¥ê¥Æ¥£¤ò¤³¤Î»ÅÍͤ˰͸¤·¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£
370
371 ¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤷ¤Æ¥½¥±¥Ã¥È¤Ë¥Ð¥¤¥ó¥É¤¹¤ë¤È¡¢
372 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¥½¥±¥Ã¥È¤¬À¸À®¤µ¤ì¤ë¡£
373 ¤³¤ì¤ÏɬÍפʤ¯¤Ê¤Ã¤¿¤È¤­¤Ë¸Æ¤Ó¤À¤·¤¿¥æ¡¼¥¶¡¼¤¬ºï½ü¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤
374 .RB ( unlink (2)
375 ¤òÍѤ¤¤ë)¡£
376 Unix ¤ÇÄ̾ï»È¤ï¤ì¤ë¡ÖÇظå¤ÇÊĤ¸¤ëÊý¼°¡×¤¬Å¬ÍѤµ¤ì¤ë¡£
377 ¥½¥±¥Ã¥È¤Ï¤¤¤Ä¤Ç¤â unlink ¤¹¤ë¤³¤È¤¬¤Ç¤­¡¢ºÇ¸å¤Î»²¾È¤¬
378 ¥¯¥í¡¼¥º¤µ¤ì¤¿¤È¤­¤Ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤«¤éºï½ü¤µ¤ì¤ë¡£
379
380 .B SOCK_STREAM
381 ¾å¤Ç¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤ä¿®Ç¤¾õ¤òÅϤ¹¤¿¤á¤Ë¤Ï¡¢Æ±¤¸
382 .BR sendmsg (2)
383 ¤ä
384 .BR recvmsg (2)
385 ¥³¡¼¥ë¤ÇÊä½õ¥Ç¡¼¥¿°Ê³°¤Î¥Ç¡¼¥¿¤ò¾¯¤Ê¤¯¤È¤â
386 1 ¥Ð¥¤¥ÈÁ÷¿®/¼õ¿®¤¹¤ëɬÍפ¬¤¢¤ë¡£
387
388 Unix ¥É¥á¥¤¥ó¤Î¥¹¥È¥ê¡¼¥à¡¦¥½¥±¥Ã¥È¤Ç¤Ï¡¢
389 ÂÓ°è³°¥Ç¡¼¥¿¤Î³µÇ°¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Ê¤¤¡£
390 .SH Îã
391 .BR bind (2)
392 »²¾È¡£
393 .SH ´ØÏ¢¹àÌÜ
394 .BR recvmsg (2),
395 .BR sendmsg (2),
396 .BR socket (2),
397 .BR socketpair (2),
398 .BR cmsg (3),
399 .BR capabilities (7),
400 .BR credentials (7),
401 .BR socket (7)