OSDN Git Service

Update drafts for LDP 3.67
[linuxjm/LDP_man-pages.git] / draft / man2 / msgget.2
index fdff026..bbf2aff 100644 (file)
@@ -47,7 +47,7 @@
 .\"
 .TH MSGGET 2 2014\-04\-30 Linux "Linux Programmer's Manual"
 .SH 名前
-msgget \- System V ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼è­\98å\88¥å­\90ã\82\92å\8f\96å¾\97ã\81\99ã\82\8b
+msgget \- System V メッセージキュー識別子を取得する
 .SH 書式
 .nf
 \fB#include <sys/types.h>\fP
@@ -57,20 +57,19 @@ msgget \- System V メッセージ・キュー識別子を取得する
 \fBint msgget(key_t \fP\fIkey\fP\fB, int \fP\fImsgflg\fP\fB);\fP
 .fi
 .SH 説明
-\fBmsgget\fP()  ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\81¯ \fIkey\fP å¼\95ã\81\8dæ\95°ã\81®å\80¤ã\81«å¯¾å¿\9cã\81\99ã\82\8b System\ V ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\81®è­\98å\88¥å­\90ã\82\92è¿\94ã\81\99ã\80\82 \fIkey\fP
+\fBmsgget\fP()  システムコールは \fIkey\fP 引き数の値に対応する System\ V メッセージキューの識別子を返す。 \fIkey\fP
 の値が \fBIPC_PRIVATE\fP の場合、または \fIkey\fP が \fBIPC_PRIVATE\fP でなくても、 \fIkey\fP
-に対応するメッセージ・キューが存在せず、 \fImsgflg\fP に \fBIPC_CREAT\fP が指定されている場合、
-新しいメッセージ・キューが作成される。
+に対応するメッセージキューが存在せず、 \fImsgflg\fP に \fBIPC_CREAT\fP が指定されている場合、 新しいメッセージキューが作成される。
 .PP
 \fImsgflg\fP に \fBIPC_CREAT\fP と \fBIPC_EXCL\fP の両方が指定された場合、 \fIkey\fP
\81«å¯¾å¿\9cã\81\99ã\82\8bã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\81\8cæ\97¢ã\81«å­\98å\9c¨ã\81\99ã\82\8bã\81¨ã\80\81 \fBmsgget\fP()  ã\81¯å¤±æ\95\97ã\81\97ã\80\81 \fIerrno\fP ã\81« \fBEEXIST\fP ã\81\8c設å®\9aã\81\95ã\82\8cã\82\8bã\80\82 (ã\81\93ã\82\8cã\81¯
+に対応するメッセージキューが既に存在すると、 \fBmsgget\fP()  は失敗し、 \fIerrno\fP に \fBEEXIST\fP が設定される。 (これは
 \fBopen\fP(2)  に \fBO_CREAT | O_EXCL\fP を指定した場合の動作と同じである)
 .PP
\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\81®ä½\9cæ\88\90æ\99\82ã\81«ã\80\81 \fImsgflg\fP å¼\95ã\81\8dæ\95°ã\81®ä¸\8bä½\8d 9 ã\83\93ã\83\83ã\83\88ã\81¯ã\80\81 ã\81\9dã\81®ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\81®ã\82¢ã\82¯ã\82»ã\82¹è¨±å\8f¯ã\81®å®\9a義ã\81¨ã\81\97ã\81¦ä½¿ç\94¨ã\81\95ã\82\8cã\82\8bã\80\82
+メッセージキューの作成時に、 \fImsgflg\fP 引き数の下位 9 ビットは、 そのメッセージ・キューのアクセス許可の定義として使用される。
 これらの許可ビットは \fBopen\fP(2)  の引き数 \fImode\fP と同じ形式で同じ意味である。 や \fBcreat\fP(2)
 システム・コールのアクセス許可パラメータと同じ形式で、同じ意味を持つ。 (但し、実行 (execute) 許可は使用されない。)
 .PP
\96°è¦\8fã\81®ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\82\92ä½\9cæ\88\90ã\81\99ã\82\8bé\9a\9bã\80\81 \fBmsgget\fP()  ã\82·ã\82¹ã\83\86ã\83 ã\83»ã\82³ã\83¼ã\83«ã\81¯ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\81®ã\83\87ã\83¼ã\82¿æ§\8bé\80 ä½\93 \fImsqid_ds\fP
+新規のメッセージキューを作成する際、 \fBmsgget\fP()  システム・コールはメッセージ・キューのデータ構造体 \fImsqid_ds\fP
 を以下のように初期化する (\fImsqid_ds\fP については \fBmsgctl\fP(2)  を参照):
 .IP
 \fImsg_perm.cuid\fP と \fImsg_perm.uid\fP に呼び出し元プロセスの実効 (effective) ユーザーID を設定する。
@@ -84,30 +83,30 @@ msgget \- System V メッセージ・キュー識別子を取得する
 .IP
 \fImsg_ctime\fP に現在の時刻を設定する。
 .IP
-\fImsg_qbytes\fP ã\81«ã\80\81ã\82·ã\82¹ã\83\86ã\83 ã\81§æ±ºã\82\81ã\82\89ã\82\8cã\81\9fã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\81®æ\9c\80大ã\82µã\82¤ã\82º \fBMSGMNB\fP ã\82\92設å®\9aã\81\99ã\82\8bã\80\82
+\fImsg_qbytes\fP に、システムで決められたメッセージキューの最大サイズ \fBMSGMNB\fP を設定する。
 .PP
\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\81\8cã\81\99ã\81§ã\81«å­\98å\9c¨ã\81\99ã\82\8bå ´å\90\88ã\81¯ã\80\81ã\82¢ã\82¯ã\82»ã\82¹è¨±å\8f¯ã\81®æ¤\9cæ\9f»ã\81¨ã\80\81 ç ´æ£\84 (destruction) ã\83\9eã\83¼ã\82¯ã\81\8cã\81ªã\81\84ã\81\8bã\81®ç¢ºèª\8dã\81\8cè¡\8cã\82\8fã\82\8cã\82\8bã\80\82
+メッセージキューがすでに存在する場合は、アクセス許可の検査と、 破棄 (destruction) マークがないかの確認が行われる。
 .SH 返り値
\88\90å\8a\9fã\81\97ã\81\9få ´å\90\88ã\80\81è¿\94ã\82\8aå\80¤ã\81¯ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼è­\98å\88¥å­\90 (é\9d\9eè² ã\81®æ\95´æ\95°) ã\81¨ã\81ªã\82\8bã\80\82 å¤±æ\95\97ã\81\97ã\81\9få ´å\90\88ã\81¯ \-1 ã\81\8cè¿\94ã\81\95ã\82\8cã\80\81 \fIerrno\fP ã\81«ã\81\9dã\81®ã\82¨ã\83©ã\83¼ã\81\8c示ã\81\95ã\82\8cã\82\8bã\80\82
+成功した場合、返り値はメッセージキュー識別子 (非負の整数) となる。 失敗した場合は \-1 が返され、 \fIerrno\fP にそのエラーが示される。
 .SH エラー
 失敗した場合、 \fIerrno\fP に以下の値のいずれか一つが設定される:
 .TP 
 \fBEACCES\fP
-\fIkey\fP ã\81«å¯¾å¿\9cã\81\99ã\82\8bã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\81¯å­\98å\9c¨ã\81\99ã\82\8bã\81\8cã\80\81 å\91¼ã\81³å\87ºã\81\97å\85\83ã\83\97ã\83­ã\82»ã\82¹ã\81¯ã\81\9dã\81®ã\82­ã\83¥ã\83¼ã\81«å¯¾ã\81\99ã\82\8bã\82¢ã\82¯ã\82»ã\82¹è¨±å\8f¯ã\81\8cã\81ªã\81\8fã\80\81 \fBCAP_IPC_OWNER\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.
+\fImsgflg\fP に \fBIPC_CREAT\fP と \fBIPC_EXCL\fP が指定されたが、 \fIkey\fP
+に対応するメッセージキューがすでに存在する。
 .TP 
 \fBENOENT\fP
-\fIkey\fP ã\81«å¯¾å¿\9cã\81\99ã\82\8bã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\81\8cå­\98å\9c¨ã\81\9bã\81\9aã\80\81 \fImsgflg\fP ã\81« \fBIPC_CREAT\fP ã\81\8cæ\8c\87å®\9aã\81\95ã\82\8cã\81¦ã\81\84ã\81ªã\81\8bã\81£ã\81\9fã\80\82
+\fIkey\fP に対応するメッセージキューが存在せず、 \fImsgflg\fP に \fBIPC_CREAT\fP が指定されていなかった。
 .TP 
 \fBENOMEM\fP
\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\82\92ä½\9cæ\88\90ã\81\97ã\82\88ã\81\86ã\81¨ã\81\97ã\81\9fã\81\8cã\80\81æ\96°ã\81\97ã\81\84ã\83\87ã\83¼ã\82¿æ§\8bé\80 ä½\93ã\82\92ä½\9cæ\88\90 ã\81\99ã\82\8bã\81®ã\81«å\8d\81å\88\86ã\81ªã\83¡ã\83¢ã\83ªã\81\8cã\82·ã\82¹ã\83\86ã\83 ã\81«å­\98å\9c¨ã\81\97ã\81ªã\81\84ã\80\82
+メッセージキューを作成しようとしたが、新しいデータ構造体を作成 するのに十分なメモリがシステムに存在しない。
 .TP 
 \fBENOSPC\fP
\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\82\92ä½\9cæ\88\90ã\81\97ã\82\88ã\81\86ã\81¨ã\81\97ã\81\9fã\81\8cã\80\81ä½\9cæ\88\90ã\81\99ã\82\8bã\81¨ ã\82·ã\82¹ã\83\86ã\83 å\85¨ä½\93ã\81®ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼æ\95°ã\81®æ\9c\80大å\80¤ (\fBMSGMNI\fP)  ã\82\92è¶\85ã\81\88ã\81¦ã\81\97ã\81¾ã\81\86ã\80\82
+メッセージキューを作成しようとしたが、作成すると システム全体のメッセージ・キュー数の最大値 (\fBMSGMNI\fP)  を超えてしまう。
 .SH 準拠
 SVr4, POSIX.1\-2001.
 .SH 注意
@@ -119,15 +118,15 @@ Linux や POSIX の全てのバージョンでは、 \fI<sys/types.h>\fP と \fI
 
 \fBIPC_PRIVATE\fP はフラグではなく、 \fIkey_t\fP 型である。 この特別な値が \fIkey\fP として使用された場合、
 \fBmsgget\fP()  システムコールは \fImsgflg\fP の下位 9 ビット以外の全てを無視して (成功した場合は)
\96°ã\81\97ã\81\84ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\82\92ä½\9cæ\88\90ã\81\99ã\82\8bã\80\82
+新しいメッセージキューを作成する。
 .PP
-\fBmsgget\fP()  ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\81«å½±é\9f¿ã\82\92å\8f\8aã\81¼ã\81\99ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\81®è³\87æº\90ã\81® ã\82·ã\82¹ã\83\86ã\83 ã\81¨ã\81\97ã\81¦ã\81®å\88¶é\99\90ã\82\92以ä¸\8bã\81«ç¤ºã\81\99:
+\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).
+システム全体のメッセージキュー数の上限値: 方針依存 (Linux では、この制限値は \fI/proc/sys/kernel/msgmni\fP
+経由で参照したり、変更したりできる)。
 .SS "Linux での注意"
-Linux 2.3.20 ã\81¾ã\81§ã\81¯ã\80\81å\89\8aé\99¤ã\81\8cäº\88å®\9aã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\82­ã\83¥ã\83¼ã\81«å¯¾ã\81\97ã\81¦ \fBmsgget\fP()  ã\82\92è¡\8cã\81\86ã\81¨ \fBEIDRM\fP
+Linux 2.3.20 までは、削除が予定されているメッセージキューに対して \fBmsgget\fP()  を行うと \fBEIDRM\fP
 がエラーとして返されるようになっていた。
 .SH バグ
 \fBIPC_PRIVATE\fP という名前を選んだのはおそらく失敗であろう。 \fBIPC_NEW\fP の方がより明確にその機能を表しているだろう。