OSDN Git Service

(split) LDP: Update release (3.64)
[linuxjm/LDP_man-pages.git] / release / man2 / recv.2
index c7ed629..4c23703 100644 (file)
@@ -80,11 +80,9 @@ recv, recvfrom, recvmsg \- ソケットからメッセージを受け取る
 \fBssize_t recvmsg(int \fP\fIsockfd\fP\fB, struct msghdr *\fP\fImsg\fP\fB, int \fP\fIflags\fP\fB);\fP
 .fi
 .SH 説明
-The \fBrecv\fP(), \fBrecvfrom\fP(), and \fBrecvmsg\fP()  calls are used to receive
-messages from a socket.  They may be used to receive data on both
-connectionless and connection\-oriented sockets.  This page first describes
-common features of all three system calls, and then describes the
-differences between the calls.
+\fBrecv\fP(), \fBrecvfrom\fP(), \fBrecvmsg\fP() コールは、 ソケットからメッセージを受け取るのに使用される。
+これらはコネクションレス型のソケットにも接続指向 (connection\-oriened) 型のソケットにも使用できる。 このページでは、まずこれら 3
+つのシステムコールすべてに共通の機能について説明し、 システムコール間の違いについて説明する。
 .PP
 これらの三つのシステムコールはいずれも、成功した場合にはメッセージの長さを返す。 メッセージが長過ぎて指定されたバッファに入り切らなかった場合には、
 メッセージを受信したソケットの種類によっては余分のバイトが捨てられる かもしれない。
@@ -96,7 +94,7 @@ differences between the calls.
 .PP
 アプリケーションは \fBselect\fP(2), \fBpoll\fP(2), \fBepoll\fP(7)
 を使って、ソケットにさらにデータが到着しているかを判定することができる。
-.SS "The flags argument"
+.SS フラグ引き数
 \fIflags\fP 引き数には、以下の値を 1つ以上、ビット単位の論理和 を取ったものを指定する:
 .TP 
 \fBMSG_CMSG_CLOEXEC\fP (\fBrecvmsg\fP() のみ; Linux 2.6.23)
@@ -180,8 +178,8 @@ Internet ストリームソケットでの利用については \fBtcp\fP(7)  
 このフラグは、要求した量いっぱいのデータが到着するまで、 操作を停止 (block) するよう要求する。 但し、シグナルを受信したり、エラーや切断
 (disconnect) が発生したり、 次に受信されるデータが異なる型だったりした場合には、 要求した量よりデータが少なくても返ることがある。
 .SS recvfrom()
-\fBrecvfrom\fP()  places the received message into the buffer \fIbuf\fP.  The
-caller must specify the size of the buffer in \fIlen\fP.
+\fBrecvfrom\fP() は受信したメッセージをバッファ \fIbuf\fP に格納する。 呼び出し元はバッファサイズを \fIlen\fP
+で指定しなければならない。
 
 .\" (Note: for datagram sockets in both the UNIX and Internet domains,
 .\" .I src_addr
@@ -191,18 +189,15 @@ caller must specify the size of the buffer in \fIlen\fP.
 .\" filled in for stream sockets in the Internet domain.)
 .\" [The above notes on AF_UNIX and AF_INET sockets apply as at
 .\" Kernel 2.4.18. (MTK, 22 Jul 02)]
-If \fIsrc_addr\fP is not NULL, and the underlying protocol provides the source
-address of the message, that source address is placed in the buffer pointed
-to by \fIsrc_addr\fP.  In this case, \fIaddrlen\fP is a value\-result argument.
-Before the call, it should be initialized to the size of the buffer
-associated with \fIsrc_addr\fP.  Upon return, \fIaddrlen\fP is updated to contain
-the actual size of the source address.  The returned address is truncated if
-the buffer provided is too small; in this case, \fIaddrlen\fP will return a
-value greater than was supplied to the call.
+\fIsrc_addr\fP が NULL 以外で、下層のプロトコルからメッセージの送信元アドレスが分かる場合、 この送信元アドレスが \fIsrc_addr\fP
+が指すバッファに格納される。 この場合、 \fIaddrlen\fP は入出力両用の引き数となる。 呼び出し前に、呼び出し元は \fIsrc_addr\fP
+に割り当てたバッファの大きさで初期化しておくべきである。 返ってくる時には、 \fIaddrlen\fP
+は送信元アドレスの実際の大きさに変更される。渡されたバッファが小さ過ぎる場合には、返されるアドレスの末尾は 切り詰められる。この場合には、
+\fIaddrlen\fP では、呼び出し時に渡された値よりも大きな値が返される。
 
 .\"
-If the caller is not interested in the source address, \fIsrc_addr\fP should be
-specified as NULL and \fIaddrlen\fP should be specified as 0.
+呼び出し元が送信元アドレスを必要としない場合は、 \fIsrc_addr\fP には NULL を指定し、 \fIaddrlen\fP には 0
+を指定すべきである。
 .SS recv()
 \fBrecv\fP()  コールは通常 \fI接続済みの (connected)\fP ソケットに対してのみ使用される (\fBconnect\fP(2)
 参照)。次の呼び出しと等価である。
@@ -282,12 +277,10 @@ struct cmsghdr {
 ストリームソケットの接続相手が正しくシャットダウンを実行した場合は、
 返り値は 0 (昔ながらの "end\-of\-file" の戻り値) となる。
 
-Datagram sockets in various domains (e.g., the UNIX and Internet domains)
-permit zero\-length datagrams.  When such a datagram is received, the return
-value is 0.
+いくつかのドメインのデータグラムソケット (UNIX ドメインやインターネットドメインなど) では、長さ 0 のデータグラムが送信できる。
+このようなデータグラムを受信した場合、 返り値は 0 となる。
 
-The value 0 may also be returned if the requested number of bytes to receive
-from a stream socket was 0.
+ストリームソケットに対する受信要求バイト数が 0 だった場合も、 値 0 が返される。
 .SH エラー
 これらはソケット層で発生する一般的なエラーである。 他のエラーが下層のプロトコル・モジュールで生成され、 返されるかもしれない。
 それらのマニュアルを参照すること。
@@ -350,6 +343,6 @@ POSIX.1\-2001 では、構造体 \fImsghdr\fP のフィールド \fImsg_controll
 \fBfcntl\fP(2), \fBgetsockopt\fP(2), \fBread\fP(2), \fBrecvmmsg\fP(2), \fBselect\fP(2),
 \fBshutdown\fP(2), \fBsocket\fP(2), \fBcmsg\fP(3), \fBsockatmark\fP(3), \fBsocket\fP(7)
 .SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.63 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.64 の一部
 である。プロジェクトの説明とバグ報告に関する情報は
 http://www.kernel.org/doc/man\-pages/ に書かれている。