-'\" t
+.\" t
.\" Hey Emacs! This file is -*- nroff -*- source.
.\"
.\" Copyright (C) 2006 Michael Kerrisk <mtk.manpages@gmail.com>
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
.\"
-.\" Japanese Version Copyright (c) 2006 Akihiro MOTOKI all rights reserved.
-.\" Translated 2006-04-23, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
-.\" Updated 2008-11-09, Akihiro MOTOKI, LDP v3.13
+.\"*******************************************************************
.\"
-.TH MQ_RECEIVE 3 2010-09-20 "Linux" "Linux Programmer's Manual"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH MQ_RECEIVE 3 2010\-09\-20 Linux "Linux Programmer's Manual"
.SH 名前
mq_receive, mq_timedreceive \- メッセージキューからメッセージを受信する
.SH 書式
.nf
-.B #include <mqueue.h>
+\fB#include <mqueue.h>\fP
.sp
-.BI "ssize_t mq_receive(mqd_t " mqdes ", char *" msg_ptr ,
-.BI " size_t " msg_len ", unsigned *" msg_prio );
+\fBssize_t mq_receive(mqd_t \fP\fImqdes\fP\fB, char *\fP\fImsg_ptr\fP\fB,\fP
+\fB size_t \fP\fImsg_len\fP\fB, unsigned *\fP\fImsg_prio\fP\fB);\fP
.sp
-.B #include <time.h>
-.B #include <mqueue.h>
+\fB#include <time.h>\fP
+\fB#include <mqueue.h>\fP
.sp
-.BI "ssize_t mq_timedreceive(mqd_t " mqdes ", char *" msg_ptr ,
-.BI " size_t " msg_len ", unsigned *" msg_prio ,
-.BI " const struct timespec *" abs_timeout );
+\fBssize_t mq_timedreceive(mqd_t \fP\fImqdes\fP\fB, char *\fP\fImsg_ptr\fP\fB,\fP
+\fB size_t \fP\fImsg_len\fP\fB, unsigned *\fP\fImsg_prio\fP\fB,\fP
+\fB const struct timespec *\fP\fIabs_timeout\fP\fB);\fP
.fi
.sp
\fI\-lrt\fP でリンクする。
.sp
.ad l
.in -4n
-glibc 向けの機能検査マクロの要件
-.RB ( feature_test_macros (7)
-参照):
+glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照):
.in
.sp
-.BR mq_timedreceive ():
+\fBmq_timedreceive\fP():
.RS 4
_XOPEN_SOURCE\ >=\ 600 || _POSIX_C_SOURCE\ >=\ 200112L
.RE
.ad
.SH 説明
-.BR mq_receive ()
-は、記述子
-.I mqdes
-で参照されるメッセージキューから最も高い優先度を持つ
-最も古いメッセージを削除し、そのメッセージを
-.I msg_ptr
-が指すバッファに格納する。
-.I msg_len
-引き数は、
-.I msg_ptr
-が指すバッファの大きさを示す。この値はキューの
-.I mq_msgsize
-属性よりも大きくなければならない
-.RB ( mq_getattr (3)
-参照)。
-.I prio
-が NULL 以外の場合、
-.I prio
-が指すバッファに受信したメッセージの優先度が格納される。
+\fBmq_receive\fP() は、記述子 \fImqdes\fP で参照されるメッセージキューから最も高い優先度を持つ
+最も古いメッセージを削除し、そのメッセージを \fImsg_ptr\fP が指すバッファに格納する。 \fImsg_len\fP 引き数は、 \fImsg_ptr\fP
+が指すバッファの大きさを示す。この値はキューの \fImq_msgsize\fP 属性よりも大きくなければならない (\fBmq_getattr\fP(3)
+参照)。 \fIprio\fP が NULL 以外の場合、 \fIprio\fP が指すバッファに受信したメッセージの優先度が格納される。
-キューが空の場合、デフォルトでは、
-.BR mq_receive ()
-は、新しいメッセージが届くか、関数呼び出しがシグナルハンドラにより
-中断されるまで、停止 (block) する。
-メッセージキュー記述 (message queue description) で
-.B O_NONBLOCK
-フラグが有効になっている場合は、
-.BR mq_receive ()
-はエラー
-.B EAGAIN
-ですぐに失敗する。
+キューが空の場合、デフォルトでは、 \fBmq_receive\fP() は、新しいメッセージが届くか、関数呼び出しがシグナルハンドラにより
+中断されるまで、停止 (block) する。 メッセージキュー記述 (message queue description) で
+\fBO_NONBLOCK\fP フラグが有効になっている場合は、 \fBmq_receive\fP() はエラー \fBEAGAIN\fP ですぐに失敗する。
-.BR mq_timedreceive ()
-は
-.BR mq_receive ()
-と全く同じ動作をするが、
-メッセージキューが空で、メッセージキュー記述で
-.B O_NONBLOCK
-フラグが有効になっていない場合に、この呼び出しが停止する時間の上限を
-.I abs_timeout
-が指す構造体で指定する点が異なる。この上限は、タイムアウトの時刻を、
-時刻紀元 (Epoch; 1970-01-01 00:00:00 +0000 (UTC)) からの経過時間
-(秒とナノ秒の組) で指定する。タイムアウト時刻は以下の構造体で指定する:
+\fBmq_timedreceive\fP() は \fBmq_receive\fP() と全く同じ動作をするが、
+メッセージキューが空で、メッセージキュー記述で \fBO_NONBLOCK\fP フラグが有効になっていない場合に、この呼び出しが停止する時間の上限を
+\fIabs_timeout\fP が指す構造体で指定する点が異なる。この上限は、タイムアウトの時刻を、 時刻紀元 (Epoch; 1970\-01\-01
+00:00:00 +0000 (UTC)) からの経過時間 (秒とナノ秒の組) で指定する。タイムアウト時刻は以下の構造体で指定する:
.sp
.in +4n
.nf
.fi
.in
-メッセージがキューになく、関数呼び出し時にすでにタイムアウト時刻が
-過ぎている場合、
-.BR mq_timedreceive ()
-はすぐに返る。
+メッセージがキューになく、関数呼び出し時にすでにタイムアウト時刻が 過ぎている場合、 \fBmq_timedreceive\fP() はすぐに返る。
.SH 返り値
-成功すると、
-.BR mq_receive ()
-と
-.BR mq_timedreceive ()
-は受信したメッセージのバイト数を返す。
-エラーの場合、\-1 を返し、
-.I errno
-にエラーを示す値を設定する。
+成功すると、 \fBmq_receive\fP() と \fBmq_timedreceive\fP() は受信したメッセージのバイト数を返す。
+エラーの場合、\-1 を返し、 \fIerrno\fP にエラーを示す値を設定する。
.SH エラー
-.TP
-.B EAGAIN
-キューが空で、かつ
-.I mqdes
-で参照されるメッセージキュー記述で
-.B O_NONBLOCK
-フラグがセットされていた。
-.TP
-.B EBADF
-.I mqdes
-で指定された記述子が不正である。
-.TP
-.B EINTR
-関数呼び出しがシグナルハンドラにより中断された。
-.BR signal (7)
-参照。
-.TP
-.B EINVAL
-関数呼び出しは停止するはずであったが、
-.I abs_timeout
-が不正であった。
-.I abs_timeout
-が不正とは、
-.I tv_sec
-が 0 未満、もしくは
-.I tv_nsec
-が 0 未満か 1,000,000,000 より大きい、ということである。
-.TP
-.B EMSGSIZE
-.I msg_len
-がメッセージキューの
-.I mq_msgsize
-属性よりも小さかった。
-.TP
-.B ETIMEDOUT
+.TP
+\fBEAGAIN\fP
+キューが空で、かつ \fImqdes\fP で参照されるメッセージキュー記述で \fBO_NONBLOCK\fP フラグがセットされていた。
+.TP
+\fBEBADF\fP
+\fImqdes\fP で指定された記述子が不正である。
+.TP
+\fBEINTR\fP
+関数呼び出しがシグナルハンドラにより中断された。 \fBsignal\fP(7) 参照。
+.TP
+\fBEINVAL\fP
+関数呼び出しは停止するはずであったが、 \fIabs_timeout\fP が不正であった。 \fIabs_timeout\fP が不正とは、 \fItv_sec\fP
+が 0 未満、もしくは \fItv_nsec\fP が 0 未満か 1,000,000,000 より大きい、ということである。
+.TP
+\fBEMSGSIZE\fP
+\fImsg_len\fP がメッセージキューの \fImq_msgsize\fP 属性よりも小さかった。
+.TP
+\fBETIMEDOUT\fP
メッセージが転送される前に関数呼び出しがタイムアウトした。
.SH 準拠
-POSIX.1-2001.
+POSIX.1\-2001.
.SH 注意
-Linux では、
-.BR mq_timedreceive ()
-はシステムコールである。
-.BR mq_receive ()
-はライブラリ関数で、
-.BR mq_timedreceive ()
-システムコールを用いて実装されている。
+Linux では、 \fBmq_timedreceive\fP() はシステムコールである。 \fBmq_receive\fP() はライブラリ関数で、
+\fBmq_timedreceive\fP() システムコールを用いて実装されている。
.SH 関連項目
-.BR mq_close (3),
-.BR mq_getattr (3),
-.BR mq_notify (3),
-.BR mq_open (3),
-.BR mq_send (3),
-.BR mq_unlink (3),
-.BR mq_overview (7),
-.BR time (7)
+\fBmq_close\fP(3), \fBmq_getattr\fP(3), \fBmq_notify\fP(3), \fBmq_open\fP(3),
+\fBmq_send\fP(3), \fBmq_unlink\fP(3), \fBmq_overview\fP(7), \fBtime\fP(7)