(PECL eio >= 0.0.1dev)
eio_mknod — Create a special or ordinary file
$path
,$mode
,$dev
,$pri
= EIO_PRI_DEFAULT,$callback
= NULL,$data
= NULLeio_mknod() creates ordinary or special(often) file.
Наразі ця функція не документована. Доступний лише список її параметрів.
path
Path for the new node(file).
mode
Specifies both the permissions to use and the type of node to be
created. It should be a combination (using bitwise OR) of one of the
file types listed below and the permissions for the new node(e.g. 0640).
Possible file types are: EIO_S_IFREG
(regular file),
EIO_S_IFCHR
(character file),
EIO_S_IFBLK
(block special file),
EIO_S_IFIFO
(FIFO - named pipe) and
EIO_S_IFSOCK
(UNIX domain socket).
To specify permissions EIO_S_I* constants could be
used.
dev
If the file type is EIO_S_IFCHR
or
EIO_S_IFBLK
then dev specifies the major and minor
numbers of the newly created device special file. Otherwise
dev
ignored. See mknod(2) man page for
details.
pri
Пріоритет запиту: EIO_PRI_DEFAULT
, EIO_PRI_MIN
, EIO_PRI_MAX
або null
.
Якщо параметру pri
задано значення null
, то пріоритетом буде
EIO_PRI_DEFAULT
.
callback
Функція callback
викликається після виконання запиту. Вона має відповідати наступному шаблону:
void callback(mixed $data, int $result[, resource $req]);
data
Користувацькі дані, що будуть в запиті.
result
Значення результату, що стосується запиту; повертається системним викликом.
req
Необов'язковий ресурс запиту, який використовують з такими функціями, як eio_get_last_error().
data
Arbitrary variable passed to callback
.
eio_mknod() returns request resource on success, або false
в разі помилки.
Приклад #1 eio_mknod() example
<?php
// FIFO name
$temp_filename = "/tmp/eio-temp-fifo";
/* Is called when eio_mknod() finishes */
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();
?>
Поданий вище приклад виведе щось схоже на:
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