1 /* Definitions for getting information about a filesystem. 2 Copyright (C) 1996-2022 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, see 17 <https://www.gnu.org/licenses/>. */ 18 19 #ifndef _SYS_STATFS_H 20 #define _SYS_STATFS_H 1 21 22 #include <features.h> 23 24 /* Get the system-specific definition of `struct statfs'. */ 25 #include <bits/statfs.h> 26 27 __BEGIN_DECLS 28 29 /* Return information about the filesystem on which FILE resides. */ 30 #ifndef __USE_FILE_OFFSET64 31 extern int statfs (const char *__file, struct statfs *__buf) 32 __THROW __nonnull ((1, 2)); 33 #else 34 # ifdef __REDIRECT_NTH 35 extern int __REDIRECT_NTH (statfs, 36 (const char *__file, struct statfs *__buf), 37 statfs64) __nonnull ((1, 2)); 38 # else 39 # define statfs statfs64 40 # endif 41 #endif 42 #ifdef __USE_LARGEFILE64 43 extern int statfs64 (const char *__file, struct statfs64 *__buf) 44 __THROW __nonnull ((1, 2)); 45 #endif 46 47 /* Return information about the filesystem containing the file FILDES 48 refers to. */ 49 #ifndef __USE_FILE_OFFSET64 50 extern int fstatfs (int __fildes, struct statfs *__buf) 51 __THROW __nonnull ((2)); 52 #else 53 # ifdef __REDIRECT_NTH 54 extern int __REDIRECT_NTH (fstatfs, (int __fildes, struct statfs *__buf), 55 fstatfs64) __nonnull ((2)); 56 # else 57 # define fstatfs fstatfs64 58 # endif 59 #endif 60 #ifdef __USE_LARGEFILE64 61 extern int fstatfs64 (int __fildes, struct statfs64 *__buf) 62 __THROW __nonnull ((2)); 63 #endif 64 65 __END_DECLS 66 67 #endif /* sys/statfs.h */ 68