Cygwin off_t, dev_t, uid_t and gid_t definitions
Sebastian Huber
sebastian.huber@embedded-brains.de
Wed Apr 13 06:19:00 GMT 2016
Hello,
we have currently an exception for Cygwin in the <sys/types.h> header:
#ifndef __CYGWIN__ /* which defines these types in it's own types.h. */
typedef _off_t off_t;
typedef __dev_t dev_t;
typedef __uid_t uid_t;
typedef __gid_t gid_t;
#endif
Cygwin defines these types in "winsup/cygwin/include/cygwin/types.h":
#ifndef __off_t_defined
#define __off_t_defined
/* Based on the newlib definitions. */
#if __WORDSIZE == 64
typedef _off_t off_t;
#else
typedef _off64_t off_t;
#endif
#endif /*__off_t_defined*/
#ifndef __dev_t_defined
#define __dev_t_defined
typedef __int16_t __dev16_t;
typedef __uint32_t dev_t;
#endif /*__dev_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*/
I think this is misleading since it may conflict with the internal types
defined by <sys/_types.h>. Maybe Cygwin should define __dev_t, __uid_t
and __gid_t in <machine/_types.h> (where to place this file?).
Since the default _off_t definition is
#ifndef __off_t_defined
typedef long _off_t;
#endif
The off_t definition could be probably simply
typedef _off_t off_t;
--
Sebastian Huber, embedded brains GmbH
Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail : sebastian.huber@embedded-brains.de
PGP : Public key available on request.
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
More information about the Newlib
mailing list