OSDN Git Service

Update README
[linuxjm/LDP_man-pages.git] / release / man2 / sendfile.2
index 887be5c..bb2aa01 100644 (file)
 .\" This file was generated with po4a. Translate the source file.
 .\"
 .\"*******************************************************************
+.\"
+.\" Japanese Version Copyright (c) 1999 HANATAKA Shinya
+.\"         all rights reserved.
+.\" Translated 1999-06-26, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
+.\" Updated 2001-02-16, Kentaro Shirakata <argrath@ub32.org>
+.\" Updated 2003-09-08, Kentaro Shirakata <argrath@ub32.org>
+.\" Updated 2005-03-14, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
+.\" Updated 2005-04-17, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
+.\" Updated 2010-04-18, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v3.24
+.\" Updated 2012-04-30, Akihiro MOTOKI <amotoki@gmail.com>
+.\"
 .TH SENDFILE 2 2011\-09\-14 Linux "Linux Programmer's Manual"
 .SH 名前
-sendfile \- ã\83\95ã\82¡ã\82¤ã\83«ã\83»ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿間でデータを転送する
+sendfile \- ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼間でデータを転送する
 .SH 書式
 \fB#include <sys/sendfile.h>\fP
 .sp
@@ -50,23 +61,23 @@ sendfile \- ファイル・ディスクリプタ間でデータを転送する
 \fBssize_t sendfile(int\fP\fI out_fd\fP\fB, int\fP\fI in_fd\fP\fB, off_t *\fP\fIoffset\fP\fB,
 size_t\fP\fI count\fP\fB);\fP
 .SH 説明
-\fBsendfile\fP()  ã\81¯ã\80\81ã\81\82ã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\83»ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\81\8bã\82\89å\88¥ã\81® ã\83\95ã\82¡ã\82¤ã\83«ã\83»ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿へのデータのコピーを行う。
+\fBsendfile\fP()  ã\81¯ã\80\81ã\81\82ã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81\8bã\82\89å\88¥ã\81® ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼へのデータのコピーを行う。
 このコピーはカーネル内で行われるので、 \fBsendfile\fP()  は、 \fBread\fP(2)  と \fBwrite\fP(2)
-を組み合わせるよりも効率がよい。 \fBread\fP(2)  や \fBwrite\fP(2)  ではユーザ空間との間でデータの転送が必要となるからである。
+を組み合わせるよりも効率がよい。 \fBread\fP(2)  や \fBwrite\fP(2)  ではユーザ空間との間でデータの転送が必要となるからである。
 
-\fIin_fd\fP ã\81¯èª­ã\81¿è¾¼ã\81¿ã\81®ã\81\9fã\82\81ã\81«ã\82ªã\83¼ã\83\97ã\83³ã\81\95ã\82\8cã\81\9fã\83\95ã\82¡ã\82¤ã\83«ã\83»ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿、 \fIout_fd\fP
-は書き込みのためにオープンされたディスクリプタでなければならない。
+\fIin_fd\fP ã\81¯èª­ã\81¿è¾¼ã\81¿ã\81®ã\81\9fã\82\81ã\81«ã\82ªã\83¼ã\83\97ã\83³ã\81\95ã\82\8cã\81\9fã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼、 \fIout_fd\fP
\81¯æ\9b¸ã\81\8dè¾¼ã\81¿ã\81®ã\81\9fã\82\81ã\81«ã\82ªã\83¼ã\83\97ã\83³ã\81\95ã\82\8cã\81\9fã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81§ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84ã\80\82
 
 \fIoffset\fP が NULL でない場合、 \fIoffset\fP は \fBsendfile\fP()  が \fIin_fd\fP
\81®ã\81©ã\81\93ã\81\8bã\82\89ã\83\87ã\83¼ã\82¿ã\82\92読ã\81¿å§\8bã\82\81ã\82\8bã\81\8bã\82\92示ã\81\99ã\83\95ã\82¡ã\82¤ã\83«ã\83»ã\82ªã\83\95ã\82»ã\83\83ã\83\88ã\82\92ä¿\9dæ\8c\81ã\81\99ã\82\8bå¤\89æ\95°ã\81¸ã\81® ã\83\9dã\82¤ã\83³ã\82¿である。 \fBsendfile\fP()
\81®ã\81©ã\81\93ã\81\8bã\82\89ã\83\87ã\83¼ã\82¿ã\82\92読ã\81¿å§\8bã\82\81ã\82\8bã\81\8bã\82\92示ã\81\99ã\83\95ã\82¡ã\82¤ã\83«ã\82ªã\83\95ã\82»ã\83\83ã\83\88ã\82\92ä¿\9dæ\8c\81ã\81\99ã\82\8bå¤\89æ\95°ã\81¸ã\81® ã\83\9dã\82¤ã\83³ã\82¿ã\83¼である。 \fBsendfile\fP()
 は復帰する時、この変数に最後に読み込んだバイトの 次のバイトのオフセットを書き込む。 \fIoffset\fP が NULL でない場合、
-\fBsendfile\fP()  ã\81¯ \fIin_fd\fP ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83»ã\82ªã\83\95ã\82»ã\83\83ã\83\88ã\81®ç\8f¾å\9c¨å\80¤ã\82\92å¤\89æ\9b´ã\81\97ã\81ªã\81\84ã\80\82 NULL ã\81®å ´å\90\88ã\81¯ã\80\81ã\83\95ã\82¡ã\82¤ã\83«ã\83»オフセットの現在値を
+\fBsendfile\fP()  ã\81¯ \fIin_fd\fP ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\82ªã\83\95ã\82»ã\83\83ã\83\88ã\81®ç\8f¾å\9c¨å\80¤ã\82\92å¤\89æ\9b´ã\81\97ã\81ªã\81\84ã\80\82 NULL ã\81®å ´å\90\88ã\81¯ã\80\81ã\83\95ã\82¡ã\82¤ã\83«オフセットの現在値を
 \fIin_fd\fP から読み込んだバイト数を反映した位置に調整する。
 
-\fIoffset\fP ã\81\8c NULL ã\81®å ´å\90\88ã\80\81ã\83\87ã\83¼ã\82¿ã\81¯ \fIin_fd\fP ã\81®ç\8f¾å\9c¨ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83»ã\82ªã\83\95ã\82»ã\83\83ã\83\88ã\81\8bã\82\89読ã\81¿å\87ºã\81\95ã\82\8cã\80\81
\83\95ã\82¡ã\82¤ã\83«ã\83»ã\82ªã\83\95ã\82»ã\83\83ã\83\88ã\81¯ã\81\93ã\81®å\91¼ã\81³å\87ºã\81\97ã\81§æ\9b´æ\96°ã\81\95ã\82\8cã\82\8bã\80\82
+\fIoffset\fP が NULL の場合、データは \fIin_fd\fP の現在のファイルオフセットから読み出され、
+ファイルオフセットはこの呼び出しで更新される。
 
-\fIcount\fP ã\81¯ã\80\81ã\83\95ã\82¡ã\82¤ã\83«ã\83»ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿間でコピーするバイト数である。
+\fIcount\fP ã\81¯ã\80\81ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼間でコピーするバイト数である。
 
 \fIin_fd\fP 引き数は \fBmmap\fP(2) 風の操作ができるファイルを指していなければならな
 い (ソケットを指定することはできない)。
@@ -88,13 +99,13 @@ size_t\fP\fI count\fP\fB);\fP
 アドレスがおかしい。
 .TP 
 \fBEINVAL\fP
-ディスクリプタが有効でないか、ロックされている。もしくは \fBmmap\fP(2)  風の操作が \fIin_fd\fP では利用できない。
\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81\8cæ\9c\89å\8a¹ã\81§ã\81ªã\81\84ã\81\8bã\80\81ã\83­ã\83\83ã\82¯ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bã\80\82ã\82\82ã\81\97ã\81\8fã\81¯ \fBmmap\fP(2)  é¢¨ã\81®æ\93\8dä½\9cã\81\8c \fIin_fd\fP ã\81§ã\81¯å\88©ç\94¨ã\81§ã\81\8dã\81ªã\81\84ã\80\82
 .TP 
 \fBEIO\fP
 \fIin_fd\fP から読み込んでいるうちに予期しないエラーが起こった。
 .TP 
 \fBENOMEM\fP
-\fIin_fd\fP から読み込むための十分なメモリがない。
+\fIin_fd\fP ã\81\8bã\82\89読ã\81¿è¾¼ã\82\80ã\81\9fã\82\81ã\81®å\8d\81å\88\86ã\81ªã\83¡ã\83¢ã\83ªã\83¼ã\81\8cã\81ªã\81\84ã\80\82
 .SH バージョン
 \fBsendfile\fP は Linux 2.2 の新しい機能である。 インクルードファイル \fI<sys/sendfile.h>\fP は
 glibc 2.1 から存在している。
@@ -104,7 +115,7 @@ POSIX.1\-2001 や他の標準では規定されていない。
 他の UNIX システムでは、異なった方式やプロトタイプで \fBsendfile\fP()
 を実装している。移植性を考慮したプログラムでは使用すべきではない。
 .SH 注意
-\fBsendfile\fP()  ã\82\92使ã\81£ã\81¦ TCP ã\82½ã\82±ã\83\83ã\83\88ã\81«ã\83\95ã\82¡ã\82¤ã\83«ã\82\92é\80\81ã\82\8dã\81\86ã\81¨ã\81\97ã\81¦ã\81\84ã\81¦ã\80\81 ã\83\95ã\82¡ã\82¤ã\83«ã\81®å\86\85容ã\81®å\89\8dã\81«ã\83\98ã\83\83ã\83\80ã\83»データを付け加える必要がある場合は、
+\fBsendfile\fP()  ã\82\92使ã\81£ã\81¦ TCP ã\82½ã\82±ã\83\83ã\83\88ã\81«ã\83\95ã\82¡ã\82¤ã\83«ã\82\92é\80\81ã\82\8dã\81\86ã\81¨ã\81\97ã\81¦ã\81\84ã\81¦ã\80\81 ã\83\95ã\82¡ã\82¤ã\83«ã\81®å\86\85容ã\81®å\89\8dã\81«ã\83\98ã\83\83ã\83\80ã\83¼データを付け加える必要がある場合は、
 パケット数を最小にして性能を上げるために \fBtcp\fP(7)  に記述されている \fBTCP_CORK\fP オプションを使うといいだろう。
 
 Linux 2.4 とそれ以前のバージョンでも、 \fIout_fd\fP は通常のファイルを参照でき、
@@ -124,6 +135,6 @@ Linux 固有の \fBsplice\fP(2) システムコールは、任意のファイル
 \fBmmap\fP(2), \fBopen\fP(2), \fBsocket\fP(2), \fBsplice\fP(2)
 
 .SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.53 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部
 である。プロジェクトの説明とバグ報告に関する情報は
 http://www.kernel.org/doc/man\-pages/ に書かれている。