eio_mknod
(PECL eio >= 0.0.1dev)
eio_mknod — Create a special or ordinary file.
Description
resource eio_mknod ( string $path , int $mode , int $dev [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )
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) 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
The request priority: EIO_PRI_DEFAULT
, EIO_PRI_MIN
, EIO_PRI_MAX
, or NULL
. If NULL
passed, pri
internally is set to EIO_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
See Also
- eio_open
← eio_mkdir
eio_nop →
© 1997–2017 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com