eio_mknod

(PECL eio >= 0.0.1dev)

eio_mknodCrear un fichero especial u ordinario

Descripción

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

eio_mknod() crea un fichero ordinario o especial (a menudo).

Advertencia

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) y EIO_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_IFCHR o EIO_S_IFBLK, dev especifica el número mayor y menor del recién creado fichero especial de dispositivo. De otro modo dev es 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, o null. Si se pasa null, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

La función callback es 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";


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

To Top