(PECL eio >= 0.0.1dev)
eio_sync_file_range — Sync a file segment with disk
$fd
, int $offset
, int $nbytes
, int $flags
[, int $pri
= EIO_PRI_DEFAULT
[, callable $callback
= NULL
[, mixed $data
= NULL
]]] )
eio_sync_file_range() permits fine control when synchronizing the open file referred to by the file
descriptor fd
with disk.
fd
File descriptor
offset
The starting byte of the file range to be synchronized
nbytes
Specifies the length of the range to be synchronized, in bytes. If
nbytes
is zero, then all bytes from offset
through
to the end of file are synchronized.
flags
A bit-mask. Can include any of the following values:
EIO_SYNC_FILE_RANGE_WAIT_BEFORE
,
EIO_SYNC_FILE_RANGE_WRITE
,
EIO_SYNC_FILE_RANGE_WAIT_AFTER
. These flags have
the same meaning as their SYNC_FILE_RANGE_*
counterparts(see SYNC_FILE_RANGE(2) man page).
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($data, $result);
$data
is custom
data passed to the request.
$result
contains
request-specific result value; basically, the value returned by corresponding
system call.
data
Arbitrary variable passed to callback
.
eio_sync_file_range() returns request resource on success or FALSE
on error.