eio_mknod
(PECL eio >= 0.0.1dev)
eio_mknod — Crear un fichero especial u ordinario
Descripción
$path
, int $mode
, int $dev
[, int $pri = EIO_PRI_DEFAULT
[, callable $callback = NULL
[, mixed $data = NULL
]]] )eio_mknod() crea un fichero ordinario o especial (a menudo).
Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.
Parámetros
-
path -
Ruta del nuevo nodo (fichero).
-
mode -
Especifica tanto los permisos a usar como el tipo de nodo a ser creado. Debería ser una combinación (usando el operador OR) de uno de los tipos de fichero listados abajo y los permisos para el nuevo nodo (p.ej. 0640). Los tipos de ficheros posibles son:
EIO_S_IFREG(fichero regular),EIO_S_IFCHR(fichero de carácter),EIO_S_IFBLK(fichero especial de bloqueo),EIO_S_IFIFO(FIFO - tubería nominada) yEIO_S_IFSOCK(socket de dominio UNIX). Para especificar permisos se podrían usar constantes EIO_S_I*. -
dev -
Si el tipo de fichero es
EIO_S_IFCHRoEIO_S_IFBLK, dev especifica el número mayor y menor del recién creado fichero especial de dispositivo. De otro mododeves ignorado. Véase la página del manual mknod(2) para más detalles. -
pri -
La prioridad de petición:
EIO_PRI_DEFAULT,EIO_PRI_MIN,EIO_PRI_MAX, oNULL. Si se pasaNULL,pries establecido internamente aEIO_PRI_DEFAULT. -
callback -
La función
callbackes llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:void callback(mixed $data, int $result[, resource $req]);-
data -
son datos personalizados pasados a la petición.
-
result -
es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.
-
req -
es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()
-
-
data -
Variable arbitraria pasada a
callback.
Valores devueltos
eio_mknod() devuelve un recurso de petición en caso de éxito o FALSE en caso de error.
Ejemplos
Ejemplo #1 Ejemplo de eio_mknod()
<?php
// Nombre FIFO
$nombre_fichero_temp = "/tmp/eio-temp-fifo";
/* Se llama cuando eio_mknod() finaliza */
function mi_llamada_retorno_mknod($datos, $resultado) {
$s = stat($datos);
var_dump($s);
if ($resultado == 0) {
echo "eio_mknod_ok";
}
@unlink($datos);
}
eio_mknod($nombre_fichero_temp, EIO_S_IFIFO, 0,
EIO_PRI_DEFAULT, "mi_llamada_retorno_mknod", $nombre_fichero_temp);
eio_event_loop();
?>
El resultado del ejemplo sería algo similar a:
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
Ver también
- eio_open