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.

If it wasn't for C, we'd be using BASI, PASAL and OBOL