OSDN Git Service

a1365985402bc10969ae2e3e5520174047785498
[linuxjm/LDP_man-pages.git] / draft / man3 / mq_getattr.3
1 '\" t
2 .\" Hey Emacs! This file is -*- nroff -*- source.
3 .\"
4 .\" Copyright (C) 2006 Michael Kerrisk <mtk.manpages@gmail.com>
5 .\"
6 .\" Permission is granted to make and distribute verbatim copies of this
7 .\" manual provided the copyright notice and this permission notice are
8 .\" preserved on all copies.
9 .\"
10 .\" Permission is granted to copy and distribute modified versions of this
11 .\" manual under the conditions for verbatim copying, provided that the
12 .\" entire resulting derived work is distributed under the terms of a
13 .\" permission notice identical to this one.
14 .\"
15 .\" Since the Linux kernel and libraries are constantly changing, this
16 .\" manual page may be incorrect or out-of-date.  The author(s) assume no
17 .\" responsibility for errors or omissions, or for damages resulting from
18 .\" the use of the information contained herein.  The author(s) may not
19 .\" have taken the same level of care in the production of this manual,
20 .\" which is licensed free of charge, as they might when working
21 .\" professionally.
22 .\"
23 .\" Formatted or processed versions of this manual, if unaccompanied by
24 .\" the source, must acknowledge the copyright and authors of this work.
25 .\"
26 .\" Japanese Version Copyright (c) 2006 Akihiro MOTOKI all rights reserved.
27 .\" Translated 2006-04-23, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
28 .\" Updated 2008-11-09, Akihiro MOTOKI, LDP v3.13
29 .\"
30 .TH MQ_GETATTR 3 2010-08-29 "Linux" "Linux Programmer's Manual"
31 .\"O .SH NAME
32 .SH 名前
33 .\"O mq_getattr, mq_setattr \- get/set message queue attributes
34 mq_getattr, mq_setattr \- メッセージキューの属性を設定/取得する
35 .\"O .SH SYNOPSIS
36 .SH 書式
37 .nf
38 .B #include <mqueue.h>
39 .sp
40 .BI "int mq_getattr(mqd_t " mqdes ", struct mq_attr *" attr );
41
42 .BI "int mq_setattr(mqd_t " mqdes ", struct mq_attr *" newattr ","
43 .BI "                 struct mq_attr *" oldattr );
44 .fi
45 .sp
46 .\"O Link with \fI\-lrt\fP.
47 \fI\-lrt\fP でリンクする。
48 .\"O .SH DESCRIPTION
49 .SH 説明
50 .\"O .BR mq_getattr ()
51 .\"O and
52 .\"O .BR mq_setattr ()
53 .\"O respectively retrieve and modify attributes of the message queue
54 .\"O referred to by the descriptor
55 .\"O .IR mqdes .
56 .BR mq_getattr ()
57
58 .BR mq_setattr ()
59 は、記述子
60 .I mqdes
61 で参照されるメッセージキューの属性の取得と変更をそれぞれ行う。
62
63 .\"O .BR mq_getattr ()
64 .\"O returns an
65 .\"O .I mq_attr
66 .\"O structure in the buffer pointed by
67 .\"O .IR attr .
68 .\"O This structure is defined as:
69 .BR mq_getattr ()
70 は、
71 .I attr
72 が指すバッファに
73 .I mq_attr
74 構造体を格納して返す。この構造体は以下のように定義されている:
75 .in +4n
76 .nf
77
78 struct mq_attr {
79 .\"O     long mq_flags;       /* Flags: 0 or O_NONBLOCK */
80 .\"O     long mq_maxmsg;      /* Max. # of messages on queue */
81 .\"O     long mq_msgsize;     /* Max. message size (bytes) */
82 .\"O     long mq_curmsgs;     /* # of messages currently in queue */
83     long mq_flags;       /* フラグ: 0 か O_NONBLOCK */
84     long mq_maxmsg;      /* キューの最大メッセージ数 */
85     long mq_msgsize;     /* 最大メッセージサイズ (バイト単位) */
86     long mq_curmsgs;     /* キューに現在入っているメッセージ数 */
87 };
88 .fi
89 .in
90 .PP
91 .\"O The
92 .\"O .I mq_flags
93 .\"O field contains flags associated with the open message queue description.
94 .\"O This field is initialized when the queue is created by
95 .\"O .BR mq_open (3).
96 .\"O The only flag that can appear in this field is
97 .\"O .BR O_NONBLOCK .
98 .I mq_flags
99 フィールドには、オープンメッセージキュー記述 (open message queue
100 description) に関連付けられているフラグが格納される。
101 このフィールドは
102 .BR mq_open (3)
103 でキューが作成される際に初期化される。
104 このフィールドに現れるフラグは
105 .B O_NONBLOCK
106 だけである。
107
108 .\"O The
109 .\"O .I mq_maxmsg
110 .\"O and
111 .\"O .I mq_msgsize
112 .\"O fields are set when the message queue is created by
113 .\"O .BR mq_open (3).
114 .I mq_maxmsg
115
116 .I mq_msgsize
117 フィールドは
118 .BR mq_open (3)
119 でメッセージキューが作成される際にセットされる。
120 .\"O The
121 .\"O .I mq_maxmsg
122 .\"O field is an upper limit on the number of messages
123 .\"O that may be placed on the queue using
124 .\"O .BR mq_send (3).
125 .I mq_maxmsg
126 フィールドは、
127 .BR mq_send (3)
128 を使ってキューに入れることができるメッセージ数の上限である。
129 .\"O The
130 .\"O .I mq_msgsize
131 .\"O field is an upper limit on the size of messages
132 .\"O that may be placed on the queue.
133 .I mq_msgsize
134 フィールドは、キューに入れることができるメッセージの
135 上限サイズである。
136 .\"O Both of these fields must have a value greater than zero.
137 .\"O Two
138 .\"O .I /proc
139 .\"O files that place ceilings on the values for these fields are described in
140 .\"O .BR mq_open (3).
141 これらのフィールドはどちらも 0 より大きな値でなければならない。
142 これらのフィールドに設定できる値の上限は
143 .I /proc
144 ファイルにより決まる。
145 .I /proc
146 ファイルの詳細は
147 .BR mq_open (3)
148 に説明されている。
149
150 .\"O The
151 .\"O .I mq_curmsgs
152 .\"O field returns the number of messages currently held in the queue.
153 .I mq_curmsgs
154 フィールドはキューに現在格納されているメッセージ数を返す。
155
156 .\"O .BR mq_setattr ()
157 .\"O sets message queue attributes using information supplied in the
158 .\"O .I mq_attr
159 .\"O structure pointed to by
160 .\"O .IR newattr .
161 .BR mq_setattr ()
162 は、
163 .I newattr
164 が指す
165 .I mq_attr
166 構造体で与えられた情報を使って、メッセージキューの属性を設定する。
167 .\"O The only attribute that can be modified is the setting of the
168 .\"O .B O_NONBLOCK
169 .\"O flag in
170 .\"O .IR mq_flags .
171 .\"O The other fields in
172 .\"O .I newattr
173 .\"O are ignored.
174 変更することができる属性は、
175 .I mq_flags
176
177 .B O_NONBLOCK
178 フラグの設定だけである。
179 .I newattr
180 の他のフィールドは無視される。
181 .\"O If the
182 .\"O .I oldattr
183 .\"O field is not NULL,
184 .\"O then the buffer that it points to is used to return an
185 .\"O .I mq_attr
186 .\"O structure that contains the same information that is returned by
187 .\"O .BR mq_getattr ().
188 .I oldattr
189 フィールドが NULL 以外の場合、
190 .BR mq_getattr ()
191 が返すのと同じ情報を格納した
192 .I mq_attr
193 構造体を
194 .I oldattr
195 が指すバッファに入れて返す。
196 .\"O .SH RETURN VALUE
197 .SH 返り値
198 .\"O On success
199 .\"O .BR mq_getattr ()
200 .\"O and
201 .\"O .BR mq_setattr ()
202 .\"O return 0; on error, \-1 is returned, with
203 .\"O .I errno
204 .\"O set to indicate the error.
205 成功すると、
206 .I mq_getattr ()
207
208 .I mq_setattr ()
209 は 0 を返す。エラーの場合、\-1 を返し、
210 .I errno
211 にエラーを示す値を設定する。
212 .\"O .SH ERRORS
213 .SH エラー
214 .TP
215 .B EBADF
216 .\"O The descriptor specified in
217 .\"O .I mqdes
218 .\"O is invalid.
219 .I mqdes
220 で指定された記述子が不正である。
221 .TP
222 .B EINVAL
223 .\"O .I newattr\->mq_flags
224 .\"O contained set bits other than
225 .\"O .BR O_NONBLOCK .
226 .I newattr\->mq_flags
227
228 .B O_NONBLOCK
229 以外のビットがセットされていた。
230 .\"O .SH CONFORMING TO
231 .SH 準拠
232 POSIX.1-2001.
233 .\"O .SH NOTES
234 .SH 注意
235 .\"O On Linux,
236 .\"O .BR mq_getattr ()
237 .\"O and
238 .\"O .BR mq_setattr ()
239 .\"O are library functions layered on top of the
240 .\"O .BR mq_getsetattr (2)
241 .\"O system call.
242 Linux では、
243 .BR mq_getattr ()
244
245 .BR mq_setattr ()
246 はライブラリ関数であり、
247 .BR mq_getsetattr (2)
248 システムコールを用いて実装されている。
249 .\"O .SH "SEE ALSO"
250 .SH 関連項目
251 .BR mq_close (3),
252 .BR mq_notify (3),
253 .BR mq_open (3),
254 .BR mq_receive (3),
255 .BR mq_send (3),
256 .BR mq_unlink (3),
257 .BR mq_overview (7)