文字

eio_mknod

(PECL eio >= 0.0.1dev)

eio_mknodCreate a special or ordinary file.

说明

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

本函数还未编写文档,仅有参数列表。

参数

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 。如果是 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" ;


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

参见

  • eio_open
上一篇: 下一篇: