OSDN Git Service

Update README
[linuxjm/LDP_man-pages.git] / release / man2 / sendfile.2
index 0cab767..bb2aa01 100644 (file)
@@ -1,8 +1,12 @@
 .\" This man page is Copyright (C) 1998 Pawel Krawczyk.
+.\"
+.\" %%%LICENSE_START(VERBATIM_ONE_PARA)
 .\" Permission is granted to distribute possibly modified copies
 .\" of this page provided the header is included verbatim,
 .\" and in case of nontrivial modification author and date
 .\" of the modification is added to the header.
+.\" %%%LICENSE_END
+.\"
 .\" $Id: sendfile.2,v 1.5 1999/05/18 11:54:11 freitag Exp $
 .\" 2000-11-19 bert hubert <ahu@ds9a.nl>: in_fd cannot be socket
 .\"
 .\" 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
@@ -46,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) 風の操作ができるファイルを指していなければならな
 い (ソケットを指定することはできない)。
@@ -84,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 から存在している。
@@ -100,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 は通常のファイルを参照でき、
@@ -120,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.40 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部
 である。プロジェクトの説明とバグ報告に関する情報は
 http://www.kernel.org/doc/man\-pages/ に書かれている。