OSDN Git Service

Retire LDP man-pages repository
[linuxjm/LDP_man-pages.git] / draft / man2 / sendfile.2
diff --git a/draft/man2/sendfile.2 b/draft/man2/sendfile.2
deleted file mode 100644 (file)
index bb2aa01..0000000
+++ /dev/null
@@ -1,140 +0,0 @@
-.\" 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
-.\"
-.\" 2004-12-17, mtk
-.\"    updated description of in_fd and out_fd for 2.6
-.\"    Various wording and formatting changes
-.\"
-.\" 2005-03-31 Martin Pool <mbp@sourcefrog.net> mmap() improvements
-.\"
-.\"*******************************************************************
-.\"
-.\" 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 \- ファイルディスクリプター間でデータを転送する
-.SH 書式
-\fB#include <sys/sendfile.h>\fP
-.sp
-.\" The below is too ugly. Comments about glibc versions belong
-.\" in the notes, not in the header.
-.\"
-.\" .B #include <features.h>
-.\" .br
-.\" .B #if (__GLIBC__==2 && __GLIBC_MINOR__>=1) || __GLIBC__>2
-.\" .br
-.\" .B #include <sys/sendfile.h>
-.\" .br
-.\" #else
-.\" .br
-.\" .B #include <sys/types.h>
-.\" .br
-.\" .B /* No system prototype before glibc 2.1. */
-.\" .br
-.\" .BI "ssize_t sendfile(int" " out_fd" ", int" " in_fd" ", off_t *" \
-.\"                       offset ", size_t" " count" )
-.\" .br
-.\" .B #endif
-.\"
-\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()  は、あるファイルディスクリプターから別の ファイルディスクリプターへのデータのコピーを行う。
-このコピーはカーネル内で行われるので、 \fBsendfile\fP()  は、 \fBread\fP(2)  と \fBwrite\fP(2)
-を組み合わせるよりも効率がよい。 \fBread\fP(2)  や \fBwrite\fP(2)  ではユーザー空間との間でデータの転送が必要となるからである。
-
-\fIin_fd\fP は読み込みのためにオープンされたファイルディスクリプター、 \fIout_fd\fP
-は書き込みのためにオープンされたディスクリプターでなければならない。
-
-\fIoffset\fP が NULL でない場合、 \fIoffset\fP は \fBsendfile\fP()  が \fIin_fd\fP
-のどこからデータを読み始めるかを示すファイルオフセットを保持する変数への ポインターである。 \fBsendfile\fP()
-は復帰する時、この変数に最後に読み込んだバイトの 次のバイトのオフセットを書き込む。 \fIoffset\fP が NULL でない場合、
-\fBsendfile\fP()  は \fIin_fd\fP のファイルオフセットの現在値を変更しない。 NULL の場合は、ファイルオフセットの現在値を
-\fIin_fd\fP から読み込んだバイト数を反映した位置に調整する。
-
-\fIoffset\fP が NULL の場合、データは \fIin_fd\fP の現在のファイルオフセットから読み出され、
-ファイルオフセットはこの呼び出しで更新される。
-
-\fIcount\fP は、ファイルディスクリプター間でコピーするバイト数である。
-
-\fIin_fd\fP 引き数は \fBmmap\fP(2) 風の操作ができるファイルを指していなければならな
-い (ソケットを指定することはできない)。
-
-2.6.33 より前の Linux カーネルでは \fIout_fd\fP はソケットを参照していなければな
-らない。Linux 2.6.33 以降では、任意のファイルを参照することができる。
-通常のファイルの場合には \fBsendfile\fP() はファイルオフセットを適切に変更する。
-.SH 返り値
-転送に成功した場合、 \fIout_fd\fP に書き込まれたバイト数を返す。エラーの場合、\-1 を返し、 \fIerrno\fP に適切な値を設定する。
-.SH エラー
-.TP 
-\fBEAGAIN\fP
-\fBO_NONBLOCK\fP を用いて非ブロック I/O が選択されたが、書き込みがブロックされた。
-.TP 
-\fBEBADF\fP
-入力ファイルが読み込みのためにオープンされていないか、 出力ファイルが書き込みのためにオープンされていない。
-.TP 
-\fBEFAULT\fP
-アドレスがおかしい。
-.TP 
-\fBEINVAL\fP
-ディスクリプターが有効でないか、ロックされている。もしくは \fBmmap\fP(2)  風の操作が \fIin_fd\fP では利用できない。
-.TP 
-\fBEIO\fP
-\fIin_fd\fP から読み込んでいるうちに予期しないエラーが起こった。
-.TP 
-\fBENOMEM\fP
-\fIin_fd\fP から読み込むための十分なメモリーがない。
-.SH バージョン
-\fBsendfile\fP は Linux 2.2 の新しい機能である。 インクルードファイル \fI<sys/sendfile.h>\fP は
-glibc 2.1 から存在している。
-.SH 準拠
-POSIX.1\-2001 や他の標準では規定されていない。
-
-他の UNIX システムでは、異なった方式やプロトタイプで \fBsendfile\fP()
-を実装している。移植性を考慮したプログラムでは使用すべきではない。
-.SH 注意
-\fBsendfile\fP()  を使って TCP ソケットにファイルを送ろうとしていて、 ファイルの内容の前にヘッダーデータを付け加える必要がある場合は、
-パケット数を最小にして性能を上げるために \fBtcp\fP(7)  に記述されている \fBTCP_CORK\fP オプションを使うといいだろう。
-
-Linux 2.4 とそれ以前のバージョンでも、 \fIout_fd\fP は通常のファイルを参照でき、
-\fBsendfile\fP() はそのファイルのオフセットの現在値を変更していた。
-
-元々の Linux \fBsendfile\fP() システムコールは大きなファイルオフセットを
-扱えるように設計されていなかった。その結果、Linux 2.4 で、
-ビット幅の大きな \fIoffset\fP 引き数を持った \fBsendfile64\fP() が追加された。
-glibc の \fBsendfile\fP() のラッパー関数はカーネルによるこの違いを吸収している。
-
-\fBsendfile\fP()  が \fBEINVAL\fP や \fBENOSYS\fP で失敗するような場合は、 アプリケーションは
-\fBread\fP(2)/\fBwrite\fP(2)  に戻すことを考えてもよいかもしれない。
-
-Linux 固有の \fBsplice\fP(2) システムコールは、任意のファイル間 (例えば、
-ソケット同士) でのデータ転送をサポートしている。
-.SH 関連項目
-\fBmmap\fP(2), \fBopen\fP(2), \fBsocket\fP(2), \fBsplice\fP(2)
-
-.SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部
-である。プロジェクトの説明とバグ報告に関する情報は
-http://www.kernel.org/doc/man\-pages/ に書かれている。