OSDN Git Service

Convert release and draft pages to UTF-8.
[linuxjm/jm.git] / manual / LDP_man-pages / release / man3 / mq_open.3
index f48d475..2ebef63 100644 (file)
@@ -27,9 +27,9 @@
 .\" Translated 2006-04-23, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
 .\"
 .TH MQ_OPEN 3 2009-02-20 "Linux" "Linux Programmer's Manual"
-.SH Ì¾Á°
-mq_open \- ¥á¥Ã¥»¡¼¥¸¥­¥å¡¼¤ò¥ª¡¼¥×¥ó¤¹¤ë
-.SH ½ñ¼°
+.SH 名前
+mq_open \- メッセージキューをオープンする
+.SH 書式
 .nf
 .BR "#include <fcntl.h>" "           /* For O_* constants */"
 .BR "#include <sys/stat.h>" "        /* For mode constants */"
@@ -40,189 +40,189 @@ mq_open \- 
 .BI "              struct mq_attr *" attr );
 .fi
 .sp
-\fI\-lrt\fP ¤Ç¥ê¥ó¥¯¤¹¤ë¡£
-.SH ÀâÌÀ
+\fI\-lrt\fP でリンクする。
+.SH 説明
 .BR mq_open ()
-¤Ï¡¢¿·¤·¤¤ POSIX ¥á¥Ã¥»¡¼¥¸¥­¥å¡¼¤òºîÀ®¤¹¤ë¤«¡¢´û¸¤Î¥­¥å¡¼¤ò
-¥ª¡¼¥×¥ó¤¹¤ë¡£¥­¥å¡¼¤Ï
+は、新しい POSIX メッセージキューを作成するか、既存のキューを
+オープンする。キューは
 .I name
-¤Ç¼±Ê̤µ¤ì¤ë¡£
+で識別される。
 .I name
-¤Î¹½À®¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï
+の構成の詳細については
 .B mq_overview (7)
-¤ò»²¾È¡£
+を参照。
 
 .I oflag
-°ú¤­¿ô¤Ë¤Ï¡¢´Ø¿ô¸Æ¤Ó½Ð¤·¤ÎÁàºî¤òÀ©¸æ¤¹¤ë¥Õ¥é¥°¤ò»ØÄꤹ¤ë
-(oflag ¤ÎÃͤÎÄêµÁ¤Ï
+引き数には、関数呼び出しの操作を制御するフラグを指定する
+(oflag の値の定義は
 .I <fcntl.h>
-¤Î¥¤¥ó¥¯¥ë¡¼¥É¤Ë¤è¤êÆÀ¤é¤ì¤ë)¡£
+のインクルードにより得られる)。
 .I oflag
-¤Ë¤Ï¡¢°Ê²¼¤Î¤¦¤Á¤¤¤º¤ì¤«°ì¤Ä¤òɬ¤º»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+には、以下のうちいずれか一つを必ず指定しなければならない。
 .TP
 .B O_RDONLY
-¥á¥Ã¥»¡¼¥¸¤Î¼õ¿®ÀìÍѤȤ·¤Æ¥­¥å¡¼¤ò¥ª¡¼¥×¥ó¤¹¤ë¡£
+メッセージの受信専用としてキューをオープンする。
 .TP
 .B O_WRONLY
-¥á¥Ã¥»¡¼¥¸¤ÎÁ÷¿®ÀìÍѤȤ·¤Æ¥­¥å¡¼¤ò¥ª¡¼¥×¥ó¤¹¤ë¡£
+メッセージの送信専用としてキューをオープンする。
 .TP
 .B O_RDWR
-¥á¥Ã¥»¡¼¥¸¤ÎÁ÷¼õ¿®Î¾ÍѤȤ·¤Æ¥­¥å¡¼¤ò¥ª¡¼¥×¥ó¤¹¤ë¡£
+メッセージの送受信両用としてキューをオープンする。
 .PP
-0 ¸Ä°Ê¾å¤Î²¼µ­¤Î¥Õ¥é¥°¤ò¡¢¥Ó¥Ã¥Èñ°Ì¤Î OR (ÏÀÍýÏÂ) ¤Ç
+0 個以上の下記のフラグを、ビット単位の OR (論理和) で
 .I oflag
-¤ËÄɲäǻØÄê¤Ç¤­¤ë¡£
+に追加で指定できる。
 .TP
 .B O_NONBLOCK
-ÈóÄä»ß (nonblocking) ¥â¡¼¥É¤Ç¥­¥å¡¼¤ò¥ª¡¼¥×¥ó¤¹¤ë¡£
+非停止 (nonblocking) モードでキューをオープンする。
 .BR mq_receive (3)
-¤È
+と
 .BR mq_send (3)
-¤Ï¡¢Ä̾ï¤ÏÄä»ß (block) ¤¹¤ë¾õ¶·¤Ë¤ª¤¤¤Æ¡¢¥¨¥é¡¼
+ã\81¯ã\80\81é\80\9a常ã\81¯å\81\9cæ­¢ (block) ã\81\99ã\82\8bç\8a¶æ³\81ã\81«ã\81\8aã\81\84ã\81¦ã\80\81ã\82¨ã\83©ã\83¼
 .B EAGAIN
-¤Ç¼ºÇÔ¤¹¤ë¤è¤¦¤Ë¤Ê¤ë¡£
+で失敗するようになる。
 .TP
 .B O_CREAT
-¸ºß¤·¤Ê¤¤¾ì¹ç¡¢¥á¥Ã¥»¡¼¥¸¥­¥å¡¼¤òºîÀ®¤¹¤ë¡£
-¥á¥Ã¥»¡¼¥¸¥­¥å¡¼¤Î½êÍ­¼Ô (¥æ¡¼¥¶ ID) ¤È¥°¥ë¡¼¥×½êÍ­¸¢ (¥°¥ë¡¼¥× ID) ¤Ï¡¢
-¤½¤ì¤¾¤ì¸Æ¤Ó½Ð¤·¸µ¥×¥í¥»¥¹¤Î¼Â¸ú¥æ¡¼¥¶ ID ¤È¼Â¸ú¥°¥ë¡¼¥× ID ¤ËÀßÄꤵ¤ì¤ë¡£
-.\" ¼ÂºÝ¤Ï¡¢Linux ¤Ç¤Ï¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à ID ¤¬»ÈÍѤµ¤ì¤ë¡£
+存在しない場合、メッセージキューを作成する。
+メッセージキューの所有者 (ユーザ ID) とグループ所有権 (グループ ID) は、
+それぞれ呼び出し元プロセスの実効ユーザ ID と実効グループ ID に設定される。
+.\" 実際は、Linux ではファイルシステム ID が使用される。
 .TP
 .B O_EXCL
 .B O_CREAT
-¤¬
+が
 .I oflag
-¤Ë»ØÄꤵ¤ì¡¢¤«¤Ä»ØÄꤵ¤ì¤¿Ì¾Á°
+に指定され、かつ指定された名前
 .I name
-¤ò»ý¤Ä¥­¥å¡¼¤¬¤¹¤Ç¤Ë¸ºß¤¹¤ë¾ì¹ç¡¢¥¨¥é¡¼
+ã\82\92æ\8c\81ã\81¤ã\82­ã\83¥ã\83¼ã\81\8cã\81\99ã\81§ã\81«å­\98å\9c¨ã\81\99ã\82\8bå ´å\90\88ã\80\81ã\82¨ã\83©ã\83¼
 .B EEXIST
-¤Ç¼ºÇÔ¤¹¤ë¡£
+で失敗する。
 .PP
 .I oflag
-¤Ë
+に
 .B O_CREAT
-¤ò»ØÄꤹ¤ë¾ì¹ç¡¢ÄɲäǠ2¤Ä¤Î°ú¤­¿ô¤òÍ¿¤¨¤ëɬÍפ¬¤¢¤ë¡£
+を指定する場合、追加で 2つの引き数を与える必要がある。
 .I mode
-°ú¤­¿ô¤Ï¡¢¿·¤·¤¤¥­¥å¡¼¤ËŬÍѤµ¤ì¤ëµö²ÄÀßÄê (permission) ¤ò¡¢
+引き数は、新しいキューに適用される許可設定 (permission) を、
 .BR open (2)
-¤ÈƱ¤¸¤è¤¦¤Ë»ØÄꤹ¤ë
-(µö²Ä¥Ó¥Ã¥È¤Î¥·¥ó¥Ü¥ëÄêµÁ¤Ï
+と同じように指定する
+(許可ビットのシンボル定義は
 .I <sys/stat.h>
-¤Î¥¤¥ó¥¯¥ë¡¼¥É¤Ë¤è¤êÆÀ¤é¤ì¤ë)¡£
-µö²ÄÀßÄê¤Ï¥×¥í¥»¥¹¤Î umask ¤Ç¥Þ¥¹¥¯¤µ¤ì¤ë¡£
+のインクルードにより得られる)。
+許可設定はプロセスの umask でマスクされる。
 .I attr
-°ú¤­¿ô¤Ï¡¢¥­¥å¡¼¤Î°À­¤ò»ØÄꤹ¤ë¡£¾ÜºÙ¤Ï¡¢
+引き数は、キューの属性を指定する。詳細は、
 .BR mq_getattr (3)
-¤ò»²¾È¡£
+を参照。
 .I attr
-¤¬ NULL ¤Î¾ì¹ç¡¢¥­¥å¡¼¤Ï¼ÂÁõ¤ÇÄêµÁ¤µ¤ì¤¿¥Ç¥Õ¥©¥ë¥È°À­¤ÇºîÀ®¤µ¤ì¤ë¡£
-.SH ÊÖ¤êÃÍ
-À®¸ù¤¹¤ë¤È¡¢
+が NULL の場合、キューは実装で定義されたデフォルト属性で作成される。
+.SH 返り値
+成功すると、
 .BR mq_open ()
-¤Ï¥á¥Ã¥»¡¼¥¸¥­¥å¡¼µ­½Ò»Ò (message queue descriptor) ¤òÊÖ¤¹¡£
-¥á¥Ã¥»¡¼¥¸¥­¥å¡¼µ­½Ò»Ò¤Ï¾¤Î¥á¥Ã¥»¡¼¥¸¥­¥å¡¼´ØÏ¢¤Î´Ø¿ô¤Ç»ÈÍѤµ¤ì¤ë¡£
-¥¨¥é¡¼¤Î¾ì¹ç¡¢
+はメッセージキュー記述子 (message queue descriptor) を返す。
+メッセージキュー記述子は他のメッセージキュー関連の関数で使用される。
+エラーの場合、
 .BR mq_open ()
-¤Ï
+は
 .I "(mqd_t)\ \-1"
-¤òÊÖ¤·¡¢
+を返し、
 .I errno
-¤Ë¥¨¥é¡¼¤ò¼¨¤¹ÃͤòÀßÄꤹ¤ë¡£
-.SH ¥¨¥é¡¼
+にエラーを示す値を設定する。
+.SH ã\82¨ã\83©ã\83¼
 .TP
 .B EACCES
-¥­¥å¡¼¤Ï¸ºß¤¹¤ë¤¬¡¢¸Æ¤Ó½Ð¤·¸µ¤¬»ØÄꤵ¤ì¤¿¥â¡¼¥É¤Ç¤½¤Î¥­¥å¡¼
-¤ò¥ª¡¼¥×¥ó¤¹¤ëµö²Ä¤ò»ý¤¿¤Ê¤¤¡£
+ã\82­ã\83¥ã\83¼ã\81¯å­\98å\9c¨ã\81\99ã\82\8bã\81\8cã\80\81å\91¼ã\81³å\87ºã\81\97å\85\83ã\81\8cæ\8c\87å®\9aã\81\95ã\82\8cã\81\9fã\83¢ã\83¼ã\83\89ã\81§ã\81\9dã\81®ã\82­ã\83¥ã\83¼
+をオープンする許可を持たない。
 .TP
 .B EACCES
 .I name
-¤Ë¥¹¥é¥Ã¥·¥å¤¬ 2 ¸Ä°Ê¾å´Þ¤Þ¤ì¤Æ¤¤¤¿¡£
+にスラッシュが 2 個以上含まれていた。
 .\" Note that this isn't consistent with the same case for sem_open()
 .TP
 .B EEXIST
 .I oflag
-¤Ë
+に
 .B O_CREAT
-¤È
+と
 .B O_EXCL
-¤ÎξÊý¤¬»ØÄꤵ¤ì¤¿¤¬¡¢»ØÄꤵ¤ì¤¿Ì¾Á°
+の両方が指定されたが、指定された名前
 .I name
-¤ò»ý¤Ä¥­¥å¡¼¤¬¤¹¤Ç¤Ë¸ºß¤¹¤ë¡£
+を持つキューがすでに存在する。
 .TP
 .B EINVAL
 .I oflag
-¤Ë
+に
 .B O_CREAT
-¤¬»ØÄꤵ¤ì¡¢¤«¤Ä
+が指定され、かつ
 .I attr
-¤¬ NULL °Ê³°¤À¤¬¡¢
+が NULL 以外だが、
 .I attr\->mq_maxmsg
-¤«
+か
 .I attr\->mq_msqsize
-¤¬ÉÔÀµ¤Ç¤¢¤Ã¤¿¡£
-¤³¤ì¤é¤Î¥Õ¥£¡¼¥ë¥É¤ÏξÊý¤È¤â 0 ¤è¤êÂ礭¤¯¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
-¥×¥í¥»¥¹¤¬Æø¢¤ò»ý¤¿¤Ê¤¤
+が不正であった。
+これらのフィールドは両方とも 0 より大きくなければならない。
+プロセスが特権を持たない
 .RB ( CAP_SYS_RESOURCE
-¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤ò»ý¤¿¤Ê¤¤) ¾ì¹ç¡¢
+ケーパビリティを持たない) 場合、
 .I attr\->mq_maxmsg
-¤È
+と
 .I attr\->mq_msgsize
-¤Ï¡¢¤½¤ì¤¾¤ì¾å¸Â
-.IR msg_max ¡¢
+は、それぞれ上限
+.IR msg_max 
 .I msgsize_max
-°Ê²¼¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
-¤Þ¤¿¡¢Æø¢¥×¥í¥»¥¹¤Î¾ì¹ç¤Ç¤â¡¢
+以下でなければならない。
+また、特権プロセスの場合でも、
 .I attr\->mq_maxmsg
-¤Ï
+は
 .B HARD_MAX
-¾å¸Â¤òĶ¤¨¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£
-(¤³¤ì¤é¤Î¾å¸Â¤Ë´Ø¤¹¤ë¾ÜºÙ¤Ï
+上限を超えることはできない。
+(これらの上限に関する詳細は
 .BR mq_overview (7)
-¤ò»²¾È¡£)
+を参照。)
 .TP
 .B EMFILE
-¤½¤Î¥×¥í¥»¥¹¤¬¥ª¡¼¥×¥ó¤·¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤È¥á¥Ã¥»¡¼¥¸¥­¥å¡¼¤Î¿ô¤¬
-¥×¥í¥»¥¹Ëè¤Î¾å¸Â¤Ë㤷¤Æ¤¤¤ë¡£
+そのプロセスがオープンしているファイルとメッセージキューの数が
+プロセス毎の上限に達している。
 .TP
 .B ENAMETOOLONG
 .I name
-¤¬Ä¹¤¹¤®¤ë¡£
+が長すぎる。
 .TP
 .B ENFILE
-¥·¥¹¥Æ¥àÁ´ÂΤǥª¡¼¥×¥ó¤·¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤È¥á¥Ã¥»¡¼¥¸¥­¥å¡¼¤Î¹ç·×¿ô¤¬
-¥·¥¹¥Æ¥à¾å¸Â¤Ë㤷¤Æ¤¤¤ë¡£
+システム全体でオープンしているファイルとメッセージキューの合計数が
+システム上限に達している。
 .TP
 .B ENOENT
 .B O_CREAT
-¥Õ¥é¥°¤¬
+フラグが
 .I oflag
-¤Ë»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¤¬¡¢»ØÄꤵ¤ì¤¿Ì¾Á°
+に指定されなかったが、指定された名前
 .I name
-¤ò»ý¤Ä¥­¥å¡¼¤¬Â¸ºß¤·¤Ê¤¤¡£
+を持つキューが存在しない。
 .TP
 .B ENOENT
 .I name
-¤¬ "/" ¤À¤±¤Ç¡¢¤½¤Î¸å¤í¤Ë¾¤Îʸ»ú¤¬Â³¤¤¤Æ¤¤¤Ê¤«¤Ã¤¿¡£
+が "/" だけで、その後ろに他の文字が続いていなかった。
 .\" Note that this isn't consistent with the same case for sem_open()
 .TP
 .B ENOMEM
-½½Ê¬¤Ê¥á¥â¥ê¤¬¤Ê¤¤¡£
+十分なメモリがない。
 .TP
 .B ENOSPC
-¿·¤·¤¤¥á¥Ã¥»¡¼¥¸¥­¥å¡¼¤òºîÀ®¤¹¤ë¤Î¤Ë½½Ê¬¤Ê¶õ´Ö¤¬¤Ê¤¤¡£
-¤³¤Î¥¨¥é¡¼¤Ï¤ª¤½¤é¤¯
+新しいメッセージキューを作成するのに十分な空間がない。
+このエラーはおそらく
 .I queues_max
-¾å¸Â¤ËÄñ¿¨¤·¤¿¤¿¤áµ¯¤³¤Ã¤¿¤Î¤À¤í¤¦¡£
+上限に抵触したため起こったのだろう。
 .BR mq_overview (7)
-¤ò»²¾È¡£
-.SH ½àµò
+を参照。
+.SH 準拠
 POSIX.1-2001.
-.SH ¥Ð¥°
-2.6.14 ¤è¤êÁ°¤Î¥«¡¼¥Í¥ë¤Ë¤Ï¡¢
-¥×¥í¥»¥¹¤Î umask ¤¬
+.SH ã\83\90ã\82°
+2.6.14 より前のカーネルには、
+プロセスの umask が
 .I mode
-¤Ç»ØÄꤵ¤ì¤¿µö²ÄÀßÄê¤ËŬÍѤµ¤ì¤Ê¤«¤Ã¤¿¡£
-.SH ´ØÏ¢¹àÌÜ
+で指定された許可設定に適用されなかった。
+.SH 関連項目
 .BR mq_close (3),
 .BR mq_getattr (3),
 .BR mq_notify (3),