]> sourceware.org Git - newlib-cygwin.git/commitdiff
Get rid of some special cases for Cygwin in sys/types.h
authorCorinna Vinschen <corinna@vinschen.de>
Wed, 13 Apr 2016 19:00:17 +0000 (21:00 +0200)
committerCorinna Vinschen <corinna@vinschen.de>
Wed, 13 Apr 2016 19:00:17 +0000 (21:00 +0200)
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>
newlib/libc/include/sys/_types.h
newlib/libc/include/sys/types.h
winsup/cygwin/include/cygwin/types.h
winsup/cygwin/include/machine/_types.h [new file with mode: 0644]
winsup/cygwin/include/sys/cygwin.h

index b38a1617b0e67c4c1fff028172c161a5c33f004c..c12eca33857499e029de3f5c7953aa9cc9c83549 100644 (file)
@@ -45,6 +45,10 @@ typedef _off_t __off_t;
 
 typedef _off64_t __loff_t;
 
+#ifndef __key_t_defined
+typedef long __key_t;
+#endif
+
 /*
  * We need fpos_t for the following, but it doesn't have a leading "_",
  * so we use _fpos_t instead.
index 496c2ae0ce89b5d7b4104228448d6ebd1484f252..316ee9ac45fc9b6bbf3886195dfb9d0b83d5d8ef 100644 (file)
@@ -167,7 +167,6 @@ typedef int32_t register_t;
  * how the file was compiled (e.g. -mint16 vs -mint32, etc.).
  */
 
-#ifndef __CYGWIN__     /* which defines these types in it's own types.h. */
 #ifndef _OFF_T_DECLARED
 typedef        __off_t         off_t;          /* file offset */
 #define        _OFF_T_DECLARED
@@ -184,7 +183,6 @@ typedef     __uid_t         uid_t;          /* user id */
 typedef        __gid_t         gid_t;          /* group id */
 #define        _GID_T_DECLARED
 #endif
-#endif /* !__CYGWIN__ */
 
 #ifndef _PID_T_DECLARED
 typedef        __pid_t         pid_t;          /* process id */
@@ -195,8 +193,9 @@ typedef     __pid_t         pid_t;          /* process id */
 typedef _mode_t mode_t;
 #endif
 
-#ifndef __CYGWIN__
-typedef        long key_t;
+#ifndef _KEY_T_DECLARED
+typedef        __key_t         key_t;          /* IPC key */
+#define        _KEY_T_DECLARED
 #endif
 
 #ifndef _SSIZE_T_DECLARED
index bdf40850a5128cde6ca341a1bde71168bbcffc60..f9ed4b66d5334fd85be95015ad0c19d75dfee083 100644 (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
 
diff --git a/winsup/cygwin/include/machine/_types.h b/winsup/cygwin/include/machine/_types.h
new file mode 100644 (file)
index 0000000..aafa998
--- /dev/null
@@ -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 */
index 8c7128c979ec39aaca75ed82e4a03e9ab91b2502..e6636904a127bfc589d76f854f5e115b5cbb2133 100644 (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
This page took 0.041424 seconds and 5 git commands to generate.