eio_mknod
(PECL eio >= 0.0.1dev)
eio_mknod — Crée un fichier spécial ou ordinaire
Description
$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.
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) etEIO_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
ouEIO_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ètredev
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
, ouNULL
. SiNULL
est passé, le paramètrepri
, 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_filename, EIO_S_IFIFO, 0, 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