Outdated egg!

This is an egg for CHICKEN 3, the unsupported old release. You're almost certainly looking for the CHICKEN 4 version of this egg, if it exists.

If it does not exist, there may be equivalent functionality provided by another egg; have a look at the egg index. Otherwise, please consider porting this egg to the current version of CHICKEN.

filesystem

  1. Outdated egg!
  2. filesystem
    1. Description
    2. Requirements
    3. Author
    4. Download
    5. Documentation
    6. Example
    7. Changelog
    8. License

Description

filesystem uses

Requirements

Requires the statvfs egg.

Author

Ozzi Lee

Download

filesystem.egg

Documentation

[procedure] (filesystem:block-size PATH)

Returns the size of a block on the filesystem at PATH.

[procedure] (filesystem:blocks-total PATH)

Returns the total number of blocks on the filesystem at PATH.

[procedure] (filesystem:blocks-free PATH)

Returns the number of free blocks on the filesystem at PATH.

[procedure] (filesystem:blocks-available PATH)

Returns the number of blocks available to non-root users on the filesystem at PATH.

[procedure] (filesystem:blocks->bytes BLOCKSIZE BLOCKS UNITS)

Converts blocks to bytes, given the size of a block, the number of blocks, and a number representing the unit size, i.e. 1000 for kilobytes, 1024 for kibibytes.

[procedure] (filesystem:blocks->kilobytes BLOCKSIZE BLOCKS EXPONENT)

Converts blocks to (kilo/mega/giga)bytes given the size of a block, the number of blocks, and an exponent representing the exponent on the unit size, i.e 1 for kilobytes, 2 for megabytes, 3 for gigabtyes, etc.

[procedure] (filesystem:blocks->kibibytes BLOCKSIZE BLOCKS EXPONENT)

Converts blocks to (kibi/mebi/gibi)bytes, given the size of a block, the number of blocks, and an exponent representing the exponent on the unit size, i.e. 1 for kibibytes, 2 for mebibytes, 3 for gibigytes, etc.

Example

The following would return the (rounded) number for gigabytes available on "/".

 (filesystem:blocks->kilobytes (filesystem:block-size "/") (filesystem:blocks-available "/") 3)

Changelog

License

 ;; Copyright (c) 2008 Ozzi Lee
 
 ;; Permission is hereby granted, free of charge, to any person
 ;; obtaining a copy of this software and associated documentation
 ;; files (the "Software"), to deal in the Software without
 ;; restriction, including without limitation the rights to use,
 ;; copy, modify, merge, publish, distribute, sublicense, and/or sell
 ;; copies of the Software, and to permit persons to whom the
 ;; Software is furnished to do so, subject to the following
 ;; conditions:
 
 ;; The above copyright notice and this permission notice shall be
 ;; included in all copies or substantial portions of the Software.
 
 ;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 ;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 ;; OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 ;; NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 ;; HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 ;; WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 ;; FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 ;; OTHER DEALINGS IN THE SOFTWARE.