OSDN Git Service

(split) LDP: Release pages for LDP v3.39.
[linuxjm/LDP_man-pages.git] / release / man2 / truncate.2
index 20a7542..fa7c913 100644 (file)
 .\" Modified 2002-04-06 by Andries Brouwer <aeb@cwi.nl>
 .\" Modified 2004-06-23 by Michael Kerrisk <mtk.manpages@gmail.com>
 .\"
-.\" Japanese Version Copyright (c) 1997 SUTO, Mitsuaki
-.\"         all rights reserved.
-.\" Translated 1997-06-26, SUTO, Mitsuaki <suto@av.crl.sony.co.jp>
-.\" Modified 2000-03-12, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
-.\" Updated 2001-01-09, Kentaro Shirakata <argrath@ub32.org>
-.\" Updated 2002-04-13, Kentaro Shirakata <argrath@ub32.org>
-.\" Updated 2002-10-21, Kentaro Shirakata <argrath@ub32.org>
-.\" Updated 2005-09-06, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
-.\" Updated 2006-07-21, Akihiro MOTOKI, LDP v2.36
+.\"*******************************************************************
 .\"
-.TH TRUNCATE 2 2010-10-07 "Linux" "Linux Programmer's Manual"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH TRUNCATE 2 2011\-09\-08 Linux "Linux Programmer's Manual"
 .SH 名前
 truncate, ftruncate \- 指定した長さにファイルを切り詰める
 .SH 書式
-.B #include <unistd.h>
+\fB#include <unistd.h>\fP
 .br
-.B #include <sys/types.h>
+\fB#include <sys/types.h>\fP
 .sp
-.BI "int truncate(const char *" path ", off_t " length );
+\fBint truncate(const char *\fP\fIpath\fP\fB, off_t \fP\fIlength\fP\fB);\fP
 .br
-.BI "int ftruncate(int " fd ", off_t " length );
+\fBint ftruncate(int \fP\fIfd\fP\fB, off_t \fP\fIlength\fP\fB);\fP
 .sp
 .in -4n
-glibc 向けの機能検査マクロの要件
-.RB ( feature_test_macros (7)
-参照):
+glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参照):
 .in
 .ad l
 .PD 0
 .sp
-.BR truncate ():
+\fBtruncate\fP():
 .RS 4
-_BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500 ||
-_XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
+_BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500 || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
 .br
 || /* glibc 2.12 以降: */ _POSIX_C_SOURCE\ >=\ 200809L
 .RE
 .sp
-.BR ftruncate ():
+\fBftruncate\fP():
 .RS 4
-_BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500 ||
-_XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
+_BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500 || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
 .br
 || /* glibc 2.3.5 以降: */ _POSIX_C_SOURCE\ >=\ 200112L
 .RE
 .PD
 .ad b
 .SH 説明
-.BR truncate ()
-は
-.I path
-で指定されるファイルを、
-.BR ftruncate ()
-は
-.I fd
-で参照されるファイルを
-.I length
-バイトの長さになるように延長する、もしくは切り詰める。
-もし切り詰める前のファイルが
-.I length
-より長ければ、length バイトを越える部分のデータは失われる。
-もし切り詰める前のファイルが
-.I length
-より短かければ、伸張される。
-伸張された部分を読んだ場合は NULL バイト (\(aq\\0\(aq) の列が返される。
+\fBtruncate\fP()  は \fIpath\fP で指定されるファイルを、 \fBftruncate\fP()  は \fIfd\fP で参照されるファイルを
+\fIlength\fP バイトの長さになるように延長する、もしくは切り詰める。
+.LP
+もし切り詰める前のファイルが \fIlength\fP より長ければ、length バイトを越える部分のデータは失われる。 もし切り詰める前のファイルが
+\fIlength\fP より短かければ、伸張される。 伸張された部分を読んだ場合は NULL バイト (\(aq\e0\(aq) の列が返される。
 .LP
 ファイルオフセットは変更されない。
 .LP
-大きさが変更されると、ファイルの st_ctime と st_mtime フィールド
-(それぞれ最終状態変更時刻、最終修正時刻;
-.BR stat (2)
-参照) が更新される。
-また、set-user-ID と set-group-ID の許可ビットがクリアされるかもしれない。
+大きさが変更されると、ファイルの st_ctime と st_mtime フィールド (それぞれ最終状態変更時刻、最終修正時刻; \fBstat\fP(2)
+参照) が更新される。 また、set\-user\-ID と set\-group\-ID の許可ビットがクリアされるかもしれない。
 .LP
-.BR ftruncate ()
-の場合、ファイルは書き込み用に開いていなければならない。
-.BR truncate ()
+\fBftruncate\fP()  の場合、ファイルは書き込み用に開いていなければならない。 \fBtruncate\fP()
 の場合、ファイルは書き込み可能でなければならない。
 .SH 返り値
-成功した場合 0 が返る。失敗した場合 \-1 が返り、
-.I errno
-がエラーの内容に従って設定される。
+成功した場合は 0 が返される。エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。
 .SH エラー
-.BR truncate ()
-では以下のエラーコードが定義されている。
-.TP
-.B EACCES
-パスで指定されているディレクトリに検索許可のないものがある
-(訳注:x ビットが立っていない)。
-あるいは、指定されたファイルに対する書き込み許可を持っていない。
-.RB ( path_resolution (7)
-も参照のこと)
-.TP
-.B EFAULT
-.I path
-がプロセスに割り当てられているアドレス空間外を指している。
-.TP
-.B EFBIG
-引き数
-.I length
-が最大ファイルサイズより大きい。(XSI)
-.TP
-.B EINTR
-実行中にシグナルを受けた。
-.TP
-.B EINVAL
-引き数
-.I length
-が負数であるか、最大ファイルサイズより大きい。
-.TP
-.B EIO
-inode の更新時に I/O エラーが発生した。
-.TP
-.B EINTR
-完了待ちで停止 (block) している間に、呼び出しが
-シグナルハンドラにより割り込まれた。
-.BR fcntl (2)
-と
-.BR signal (7)
+\fBtruncate\fP()  では以下のエラーコードが定義されている。
+.TP 
+\fBEACCES\fP
+パスで指定されているディレクトリに検索許可のないものがある (訳注:x ビットが立っていない)。
+あるいは、指定されたファイルに対する書き込み許可を持っていない。 (\fBpath_resolution\fP(7)  も参照のこと)
+.TP 
+\fBEFAULT\fP
+\fIpath\fP がプロセスに割り当てられているアドレス空間外を指している。
+.TP 
+\fBEFBIG\fP
+引き数 \fIlength\fP が最大ファイルサイズより大きい。(XSI)
+.TP 
+\fBEINTR\fP
+完了待ちで停止 (block) している間に、呼び出しが シグナルハンドラにより割り込まれた。 \fBfcntl\fP(2)  と \fBsignal\fP(7)
 を参照。
-.TP
-.B EISDIR
+.TP 
+\fBEINVAL\fP
+引き数 \fIlength\fP が負数であるか、最大ファイルサイズより大きい。
+.TP 
+\fBEIO\fP
+inode の更新時に I/O エラーが発生した。
+.TP 
+\fBEISDIR\fP
 指定されたファイルはディレクトリである。
-.TP
-.B ELOOP
+.TP 
+\fBELOOP\fP
 パス名を解釈する際にシンボリックリンクが多すぎた。
-.TP
-.B ENAMETOOLONG
-パス名中のディレクトリ名が 255 文字を越えている、もしくはパス名全体が
-1023 文字を越えている。
-.TP
-.B ENOENT
+.TP 
+\fBENAMETOOLONG\fP
+パス名中のディレクトリ名が 255 文字を越えている、もしくはパス名全体が 1023 文字を越えている。
+.TP 
+\fBENOENT\fP
 指定された名前のファイルが存在しない。
-.TP
-.B ENOTDIR
-パス名中の項目にディレクトリではないものが入っている
-.TP
-.B EPERM
+.TP 
+\fBENOTDIR\fP
+パス名の構成要素がディレクトリではない
+.TP 
+\fBEPERM\fP
 .\" This happens for at least MSDOS and VFAT file systems
 .\" on kernel 2.6.13
-下層にあるファイルシステムでは、現在のファイル長を越えて
-ファイルを伸長することができない。
-.TP
-.B EROFS
-指定されたファイルは読み出し専用のファイルシステム中にある。
-.TP
-.B ETXTBSY
+下層にあるファイルシステムでは、現在のファイル長を越えて ファイルを伸長することができない。
+.TP 
+\fBEROFS\fP
+ファイルが読み込み専用 (read only) のファイル・システム上にある。
+.TP 
+\fBETXTBSY\fP
 指定されたファイルは実行されているファイルである。
 .PP
-.BR ftruncate  ()
-にも同様のエラーが適用される。
-但し、
-.I path
-に関するエラーの場合は、ファイルディスクリプター
-.I fd
+\fBftruncate\fP()  にも同様のエラーが適用される。 但し、 \fIpath\fP に関するエラーの場合は、ファイルディスクリプター \fIfd\fP
 に関するエラーとなる。
-.TP
-.B EBADF
-.I fd
-が無効なディスクリプターである。
-.TP
-.BR EBADF " または " EINVAL
-.I fd
-で指定されているものが書き込みモードで開かれていない。
-.TP
-.B EINVAL
-.I fd
-が通常のファイルを参照していない。
+.TP 
+\fBEBADF\fP
+\fIfd\fP が無効なディスクリプターである。
+.TP 
+\fBEBADF\fP または \fBEINVAL\fP
+\fIfd\fP で指定されているものが書き込みモードで開かれていない。
+.TP 
+\fBEINVAL\fP
+\fIfd\fP が通常のファイルを参照していない。
 .SH 準拠
-4.4BSD, SVr4, POSIX.1-2001 (これらのコールは 4.2BSD で初めて登場した)。
-.\" POSIX 1003.1-1996 には
-.\" .BR ftruncate ()
-.\" がある。
-.\" POSIX.1-2001 には
-.\" XSI 拡張として
-.\" .BR truncate ()
-.\" もある。
+.\" POSIX.1-1996 has
+.\" .BR ftruncate ().
+.\" POSIX.1-2001 also has
+.\" .BR truncate (),
+.\" as an XSI extension.
 .\" .LP
-.\" SVr4 には他のエラーコードとして、
+.\" SVr4 documents additional
 .\" .BR truncate ()
-.\" には EMFILE, EMULTIHP, ENFILE, ENOLINK が、
+.\" error conditions EMFILE, EMULTIHP, ENFILE, ENOLINK.  SVr4 documents for
 .\" .BR ftruncate ()
-.\" には EAGAIN がそれぞれ記述されている。
+.\" an additional EAGAIN error condition.
+4.4BSD, SVr4, POSIX.1\-2001 (これらのコールは 4.2BSD で初めて登場した)。
 .SH 注意
-上記の記述は XSI 準拠のシステムのものである。
-XSI 非準拠のシステムの場合、POSIX 標準は
-.BR ftruncate ()
-に対して
-.I length
-がファイルの長さより長かった場合、
-エラーを返すかファイルを伸張するかの二つの動作を許容している。
-.BR truncate ()
-に対しては全く規定されていない。
-ほとんどの UNIX 実装と同様、Linux はネイティブ (Linux 由来) の
-ファイルシステムの扱いでは XSI 要求仕様にしたがっている。
-しかしながら、いくつかの非ネイティブのファイルシステムでは、
-.BR truncate ()
-や
-.BR ftruncate ()
-を使って現在のファイル長を越えてファイルを伸長することができない。
-Linux での有名な例としては VFAT がある。
+.\" At the very least: OSF/1, Solaris 7, and FreeBSD conform, mtk, Jan 2002
+「説明」の節で述べた詳細は XSI 準拠のシステムについてのものである。
+XSI 非準拠のシステムの場合、POSIX 標準は \fBftruncate\fP() に対して \fIlength\fP が
+ファイルの長さより長かった場合、 エラーを返すかファイルを伸張するかの二つの
+動作を許容している。 \fBtruncate\fP() に対しては全く規定されていない。
+ほとんどの UNIX 実装と同様、Linux はネイティブ (Linux 由来) の ファイルシステム
+の扱いでは XSI 要求仕様にしたがっている。 しかしながら、いくつかの非ネイティブ
+のファイルシステムでは、 \fBtruncate\fP() や \fBftruncate\fP() を使って現在のファイル
+長を越えてファイルを伸長することができない。 Linux での有名な例としては
+VFAT がある。
+
+元々の Linux の \fBtruncate\fP() と \fBftruncate\fP() システムコールは
+大きなファイルオフセットを扱えるように設計されていなかった。
+その結果、大きなファイルファイルを扱うことができる \fBtruncate64\fP() と \fBftruncate64\fP()
+システムコールが Linux 2.4 で追加された。
+ただし、glibc を使ったアプリケーションではこれらの詳細は気にする必要はない。
+glibc のラッパー関数は新しいシステムコールが利用できる場合にはそれらを利用する
+ようになっているからである。
 .SH バグ
-glibc 2.12 のヘッダファイルにはバグがあり、
-.BR ftruncate ()
-の宣言を公開するのに必要な
-.B _POSIX_C_SOURCE
-の最小値が 200112L ではなく 200809L となっていた。
-このバグは、これ以降のバージョンの glibc では修正されている。
+.\" http://sourceware.org/bugzilla/show_bug.cgi?id=12037
+glibc 2.12 のヘッダファイルにはバグがあり、 \fBftruncate\fP()  の宣言を公開するのに必要な \fB_POSIX_C_SOURCE\fP
+の最小値が 200112L ではなく 200809L となっていた。 このバグは、これ以降のバージョンの glibc では修正されている。
 .SH 関連項目
-.BR open (2),
-.BR stat (2),
-.BR path_resolution (7)
+\fBopen\fP(2), \fBstat\fP(2), \fBpath_resolution\fP(7)