eio_fallocate

(PECL eio >= 0.0.1dev)

eio_fallocate呼び出し元が、ファイルに割り当てられたディスク空間を直接操作できるようにする

説明

eio_fallocate ( mixed $fd , int $mode , int $offset , int $length [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] ) : resource

eio_fallocate() 呼び出し元が、ファイルに割り当てられたディスク空間を直接操作できるようにします。 ファイルの指定はファイルディスクリプタ fd で行い、 バイト幅の指定は開始位置 offset とそこからの長さ length で行います。

注意: 書き込みモードでのオープンが必須

EIO_O_CREATEIO_O_WRONLY あるいは EIO_O_RDWR と論理 OR しなければいけません。

パラメータ

fd

ストリーム、ソケットリソース、あるいは数値で表したファイルディスクリプタ (たとえば eio_open() が返すもの)。

mode

現在サポートするフラグは EIO_FALLOC_FL_KEEP_SIZE (POSIX の定数 FALLOC_FL_KEEP_SIZE と同じ意味) だけです。

offset

バイト幅の開始位置。

length

バイト幅の長さ。

pri

リクエストの優先順位。EIO_PRI_DEFAULTEIO_PRI_MINEIO_PRI_MAX あるいは NULL を指定します。 NULL を渡した場合、pri は内部的に EIO_PRI_DEFAULT となります。

callback

callback 関数が、リクエスト終了時にコールされます。 この関数のプロトタイプは、

void callback(mixed $data, int $result[, resource $req]);
に一致しなければなりません。
data

は、リクエストに渡すカスタムデータです。

result

にはリクエスト固有の結果が格納されます。基本的には、対応するシステムコールが返すそのままの値となります。

req

はオプションで指定するリクエストリソースです。 eio_get_last_error() のような関数で使えます。

data

callback に渡す任意の引数。

返り値

eio_fallocate() は、成功した場合にリクエストリソースを返します。エラー時に FALSE を返します。