# eio_fallocate

(PECL eio >= 0.0.1dev)

eio_fallocate — Autorise l'appelant à manipuler directement l'espace disque alloué pour un fichier

### Description

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

eio_fallocate() autorise l'appelant à manipuler directement l'espace disque alloué pour le fichier spécifié par le descripteur de fichier `fd` pour l'intervalle d'octets commençant à `offset` et se prolongeant sur `length` octets.

> Note: Le fichier doit être ouvert en écriture

> La constante `EIO_O_CREAT` doit être un OU logique avec `EIO_O_WRONLY`, ou `EIO_O_RDWR`.

### Liste de paramètres

`fd`

  Un flux, une ressource de socket, ou un descripteur de fichier, i.e. retourné par la fonction eio_open().

`mode`

  Actuellement, un seul drapeau est supporté pour le mode : `EIO_FALLOC_FL_KEEP_SIZE` (identique à la constante POSIX `FALLOC_FL_KEEP_SIZE`).

`offset`

  Spécifie le début de l'intervalle d'octets.

`length`

  Spécifie la longueur de l'intervalle d'octets.

`pri`

  La priorité de la requête : `EIO_PRI_DEFAULT`, `EIO_PRI_MIN`, `EIO_PRI_MAX`, ou `null`. Si `null` est passé, le paramètre `pri`, en interne, est défini à `EIO_PRI_DEFAULT`.

`callback`

  La fonction de rappel `callback` est appelée lorsque la requête est terminée. Elle doit correspondre au prototype suivant :

  `void callback(mixed $data, int $result[, resource $req]);`
  `data`

    représente les données personnalisées passées à la requête.

  `result`

    représente la valeur résultante spécifique à la requête ; basiquement, la valeur retournée par l'appel système correspondant.

  `req`

    est la ressource optionnelle de la requête qui peut être utilisée avec les fonctions comme eio_get_last_error().

`data`

  Variables arbitraires à passer à la fonction de rappel `callback`.

### Valeurs de retour

eio_fallocate() retourne une ressource de la requête en cas de succès, ou `false` si une erreur survient.