Php/docs/function.eio-mknod
eio_mknod
(PECL eio >= 0.0.1dev)
eio_mknod — Create a special or ordinary file
说明
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 本函数还未编写文档,仅有参数列表。
参数
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
请求的优先级:
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
Arbitrary variable passed to
callback
.
返回值
eio_mknod() returns request resource on success or false
on error.
范例
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();?>
以上例程的输出类似于:
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