PHP Unconference Europe 2015

eio_mknod

(PECL eio >= 0.0.1dev)

eio_mknodCrée un fichier spécial ou ordinaire

Description

resource eio_mknod ( string $path , int $mode , int $dev [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

eio_mknod() crée un fichier spécial ou ordinaire.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

path

Chemin du nouveau noeud (fichier).

mode

Spécifie à la fois les permissions à utiliser et le type de noeud à créer. Il doit être une combinaison (en utilisant l'opérateur OR) d'un des types de fichier listés ci-dessous, et les permissions pour le nouveau noeud (i.e. 0640). Les types de fichier possibles sont : EIO_S_IFREG(fichier régulier), EIO_S_IFCHR(fichier de caractères), EIO_S_IFBLK(fichier de bloc spécial), EIO_S_IFIFO(FIFO - nommé pipe) et EIO_S_IFSOCK(socket de domaine UNIX). Pour spécifier les permissions, les constantes EIO_S_I* doivent être utilisées.

dev

Si le type de fichier est EIO_S_IFCHR ou EIO_S_IFBLK, alors ce paramètre spécifie le nombre majeur et mineur du nouveay fichier spécial de périphérique créé. Sinon, le paramètre dev sera ignoré. Voir la page du manuel de mknod(2) pour plus de détails.

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.

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()

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

Variables arbitraires à passer à la fonction de rappel callback.

Valeurs de retour

eio_mknod() retourne la ressource demandée en cas de succès, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec eio_mknod()

<?php
// FIFO name
$temp_filename "/tmp/eio-temp-fifo";

/* Sera appelé lorsque la fonction eio_mknod() aura terminé */
function my_mknod_callback($data$result) {
    
$s stat($data);
    
var_dump($s);

    if (
$result == 0) {
        echo 
"eio_mknod_ok";
    }

    @
unlink($data);
}

eio_mknod($temp_filenameEIO_S_IFIFO0,
    
EIO_PRI_DEFAULT"my_mknod_callback"$temp_filename);
eio_event_loop();
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(26) {
  [0]=>
  int(17)
  [1]=>
  int(2337608)
  [2]=>
  int(4096)
  [3]=>
  int(1)
  [4]=>
  int(1000)
  [5]=>
  int(100)
  [6]=>
  int(0)
  [7]=>
  int(0)
  [8]=>
  int(1318241261)
  [9]=>
  int(1318241261)
  [10]=>
  int(1318241261)
  [11]=>
  int(4096)
  [12]=>
  int(0)
  ["dev"]=>
  int(17)
  ["ino"]=>
  int(2337608)
  ["mode"]=>
  int(4096)
  ["nlink"]=>
  int(1)
  ["uid"]=>
  int(1000)
  ["gid"]=>
  int(100)
  ["rdev"]=>
  int(0)
  ["size"]=>
  int(0)
  ["atime"]=>
  int(1318241261)
  ["mtime"]=>
  int(1318241261)
  ["ctime"]=>
  int(1318241261)
  ["blksize"]=>
  int(4096)
  ["blocks"]=>
  int(0)
}
eio_mknod_ok

Voir aussi

  • eio_open
add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top