Get rid of some special cases for Cygwin in sys/types.h

Remove off_t typedef from cygwin/types.h thus relying on sys/types.h.
Introduce winsup/cygwin/machine/_types.h and move some types shared
with newlib into it.  Get rid of their definition in cygwin/types.h.
Add same handling for __key_t/key_t as for the other types.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
Corinna Vinschen
2016-04-13 21:00:17 +02:00
parent de51829c17
commit 7b39124400
5 changed files with 34 additions and 35 deletions

View File

@@ -32,19 +32,8 @@ typedef struct timespec timespec_t;
typedef struct timespec timestruc_t;
#endif /*__timestruc_t_defined*/
#ifndef __off_t_defined
#define __off_t_defined
typedef __off_t off_t;
#endif /*__off_t_defined*/
typedef __loff_t loff_t;
#ifndef __dev_t_defined
#define __dev_t_defined
typedef __int16_t __dev16_t;
typedef __uint32_t dev_t;
#endif /*__dev_t_defined*/
#ifndef __blksize_t_defined
#define __blksize_t_defined
typedef __int32_t blksize_t;
@@ -68,18 +57,6 @@ typedef unsigned long fsblkcnt_t;
typedef unsigned long fsfilcnt_t;
#endif /* __fsfilcnt_t_defined */
#ifndef __uid_t_defined
#define __uid_t_defined
typedef unsigned short __uid16_t;
typedef __uint32_t uid_t;
#endif /*__uid_t_defined*/
#ifndef __gid_t_defined
#define __gid_t_defined
typedef unsigned short __gid16_t;
typedef __uint32_t gid_t;
#endif /*__gid_t_defined*/
#ifndef __ino_t_defined
#define __ino_t_defined
#ifndef __x86_64__
@@ -113,11 +90,6 @@ struct flock {
pid_t l_pid; /* returned with F_GETLK */
};
#ifndef __key_t_defined
#define __key_t_defined
typedef long long key_t;
#endif /* __key_t_defined */
#ifndef __BIT_TYPES_DEFINED
#define __BIT_TYPES_DEFINED__ 1

View File

@@ -0,0 +1,26 @@
/* Cygwin's machine/_types.h */
#ifndef _MACHINE__TYPES_H
#define _MACHINE__TYPES_H
#include <machine/_default_types.h>
#if defined (__INSIDE_CYGWIN__) || defined (_COMPILING_NEWLIB)
typedef __int16_t __dev16_t;
typedef __uint16_t __uid16_t;
typedef __uint16_t __gid16_t;
#endif
#define __dev_t_defined
typedef __uint32_t __dev_t;
#define __uid_t_defined
typedef __uint32_t __uid_t;
#define __gid_t_defined
typedef __uint32_t __gid_t;
#define __key_t_defined
typedef long long __key_t;
#endif /* _MACHINE__TYPES_H */

View File

@@ -397,11 +397,9 @@ extern void cygwin_premain3 (int, char **, struct per_process *);
#define EXTERNAL_PINFO_VERSION_32_LP 2
#define EXTERNAL_PINFO_VERSION EXTERNAL_PINFO_VERSION_32_LP
#ifndef __uid_t_defined
#ifndef __INSIDE_CYGWIN__
typedef __uint16_t __uid16_t;
typedef __uint16_t __gid16_t;
typedef __uint32_t uid_t;
typedef __uint32_t gid_t;
#endif
struct external_pinfo