[PATCH v2 11/18] Provide POSIX defined fsblkcnt_t and fsfilcnt_t
Sebastian Huber
sebastian.huber at embedded-brains.de
Fri Apr 15 11:44:22 UTC 2016
Signed-off-by: Sebastian Huber <sebastian.huber at embedded-brains.de>
---
newlib/libc/include/sys/_types.h | 8 ++++++++
newlib/libc/include/sys/types.h | 6 ++++++
winsup/cygwin/include/cygwin/types.h | 12 ------------
winsup/cygwin/include/machine/_types.h | 8 ++++++++
4 files changed, 22 insertions(+), 12 deletions(-)
diff --git a/newlib/libc/include/sys/_types.h b/newlib/libc/include/sys/_types.h
index 0d48f04..88a18b3 100644
--- a/newlib/libc/include/sys/_types.h
+++ b/newlib/libc/include/sys/_types.h
@@ -30,6 +30,14 @@ typedef long __blkcnt_t;
typedef long __blksize_t;
#endif
+#ifndef __machine_fsblkcnt_t_defined
+typedef __uint64_t __fsblkcnt_t;
+#endif
+
+#ifndef __machine_fsfilcnt_t_defined
+typedef __uint32_t __fsfilcnt_t;
+#endif
+
#ifndef __machine_off_t_defined
typedef long _off_t;
#endif
diff --git a/newlib/libc/include/sys/types.h b/newlib/libc/include/sys/types.h
index 24d90cd..6d9865c 100644
--- a/newlib/libc/include/sys/types.h
+++ b/newlib/libc/include/sys/types.h
@@ -127,6 +127,12 @@ typedef char * caddr_t;
#define __caddr_t_defined
#endif
+#ifndef _FSBLKCNT_T_DECLARED /* for statvfs() */
+typedef __fsblkcnt_t fsblkcnt_t;
+typedef __fsfilcnt_t fsfilcnt_t;
+#define _FSBLKCNT_T_DECLARED
+#endif
+
#ifndef _ID_T_DECLARED
typedef __id_t id_t; /* can hold a uid_t or pid_t */
#define _ID_T_DECLARED
diff --git a/winsup/cygwin/include/cygwin/types.h b/winsup/cygwin/include/cygwin/types.h
index 9e13d04..faf08bd 100644
--- a/winsup/cygwin/include/cygwin/types.h
+++ b/winsup/cygwin/include/cygwin/types.h
@@ -34,18 +34,6 @@ typedef struct timespec timestruc_t;
typedef __loff_t loff_t;
-#ifndef __fsblkcnt_t_defined
-#define __fsblkcnt_t_defined
-/* Keep as is. 32 bit on i386, 64 bit on x86_64. */
-typedef unsigned long fsblkcnt_t;
-#endif /* __fsblkcnt_t_defined */
-
-#ifndef __fsfilcnt_t_defined
-#define __fsfilcnt_t_defined
-/* Keep as is. 32 bit on i386, 64 bit on x86_64. */
-typedef unsigned long fsfilcnt_t;
-#endif /* __fsfilcnt_t_defined */
-
#if defined (__INSIDE_CYGWIN__) && !defined (__x86_64__)
struct __flock32 {
short l_type; /* F_RDLCK, F_WRLCK, or F_UNLCK */
diff --git a/winsup/cygwin/include/machine/_types.h b/winsup/cygwin/include/machine/_types.h
index f09f1ef..7bc6a21 100644
--- a/winsup/cygwin/include/machine/_types.h
+++ b/winsup/cygwin/include/machine/_types.h
@@ -22,6 +22,14 @@ typedef __int32_t __blksize_t;
#define __machine_dev_t_defined
typedef __uint32_t __dev_t;
+#define __machine_fsblkcnt_t_defined
+/* Keep as is. 32 bit on i386, 64 bit on x86_64. */
+typedef unsigned long fsblkcnt_t;
+
+#define __machine_fsfilcnt_t_defined
+/* Keep as is. 32 bit on i386, 64 bit on x86_64. */
+typedef unsigned long fsfilcnt_t;
+
#define __machine_uid_t_defined
typedef __uint32_t __uid_t;
--
1.8.4.5
More information about the devel
mailing list