diff --git a/newlib/libc/include/sys/_types.h b/newlib/libc/include/sys/_types.h index ce1aa7019..869c6a2fb 100644 --- a/newlib/libc/include/sys/_types.h +++ b/newlib/libc/include/sys/_types.h @@ -47,6 +47,15 @@ typedef unsigned short __gid_t; typedef __uint32_t __id_t; #endif +#ifndef __machine_ino_t_defined +#if (defined(__i386__) && (defined(GO32) || defined(__MSDOS__))) || \ + defined(__sparc__) || defined(__SPU__) +typedef unsigned long __ino_t; +#else +typedef unsigned short __ino_t; +#endif +#endif + #ifndef __machine_off64_t_defined __extension__ typedef long long _off64_t; #endif diff --git a/newlib/libc/include/sys/types.h b/newlib/libc/include/sys/types.h index d093578c7..2bf9eb54b 100644 --- a/newlib/libc/include/sys/types.h +++ b/newlib/libc/include/sys/types.h @@ -139,14 +139,10 @@ typedef __id_t id_t; /* can hold a uid_t or pid_t */ #define _ID_T_DECLARED #endif -#ifndef __CYGWIN__ -#if defined(__MS_types__) || defined(__rtems__) || \ - defined(__sparc__) || defined(__SPU__) -typedef unsigned long ino_t; -#else -typedef unsigned short ino_t; +#ifndef _INO_T_DECLARED +typedef __ino_t ino_t; /* inode number */ +#define _INO_T_DECLARED #endif -#endif /*__CYGWIN__*/ #ifdef __MS_types__ typedef unsigned long vm_offset_t; diff --git a/newlib/libc/sys/rtems/include/machine/_types.h b/newlib/libc/sys/rtems/include/machine/_types.h index f17d28139..76a684156 100644 --- a/newlib/libc/sys/rtems/include/machine/_types.h +++ b/newlib/libc/sys/rtems/include/machine/_types.h @@ -19,6 +19,9 @@ typedef __int32_t _off_t; typedef _off_t _fpos_t; #define __machine_fpos_t_defined +typedef unsigned long __ino_t; +#define __machine_ino_t_defined + typedef __uint32_t _mode_t; #define __machine_mode_t_defined diff --git a/winsup/cygwin/include/cygwin/types.h b/winsup/cygwin/include/cygwin/types.h index bfffc5dbe..c785fb2eb 100644 --- a/winsup/cygwin/include/cygwin/types.h +++ b/winsup/cygwin/include/cygwin/types.h @@ -57,14 +57,6 @@ typedef unsigned long fsblkcnt_t; typedef unsigned long fsfilcnt_t; #endif /* __fsfilcnt_t_defined */ -#ifndef __ino_t_defined -#define __ino_t_defined -#ifndef __x86_64__ -typedef __uint32_t __ino32_t; -#endif -typedef __uint64_t ino_t; -#endif /*__ino_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 50e704be2..fa69526ae 100644 --- a/winsup/cygwin/include/machine/_types.h +++ b/winsup/cygwin/include/machine/_types.h @@ -9,6 +9,7 @@ typedef __int16_t __dev16_t; typedef __uint16_t __uid16_t; typedef __uint16_t __gid16_t; +typedef __uint32_t __ino32_t; #endif #define __machine_dev_t_defined @@ -20,6 +21,9 @@ typedef __uint32_t __uid_t; #define __machine_gid_t_defined typedef __uint32_t __gid_t; +#define __machine_ino_t_defined +typedef __uint64_t __ino_t; + #define __machine_key_t_defined typedef long long __key_t;