eio_sync_file_range

ファイルセグメントをディスクに同期する

説明

resource eio_sync_file_range(
    mixed $fd,
    int $offset,
    int $nbytes,
    int $flags,
    int $pri = EIO_PRI_DEFAULT,
    callable $callback = NULL,
    mixed $data = NULL
)

eio_sync_file_range は、ファイルディスクリプタ fd が指すオープン中のファイルをディスクに同期します。

パラメータ

fd

ファイルディスクリプタ。

offset

同期を開始する位置をバイト単位で指定する。

nbytes

同期させる範囲の長さをバイト単位で指定する。 nbytes がゼロの場合は、offset からファイルの末尾までのすべての範囲を同期します。

flags

ビットマスク。以下のいずれかの値を含めます。 EIO_SYNC_FILE_RANGE_WAIT_BEFORE, EIO_SYNC_FILE_RANGE_WRITE, EIO_SYNC_FILE_RANGE_WAIT_AFTER. これらのフラグは、それぞれ対応する SYNC_FILE_RANGE_* と同じ意味です (SYNC_FILE_RANGE(2) の man ページを参照ください)。

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_sync_file_range は、成功した場合にリクエストリソースを返します。失敗した場合に false を返します