statvfs.h (2197B) - Raw
1 /* 2 * Copyright (c) 2000 Apple Computer, Inc. All rights reserved. 3 * 4 * @APPLE_LICENSE_HEADER_START@ 5 * 6 * This file contains Original Code and/or Modifications of Original Code 7 * as defined in and that are subject to the Apple Public Source License 8 * Version 2.0 (the 'License'). You may not use this file except in 9 * compliance with the License. Please obtain a copy of the License at 10 * http://www.opensource.apple.com/apsl/ and read it before using this 11 * file. 12 * 13 * The Original Code and all software distributed under the License are 14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 18 * Please see the License for the specific language governing rights and 19 * limitations under the License. 20 * 21 * @APPLE_LICENSE_HEADER_END@ 22 */ 23 24 /* 25 * sys/statvfs.h 26 */ 27 #ifndef _SYS_STATVFS_H_ 28 #define _SYS_STATVFS_H_ 29 30 #include <_bounds.h> 31 #include <sys/_types.h> 32 #include <sys/cdefs.h> 33 34 #include <sys/_types/_fsblkcnt_t.h> 35 #include <sys/_types/_fsfilcnt_t.h> 36 37 _LIBC_SINGLE_BY_DEFAULT() 38 39 /* Following structure is used as a statvfs/fstatvfs function parameter */ 40 struct statvfs { 41 unsigned long f_bsize; /* File system block size */ 42 unsigned long f_frsize; /* Fundamental file system block size */ 43 fsblkcnt_t f_blocks; /* Blocks on FS in units of f_frsize */ 44 fsblkcnt_t f_bfree; /* Free blocks */ 45 fsblkcnt_t f_bavail; /* Blocks available to non-root */ 46 fsfilcnt_t f_files; /* Total inodes */ 47 fsfilcnt_t f_ffree; /* Free inodes */ 48 fsfilcnt_t f_favail; /* Free inodes for non-root */ 49 unsigned long f_fsid; /* Filesystem ID */ 50 unsigned long f_flag; /* Bit mask of values */ 51 unsigned long f_namemax; /* Max file name length */ 52 }; 53 54 /* Defined bits for f_flag field value */ 55 #define ST_RDONLY 0x00000001 /* Read-only file system */ 56 #define ST_NOSUID 0x00000002 /* Does not honor setuid/setgid */ 57 58 __BEGIN_DECLS 59 int fstatvfs(int, struct statvfs *); 60 int statvfs(const char * __restrict, struct statvfs * __restrict); 61 __END_DECLS 62 63 #endif /* _SYS_STATVFS_H_ */