-.I fd
-¤Ç»²¾È¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤Ï¥·¡¼¥¯ (seek) ²Äǽ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
-.SH ÊÖ¤êÃÍ
-À®¸ù¤·¤¿¾ì¹ç¡¢Æɤ߽ñ¤¤ò¹Ô¤Ã¤¿¥Ð¥¤¥È¿ô¤¬ÊÖ¤µ¤ì¤ë (¥¼¥í¤Ï¡¢
-.BR pwrite ()
-¤Î¾ì¹ç¤Ë¤Ï²¿¤â½ñ¤«¤ì¤Ê¤«¤Ã¤¿¤³¤È¤ò°ÕÌ£¤·¡¢
-.BR pread ()
-¤Î¾ì¹ç¤Ë¤Ï¥Õ¥¡¥¤¥ë
-¤ÎËöÈø¤Ë㤷¤¿¤³¤È¤ò°ÕÌ£¤¹¤ë)¡£
-¥¨¥é¡¼¤Î¾ì¹ç¤Ï \-1 ¤¬ÊÖ¤µ¤ì¡¢
-.I errno
-¤¬¤½¤Î¥¨¥é¡¼¤ò¼¨¤¹¤è¤¦¤ËÀßÄꤵ¤ì¤ë¡£
-.SH ¥¨¥é¡¼
-.BR pread ()
-¤Ç¤Ï¡¢
-.BR read (2)
-¤ª¤è¤Ó
-.BR lseek (2)
-¤Çµ¬Äꤵ¤ì¤¿Á´¤Æ¤Î¥¨¥é¡¼¤¬È¯À¸¤¹¤ë²ÄǽÀ¤¬¤¢¤ê¡¢
-.I error
-¤Ë¤Ï¥¨¥é¡¼¤ò¼¨¤¹Ãͤ¬ÀßÄꤵ¤ì¤ë¡£
-.BR pwrite ()
-¤Ç¤Ï¡¢
-.BR write (2)
-¤ª¤è¤Ó
-.BR lseek (2)
-¤Çµ¬Äꤵ¤ì¤¿Á´¤Æ¤Î¥¨¥é¡¼¤¬È¯À¸¤¹¤ë²ÄǽÀ¤¬¤¢¤ê¡¢
-.I error
-¤Ë¤Ï¥¨¥é¡¼¤ò¼¨¤¹Ãͤ¬ÀßÄꤵ¤ì¤ë¡£
-.SH ¥Ð¡¼¥¸¥ç¥ó
-¥·¥¹¥Æ¥à¥³¡¼¥ë
-.BR pread ()
-¤È
-.BR pwrite ()
-¤Ï Linux ¤Ë¥Ð¡¼¥¸¥ç¥ó 2.1.60 ¤ÇÄɲ䵤줿¡£
-i386 ¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Î¥¨¥ó¥È¥ê¤Ï 2.1.69 ¤ÇÄɲ䵤줿¡£
-(¥·¥¹¥Æ¥à¥³¡¼¥ë¤ò»ý¤¿¤Ê¤¤¸Å¤¤¥«¡¼¥Í¥ë¤Ç¤Î
-.BR lseek (2)
-¤ò»È¤Ã¤¿¥¨¥ß¥å¥ì¡¼¥·¥ç¥ó¤ò´Þ¤á¤ë¤È)
-C ¥é¥¤¥Ö¥é¥ê¤Ë¤ª¤±¤ë¥µ¥Ý¡¼¥È¤Ï glibc 2.1 ¤ÇÄɲ䵤줿¡£
-.SH ½àµò
-POSIX.1-2001.
-.SH ´ØÏ¢¹àÌÜ
-.BR lseek (2),
-.BR read (2),
-.BR write (2)
+\fIfd\fP で参照されるファイルはシーク (seek) 可能でなければならない。
+.SH 返り値
+成功した場合、読み書きを行ったバイト数が返される (ゼロは、 \fBpwrite\fP() の場合には何も書かれなかったことを意味し、 \fBpread\fP()
+の場合にはファイル の末尾に達したことを意味する)。 エラーの場合は \-1 が返され、 \fIerrno\fP がそのエラーを示すように設定される。
+.SH エラー
+\fBpread\fP() では、 \fBread\fP(2) および \fBlseek\fP(2) で規定された全てのエラーが発生する可能性があり、
+\fIerror\fP にはエラーを示す値が設定される。 \fBpwrite\fP() では、 \fBwrite\fP(2) および \fBlseek\fP(2)
+で規定された全てのエラーが発生する可能性があり、 \fIerror\fP にはエラーを示す値が設定される。
+.SH バージョン
+システムコール \fBpread\fP() と \fBpwrite\fP() は Linux にバージョン 2.1.60 で追加された。 i386
+のシステムコールのエントリは 2.1.69 で追加された。 (システムコールを持たない古いカーネルでの \fBlseek\fP(2)
+を使ったエミュレーションを含めると) C ライブラリにおけるサポートは glibc 2.1 で追加された。
+.SH 準拠
+POSIX.1\-2001.
+.SH 注意
+システムコール \fBpread\fP() と \fBpwrite\fP() は、特にマルチスレッドアプリケーションで役に立つ。 これらを使うと、
+他のスレッドによるファイルオフセットの変更の影響を受けることなく、 複数のスレッドが同じファイルディスクリプタに対して入出力を行うことができる。
+
+Linux では、裏で呼び出されるシステムコールの名前がカーネル 2.6 で変更された。
+\fBpread\fP() は \fBpread64\fP() になり、 \fBpwrite\fP() は \fBpwrite64\fP() になった。
+システムコールの番号は変更されていない。
+glibc の \fBpread\fP() と \fBpwrite\fP() のラッパー関数はこれらの変更を吸収している。
+
+いくつかの 32 ビットアーキテクチャでは、これらのシステムコールの呼び出し時のシグネチャーが違っています。理由は \fBsyscall\fP(2)
+で説明されている通りです。
+.SH バグ
+.\" FIXME https://bugzilla.kernel.org/show_bug.cgi?id=43178
+POSIX では、\fBO_APPEND\fP フラグを指定してファイルをオープンした場合、
+\fBpwrite\fP() がデータを書き込む位置に影響を及ぼさないことが
+求められている。しかし、 Linux では、ファイルを \fBO_APPEND\fP 付きで
+オープンした場合、 \fIoffset\fP の値に関わらず、
+\fBpwrite\fP() はファイルの末尾にデータを追記する。
+.SH 関連項目
+\fBlseek\fP(2), \fBread\fP(2), \fBreadv\fP(2), \fBwrite\fP(2)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.68 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。