tail head cat sleep
QR code linking to this page

manページ  — MSGGET

名称

msgget – メッセージキューの取得

内容

ライブラリ

Standard C Library (libc, -lc)

書式

#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/msg.h>

int
msgget(key_t key, int msgflg);

解説

msgget() は、 key に関連するメッセージキュー ID を戻します。メッセージキュー ID は、 0 より大きい一意的な整数です。

メッセージキューは、 key IPC_PRIVATE と等しい場合、または key に関連するメッセージキュー ID が存在せず、かつ、 IPC_CREAT ビットが msgflg で設定されている場合に作成されます。

新しいメッセージキューが作成された場合、関連するデータ構造 ( msqid_ds 構造体。 msgctl(3) 参照) は、以下のように初期化されます。

戻り値

問題なく終了すると、正のメッセージキュー ID が戻されます。問題なく 終了しないと -1 が戻され、グローバル変数 errno がそのエラーを示すように設定されます。

エラー

[EACESS]
  メッセージキューが key とすでに関連していますが、呼出し側にアクセス権がありません。
[EEXIST]
  IPC_CREAT IPC_EXCL の両方が msgflg で設定されており、メッセージキューが key とすでに関連しています。
[ENOSPC]
  メッセージキューの数に関するシステム制限に達しているため、 新しいメッセージキューを作成できません。
[ENOENT]
  msgflg IPC_CREAT が設定されていない状況で、 key に関連するメッセージキューが見つかりません。

関連項目

msgctl(3), msgrcv(3), msgsnd(3)

歴史

メッセージキューは、 AT&T V の最初のリリースに追加されました。

MSGGET (3) August 17, 1995

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.