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
]]] ) : resourceeio_mknod() crée un fichier spécial ou ordinaire.
Cette fonction est actuellement non documentée ; 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
. -
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_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
Version en cache
22/11/2024 22:02:22 Cette version de la page est en cache (à la date du 22/11/2024 22:02:22) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-eio-mknod.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.