Создает специальный или обычный файл


(PECL eio >= 0.0.1dev)

eio_mknod Создает специальный или обычный файл

Описание

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

eio_mknod() создает обычный или специальный (что чаще) файл.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

path

Путь к новому файлу.

mode

Задает разрешения для файла и его тип. Значением аргумента является комбинация (используя побитовое ИЛИ) одной или нескольких констант, отвечающих за тип файла, и числа, отвечающего за разрешения для файла (например, 0640). Константы типов файлов: EIO_S_IFREG(обычный файл), EIO_S_IFCHR(символьный файл), EIO_S_IFBLK(специальный блочный файл), EIO_S_IFIFO(FIFO - именованный пайп) and EIO_S_IFSOCK(UNIX сокет домена). Для задания разрешений необходимо использовать константы EIO_S_I*.

dev

При создании файла типа EIO_S_IFCHR или EIO_S_IFBLK, параметр dev задает верхнюю и нижнюю границы нумерации специальных файлов устройств. При создании файла других типов dev игнорируется. За дополнительными пояснениями обращайтесь к странице документации mknod(2).

pri

Приоритет запросов: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, или NULL. Если передан NULL, то pri устанавливается в EIO_PRI_DEFAULT.

callback

Функция callback вызывается при завершении запроса. Она должна удовлетворять следующему прототипу:

void callback(mixed $data, int $result[, resource $req]);
data

является пользовательскими данными, переданными в запросе.

result

содержит результирующее значение, зависящее от запроса; обычно это значение, возвращаемое соответствующим системным вызовом.

req

является опциональным запрашиваемым ресурсом, который может использоваться с такими функциями как eio_get_last_error()

data

Данные, которые необходимо передать в callback-функцию callback.

Возвращаемые значения

eio_mknod() возвращает ресурс запроса в случае успеха операции, либо FALSE в случае ошибки.

Примеры

Пример #1 Пример использования eio_mknod()

<?php
// имя FIFO
$temp_filename "/tmp/eio-temp-fifo";

/* будет вызываться по завершении работы функции eio_mknod() */
function my_mknod_callback($data$result) {
    
$s stat($data);
    
var_dump($s);

    if (
$result == 0) {
        echo 
"eio_mknod_ok";
    }

    @
unlink($data);
}

eio_mknod($temp_filenameEIO_S_IFIFO0,
    
EIO_PRI_DEFAULT"my_mknod_callback"$temp_filename);
eio_event_loop();
?>

Результатом выполнения данного примера будет что-то подобное:

 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 

Смотрите также

  • eio_open