posix_fallocate

Autres langues

Langue: ja

Autres versions - même langue

Version: 2006-03-01 (fedora - 25/11/07)

Section: 3 (Bibliothèques de fonctions)

名前

posix_fallocate - ファイルのスペースを確保する

書式

 #define _XOPEN_SOURCE 600
 #include <stdlib.h>
 
 int posix_fallocate(int fd, off_t offset, off_t len);
 

説明

関数 posix_fallocate() は、ディスクリプタ fd で参照されるファイルに対して、ディスクスペースを確実に確保する。 ディスクスペースは offset から始まる len バイトの範囲のバイトである。 posix_fallocate() の呼び出しが成功した後、指定された範囲のバイトに対する書き込みは、 ディスクスペースの不足で失敗しないことが保証される。

ファイルのサイズが offset+len より小さい場合、ファイルはこのサイズになるように拡大される。 それ以外の場合、ファイルサイズは変わらない。

返り値

posix_fallocate() は成功した場合、0 を返す。 失敗した場合、エラー番号を返す。 errno が設定されない点に注意すること。

エラー

EBADF
fd が有効なディスクリプタでない。 または書き込み用にオープンされていない。
EFBIG
offset+len が最大ファイルサイズを超えている。
EINVAL
offset または len が 0 より小さい。
ENODEV
fd が通常のファイルとして参照されていない。
ENOSPC
fd で参照されるファイルが存在するデバイスに、十分なスペースが残っていない。
ESPIPE
fd がファイルディスクリプタのパイプを参照している。

バージョン

posix_fallocate() は glibc 2.1.94 以降で利用可能である。

準拠

POSIX.1-2001.

関連項目

lseek(2), posix_fadvise(2), feature_test_macros(7)