OSDN Git Service

(split) LDP v3.24 -> v3.29 の定型的な変更内容を反映。
[linuxjm/LDP_man-pages.git] / release / man2 / msgop.2
1 .\" Copyright 1993 Giorgio Ciucci <giorgio@crcc.it>
2 .\"
3 .\" Permission is granted to make and distribute verbatim copies of this
4 .\" manual provided the copyright notice and this permission notice are
5 .\" preserved on all copies.
6 .\"
7 .\" Permission is granted to copy and distribute modified versions of this
8 .\" manual under the conditions for verbatim copying, provided that the
9 .\" entire resulting derived work is distributed under the terms of a
10 .\" permission notice identical to this one.
11 .\"
12 .\" Since the Linux kernel and libraries are constantly changing, this
13 .\" manual page may be incorrect or out-of-date.  The author(s) assume no
14 .\" responsibility for errors or omissions, or for damages resulting from
15 .\" the use of the information contained herein.  The author(s) may not
16 .\" have taken the same level of care in the production of this manual,
17 .\" which is licensed free of charge, as they might when working
18 .\" professionally.
19 .\"
20 .\" Formatted or processed versions of this manual, if unaccompanied by
21 .\" the source, must acknowledge the copyright and authors of this work.
22 .\"
23 .\" Modified Tue Oct 22 16:40:11 1996 by Eric S. Raymond <esr@thyrsus.com>
24 .\" Modified Mon Jul 10 21:09:59 2000 by aeb
25 .\" Modified 1 Jun 2002, Michael Kerrisk <mtk.manpages@gmail.com>
26 .\"     Language clean-ups.
27 .\"     Enhanced and corrected information on msg_qbytes, MSGMNB and MSGMAX
28 .\"     Added note on restart behavior of msgsnd() and msgrcv()
29 .\"     Formatting clean-ups (argument and field names marked as .I
30 .\"             instead of .B)
31 .\" Modified, 27 May 2004, Michael Kerrisk <mtk.manpages@gmail.com>
32 .\"     Added notes on capability requirements
33 .\" Modified, 11 Nov 2004, Michael Kerrisk <mtk.manpages@gmail.com>
34 .\"     Language and formatting clean-ups
35 .\"     Added notes on /proc files
36 .\" FIXME . Add example programs to this page.
37 .\"
38 .\" Japanese Version Copyright (c) 1997 HANATAKA Shinya
39 .\"         all rights reserved.
40 .\" Translated 1997-02-23, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
41 .\" Modified 2000-09-23, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
42 .\" Updated 2002-11-26, Kentaro Shirakata <argrath@ub32.org>
43 .\" Updated 2005-03-04, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
44 .\" Updated 2006-03-05, Akihiro MOTOKI, LDP v2.25
45 .\" Updated 2008-08-09, Akihiro MOTOKI, LDP v3.05
46 .\"
47 .\"WORD:        message                 ¥á¥Ã¥»¡¼¥¸
48 .\"WORD:        operation               Áàºî
49 .\"WORD:        queue                   ¥­¥å¡¼
50 .\"WORD:        process                 ¥×¥í¥»¥¹
51 .\"WORD:        catch                   Êá³Í(catch)
52 .\"WORD:        signal                  ¥·¥°¥Ê¥ë
53 .\"WORD:        suspend                 Ää»ß(suspend)
54 .\"WORD:        sleep                   Ää»ß(sleep)
55 .\"WORD:        block                   Ää»ß(block)
56 .\"WORD:        process-ID              ¥×¥í¥»¥¹ID
57 .\"WORD:        type                    ·¿
58 .\"WORD:        policy                  Êý¿Ë
59 .\"WORD:        super-user              ¥¹¡¼¥Ñ¡¼¡¦¥æ¡¼¥¶¡¼
60 .\"WORD:        current time            ¸½ºß»þ¹ï
61 .\"WORD:        implement               ¼ÂÁõ
62 .\"
63 .TH MSGOP 2 2008-04-23 "Linux" "Linux Programmer's Manual"
64 .SH Ì¾Á°
65 msgrcv, msgsnd \- ¥á¥Ã¥»¡¼¥¸Áàºî
66 .SH ½ñ¼°
67 .nf
68 .B #include <sys/types.h>
69 .B #include <sys/ipc.h>
70 .B #include <sys/msg.h>
71 .sp
72 .BI "int msgsnd(int " msqid ", const void *" msgp ", size_t " msgsz \
73 ", int " msgflg );
74 .sp
75 .BI "ssize_t msgrcv(int " msqid ", void *" msgp ", size_t " msgsz \
76 ", long " msgtyp ,
77 .BI "               int " msgflg );
78 .fi
79 .SH ÀâÌÀ
80 ¥·¥¹¥Æ¥à¥³¡¼¥ë
81 .BR msgsnd ()
82 ¤È
83 .BR msgrcv ()
84 ¤Ï¤½¤ì¤¾¤ì¡¢¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤Ø¤Î¥á¥Ã¥»¡¼¥¸¤ÎÁ÷¿®¤È¡¢
85 ¥á¥Ã¥»¡¼¥¸¤Î¼õ¿®¤Ë»ÈÍѤµ¤ì¤ë¡£¸Æ¤Ó½Ð¤·¸µ¥×¥í¥»¥¹¤Ï¡¢
86 ¥á¥Ã¥»¡¼¥¸¤òÁ÷¿®¤¹¤ë¤¿¤á¤Ë¤Ï¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤ËÂФ¹¤ë½ñ¤­¹þ¤ßµö²Ä¤ò¡¢
87 ¥á¥Ã¥»¡¼¥¸¤ò¼õ¿®¤¹¤ë¤¿¤á¤Ë¤ÏÆɤ߽Ф·µö²Ä¤ò»ý¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
88 .PP
89 ¸Æ¤Ó½Ð¤·¸µ¥×¥í¥»¥¹¤Ï°Ê²¼¤Ë¼¨¤¹¹½Â¤ÂΤòÍÑ°Õ¤·¡¢¤³¤Î¹½Â¤ÂΤؤÎ
90 ¥Ý¥¤¥ó¥¿¤ò
91 .msgp
92 °ú¤­¿ô¤È¤·¤ÆÅϤ¹¡£
93 .in +4n
94 .nf
95
96 struct msgbuf {
97     long mtype;       /* message type, must be > 0 */
98     char mtext[1];    /* message data */
99 };
100 .fi
101 .in
102 .PP
103 .I mtext
104 ¥Õ¥£¡¼¥ë¥É¤ÏÇÛÎó (¤Þ¤¿¤Ï¾¤Î¹½Â¤ÂÎ) ¤Ç¡¢¤½¤ÎÂ礭¤µ¤Ï
105 ÈóÉé¤ÎÀ°¿ô¤Ç¤¢¤ë
106 .I msgsz
107 ¤Ç»ØÄꤵ¤ì¤ë¡£
108 Ťµ 0 ¤Î¥á¥Ã¥»¡¼¥¸ (¤Ä¤Þ¤ê
109 .I mtext
110 ¥Õ¥£¡¼¥ë¥É¤¬¤Ê¤¤¥á¥Ã¥»¡¼¥¸) ¤âǧ¤á¤é¤ì¤Æ¤¤¤ë¡£
111 .B mtype
112 ¥Õ¥£¡¼¥ë¥É¤Ï¸·Ì©¤ËÀµ¤ÎÀ°¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
113 ¤³¤ÎÃͤϡ¢¥á¥Ã¥»¡¼¥¸¤ò¼õ¿®¤¹¤ë¥×¥í¥»¥¹¤Ç¥á¥Ã¥»¡¼¥¸¤òÁªÂò¤¹¤ë¤¿¤á¤Ë
114 »ÈÍѤµ¤ì¤ë (²¼µ­¤Î
115 .BR msgrcv ()
116 ¤ÎÀâÌÀ¤ò»²¾È¤Î¤³¤È)¡£
117 .SS msgsnd()
118 .BR msgsnd ()
119 ¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï
120 .I msgp
121 °ú¤­¿ô¤Ç»ØÄꤵ¤ì¤¿¥á¥Ã¥»¡¼¥¸¤Î¥³¥Ô¡¼¤ò
122 .I msqid
123 ¤Ç»ØÄꤵ¤ì¤¿¼±Ê̻Ҥò»ý¤Ä¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤ØÄɲ乤롣
124 .PP
125 ¥­¥å¡¼¤Ë½½Ê¬¤Ê¶õ¤­ÍÆÎ̤¬¤¢¤ë¾ì¹ç¡¢
126 .BR msgsnd ()
127 ¤Ïľ¤Á¤ËÀ®¸ù¤¹¤ë¡£
128 (¥­¥å¡¼¤ÎÍÆÎ̤ϡ¢¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤Î¥Ç¡¼¥¿¹½Â¤ÂΤÎ
129 .I msg_qbytes
130 ¥Õ¥£¡¼¥ë¥É¤ÇÄêµÁ¤µ¤ì¤ë¡£
131 ¥­¥å¡¼ºîÀ®»þ¤Ë¤³¤Î¥Õ¥£¡¼¥ë¥É¤Ï
132 .B MSGMNB
133 ¤Ë½é´ü²½¤µ¤ì¤ë¤¬¡¢¤³¤ÎÀ©¸Â¤Ï
134 .BR msgctl (2)
135 ¤ò»È¤Ã¤ÆÊѹ¹¤Ç¤­¤ë¡£)
136 ¥­¥å¡¼¤Ë½½Ê¬¤Ê¶õ¤­ÍÆÎ̤¬¤Ê¤¤¾ì¹ç¡¢
137 ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï
138 .BR msgsnd ()
139 ¤Ï¶õ¤­ÍÆÎ̤¬¤Ç¤­¤ë¤Þ¤ÇÄä»ß (block) ¤¹¤ë¡£
140 .I msgflg
141 ¤Ë
142 .B IPC_NOWAIT
143 ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¤Ï¡¢¥¨¥é¡¼
144 .B EAGAIN
145 ¤Ç¼ºÇÔ¤¹¤ë¡£
146
147 Ää»ß¤·¤Æ¤¤¤ë
148 .BR msgsnd ()
149 ¤Ï°Ê²¼¤Î¾ì¹ç¤Ë¤â¼ºÇÔ¤¹¤ë¡£
150 .IP * 2
151 ¥­¥å¡¼¤¬ºï½ü¤µ¤ì¤¿¡£
152 ¤³¤Î¾ì¹ç¡¢
153 .I errno
154 ¤Ï
155 .B EIDRM
156 ¤ËÀßÄꤵ¤ì¤ë¡£
157 .IP *
158 ¥·¥°¥Ê¥ë¤¬Ê᪤µ¤ì¤¿¡£
159 ¤³¤Î¾ì¹ç¡¢
160 .I errno
161 ¤Ï
162 .BR EINTR
163 ¤ËÀßÄꤵ¤ì¤ë¡£
164 .BR signal (7)
165 »²¾È¡£
166 .RB ( msgsnd ()
167 ¤Ï¡¢¤¿¤È¤¨¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤ÎÀßÄê»þ¤Ë
168 .B SA_RESTART
169 ¤ò»ØÄꤷ¤Æ¤¤¤¿¤È¤·¤Æ¤â¡¢¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤Ë¤è¤Ã¤Æ³ä¤ê¹þ¤Þ¤ì¤¿¸å¤Ç
170 ¼«Æ°Åª¤ËºÆ¥¹¥¿¡¼¥È¤¹¤ë¤³¤È¤Ï·è¤·¤Æ¤Ê¤¤¡£)
171 .PP
172 Àµ¾ï¤Ë½ªÎ»¤·¤¿¾ì¹ç¡¢¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤Î¥Ç¡¼¥¿¹½Â¤ÂΤϰʲ¼¤Î¤è¤¦¤Ë
173 ¹¹¿·¤µ¤ì¤ë:
174 .IP
175 .I msg_lspid
176 ¤Ë¤Ï¸Æ¤Ó½Ð¤·¸µ¥×¥í¥»¥¹¤Î¥×¥í¥»¥¹ ID ¤¬ÀßÄꤵ¤ì¤ë¡£
177 .IP
178 .I msg_qnum
179 ¤Ï 1 Áý²Ã¤¹¤ë¡£
180 .IP
181 .I msg_stime
182 ¤Ë¤Ï¸½ºß»þ¹ï¤¬ÀßÄꤵ¤ì¤ë¡£
183 .SS msgrcv()
184 .BR msgrcv ()
185 ¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï
186 .I msqid
187 ¤Ç»ØÄꤵ¤ì¤¿¥­¥å¡¼¤«¤é¥á¥Ã¥»¡¼¥¸¤òºï½ü¤·¡¢
188 .I msgp
189 ¤Ç»ØÄꤵ¤ì¤¿¥Ð¥Ã¥Õ¥¡¤Ë¤½¤Î¥á¥Ã¥»¡¼¥¸¤ò³ÊǼ¤¹¤ë¡£
190 .PP
191 .I msgsz
192 °ú¤­¿ô¤Ë¤Ï
193 .I msgp
194 °ú¤­¿ô¤Ç»ØÄꤵ¤ì¤¿¹½Â¤ÂΤÎ
195 .I mtext
196 ¥á¥ó¥Ð¡¼¤ÎºÇÂç¤Î¥Ð¥¤¥È¿ô¤ò»ØÄꤹ¤ë¡£
197 ¥á¥Ã¥»¡¼¥¸¤Î¥Æ¥­¥¹¥È¤ÎŤµ¤¬
198 .I msgsz
199 ¤è¤êÂ礭¤¤¾ì¹ç¤ÎÆ°ºî¤Ï¡¢
200 .I msgflg
201 ¤Ë
202 .B MSG_NOERROR
203 ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ç·è¤Þ¤ë¡£
204 .B MSG_NOERROR
205 ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ì¤Ð¡¢¥á¥Ã¥»¡¼¥¸¤Î¥Æ¥­¥¹¥È¤ÏÀÚ¤êµÍ¤á¤é¤ì¤ë
206 (ÀÚ¤ê¼Î¤Æ¤é¤ì¤¿Éôʬ¤Ï¼º¤ï¤ì¤ë)¡£
207 .B MSG_NOERROR
208 ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢¥á¥Ã¥»¡¼¥¸¤Ï¥­¥å¡¼¤«¤éºï½ü¤µ¤ì¤º¡¢
209 ¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï \-1 ¤òÊÖ¤·¤Æ¼ºÇÔ¤·¡¢
210 .I errno
211 ¤Ë
212 .B E2BIG
213 ¤¬ÀßÄꤵ¤ì¤ë¡£
214 .PP
215 .I msgtyp
216 °ú¤­¿ô¤Ë¤ÏÍ׵᤹¤ë¥á¥Ã¥»¡¼¥¸¤Î·¿¤ò»ØÄꤹ¤ë¡£
217 ·¿¤Ï°Ê²¼¤Î¤è¤¦¤Ë»ØÄꤹ¤ë:
218 .IP * 2
219 .I msgtyp
220 ¤¬ 0 ¤Ê¤é¤Ð¡¢¥­¥å¡¼¤ÎºÇ½é¤Ë¤¢¤ë¥á¥Ã¥»¡¼¥¸¤¬Æɤ߹þ¤Þ¤ì¤ë¡£
221 .IP *
222 .I msgtyp
223 ¤¬ 0 ¤è¤êÂ礭¤¤¾ì¹ç¡¢
224 .I msgflg
225 ¤Ë
226 .B MSG_EXCEPT
227 ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢
228 .I msgtyp
229 ·¿¤Î¥­¥å¡¼¤ÎºÇ½é¤Î¥á¥Ã¥»¡¼¥¸¤¬Æɤ߹þ¤Þ¤ì¤ë¡£
230 .B MSG_EXCEPT
231 ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¤Ï¡¢
232 .I msgtyp
233 ·¿°Ê³°¤Î¥­¥å¡¼¤ÎºÇ½é¤Î¥á¥Ã¥»¡¼¥¸¤¬Æɤ߹þ¤Þ¤ì¤ë¡£
234 .IP *
235 .I msgtyp
236 ¤¬ 0 ¤è¤ê¾®¤µ¤±¤ì¤Ð¡¢
237 .I msgtyp
238 ¤ÎÀäÂÐÃͰʲ¼¤ÇºÇ¤â¾®¤µ¤¤·¿¤ò»ý¤Ä¥­¥å¡¼¤ÎºÇ½é¤Î¥á¥Ã¥»¡¼¥¸¤¬Æɤ߹þ¤Þ¤ì¤ë¡£
239 .PP
240 .I msgflg
241 °ú¤­¿ô¤Ë¤Ï¡¢°Ê²¼¤Î¥Õ¥é¥°¤òǤ°Õ¤Î¿ô¤À¤± (0¸Ä¤â²Ä)¡¢¤³¤ì¤é¤Î OR ¤Ç»ØÄꤹ¤ë:
242 .TP
243 .B IPC_NOWAIT
244 ¥­¥å¡¼¤ËÍ׵ᤵ¤ì¤¿·¿¤Î¥á¥Ã¥»¡¼¥¸¤¬¤Ê¤¤¾ì¹ç¤Ë¤Ïľ¤Á¤ËÊ֤롣
245 ¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¼ºÇÔ¤·¡¢
246 .I errno
247 ¤Ë¤Ï
248 .B ENOMSG
249 ¤¬ÀßÄꤵ¤ì¤ë¡£
250 .TP
251 .B MSG_EXCEPT
252 0 ¤è¤êÂ礭¤Ê
253 .I msgtyp
254 ¤È°ì½ï¤Ë»ÈÍѤ·¤Æ¡¢
255 .I msgtyp
256 °Ê³°¤Î¥­¥å¡¼¤ÎºÇ½é¤Î¥á¥Ã¥»¡¼¥¸¤òÆɤ߹þ¤à¡£
257 .TP
258 .B MSG_NOERROR
259 .I msgsz
260 ¥Ð¥¤¥È¤è¤ê¤âŤ«¤Ã¤¿¾ì¹ç¤Ï¥á¥Ã¥»¡¼¥¸¤Î¥Æ¥­¥¹¥È¤òÀÚ¤êµÍ¤á¤ë¡£
261 .PP
262 Í׵ᤵ¤ì¤¿·¿¤Î¥á¥Ã¥»¡¼¥¸¤¬Â¸ºß¤»¤º¡¢
263 .I msgflg
264 ¤Ë
265 .B IPC_NOWAIT
266 ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¸Æ¤Ó½Ð¤·¸µ¥×¥í¥»¥¹¤Ï
267 °Ê²¼¤Î¤¤¤º¤ì¤«¤Î¾õ¶·¤Ë¤Ê¤ë¤Þ¤ÇÄä»ß (block) ¤µ¤ì¤ë:
268 .IP * 2
269 Í׵ᤷ¤Æ¤¤¤ë·¿¤Î¥á¥Ã¥»¡¼¥¸¤¬¥­¥å¡¼¤ØÆþ¤ì¤é¤ì¤¿¡£
270 .IP *
271 ¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤¬¥·¥¹¥Æ¥à¤«¤éºï½ü¤µ¤ì¤¿¡£
272 ¤³¤Î¾ì¹ç¡¢¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¼ºÇÔ¤·¡¢
273 .I errno
274 ¤Ë
275 .B EIDRM
276 ¤¬ÀßÄꤵ¤ì¤ë¡£
277 .IP *
278 ¸Æ¤Ó½Ð¤·¸µ¥×¥í¥»¥¹¤¬¥·¥°¥Ê¥ë¤òÊá³Í¤·¤¿¡£
279 ¤³¤Î¾ì¹ç¡¢¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¼ºÇÔ¤·¡¢
280 .I errno
281 ¤Ë
282 .B EINTR
283 ¤¬ÀßÄꤵ¤ì¤ë¡£
284 .RB ( msgrcv ()
285 ¤Ï¡¢¤¿¤È¤¨¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤ÎÀßÄê»þ¤Ë
286 .B SA_RESTART
287 ¤ò»ØÄꤷ¤Æ¤¤¤¿¤È¤·¤Æ¤â¡¢¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤Ë¤è¤Ã¤Æ³ä¤ê¹þ¤Þ¤ì¤¿¸å¤Ç
288 ¼«Æ°Åª¤ËºÆ¥¹¥¿¡¼¥È¤¹¤ë¤³¤È¤Ï·è¤·¤Æ¤Ê¤¤¡£)
289 .PP
290 ¼Â¹Ô¤ËÀ®¸ù¤·¤¿¾ì¹ç¡¢¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤Î¥Ç¡¼¥¿¹½Â¤ÂΤϰʲ¼¤Î¤è¤¦¤Ë
291 ¹¹¿·¤µ¤ì¤ë:
292 .IP
293 .I msg_lrpid
294 ¤Ë¤Ï¸Æ¤Ó½Ð¤·¸µ¥×¥í¥»¥¹¤Î¥×¥í¥»¥¹ ID ¤¬ÀßÄꤵ¤ì¤ë¡£
295 .IP
296 .I msg_qnum
297 ¤Ï 1 ¸º»»¤µ¤ì¤ë¡£
298 .IP
299 .I msg_rtime
300 ¤Ë¤Ï¸½ºß¤Î»þ¹ï¤¬ÀßÄꤵ¤ì¤ë¡£
301 .SH ÊÖ¤êÃÍ
302 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¡¢¤É¤Á¤é¤Î´Ø¿ô¤â \-1 ¤òÊÖ¤·¡¢¥¨¥é¡¼¤ò
303 .I errno
304 ¤Ëɽ¼¨¤¹¤ë¡£À®¸ù¤·¤¿¾ì¹ç¡¢
305 .BR msgsnd ()
306 ¤Ï 0 ¤òÊÖ¤·¡¢
307 .BR msgrcv ()
308 ¤Ï
309 .I mtext
310 ÇÛÎó¤Ë¼ÂºÝ¤Ë¥³¥Ô¡¼¤·¤¿¥Ð¥¤¥È¿ô¤òÊÖ¤¹¡£
311 .SH ¥¨¥é¡¼
312 .BR msgsnd ()
313 ¤¬¼ºÇÔ¤·¤¿¾ì¹ç¡¢
314 .B errno
315 ¤Ë°Ê²¼¤ÎÃͤΤ¤¤º¤ì¤«¤¬ÀßÄꤵ¤ì¤ë:
316 .TP
317 .B EACCES
318 ¸Æ¤Ó½Ð¤·¸µ¥×¥í¥»¥¹¤Ë¤Ï¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤ËÂФ¹¤ë½ñ¤­¹þ¤ßµö²Ä¤¬¤Ê¤¯¡¢
319 .B CAP_IPC_OWNER
320 ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤â¤Ê¤¤¡£
321 .TP
322 .B EAGAIN
323 .I msg_qbytes
324 ¤¬¥­¥å¡¼¤ÎÀ©¸Â¤òĶ¤¨¤Æ¤¤¤¿¤¿¤á¡¢¥á¥Ã¥»¡¼¥¸¤òÁ÷¤ë¤³¤È¤¬¤Ç¤­¤º¡¢¤«¤Ä
325 .I msgflg
326 ¤Ë
327 .B IPC_NOWAIT
328 ¤¬»ØÄꤵ¤ì¤Æ¤¤¤¿¡£
329 .TP
330 .B EFAULT
331 .I msgp
332 ¤¬»Ø¤·¤Æ¤¤¤ë¥¢¥É¥ì¥¹¤¬¥¢¥¯¥»¥¹²Äǽ¤Ç¤Ê¤¤¡£
333 .TP
334 .B EIDRM
335 ¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤¬ºï½ü¤µ¤ì¤¿¡£
336 .TP
337 .B EINTR
338 ¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤¬Í׵ᤷ¤¿¾ò·ï¤òËþ¤¿¤¹¤Þ¤ÇÄä»ß¤·¤Æ¤¤¤ë»þ¤Ë¡¢
339 ¥×¥í¥»¥¹¤¬¥·¥°¥Ê¥ë¤òÊá³Í¤·¤¿¡£
340 .TP
341 .B EINVAL
342 .I msqid
343 ¤¬ÉÔŬÀÚ¤ÊÃͤǤ¢¤ë¤«¡¢
344 .I mtype
345 ¤¬Àµ¤ÎÃͤǤʤ¤¤«¡¢
346 .I msgsz
347 ¤¬ÉÔŬÀÚ¤ÊÃÍ (0 °Ê²¼¤«¡¢¥·¥¹¥Æ¥à¤Ç·è¤Þ¤ëÃÍ
348 .B MSGMAX
349 ¤è¤ê¤âÂ礭¤¤ÃÍ) ¤Ç¤¢¤ë¡£
350 .TP
351 .B ENOMEM
352 .I msgp
353 ¤¬»Ø¤¹¥á¥Ã¥»¡¼¥¸¤Î¥³¥Ô¡¼¤òºîÀ®¤¹¤ë¤Î¤Ë½½Ê¬¤Ê¥á¥â¥ê¤¬¥·¥¹¥Æ¥à¤Ë¸ºß¤·¤Ê¤¤¡£
354 .PP
355 .BR msgrcv ()
356 ¤¬¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï
357 .I errno
358 ¤Ë°Ê²¼¤ÎÃͤΤ¤¤º¤ì¤«¤¬ÀßÄꤵ¤ì¤ë:
359 .TP
360 .B E2BIG
361 ¥á¥Ã¥»¡¼¥¸¤Î¥Æ¥­¥¹¥È¤ÎŤµ¤¬
362 .I msgsz
363 ¤è¤ê¤âÂ礭¤¯¡¢
364 .I msgflg
365 ¤Ë
366 .B MSG_NOERROR
367 ¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤«¤Ã¤¿¡£
368 .TP
369 .B EACCES
370 ¸Æ¤Ó½Ð¤·¸µ¥×¥í¥»¥¹¤Ë¤Ï¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤ËÂФ¹¤ëÆɤ߹þ¤ßµö²Ä¤¬¤Ê¤¯¡¢
371 .B CAP_IPC_OWNER
372 ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤â¤Ê¤¤¡£
373 .TP
374 .B EAGAIN
375 ¥­¥å¡¼¤Ë¤Ï¥á¥Ã¥»¡¼¥¸¤¬¤Ê¤¯¡¢
376 .I msgflg
377 ¤Ë
378 .B IPC_NOWAIT
379 ¤¬»ØÄꤵ¤ì¤¿¡£
380 .TP
381 .B EFAULT
382 .I msgp
383 ¤¬»Ø¤·¤Æ¤¤¤ë¥¢¥É¥ì¥¹¤¬¥¢¥¯¥»¥¹²Äǽ¤Ç¤Ê¤¤¡£
384 .TP
385 .B EIDRM
386 ¥á¥Ã¥»¡¼¥¸¤ò¼õ¿®¤¹¤ë¤¿¤á¤Ë¥×¥í¥»¥¹¤¬Ää»ß¤·¤Æ¤¤¤ë´Ö¤Ë¡¢
387 ¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤¬ºï½ü¤µ¤ì¤¿¡£
388 .TP
389 .B EINTR
390 ¥á¥Ã¥»¡¼¥¸¤ò¼õ¤±¤ë¤¿¤á¤Ë¥×¥í¥»¥¹¤¬Ää»ß¤·¤Æ¤¤¤ë´Ö¤Ë¡¢
391 ¥×¥í¥»¥¹¤¬¥·¥°¥Ê¥ë¤òÊá³Í¤·¤¿¡£
392 .BR signal (7)
393 »²¾È¡£
394 .TP
395 .B EINVAL
396 .I msgqid
397 ¤¬ÉÔÀµ¤«¡¢
398 .I msgsz
399 ¤¬ 0 ¤è¤ê¾®¤µ¤¤¡£
400 .TP
401 .B ENOMSG
402 .I msgflg
403 ¤Ë
404 .B IPC_NOWAIT
405 ¤¬ÀßÄꤵ¤ì¤Æ¤ª¤ê¡¢
406 ¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤ËÍ׵ᤵ¤ì¤¿·¿¤Î¥á¥Ã¥»¡¼¥¸¤¬Â¸ºß¤·¤Ê¤«¤Ã¤¿¡£
407 .SH ½àµò
408 SVr4, POSIX.1-2001.
409 .SH Ãí°Õ
410 .I msgp
411 °ú¤­¿ô¤Ï¡¢ libc4, libc5, glibc 2.0, glibc 2.1 ¤Ç¤Ï
412 \fIstruct msgbuf *\fP ¤ÈÀë¸À¤µ¤ì¤Æ¤¤¤ë¡£glibc 2.2 °Ê¹ß¤Ç¤Ï¡¢
413 SUSv2 ¤È SUSv3 ¤ÎÍ×µáÄ̤ꡢ\fIvoid *\fP ¤ÈÀë¸À¤µ¤ì¤Æ¤¤¤ë¡£
414
415 °Ê²¼¤Ï
416 .B msgsnd
417 ¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ë±Æ¶Á¤¹¤ë¥·¥¹¥Æ¥àÀ©¸Â¤Ç¤¢¤ë:
418 .TP
419 .B MSGMAX
420 ¥á¥Ã¥»¡¼¥¸¤Î¥Æ¥­¥¹¥È¤ÎºÇÂ祵¥¤¥º: 8192 ¥Ð¥¤¥È
421 (Linux ¤Ç¤Ï¡¢¤³¤ÎÀ©¸ÂÃͤÏ
422 .I /proc/sys/kernel/msgmax
423 ·Ðͳ¤ÇÆɤ߽Ф·¤¿¤êÊѹ¹¤·¤¿¤ê¤Ç¤­¤ë)¡£
424 .TP
425 .B MSGMNB
426 ¥Ð¥¤¥Èñ°Ì¤Ç¤Î¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤Î¥Ç¥Õ¥©¥ë¥È¤ÎºÇÂ祵¥¤¥º : 16384 ¥Ð¥¤¥È¡£
427 (Linux ¤Ç¤Ï¡¢¤³¤ÎÀ©¸ÂÃͤÏ
428 .I /proc/sys/kernel/msgmnb
429 ·Ðͳ¤ÇÆɤ߽Ф·¤¿¤êÊѹ¹¤·¤¿¤ê¤Ç¤­¤ë)¡£
430 ¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¡¼¤Ï
431 .BR msgctl (2)
432 ¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ç¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤Î¥µ¥¤¥º¤ò
433 .B MSGMNB
434 ¤è¤ê¤âÂ礭¤¤ÃͤËÁý¤ä¤¹¤³¤È¤¬¤Ç¤­¤ë¡£
435 .PP
436 ¸½ºß¤Î¼ÂÁõ¤Ç¤Ï¡¢¥·¥¹¥Æ¥àÁ´ÂΤΥá¥Ã¥»¡¼¥¸¡¦¥Ø¥Ã¥À¡¼¤ÎºÇÂç¿ô
437 .RB ( MSGTQL )
438 ¤È¡¢¥·¥¹¥Æ¥àÁ´ÂΤΥá¥Ã¥»¡¼¥¸¡¦¥×¡¼¥ë¤ÎºÇÂç¥Ð¥¤¥È¿ô
439 .RB ( MSGPOOL )
440 ¤Ë´Ø¤·¤Æ¼ÂÁõ°Í¸¤ÎÀ©¸Â¤Ï¤Ê¤¤¡£
441 .SH ´ØÏ¢¹àÌÜ
442 .BR msgctl (2),
443 .BR msgget (2),
444 .BR capabilities (7),
445 .BR mq_overview (7),
446 .BR svipc (7)