
1: /* Definition of `struct statfs', information about a filesystem. 2: Copyright (C) 1996, 1997 Free Software Foundation, Inc. 3: This file is part of the GNU C Library. 4: 5: The GNU C Library is free software; you can redistribute it and/or 6: modify it under the terms of the GNU Lesser General Public 7: License as published by the Free Software Foundation; either 8: version 2.1 of the License, or (at your option) any later version. 9: 10: The GNU C Library is distributed in the hope that it will be useful, 11: but WITHOUT ANY WARRANTY; without even the implied warranty of 12: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13: Lesser General Public License for more details. 14: 15: You should have received a copy of the GNU Lesser General Public 16: License along with the GNU C Library; if not, write to the Free 17: Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 18: 02111-1307 USA. */ 19: 20: #ifndef _SYS_STATFS_H 21: # error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead." 22: #endif 23: 24: #include <bits/types.h> 25: 26: /* GNU Hurd NOTE: The size of this structure (16 ints) is known in 27: <hurd/hurd_types.defs>, since it is used in the `file_statfs' RPC. MiG 28: does not cope at all well with the passed C structure not being of the 29: expected size. There are some filler words at the end to allow for 30: future expansion. To increase the size of the structure used in the RPC 31: and retain binary compatibility, we would need to assign a new message 32: number. */ 33: 34: struct statfs 35: { 36: unsigned int f_type; 37: unsigned int f_bsize; 38: #ifndef __USE_FILE_OFFSET64 39: __fsblkcnt_t f_blocks; 40: __fsblkcnt_t f_bfree; 41: __fsblkcnt_t f_bavail; 42: __fsblkcnt_t f_files; 43: __fsblkcnt_t f_ffree; 44: #else 45: __fsblkcnt64_t f_blocks; 46: __fsblkcnt64_t f_bfree; 47: __fsblkcnt64_t f_bavail; 48: __fsblkcnt64_t f_files; 49: __fsblkcnt64_t f_ffree; 50: #endif 51: __fsid_t f_fsid; 52: unsigned int f_namelen; 53: unsigned int f_spare[6]; 54: }; 55: 56: #ifdef __USE_LARGEFILE64 57: struct statfs64 58: { 59: unsigned int f_type; 60: unsigned int f_bsize; 61: __fsblkcnt64_t f_blocks; 62: __fsblkcnt64_t f_bfree; 63: __fsblkcnt64_t f_bavail; 64: __fsblkcnt64_t f_files; 65: __fsblkcnt64_t f_ffree; 66: __fsid_t f_fsid; 67: unsigned int f_namelen; 68: unsigned int f_spare[6]; 69: }; 70: #endif