diff options
Diffstat (limited to 'cpukit/libcsupport/include/sys/statvfs.h')
-rw-r--r-- | cpukit/libcsupport/include/sys/statvfs.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/cpukit/libcsupport/include/sys/statvfs.h b/cpukit/libcsupport/include/sys/statvfs.h new file mode 100644 index 0000000000..1029eb3c6b --- /dev/null +++ b/cpukit/libcsupport/include/sys/statvfs.h @@ -0,0 +1,52 @@ +/* + * COPYRIGHT (c) 2009 Chris Johns <chrisj@rtems.org> + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + * + * $Id$ + */ +/* + * The statvfs as defined by the SUS: + * http://www.opengroup.org/onlinepubs/009695399/basedefs/sys/statvfs.h.html + */ + +#ifndef _SYS_STATVFS_H_ +#define _SYS_STATVFS_H_ + +#include <stdint.h> + +#ifdef __cplusplus +extern "C" { +#endif + +typedef uint64_t fsblkcnt_t; +typedef uint32_t fsfilcnt_t; + +struct statvfs +{ + unsigned long f_bsize; /**< File system block size. */ + unsigned long f_frsize; /**< Fundamental file system block size. */ + fsblkcnt_t f_blocks; /**< Total number of blocks on file system in units + * of f_frsize. */ + fsblkcnt_t f_bfree; /**< Total number of free blocks. */ + fsblkcnt_t f_bavail; /**< Number of free blocks available to + * non-privileged process. */ + fsfilcnt_t f_files; /**< Total number of file serial numbers. */ + fsfilcnt_t f_ffree; /**< Total number of free file serial numbers. */ + fsfilcnt_t f_favail; /**< Number of file serial numbers available to + * non-privileged process. */ + unsigned long f_fsid; /**< File system ID. */ + unsigned long f_flag; /**< Bit mask of f_flag values. */ + unsigned long f_namemax; /**< Maximum filename length. */ +}; + +extern int statvfs(const char *, struct statvfs *); +extern int fstatvfs(int, struct statvfs *); + +#ifdef __cplusplus +} +#endif + +#endif |