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";

/* 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_tempEIO_S_IFIFO0,
    
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