OSDN Git Service

Update release for LDP 3.67
[linuxjm/LDP_man-pages.git] / release / man2 / msgget.2
index 1db557b..fdff026 100644 (file)
@@ -1,7 +1,8 @@
 .\" Copyright 1993 Giorgio Ciucci <giorgio@crcc.it>
 .\"
+.\" %%%LICENSE_START(VERBATIM)
 .\" Permission is granted to make and distribute verbatim copies of this
-.\" manual provflags the copyright notice and this permission notice are
+.\" manual provided the copyright notice and this permission notice are
 .\" preserved on all copies.
 .\"
 .\" Permission is granted to copy and distribute modified versions of this
@@ -19,6 +20,7 @@
 .\"
 .\" Formatted or processed versions of this manual, if unaccompanied by
 .\" the source, must acknowledge the copyright and authors of this work.
+.\" %%%LICENSE_END
 .\"
 .\" Added correction due to Nick Duffek <nsd@bbc.com>, aeb, 960426
 .\" Modified Wed Nov  6 04:00:31 1996 by Eric S. Raymond <esr@thyrsus.com>
 .\"    Language and formatting clean-ups
 .\"    Added notes on /proc files
 .\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.\"
 .\" Japanese Version Copyright (c) 1997 HANATAKA Shinya
 .\"         all rights reserved.
 .\" Translated 1997-02-23, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
 .\" Modified 2003-07-03, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
 .\" Updated 2005-03-04, Akihiro MOTOKI
+.\" Updated 2013-05-01, Akihiro MOTOKI <amotoki@gmail.com>
 .\"
-.\"WORD:       message                 ¥á¥Ã¥»¡¼¥¸
-.\"WORD:       queue                   ¥­¥å¡¼
-.\"WORD:       identifier              ¼±ÊÌ»Ò
-.\"WORD:       argument                °ú¤­¿ô
-.\"WORD:       owner                   ½êÍ­¼Ô
-.\"WORD:       group                   ¥°¥ë¡¼¥×
-.\"WORD:       other                   Â¾¿Í
-.\"WORD:       initialize              ½é´ü²½
-.\"WORD:       effective user ID       ¼Â¸ú¥æ¡¼¥¶¡¼ID
-.\"WORD:       effective group ID      ¼Â¸ú¥°¥ë¡¼¥×ID
-.\"WORD:       current time            ¸½ºß»þ¹ï
-.\"WORD:       destruction             ÇË´þ
-.\"WORD:       policy                  Êý¿Ë
-.\"
-.TH MSGGET 2 2004-05-27 "Linux" "Linux Programmer's Manual"
-.SH Ì¾Á°
-msgget \- ¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¼±Ê̻Ҥò¼èÆÀ¤¹¤ë
-.SH ½ñ¼°
+.TH MSGGET 2 2014\-04\-30 Linux "Linux Programmer's Manual"
+.SH 名前
+msgget \- System V メッセージ・キュー識別子を取得する
+.SH 書式
 .nf
-.B #include <sys/types.h>
-.B #include <sys/ipc.h>
-.B #include <sys/msg.h>
+\fB#include <sys/types.h>\fP
+\fB#include <sys/ipc.h>\fP
+\fB#include <sys/msg.h>\fP
 
-.BI "int msgget(key_t " key ", int " msgflg );
+\fBint msgget(key_t \fP\fIkey\fP\fB, int \fP\fImsgflg\fP\fB);\fP
 .fi
-.SH ÀâÌÀ
-.BR msgget ()
-¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï
-.I key
-°ú¤­¿ô¤ÎÃͤËÂбþ¤¹¤ë¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤Î¼±Ê̻ҤòÊÖ¤¹¡£
-.I key
-¤ÎÃͤ¬
-.B IPC_PRIVATE
-¤Î¾ì¹ç¡¢¤Þ¤¿¤Ï
-.I key
-¤¬
-.B IPC_PRIVATE
-¤Ç¤Ê¤¯¤Æ¤â¡¢
-.I key
-¤ËÂбþ¤¹¤ë¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤¬Â¸ºß¤»¤º¡¢
-.I msgflg
-¤Ë
-.B IPC_CREAT
-¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢
-¿·¤·¤¤¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤¬ºîÀ®¤µ¤ì¤ë¡£
+.SH 説明
+\fBmsgget\fP()  システムコールは \fIkey\fP 引き数の値に対応する System\ V メッセージ・キューの識別子を返す。 \fIkey\fP
+の値が \fBIPC_PRIVATE\fP の場合、または \fIkey\fP が \fBIPC_PRIVATE\fP でなくても、 \fIkey\fP
+に対応するメッセージ・キューが存在せず、 \fImsgflg\fP に \fBIPC_CREAT\fP が指定されている場合、
+新しいメッセージ・キューが作成される。
 .PP
-.I msgflg
-¤Ë
-.B IPC_CREAT
-¤È
-.B IPC_EXCL
-¤ÎξÊý¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢
-.I key
-¤ËÂбþ¤¹¤ë¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤¬´û¤Ë¸ºß¤¹¤ë¤È¡¢
-.BR msgget ()
-¤Ï¼ºÇÔ¤·¡¢
-.I errno
-¤Ë
-.B EEXIST
-¤¬ÀßÄꤵ¤ì¤ë¡£
-(¤³¤ì¤Ï
-.BR open (2)
-¤Ë
-.B O_CREAT | O_EXCL
-¤ò»ØÄꤷ¤¿¾ì¹ç¤ÎÆ°ºî¤ÈƱ¤¸¤Ç¤¢¤ë)
+\fImsgflg\fP に \fBIPC_CREAT\fP と \fBIPC_EXCL\fP の両方が指定された場合、 \fIkey\fP
+に対応するメッセージ・キューが既に存在すると、 \fBmsgget\fP()  は失敗し、 \fIerrno\fP に \fBEEXIST\fP が設定される。 (これは
+\fBopen\fP(2)  に \fBO_CREAT | O_EXCL\fP を指定した場合の動作と同じである)
 .PP
-¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤ÎºîÀ®»þ¤Ë¡¢
-.I msgflg
-°ú¤­¿ô¤Î²¼°Ì 9 ¥Ó¥Ã¥È¤Ï¡¢
-¤½¤Î¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤Î¥¢¥¯¥»¥¹µö²Ä¤ÎÄêµÁ¤È¤·¤Æ»ÈÍѤµ¤ì¤ë¡£
-¤³¤ì¤é¤Îµö²Ä¥Ó¥Ã¥È¤Ï
-.BR open (2)
-¤Î°ú¤­¿ô
-.I mode
-¤ÈƱ¤¸·Á¼°¤ÇƱ¤¸°ÕÌ£¤Ç¤¢¤ë¡£
-¤ä
-.BR creat (2)
-¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë¤Î¥¢¥¯¥»¥¹µö²Ä¥Ñ¥é¥á¡¼¥¿¤ÈƱ¤¸·Á¼°¤Ç¡¢Æ±¤¸°ÕÌ£¤ò»ý¤Ä¡£
-(⤷¡¢¼Â¹Ô (execute) µö²Ä¤Ï»ÈÍѤµ¤ì¤Ê¤¤¡£)
+メッセージ・キューの作成時に、 \fImsgflg\fP 引き数の下位 9 ビットは、 そのメッセージ・キューのアクセス許可の定義として使用される。
+これらの許可ビットは \fBopen\fP(2)  の引き数 \fImode\fP と同じ形式で同じ意味である。 や \fBcreat\fP(2)
+システム・コールのアクセス許可パラメータと同じ形式で、同じ意味を持つ。 (但し、実行 (execute) 許可は使用されない。)
 .PP
-¿·µ¬¤Î¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤òºîÀ®¤¹¤ëºÝ¡¢
-.BR msgget ()
-¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë¤Ï¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤Î¥Ç¡¼¥¿¹½Â¤ÂÎ
-.I msqid_ds
-¤ò°Ê²¼¤Î¤è¤¦¤Ë½é´ü²½¤¹¤ë
-.RI ( msqid_ds
-¤Ë¤Ä¤¤¤Æ¤Ï
-.BR msgctl (2)
-¤ò»²¾È):
+新規のメッセージ・キューを作成する際、 \fBmsgget\fP()  システム・コールはメッセージ・キューのデータ構造体 \fImsqid_ds\fP
+を以下のように初期化する (\fImsqid_ds\fP については \fBmsgctl\fP(2)  を参照):
 .IP
-.I msg_perm.cuid
-¤È
-.I msg_perm.uid
-¤Ë¸Æ¤Ó½Ð¤·¸µ¥×¥í¥»¥¹¤Î¼Â¸ú (effective) ¥æ¡¼¥¶¡¼ID ¤òÀßÄꤹ¤ë¡£
+\fImsg_perm.cuid\fP と \fImsg_perm.uid\fP に呼び出し元プロセスの実効 (effective) ユーザーID を設定する。
 .IP
-.I msg_perm.cgid
-¤È
-.I msg_perm.gid
-¤Ë¸Æ¤Ó½Ð¤·¸µ¥×¥í¥»¥¹¤Î¼Â¸ú (effective) ¥°¥ë¡¼¥×ID ¤òÀßÄꤹ¤ë¡£
+\fImsg_perm.cgid\fP と \fImsg_perm.gid\fP に呼び出し元プロセスの実効 (effective) グループID を設定する。
 .IP
-.I msg_perm.mode
-¤Î²¼°Ì 9 ¥Ó¥Ã¥È¤Ï
-.I msgflg
-¤Î²¼°Ì 9 ¥Ó¥Ã¥È¤òÀßÄꤹ¤ë¡£
+\fImsg_perm.mode\fP の下位 9 ビットは \fImsgflg\fP の下位 9 ビットを設定する。
 .IP
-.IR msg_qnum ,
-.IR msg_lspid ,
-.IR msg_lrpid ,
-.IR msg_stime ,
-.I msg_rtime
-¤Ë 0 ¤òÀßÄꤵ¤ì¤ë¡£
+\fImsg_qnum\fP, \fImsg_lspid\fP, \fImsg_lrpid\fP, \fImsg_stime\fP, \fImsg_rtime\fP に 0
+を設定される。
 .IP
-.I msg_ctime
-¤Ë¸½ºß¤Î»þ¹ï¤òÀßÄꤹ¤ë¡£
+\fImsg_ctime\fP に現在の時刻を設定する。
 .IP
-.I msg_qbytes
-¤Ë¡¢¥·¥¹¥Æ¥à¤Ç·è¤á¤é¤ì¤¿¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤ÎºÇÂ祵¥¤¥º
-.B MSGMNB
-¤òÀßÄꤹ¤ë¡£
+\fImsg_qbytes\fP に、システムで決められたメッセージ・キューの最大サイズ \fBMSGMNB\fP を設定する。
 .PP
-¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤¬¤¹¤Ç¤Ë¸ºß¤¹¤ë¾ì¹ç¤Ï¡¢¥¢¥¯¥»¥¹µö²Ä¤Î¸¡ºº¤È¡¢
-ÇË´þ (destruction) ¥Þ¡¼¥¯¤¬¤Ê¤¤¤«¤Î³Îǧ¤¬¹Ô¤ï¤ì¤ë¡£
-.SH ÊÖ¤êÃÍ
-À®¸ù¤·¤¿¾ì¹ç¡¢ÊÖ¤êÃͤϥá¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¼±Ê̻Ҡ(ÈóÉé¤ÎÀ°¿ô) ¤È¤Ê¤ë¡£
-¼ºÇÔ¤·¤¿¾ì¹ç¤Ï \-1 ¤¬ÊÖ¤µ¤ì¡¢
-.I errno
-¤Ë¤½¤Î¥¨¥é¡¼¤¬¼¨¤µ¤ì¤ë¡£
-.SH ¥¨¥é¡¼
-¼ºÇÔ¤·¤¿¾ì¹ç¡¢
-.I errno
-¤Ë°Ê²¼¤ÎÃͤΤ¤¤º¤ì¤«°ì¤Ä¤¬ÀßÄꤵ¤ì¤ë:
-.TP
-.B EACCES
-.I key
-¤ËÂбþ¤¹¤ë¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤Ï¸ºß¤¹¤ë¤¬¡¢
-¸Æ¤Ó½Ð¤·¸µ¥×¥í¥»¥¹¤Ï¤½¤Î¥­¥å¡¼¤ËÂФ¹¤ë¥¢¥¯¥»¥¹µö²Ä¤¬¤Ê¤¯¡¢
-.B CAP_IPC_OWNER
-¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤â»ý¤Ã¤Æ¤¤¤Ê¤¤¡£
-.TP
-.B EEXIST
-.I key
-¤ËÂбþ¤¹¤ë¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤¬Â¸ºß¤·¡¢
-.I msgflg
-¤Ë
-.B IPC_CREAT
-¤È
-.B IPC_EXCL
-¤¬»ØÄꤵ¤ì¤Æ¤¤¤¿¡£
-.TP
-.B ENOENT
-.I key
-¤ËÂбþ¤¹¤ë¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤¬Â¸ºß¤»¤º¡¢
-.I msgflg
-¤Ë
-.B IPC_CREAT
-¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤«¤Ã¤¿¡£
-.TP
-.B ENOMEM
-¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤òºîÀ®¤·¤è¤¦¤È¤·¤¿¤¬¡¢¿·¤·¤¤¥Ç¡¼¥¿¹½Â¤ÂΤòºîÀ®
-¤¹¤ë¤Î¤Ë½½Ê¬¤Ê¥á¥â¥ê¤¬¥·¥¹¥Æ¥à¤Ë¸ºß¤·¤Ê¤¤¡£
-.TP
-.B ENOSPC
-¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤òºîÀ®¤·¤è¤¦¤È¤·¤¿¤¬¡¢ºîÀ®¤¹¤ë¤È
-¥·¥¹¥Æ¥àÁ´ÂΤΥá¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¿ô¤ÎºÇÂçÃÍ
-.RB ( MSGMNI )
-¤òĶ¤¨¤Æ¤·¤Þ¤¦¡£
-.SH ½àµò
-SVr4, POSIX.1-2001.
-.SH Ãí°Õ
-.B IPC_PRIVATE
-¤Ï¥Õ¥é¥°¤Ç¤Ï¤Ê¤¯¡¢
-.I key_t
-·¿¤Ç¤¢¤ë¡£
-¤³¤ÎÆÃÊ̤ÊÃͤ¬
-.I key
-¤È¤·¤Æ»ÈÍѤµ¤ì¤¿¾ì¹ç¡¢
-.BR msgget ()
-¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï
-.I msgflg
-¤Î²¼°Ì 9 ¥Ó¥Ã¥È°Ê³°¤ÎÁ´¤Æ¤ò̵»ë¤·¤Æ
-(À®¸ù¤·¤¿¾ì¹ç¤Ï) ¿·¤·¤¤¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤òºîÀ®¤¹¤ë¡£
+メッセージ・キューがすでに存在する場合は、アクセス許可の検査と、 破棄 (destruction) マークがないかの確認が行われる。
+.SH 返り値
+成功した場合、返り値はメッセージ・キュー識別子 (非負の整数) となる。 失敗した場合は \-1 が返され、 \fIerrno\fP にそのエラーが示される。
+.SH エラー
+失敗した場合、 \fIerrno\fP に以下の値のいずれか一つが設定される:
+.TP 
+\fBEACCES\fP
+\fIkey\fP に対応するメッセージ・キューは存在するが、 呼び出し元プロセスはそのキューに対するアクセス許可がなく、 \fBCAP_IPC_OWNER\fP
+ケーパビリティも持っていない。
+.TP 
+\fBEEXIST\fP
+\fBIPC_CREAT\fP and \fBIPC_EXCL\fP were specified in \fImsgflg\fP, but a message
+queue already exists for \fIkey\fP.
+.TP 
+\fBENOENT\fP
+\fIkey\fP に対応するメッセージ・キューが存在せず、 \fImsgflg\fP に \fBIPC_CREAT\fP が指定されていなかった。
+.TP 
+\fBENOMEM\fP
+メッセージ・キューを作成しようとしたが、新しいデータ構造体を作成 するのに十分なメモリがシステムに存在しない。
+.TP 
+\fBENOSPC\fP
+メッセージ・キューを作成しようとしたが、作成すると システム全体のメッセージ・キュー数の最大値 (\fBMSGMNI\fP)  を超えてしまう。
+.SH 準拠
+SVr4, POSIX.1\-2001.
+.SH 注意
+.\" Like Linux, the FreeBSD man pages still document
+.\" the inclusion of these header files.
+Linux や POSIX の全てのバージョンでは、 \fI<sys/types.h>\fP と \fI<sys/ipc.h>\fP
+のインクルードは必要ない。しかしながら、いくつかの古い実装ではこれらのヘッダファイルのインクルードが必要であり、 SVID
+でもこれらのインクルードをするように記載されている。このような古いシステムへの移植性を意図したアプリケーションではこれらのファイルをインクルードする必要があるかもしれない。
+
+\fBIPC_PRIVATE\fP はフラグではなく、 \fIkey_t\fP 型である。 この特別な値が \fIkey\fP として使用された場合、
+\fBmsgget\fP()  システムコールは \fImsgflg\fP の下位 9 ビット以外の全てを無視して (成功した場合は)
+新しいメッセージ・キューを作成する。
 .PP
-.BR msgget ()
-¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ë±Æ¶Á¤òµÚ¤Ü¤¹¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤Î»ñ¸»¤Î
-¥·¥¹¥Æ¥à¤È¤·¤Æ¤ÎÀ©¸Â¤ò°Ê²¼¤Ë¼¨¤¹:
-.TP
-.B MSGMNI
-¥·¥¹¥Æ¥àÁ´ÂΤΥá¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¿ô¤ÎºÇÂçÃÍ: Êý¿Ë°Í¸
-(Linux ¤Ç¤Ï¡¢¤³¤ÎÀ©¸ÂÃͤÏ
-.I /proc/sys/kernel/msgmni
-·Ðͳ¤Ç»²¾È¤·¤¿¤ê¡¢Êѹ¹¤·¤¿¤ê¤Ç¤­¤ë)¡£
-.SS Linux ¤Ç¤ÎÃí°Õ
-Linux 2.3.20 ¤Þ¤Ç¤Ï¡¢ºï½ü¤¬Í½Äꤵ¤ì¤Æ¤¤¤ë¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤ËÂФ·¤Æ
-.BR msgget ()
-¤ò¹Ô¤¦¤È
-.B EIDRM
-¤¬¥¨¥é¡¼¤È¤·¤ÆÊÖ¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤¿¡£
-.SH ¥Ð¥°
-.B IPC_PRIVATE
-¤È¤¤¤¦Ì¾Á°¤òÁª¤ó¤À¤Î¤Ï¤ª¤½¤é¤¯¼ºÇԤǤ¢¤í¤¦¡£
-.B IPC_NEW
-¤ÎÊý¤¬¤è¤êÌÀ³Î¤Ë¤½¤Îµ¡Ç½¤òɽ¤·¤Æ¤¤¤ë¤À¤í¤¦¡£
-.SH ´ØÏ¢¹àÌÜ
-.BR msgctl (2),
-.BR msgrcv (2),
-.BR msgsnd (2),
-.BR ftok (3),
-.BR capabilities (7),
-.BR mq_overview (7),
-.BR svipc (7)
+\fBmsgget\fP()  システムコールに影響を及ぼすメッセージ・キューの資源の システムとしての制限を以下に示す:
+.TP 
+\fBMSGMNI\fP
+System\-wide limit on the number of message queues: policy dependent (on
+Linux, this limit can be read and modified via \fI/proc/sys/kernel/msgmni\fP).
+.SS "Linux での注意"
+Linux 2.3.20 までは、削除が予定されているメッセージ・キューに対して \fBmsgget\fP()  を行うと \fBEIDRM\fP
+がエラーとして返されるようになっていた。
+.SH バグ
+\fBIPC_PRIVATE\fP という名前を選んだのはおそらく失敗であろう。 \fBIPC_NEW\fP の方がより明確にその機能を表しているだろう。
+.SH 関連項目
+\fBmsgctl\fP(2), \fBmsgrcv\fP(2), \fBmsgsnd\fP(2), \fBftok\fP(3), \fBcapabilities\fP(7),
+\fBmq_overview\fP(7), \fBsvipc\fP(7)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.67 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。