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 <sys/_types.h> 31#include <sys/cdefs.h> 32 33#include <sys/_types/_fsblkcnt_t.h> 34#include <sys/_types/_fsfilcnt_t.h> 35 36/* Following structure is used as a statvfs/fstatvfs function parameter */ 37struct statvfs { 38 unsigned long f_bsize; /* File system block size */ 39 unsigned long f_frsize; /* Fundamental file system block size */ 40 fsblkcnt_t f_blocks; /* Blocks on FS in units of f_frsize */ 41 fsblkcnt_t f_bfree; /* Free blocks */ 42 fsblkcnt_t f_bavail; /* Blocks available to non-root */ 43 fsfilcnt_t f_files; /* Total inodes */ 44 fsfilcnt_t f_ffree; /* Free inodes */ 45 fsfilcnt_t f_favail; /* Free inodes for non-root */ 46 unsigned long f_fsid; /* Filesystem ID */ 47 unsigned long f_flag; /* Bit mask of values */ 48 unsigned long f_namemax; /* Max file name length */ 49}; 50 51/* Defined bits for f_flag field value */ 52#define ST_RDONLY 0x00000001 /* Read-only file system */ 53#define ST_NOSUID 0x00000002 /* Does not honor setuid/setgid */ 54 55__BEGIN_DECLS 56int fstatvfs(int, struct statvfs *); 57int statvfs(const char * __restrict, struct statvfs * __restrict); 58__END_DECLS 59 60#endif /* _SYS_STATVFS_H_ */ 61