Php/docs/function.eio-mknod
eio_mknod
(PECL eio >= 0.0.1dev)
eio_mknod — Create a special or ordinary file
Description
eio_mknod
( string $path
, int $mode
, int $dev
[, int $pri
= EIO_PRI_DEFAULT
[, callable $callback
= NULL
[, mixed $data
= NULL
]]] ) : resource
eio_mknod() creates ordinary or special(often) file.
Warning This function is currently not documented; only its argument list is available.
Parameters
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) andEIO_S_IFSOCK
(UNIX domain socket). To specify permissions EIO_S_I* constants could be used.dev
If the file type is
EIO_S_IFCHR
orEIO_S_IFBLK
then dev specifies the major and minor numbers of the newly created device special file. Otherwisedev
ignored. See mknod(2) man page for details.pri
The request priority:
EIO_PRI_DEFAULT
,EIO_PRI_MIN
,EIO_PRI_MAX
, orNULL
. IfNULL
passed,pri
internally is set toEIO_PRI_DEFAULT
.callback
callback
function is called when the request is done. It should match the following prototype:void callback(mixed $data, int $result[, resource $req]);
data
is custom data passed to the request.
result
request-specific result value; basically, the value returned by corresponding system call.
req
is optional request resource which can be used with functions like eio_get_last_error()
data
Arbitrary variable passed to
callback
.
Return Values
eio_mknod() returns request resource on success or FALSE
on error.
Examples
Example #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();?>
The above example will output something similar to:
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