OSDN Git Service

(split) LDP: Release pages for LDP v3.39.
[linuxjm/LDP_man-pages.git] / release / man2 / write.2
index 70db5af..6527f5e 100644 (file)
 .\"    gave some examples of why this might occur.
 .\"    Noted what happens if write() is interrupted by a signal.
 .\"
-.\" Japanese Version Copyright (c) 1997 HANATAKA Shinya
-.\"         all rights reserved.
-.\" Translated Tue Mar  4 00:18:20 JST 1997
-.\"         by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
-.\" Updated & Modified Wed Jun 13 20:57:55 JST 2001
-.\"         by Yuichi SATO <ysato@h4.dion.ne.jp>
-.\" Updated Mon Jun 25 JST 2001 by Kentaro Shirakata <argrath@ub32.org>
-.\" Updated Fri Dec 21 JST 2001 by Kentaro Shirakata <argrath@ub32.org>
-.\" Updated 2002-09-24 by Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
-.\" Updated 2005-10-14 by Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
-.\" Updated 2007-05-01, Akihiro MOTOKI, LDP v2.46
-.\" Updated 2007-09-01, Akihiro MOTOKI, LDP v2.64
-.\" Updated 2008-04-13, Akihiro MOTOKI, LDP v3.20
+.\"*******************************************************************
 .\"
-.\"WORD:       descriptor              ディスクリプタ
-.\"WORD:       buffer                  バッファー
-.\"WORD:       file system             ファイル・システム
-.\"WORD:       object                  オブジェクト
-.\"WORD:       pipe                    パイプ
-.\"WORD:       socket                  ソケット
-.\"WORD:       signal                  シグナル
-.\"WORD:       catch                   捕獲(catch)
-.\"WORD:       block                   停止(block)
-.\"WORD:       interrupt               割り込み
-.\"WORD:       nonblocking I/O         非停止 I/O
-.\"WORD:       device                  デバイス
-.\"WORD:       low-level I/O           低レべル I/O
+.\" This file was generated with po4a. Translate the source file.
 .\"
-.TH WRITE 2 2010-08-29 "Linux" "Linux Programmer's Manual"
+.\"*******************************************************************
+.TH WRITE 2 2010\-08\-29 Linux "Linux Programmer's Manual"
 .SH 名前
-write \- ã\83\95ã\82¡ã\82¤ã\83«ã\83»ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ (file descriptor) ã\81«æ\9b¸ã\81\8dè¾¼ã\82\80
+write \- ファイルディスクリプタ (file descriptor) に書き込む
 .SH 書式
-.B #include <unistd.h>
+\fB#include <unistd.h>\fP
 .sp
-.BI "ssize_t write(int " fd ", const void *" buf ", size_t " count );
+\fBssize_t write(int \fP\fIfd\fP\fB, const void *\fP\fIbuf\fP\fB, size_t \fP\fIcount\fP\fB);\fP
 .SH 説明
-.BR write ()
-は、
-.I buf
-が指すバッファから、ファイル・ディスクリプタ
-.I fd
-が参照するファイルへ、最大
-.I count
+\fBwrite\fP()  は、 \fIbuf\fP が指すバッファから、ファイルディスクリプタ \fIfd\fP が参照するファイルへ、最大 \fIcount\fP
 バイトを書き込む。
 
-書き込まれるバイト数は
-.I count
-よりも小さくなることがある。
-例えば、書き込み対象の物理メディアに十分な領域がない場合、
-リソース上限
-.B RLIMIT_FSIZE
-に達した場合
-.RB ( setrlimit (2)
-参照)、
-.I count
-バイト未満の書き込みが行われた後で
-呼び出しがシグナルハンドラにより割り込まれた場合、
-などである。
-.RB ( pipe (7)
-も参照のこと。)
+書き込まれるバイト数は \fIcount\fP よりも小さくなることがある。 例えば、書き込み対象の物理メディアに十分な領域がない場合、 リソース上限
+\fBRLIMIT_FSIZE\fP に達した場合 (\fBsetrlimit\fP(2)  参照)、 \fIcount\fP バイト未満の書き込みが行われた後で
+呼び出しがシグナルハンドラにより割り込まれた場合、 などである。 (\fBpipe\fP(7)  も参照のこと。)
 
-seek 可能なファイル (つまり
-.BR lseek (2)
-が適用できるファイル、例えば通常のファイル) では、
-書き込みは現在のファイル・オフセットから行われ、
-ファイル・オフセットは実際に書き込みが行われたバイト数分
-加算される。ファイルが
-.B O_APPEND
-で
-.BR open (2)
-された場合、ファイル・オフセットは書き込み前に
-ファイルの末尾に設定される。
-ファイル・オフセットの調整と書き込み操作はアトミックな処理として
-実行される。
+seek 可能なファイル (つまり \fBlseek\fP(2)  が適用できるファイル、例えば通常のファイル) では、
+書き込みは現在のファイルオフセットから行われ、 ファイルオフセットは実際に書き込みが行われたバイト数分 加算される。ファイルが \fBO_APPEND\fP
+で \fBopen\fP(2)  された場合、ファイルオフセットは書き込み前に ファイルの末尾に設定される。
+ファイルオフセットの調整と書き込み操作はアトミックな処理として 実行される。
 
-POSIX は
-.BR write ()
-が行なわれた後に実行した
-.BR read (2)
-が
-新しいデータを返すことを要求している。
-全てのファイル・システムが POSIX 準拠ではない点に注意すること。
+POSIX は \fBwrite\fP()  が行なわれた後に実行した \fBread\fP(2)  が 新しいデータを返すことを要求している。
+全てのファイルシステムが POSIX 準拠ではない点に注意すること。
 .SH 返り値
-成功した場合、書き込まれたバイト数が返される
-(ゼロは何も書き込まれなかったことを示す)。
-エラーならば \-1 が返され、\fIerrno\fP が適切に設定される。
+成功した場合、書き込まれたバイト数が返される (ゼロは何も書き込まれなかったことを示す)。 エラーならば \-1 が返され、\fIerrno\fP
+が適切に設定される。
 
-\fIcount\fP が 0 で、
-.I fd
-が通常のファイル (regular file) を参照している場合、
-.BR write ()
-は後述のエラーのいずれかを検出した場合、失敗を返すことがある。
-エラーが検出されなかった場合は、
-0 を返し、他に何の影響も与えない。
-\fIcount\fP が 0 で、
-.I fd
-が通常のファイル以外のファイルを参照している場合、
-その結果は規定されていない。
+\fIcount\fP が 0 で、 \fIfd\fP が通常のファイル (regular file) を参照している場合、 \fBwrite\fP()
+は後述のエラーのいずれかを検出した場合、失敗を返すことがある。 エラーが検出されなかった場合は、 0 を返し、他に何の影響も与えない。 \fIcount\fP
+が 0 で、 \fIfd\fP が通常のファイル以外のファイルを参照している場合、 その結果は規定されていない。
 .SH エラー
-.TP
-.B EAGAIN
-ファイル・ディスクリプタ
-.I fd
-がソケット以外のファイルを参照していて、
-非停止 (nonblocking) モード
-.RB ( O_NONBLOCK )
+.TP 
+\fBEAGAIN\fP
+ファイルディスクリプタ \fIfd\fP がソケット以外のファイルを参照していて、 非停止 (nonblocking) モード (\fBO_NONBLOCK\fP)
 に設定されており、書き込みを行うと停止する状況にある。
-.TP
-.BR EAGAIN " または " EWOULDBLOCK
+.TP 
+\fBEAGAIN\fP または \fBEWOULDBLOCK\fP
 .\" Actually EAGAIN on Linux
-ファイル・ディスクリプタ
-.I fd
-がソケットを参照していて、非停止 (nonblocking) モード
-.RB  ( O_NONBLOCK )
-に設定されており、書き込みを行うと停止する状況にある。
-POSIX.1-2001 は、この場合にどちらのエラーを返すことも認めており、
-これら 2 つの定数が同じ値を持つことも求めていない。
-したがって、移植性が必要なアプリケーションでは、両方の可能性を
-確認すべきである。
-.TP
-.B EBADF
-.I fd
-が有効なファイル・ディスクリプタでないか書き込みのためにオープン
-(open) されていない。
-.TP
-.B EDESTADDRREQ
-.I fd
-が、
-.BR connect (2)
-を使って通信相手のアドレスが設定されていないデータグラムソケットを
-参照している。
-.TP
-.B EFAULT
-.I buf
-がアクセス可能なアドレス空間 (address space) の外にある。
-.TP
-.B EFBIG
-実装定義の最大ファイルサイズまたはプロセスのファイルサイズ制限を
-超えてファイルに書き込もうとした。
-または許可されたオフセット値の限界を超えた先の位置に
-書き込もうとした。
-.TP
-.B EINTR
-何のデータも書かない間にシグナルにより割り込まれた (interrupt)。
-.BR signal (7)
-参照。
-.TP
-.B EINVAL
-.I fd
-が書き込みが不適切なオブジェクトを参照している。
-もしくは、ファイルが
-.B O_DIRECT
-フラグを指定してオープンされているが、
-.I buf
-に指定されたアドレス、
-.I count
-に指定された値、
-現在のファイルオフセットのいずれかの
-アラインメントが不適切である。
-.TP
-.B EIO
-inode の修正中に低レべル (low-level) I/O エラーが発生した。
-.TP
-.B ENOSPC
-.I fd
-によって参照されるファイルを含むデバイス (device) に十分な空きがない。
-.TP
-.B EPIPE
-.I fd
-がパイプ (pipe) かソケット (socket) に接続されており、
-その反対側 (読み込み側) がクローズ (close) されている。
-これが発生した場合には、書き込みを行なうプロセスは
-.B SIGPIPE
-シグナル (signal)も受ける。
-(したがって、プログラムがこのシグナルを捕獲 (catch)、停止 (block)、無視 (ignore)
-した場合のみ、write の返り値を参照できる。)
+ファイルディスクリプタ \fIfd\fP がソケットを参照していて、非停止 (nonblocking) モード (\fBO_NONBLOCK\fP)
+に設定されており、書き込みを行うと停止する状況にある。 POSIX.1\-2001 は、この場合にどちらのエラーを返すことも認めており、 これら 2
+つの定数が同じ値を持つことも求めていない。 したがって、移植性が必要なアプリケーションでは、両方の可能性を 確認すべきである。
+.TP 
+\fBEBADF\fP
+\fIfd\fP が有効なファイルディスクリプタでないか書き込みのためにオープン (open) されていない。
+.TP 
+\fBEDESTADDRREQ\fP
+\fIfd\fP が、 \fBconnect\fP(2)  を使って通信相手のアドレスが設定されていないデータグラムソケットを 参照している。
+.TP 
+\fBEFAULT\fP
+\fIbuf\fP がアクセス可能なアドレス空間の外にある。
+.TP 
+\fBEFBIG\fP
+実装定義の最大ファイルサイズまたはプロセスのファイルサイズ制限を 超えてファイルに書き込もうとした。
+または許可されたオフセット値の限界を超えた先の位置に 書き込もうとした。
+.TP 
+\fBEINTR\fP
+何のデータも書かない間にシグナルにより割り込まれた (interrupt)。 \fBsignal\fP(7)  参照。
+.TP 
+\fBEINVAL\fP
+\fIfd\fP が書き込みが不適切なオブジェクトを参照している。 もしくは、ファイルが \fBO_DIRECT\fP フラグを指定してオープンされているが、
+\fIbuf\fP に指定されたアドレス、 \fIcount\fP に指定された値、 現在のファイルオフセットのいずれかの アラインメントが不適切である。
+.TP 
+\fBEIO\fP
+inode の修正中に低レべル (low\-level) I/O エラーが発生した。
+.TP 
+\fBENOSPC\fP
+\fIfd\fP によって参照されるファイルを含むデバイス (device) に十分な空きがない。
+.TP 
+\fBEPIPE\fP
+\fIfd\fP がパイプ (pipe) かソケット (socket) に接続されており、 その反対側 (読み込み側) がクローズ (close)
+されている。 これが発生した場合には、書き込みを行なうプロセスは \fBSIGPIPE\fP シグナル (signal)も受ける。
+(したがって、プログラムがこのシグナルを捕獲 (catch)、停止 (block)、無視 (ignore)  した場合のみ、write
+の返り値を参照できる。)
 .PP
-.I fd
-に接続されたオブジェクトによっては、他のエラーが起こるかもしれない。
+\fIfd\fP に接続されたオブジェクトによっては、他のエラーが起こるかもしれない。
 .SH 準拠
-SVr4, 4.3BSD, POSIX.1-2001.
-.\" SVr4 には他に EDEADLK, ENOLCK, ENOLNK,
-.\" ENOSR, ENXIO, ERANGE エラーについての記述がある。
+.\" SVr4 documents additional error
+.\" conditions EDEADLK, ENOLCK, ENOLNK, ENOSR, ENXIO, or ERANGE.
+SVr4, 4.3BSD, POSIX.1\-2001.
 
-SVr4 では write が割り込まれると、データが書き込まれる直前ではなく、
-その時点で
-.B EINTR
-が返る。
+SVr4 では write が割り込まれると、データが書き込まれる直前ではなく、 その時点で \fBEINTR\fP が返る。
 .SH 注意
-.BR write ()
-が成功して返ってきても、データがディスクに記録されたことを
-保証するものではない。
-実際、データのためのスペースが確保されたことすら保証されないという
-バグっぽい実装もある。
-これを確実にする唯一の方法は、
-全てのデータを write した後に
-.BR fsync (2)
-を呼び出すことである。
+\fBwrite\fP()  が成功して返ってきても、データがディスクに記録されたことを 保証するものではない。
+実際、データのためのスペースが確保されたことすら保証されないという バグっぽい実装もある。 これを確実にする唯一の方法は、 全てのデータを write
+した後に \fBfsync\fP(2)  を呼び出すことである。
 
-.BR write ()
-が 1 バイトも書き込まないうちにシグナルハンドラにより割り込まれた場合、
-.BR write ()
-はエラー
-.B EINTR
-で失敗する。
-1バイトでも書き込んだ後で割り込まれた場合には、
-.BR write ()
-は成功し、書き込んだバイト数を返す。
+\fBwrite\fP()  が 1 バイトも書き込まないうちにシグナルハンドラにより割り込まれた場合、 \fBwrite\fP()  はエラー \fBEINTR\fP
+で失敗する。 1バイトでも書き込んだ後で割り込まれた場合には、 \fBwrite\fP()  は成功し、書き込んだバイト数を返す。
 .SH 関連項目
-.BR close (2),
-.BR fcntl (2),
-.BR fsync (2),
-.BR ioctl (2),
-.BR lseek (2),
-.BR open (2),
-.BR pwrite (2),
-.BR read (2),
-.BR select (2),
-.BR writev (2),
-.BR fwrite (3)
+\fBclose\fP(2), \fBfcntl\fP(2), \fBfsync\fP(2), \fBioctl\fP(2), \fBlseek\fP(2), \fBopen\fP(2),
+\fBpwrite\fP(2), \fBread\fP(2), \fBselect\fP(2), \fBwritev\fP(2), \fBfwrite\fP(3)