(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.
Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Parameter zur Verfügung.
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
Die callback
-Funktion wird aufgerufen, wenn die Anfrage abgeschlossen ist.
Sie muss dem folgenden Prototyp entsprechen:
void callback(mixed $data, int $result[, resource $req]);
data
sind die benutzerdefinierten Daten, die an die Anfrage übergeben werden.
result
der anfragespezifische Ergebniswert; im Grunde der Wert, der vom entsprechenden Systemaufruf zurückgegeben wird.
req
ist eine optionale Anfrage-Ressource, die in Funktionen wie eio_get_last_error() verwendet werden kann
data
Arbitrary variable passed to callback
.
eio_mknod() returns request resource on success,Bei einem Fehler wird false
zurückgegeben..
Beispiel #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();
?>
Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:
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