1 /* fsusage.h -- declarations for file system space usage info 2 3 Copyright (C) 1991-1992, 1997, 2003-2006, 2009-2021 Free Software 4 Foundation, Inc. 5 6 This file is free software: you can redistribute it and/or modify 7 it under the terms of the GNU Lesser General Public License as 8 published by the Free Software Foundation; either version 3 of the 9 License, or (at your option) any later version. 10 11 This file 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 Lesser General Public License for more details. 15 16 You should have received a copy of the GNU Lesser General Public License 17 along with this program. If not, see <https://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 27 struct 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 38 int get_fs_usage (char const *file, char const *disk, struct fs_usage *fsp); 39 40 #endif