From f3e587d30a9f65d0c6551ad14095300f6e81672e Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 15 Apr 2016 13:44:22 +0200 Subject: [PATCH] Provide POSIX defined fsblkcnt_t and fsfilcnt_t Signed-off-by: Sebastian Huber --- 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 0d48f04ad..88a18b310 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 24d90cd34..6d9865cfc 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 9e13d0423..faf08bd6e 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 f09f1ef17..8a2c67935 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;