GoLang eio_statvfs

request it (331)
GoLang replacement for PHP's eio_statvfs [edit | history]



Do you know a GoLang replacement for PHP's eio_statvfs? Write it!

PHP eio_statvfs

PHP original manual for eio_statvfs [ show | php.net ]

eio_statvfs

(PECL eio >= 0.0.1dev)

eio_statvfsGet file system statistics

Description

resource eio_statvfs ( string $path , int $pri , callable $callback [, mixed $data ] )

eio_statvfs() returns file system statistics information in result argument of callback

Parameters

path

Pathname of any file within the mounted file system

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_statvfs() returns request resource on success or FALSE on error. On success assigns result argument of callback to an array.

Examples

Example #1 eio_statvfs() example

<?php
$tmp_filename 
'/tmp/eio-file.tmp';
touch($tmp_filename);

function 
my_statvfs_callback($data$result) {
    
var_dump($data);
    
var_dump($result);

 @
unlink($data);
}

eio_statvfs($tmp_filenameEIO_PRI_DEFAULT"my_statvfs_callback"$tmp_filename);
eio_event_loop();
?>

The above example will output something similar to:

string(17) "/tmp/eio-file.tmp"
array(11) {
  ["f_bsize"]=>
  int(4096)
  ["f_frsize"]=>
  int(4096)
  ["f_blocks"]=>
  int(262144)
  ["f_bfree"]=>
  int(262111)
  ["f_bavail"]=>
  int(262111)
  ["f_files"]=>
  int(1540815)
  ["f_ffree"]=>
  int(1540743)
  ["f_favail"]=>
  int(1540743)
  ["f_fsid"]=>
  int(0)
  ["f_flag"]=>
  int(4102)
  ["f_namemax"]=>
  int(255)
}