NAME

    FreeBSD::FsStat - Get mounted filesystems in FreeBSD

VERSION

    version 0.103

SYNOPSIS

     my $mounts = FreeBSD::FsStat::getfsstat;

DESCRIPTION

    Query a FreeBSD system for the list of mounted filesystems.

METHODS

    get_filesystems

      Returns a list of FreeBSD::FileSystem objects, corresponding to the
      filesystems of the host.

    getfsstat

      Returns an arrayref of hashrefs. Each hashref represents a filesystem
      and its keys are the attributes of that filesystem. For the list of
      keys, have a look at the statfs(2) man page. For convenience, here is
      the relevant struct as of this writing:

       struct statfs {
       uint32_t f_version;             /* structure version number */
       uint32_t f_type;                /* type of filesystem */
       uint64_t f_flags;               /* copy of mount exported flags */
       uint64_t f_bsize;               /* filesystem fragment size */
       uint64_t f_iosize;              /* optimal transfer block size */
       uint64_t f_blocks;              /* total data blocks in filesystem */
       uint64_t f_bfree;               /* free blocks in filesystem */
       int64_t  f_bavail;              /* free blocks avail to non-superuser */
       uint64_t f_files;               /* total file nodes in filesystem */
       int64_t  f_ffree;               /* free nodes avail to non-superuser */
       uint64_t f_syncwrites;          /* count of sync writes since mount */
       uint64_t f_asyncwrites;         /* count of async writes since mount */
       uint64_t f_syncreads;           /* count of sync reads since mount */
       uint64_t f_asyncreads;          /* count of async reads since mount */
       uint64_t f_spare[10];           /* unused spare */
       uint32_t f_namemax;             /* maximum filename length */
       uid_t     f_owner;              /* user that mounted the filesystem */
       fsid_t    f_fsid;               /* filesystem id */
       char      f_charspare[80];          /* spare string space */
       char      f_fstypename[MFSNAMELEN]; /* filesystem type name */
       char      f_mntfromname[MNAMELEN];  /* mounted filesystem */
       char      f_mntonname[MNAMELEN];    /* directory on which mounted */
       };

      Note, the f_fsid doesn't seem to work at present.

AUTHOR

    Athanasios Douitsis <aduitsis@cpan.org>

SUPPORT

    Please open a ticket at
    https://github.com/aduitsis/perl-FreeBSD-FsStat.

COPYRIGHT & LICENSE

    Copyright 2016 Athanasios Douitsis, all rights reserved. This program
    is free software; you can redistribute it and/or modify it under the
    same terms as Perl itself.

