1 /* Definitions for getting information about a filesystem. 2 Copyright (C) 1998, 1999, 2000, 2004 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_STATVFS_H 21 #define _SYS_STATVFS_H 1 22 23 #include <features.h> 24 25 /* Get the system-specific definition of `struct statfs'. */ 26 #include <bits/statvfs.h> 27 28 #ifndef __USE_FILE_OFFSET64 29 # ifndef __fsblkcnt_t_defined 30 typedef __fsblkcnt_t fsblkcnt_t; /* Type to count file system blocks. */ 31 # define __fsblkcnt_t_defined 32 # endif 33 # ifndef __fsfilcnt_t_defined 34 typedef __fsfilcnt_t fsfilcnt_t; /* Type to count file system inodes. */ 35 # define __fsfilcnt_t_defined 36 # endif 37 #else 38 # ifndef __fsblkcnt_t_defined 39 typedef __fsblkcnt64_t fsblkcnt_t; /* Type to count file system blocks. */ 40 # define __fsblkcnt_t_defined 41 # endif 42 # ifndef __fsfilcnt_t_defined 43 typedef __fsfilcnt64_t fsfilcnt_t; /* Type to count file system inodes. */ 44 # define __fsfilcnt_t_defined 45 # endif 46 #endif 47 48 __BEGIN_DECLS 49 50 /* Return information about the filesystem on which FILE resides. */ 51 #ifndef __USE_FILE_OFFSET64 52 extern int statvfs (__const char *__restrict __file, 53 struct statvfs *__restrict __buf) 54 __THROW __nonnull ((1, 2)); 55 #else 56 # ifdef __REDIRECT_NTH 57 extern int __REDIRECT_NTH (statvfs, 58 (__const char *__restrict __file, 59 struct statvfs *__restrict __buf), statvfs64) 60 __nonnull ((1, 2)); 61 # else 62 # define statvfs statvfs64 63 # endif 64 #endif 65 #ifdef __USE_LARGEFILE64 66 extern int statvfs64 (__const char *__restrict __file, 67 struct statvfs64 *__restrict __buf) 68 __THROW __nonnull ((1, 2)); 69 #endif 70 71 /* Return information about the filesystem containing the file FILDES 72 refers to. */ 73 #ifndef __USE_FILE_OFFSET64 74 extern int fstatvfs (int __fildes, struct statvfs *__buf) 75 __THROW __nonnull ((2)); 76 #else 77 # ifdef __REDIRECT_NTH 78 extern int __REDIRECT_NTH (fstatvfs, (int __fildes, struct statvfs *__buf), 79 fstatvfs64) __nonnull ((2)); 80 # else 81 # define fstatvfs fstatvfs64 82 # endif 83 #endif 84 #ifdef __USE_LARGEFILE64 85 extern int fstatvfs64 (int __fildes, struct statvfs64 *__buf) 86 __THROW __nonnull ((2)); 87 #endif 88 89 __END_DECLS 90 91 #endif /* sys/statvfs.h */ 92