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

# 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_CREAT` を `EIO_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_DEFAULT`、`EIO_PRI_MIN`、`EIO_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` を返します。