aboutsummaryrefslogblamecommitdiff
path: root/ja_JP.eucJP/man/man3/msgget.3
blob: 4d6199bb3615dedb3255d04a3e3dbd6803c38c59 (plain) (tree)
1
                                                                





























                                                                             
             











































































































                                                                  
.\"	%NetBSD: msgget.2,v 1.1 1995/10/16 23:49:19 jtc Exp %	
.\"
.\" Copyright (c) 1995 Frank van der Linden
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\"    must display the following acknowledgement:
.\"      This product includes software developed for the NetBSD Project
.\"      by Frank van der Linden
.\" 4. The name of the author may not be used to endorse or promote products
.\"    derived from this software without specific prior written permission
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"/
.\" $FreeBSD$
.Dd August 17, 1995
.Dt MSGGET 3
.Os FreeBSD
.Sh 名称
.Nm msgget
.Nd メッセージキューの取得
.Sh 書式
.Fd #include <sys/types.h>
.Fd #include <sys/ipc.h>
.Fd #include <sys/msg.h>
.Ft int
.Fn msgget "key_t key" "int msgflg"
.Sh 解説
.Fn msgget
は、
.Fa key
に関連するメッセージキュー ID を戻します。メッセージキュー ID は、
0 より大きい一意的な整数です。
.Pp
メッセージキューは、
.Fa key
が
.Dv IPC_PRIVATE
と等しい場合、または
.Fa key
に関連するメッセージキュー ID が存在せず、かつ、
.Dv IPC_CREAT
ビットが
.Fa msgflg
で設定されている場合に作成されます。
.Pp
新しいメッセージキューが作成された場合、関連するデータ構造 (
.Fa msqid_ds
構造体。
.Xr msgctl 3
参照) は、以下のように初期化されます。
.Bl -bullet
.It
.Va msg_perm.cuid
と
.Va msg_perm.uid
は、呼び出しプロセスの実効ユーザ ID に設定されます。
.It
.Va msg_perm.gid
と
.Va msg_perm.cgid
は、呼び出しプロセスの実効グループ ID に設定されます。
.It
.Va msg_perm.mode
は、
.Fa msgflg
の下位 9 ビットが設定されます。
.It
.Va msg_cbytes ,
.Va msg_qnum ,
.Va msg_lspid ,
.Va msg_lrpid ,
.Va msg_rtime ,
.Va msg_stime
には 0 が設定されます。
.It
.Va msg_qbytes
は、キューのバイト数
.Pf ( Dv MSGMNB )
についてのシステムの最大値が設定されます。
.It
.Va msg_ctime
は、現在の時刻に設定されます。
.Sh 戻り値
問題なく終了すると、正のメッセージキュー ID が戻されます。問題なく
終了しないと -1 が戻され、グローバル変数
.Va errno
がそのエラーを示すように設定されます。
.Sh エラー
.Bl -tag -width Er
.It Bq Er EACESS
メッセージキューが
.Fa key
とすでに関連していますが、呼出し側にアクセス権がありません。
.It Bq Er EEXIST
.Dv IPC_CREAT
と
.Dv IPC_EXCL
の両方が
.Fa msgflg
で設定されており、メッセージキューが
.Fa key
とすでに関連しています。
.It Bq Er ENOSPC
メッセージキューの数に関するシステム制限に達しているため、
新しいメッセージキューを作成できません。
.It Bq Er ENOENT
.Fa msgflg
に
.Dv IPC_CREAT
が設定されていない状況で、
.Fa key
に関連するメッセージキューが見つかりません。
.Sh 関連項目
.Xr msgctl 3 ,
.Xr msgrcv 3 ,
.Xr msgsnd 3
.Pp
.Sh 歴史
メッセージキューは、
AT&T Unix System V
の最初のリリースに追加されました。
.\"kuma 1999-11-12