This is the mail archive of the
cygwin-cvs@cygwin.com
mailing list for the Cygwin project.
[newlib-cygwin] Provide POSIX defined id_t in <sys/types.h>
- From: Corinna Vinschen <corinna at sourceware dot org>
- To: cygwin-cvs at sourceware dot org, newlib-cvs at sourceware dot org
- Date: 15 Apr 2016 12:54:08 -0000
- Subject: [newlib-cygwin] Provide POSIX defined id_t in <sys/types.h>
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=eeded3c170799012406f84766b8905054f5a6902
commit eeded3c170799012406f84766b8905054f5a6902
Author: Sebastian Huber <sebastian.huber@embedded-brains.de>
Date: Fri Apr 15 13:44:13 2016 +0200
Provide POSIX defined id_t in <sys/types.h>
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
Diff:
---
newlib/libc/include/sys/_types.h | 4 ++++
newlib/libc/include/sys/types.h | 5 +++++
winsup/cygwin/include/cygwin/types.h | 6 ------
3 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/newlib/libc/include/sys/_types.h b/newlib/libc/include/sys/_types.h
index 762dfed..ce1aa70 100644
--- a/newlib/libc/include/sys/_types.h
+++ b/newlib/libc/include/sys/_types.h
@@ -43,6 +43,10 @@ typedef unsigned short __uid_t;
typedef unsigned short __gid_t;
#endif
+#ifndef __machine_id_t_defined
+typedef __uint32_t __id_t;
+#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 316ee9a..d093578 100644
--- a/newlib/libc/include/sys/types.h
+++ b/newlib/libc/include/sys/types.h
@@ -134,6 +134,11 @@ typedef char * caddr_t;
#define __caddr_t_defined
#endif
+#ifndef _ID_T_DECLARED
+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__)
diff --git a/winsup/cygwin/include/cygwin/types.h b/winsup/cygwin/include/cygwin/types.h
index f9ed4b6..bfffc5d 100644
--- a/winsup/cygwin/include/cygwin/types.h
+++ b/winsup/cygwin/include/cygwin/types.h
@@ -65,12 +65,6 @@ typedef __uint32_t __ino32_t;
typedef __uint64_t ino_t;
#endif /*__ino_t_defined*/
-/* Generic ID type, must match at least pid_t, uid_t and gid_t in size. */
-#ifndef __id_t_defined
-#define __id_t_defined
-typedef __uint32_t id_t;
-#endif /* __id_t_defined */
-
#if defined (__INSIDE_CYGWIN__) && !defined (__x86_64__)
struct __flock32 {
short l_type; /* F_RDLCK, F_WRLCK, or F_UNLCK */