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 <[email protected]>

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.