英語版
このページの英語版を見る

core.sys.posix.mqueue

Posixメッセージキュー用Dヘッダファイル
Posixメッセージキューを管理するために必要な外部関数を定義する。
mq_open(3) メッセージキューをオープンする。 mq_close(3) メッセージキューを閉じる。 mq_unlink(3) メッセージキューを削除する。 mq_send(3) メッセージを送信する mq_receive(3) メッセージを受信する mq_timedsend(3) タイムアウトを伴うメッセージの送信 (linux 固有) mq_timedreceive(3) タイムアウトのあるメッセージを受信 (linux 固有) mq_getattr(3) メッセージキューの属性を取得する。 mq_setattr(3) メッセージキューの属性を設定する mq_notify(3) 非同期通知メッセージを登録する
Authors:
Andreas Bok Andersen, Mathias Lang
Standards:
POSIX.1-2001.
See Also:
alias mqd_t = int;
メッセージ・キュー記述子。
struct mq_attr;
メッセージ・キューの属性の取得と設定に使用される。
c_long mq_flags;
メッセージ・キュー・フラグ。
c_long mq_maxmsg;
最大メッセージ数。
c_long mq_msgsize;
最大メッセージ・サイズ。
c_long mq_curmsgs;
現在キューに入っているメッセージ数。
nothrow @nogc mqd_t mq_open(const(char)* name, int oflag, ...);
プロセスとメッセージ・キューとの接続を確立する。 name.

注釈: Linux のプロトタイプは以下のとおりである。 Linuxのプロトタイプは以下の通りである: mqd_t mq_open (const(char)* name, int oflag); mqd_t mq_open (const(char)* name, int oflag, mode_t mode, mq_attr* attr);

Parameters:
const(char)* name オープンするメッセージ・キューの名前。
int oflag は、使用されるアクセスの型を決定する。 O_CREAT がオンの場合 oflagの場合、第3引数は mode_t の場合、作成されるメッセージ・キューのモード。 O_CREAT がオンの場合 oflag第4引数は mq_attr' (メッセージキューの属性)へのポインタである。 第4引数がnull の場合、デフォルトの属性が使われる。
... varargsは関数のプロトタイプにマッチする。
Returns:
メッセージキューディスクリプタか、エラーなら (mqd_t) -1 を返す。
nothrow @nogc int mq_close(mqd_t mqdes);
メッセージキュー記述子 mqdes を閉じる。
Parameters:
mqd_t mqdes 閉じるメッセージキューディスクリプタ。
Returns:
成功すると mq_close() は 0 を返し、エラーの場合は -1 が返される。 が設定される。
nothrow @nogc int mq_getattr(mqd_t mqdes, mq_attr* mqstat);
メッセージ・キューの状態と属性を問い合わせる mqdes.
Parameters:
mqd_t mqdes メッセージ・キュー記述子。
mq_attr* mqstat メッセージ・キューの属性で満たすバッファ。
Returns:
成功すると mq_getattr() は 0 を返す。 が設定される。
nothrow @nogc int mq_unlink(const(char)* name);
指定されたメッセージ・キューを削除する name.
Parameters:
const(char)* name 削除するキューの名前。
Returns:
成功した場合、mq_unlink() は 0 を返し、エラーの場合は -1 が返される。 が設定される。
nothrow @nogc int mq_notify(mqd_t mqdes, const(sigevent)* notification);
メッセージが利用可能になったときの通知のために登録する
Parameters:
mqd_t mqdes メッセージキューディスクリプタ。
const(sigevent)* notification 詳細は man 3 mq_notifyを参照のこと。
Returns:
mq_notify()は成功すると0を返し、エラーの場合は-1が返される。 が設定される。
nothrow @nogc ssize_t mq_receive(mqd_t mqdes, char* msg_ptr, size_t msg_len, uint* msg_prio);
メッセージ・キューで最も優先度の高い最も古いメッセージを受け取る。
Parameters:
mqd_t mqdes メッセージ・キュー・ディスクリプタ。
char* msg_ptr メッセージを書き込むバッファ
size_t msg_len バッファのサイズは msg_ptr.キューの キューの mq_msgsize 属性よりも大きくなければならない。
uint* msg_prio null でなければ、このメッセージの優先度に設定される。
Returns:
成功した場合、mq_receive()は受信したメッセージのバイト数を返す。 エラーの場合は、-1 が返され、エラーを示す errno が設定される。
nothrow @nogc ssize_t mq_timedreceive(mqd_t mqdes, char* msg_ptr, size_t msg_len, uint* msg_prio, const(timespec)* abs_timeout);
メッセージ・キューで最も古い優先度のメッセージを受信する、 あるタイムアウトまで待つ。
Parameters:
mqd_t mqdes メッセージ・キュー・ディスクリプタ。
char* msg_ptr メッセージを書き込むバッファ
size_t msg_len バッファのサイズは msg_ptr.キューの キューの mq_msgsize 属性よりも大きくなければならない。
uint* msg_prio null でなければ、このメッセージの優先度に設定する。
const(timespec)* abs_timeout キューが空の場合にブロックする時間の上限を指定する。
Returns:
成功した場合、mq_receive()は受信したメッセージのバイト数を返す。 エラーの場合は、-1 が返され、エラーを示す errno が設定される。
nothrow @nogc int mq_send(mqd_t mqdes, const(char)* msg_ptr, size_t msg_len, uint msg_prio);
メッセージ・キューにメッセージを追加する。
Parameters:
mqd_t mqdes メッセージ・キュー・ディスクリプタ。
const(char)* msg_ptr メッセージを読み込むバッファ
size_t msg_len メッセージのサイズは msg_ptr.キューの でなければならない。
uint msg_prio このメッセージの優先度。
Returns:
成功した場合、mq_send() はゼロを返す。 が設定される。
nothrow @nogc int mq_timedsend(mqd_t mqdes, const(char)* msg_ptr, size_t msg_len, uint msg_prio, const(timespec)* abs_timeout);
メッセージをメッセージ・キューに追加する。 キューが満杯の場合は、一定時間までブロックする。
Parameters:
mqd_t mqdes メッセージ・キュー・ディスクリプタ
const(char)* msg_ptr メッセージを読み込むバッファ
size_t msg_len 経由で提供されるメッセージのサイズ。 msg_ptr.キューの でなければならない。
uint msg_prio このメッセージの優先度。
const(timespec)* abs_timeout キューが空の場合にブロックする時間の上限を指定する。
Returns:
成功した場合、mq_timedsend() は 0 を返し、エラーの場合は -1 を返す、 エラー時には -1 が返され、エラーを示す errno が設定される。