X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=draft%2Fman2%2Frecvmmsg.2;h=9001adc5183353da1a42c027da86bb6751ce3c99;hb=83f9e5d087c3464d5131604d3c9893479e6228eb;hp=c34e489a4b926a79f0a6814c85e2388972f310a2;hpb=f73535511ff23549f8fba381139f7bae7666d801;p=linuxjm%2FLDP_man-pages.git diff --git a/draft/man2/recvmmsg.2 b/draft/man2/recvmmsg.2 index c34e489a..9001adc5 100644 --- a/draft/man2/recvmmsg.2 +++ b/draft/man2/recvmmsg.2 @@ -38,12 +38,12 @@ .\" all rights reserved. .\" Translated 2013-05-22, Akihiro MOTOKI .\" -.TH RECVMMSG 2 2014\-05\-21 Linux "Linux Programmer's Manual" +.TH RECVMMSG 2 2014\-06\-13 Linux "Linux Programmer's Manual" .SH 名前 recvmmsg \- 複数のメッセージをソケットから受信する .SH 書式 .nf -\fB#define _GNU_SOURCE\fP +\fB#define _GNU_SOURCE\fP /* feature_test_macros(7) 参照 */ \fB#include \fP \fBint recvmmsg(int \fP\fIsockfd\fP\fB, struct mmsghdr *\fP\fImsgvec\fP\fB, unsigned int \fP\fIvlen\fP\fB,\fP @@ -55,7 +55,7 @@ recvmmsg \- 複数のメッセージをソケットから受信する このシステムコールを使うと一度の呼び出しでソケットから複数のメッセージを受信することができる (アプリケーションによっては性能上のメリットがある)。 他に \fBrecvmsg\fP(2) から拡張されている点としては、受信操作におけるタイムアウトのサポートがある。 -\fIsockfd\fP 引き数は、データを受信するソケットのファイルディスクリプタである。 +\fIsockfd\fP 引き数は、データを受信するソケットのファイルディスクリプターである。 \fImsgvec\fP 引き数は \fImmsghdr\fP 構造体の配列である。 この配列の大きさは \fIvlen\fP で指定する。 @@ -64,14 +64,15 @@ recvmmsg \- 複数のメッセージをソケットから受信する .in +4n .nf struct mmsghdr { - struct msghdr msg_hdr; /* メッセージヘッダ */ - unsigned int msg_len; /* このヘッダで受信されたバイト数 */ + struct msghdr msg_hdr; /* メッセージヘッダー */ + unsigned int msg_len; /* このヘッダーで受信されたバイト数 */ }; .fi .in .PP \fImsg_hdr\fP フィールドは、 \fBrecvmsg\fP(2) で説明されている \fImsghdr\fP 構造体である。 \fImsg_len\fP -フィールドは、 このエントリで返されるメッセージのバイト数で、 このヘッダに対して \fBrecvmsg\fP(2) を呼び出した場合の返り値と同じ値が入る。 +フィールドは、 このエントリーで返されるメッセージのバイト数で、 このヘッダーに対して \fBrecvmsg\fP(2) +を呼び出した場合の返り値と同じ値が入る。 \fIflags\fP 引き数には複数のフラグを論理和 (OR) で指定できる。 フラグは、 \fBrecvmsg\fP(2) で説明されているものに加えて、以下が使用できる。 @@ -79,7 +80,7 @@ struct mmsghdr { \fBMSG_WAITFORONE\fP (Linux 2.6.34 以降) 最初のメッセージを受信後に \fBMSG_DONTWAIT\fP を有効にする。 .PP -\fItimeout\fP 引き数は \fIstruct timespec\fP (\fBclock_gettime\fP(2) 参照) へのポインタで、 +\fItimeout\fP 引き数は \fIstruct timespec\fP (\fBclock_gettime\fP(2) 参照) へのポインターで、 この構造体で受信操作のタイムアウト (秒とナノ秒) を指定する (\fIただし、バグを参照のこと\fP) (待ち時間はシステムクロックの粒度に切り上げられ、カーネルのスケジューリング遅延により少しだけ長くなる可能性がある)。 \fItimeout\fPが NULL の場合、 受信操作は無期限に停止 (block) する。 @@ -106,8 +107,8 @@ struct mmsghdr { \fBrecvmmsg\fP() は Linux 固有である。 .SH 例 .PP -以下のプログラムは、 \fBrecvmmsg\fP() を使って複数のメッセージをソケットから受信し、それらを複数のバッファに格納する。 -呼び出しは、すべてのバッファにメッセージが格納されるか、 指定したタイムアウト時間が経過すると返る。 +以下のプログラムは、 \fBrecvmmsg\fP() を使って複数のメッセージをソケットから受信し、それらを複数のバッファーに格納する。 +呼び出しは、すべてのバッファーにメッセージが格納されるか、 指定したタイムアウト時間が経過すると返る。 以下のコマンドは、 ランダムな数字が入った UDP データグラムを定期的に生成する。 .in +4n @@ -194,7 +195,7 @@ main(void) } .fi .SH バグ -.\" FIXME https://bugzilla.kernel.org/show_bug.cgi?id=75371 +.\" FIXME . https://bugzilla.kernel.org/show_bug.cgi?id=75371 .\" http://thread.gmane.org/gmane.linux.man/5677 \fItimeout\fP 引き数は意図した通りには動作しない。 タイムアウトは各データグラムの受信後にのみチェックされる。 そのため、 タイムアウトが満了する前に \fIvlen\-1\fP 個のデータグラムを受信し、 その後全くデータグラムを受信しなかった場合、 @@ -203,6 +204,6 @@ main(void) \fBclock_gettime\fP(2), \fBrecvmsg\fP(2), \fBsendmmsg\fP(2), \fBsendmsg\fP(2), \fBsocket\fP(2), \fBsocket\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.67 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。