summaryrefslogtreecommitdiffstats
path: root/cpukit/include/sys/statvfs.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/include/sys/statvfs.h')
-rw-r--r--cpukit/include/sys/statvfs.h60
1 files changed, 60 insertions, 0 deletions
diff --git a/cpukit/include/sys/statvfs.h b/cpukit/include/sys/statvfs.h
new file mode 100644
index 0000000000..cf80478aae
--- /dev/null
+++ b/cpukit/include/sys/statvfs.h
@@ -0,0 +1,60 @@
+/**
+ * @file
+ *
+ * @brief Interface to the statvfs() Set of API Methods
+ *
+ * This include file defines the interface to the statvfs() set of
+ * API methods. The statvfs as defined by the SUS:
+ *
+ * - http://www.opengroup.org/onlinepubs/009695399/basedefs/sys/statvfs.h.html
+ */
+
+/*
+ * 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.org/license/LICENSE.
+ */
+
+/*
+ */
+
+#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 *__restrict , struct statvfs *__restrict);
+extern int fstatvfs(int, struct statvfs *);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif