zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

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_ */