1/* fsusage.h -- declarations for file system space usage info 2 3 Copyright (C) 1991-1992, 1997, 2003-2006, 2009-2010 Free Software 4 Foundation, Inc. 5 6 This program is free software: you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 3 of the License, or 9 (at your option) any later version. 10 11 This program is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 18 19/* Space usage statistics for a file system. Blocks are 512-byte. */ 20 21#if !defined FSUSAGE_H_ 22# define FSUSAGE_H_ 23 24# include <stdint.h> 25# include <stdbool.h> 26 27struct fs_usage 28{ 29 uintmax_t fsu_blocksize; /* Size of a block. */ 30 uintmax_t fsu_blocks; /* Total blocks. */ 31 uintmax_t fsu_bfree; /* Free blocks available to superuser. */ 32 uintmax_t fsu_bavail; /* Free blocks available to non-superuser. */ 33 bool fsu_bavail_top_bit_set; /* 1 if fsu_bavail represents a value < 0. */ 34 uintmax_t fsu_files; /* Total file nodes. */ 35 uintmax_t fsu_ffree; /* Free file nodes. */ 36}; 37 38int get_fs_usage (char const *file, char const *disk, struct fs_usage *fsp); 39 40#endif 41