1 /** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6 #ifndef _INC_CYGWIN 7 #define _INC_CYGWIN 8 9 #ifndef __CYGWIN__ 10 #error Only Cygwin target is supported! 11 #endif 12 13 /* This includes the Cygwin gcc definitions for types like wchar_t or size_t. */ 14 #include <stddef.h> 15 16 /* Make sure that POSIX types are not defined by _mingw.h if we're building 17 for a Cygwin target. In this case we have to make sure to use the types 18 defined by the Cygwin/newlib headers. */ 19 #define _SIZE_T_DEFINED 20 #define _SSIZE_T_DEFINED 21 #define _INTPTR_T_DEFINED 22 #define _UINTPTR_T_DEFINED 23 #define _PTRDIFF_T_DEFINED 24 #define _WCHAR_T_DEFINED 25 #define _WCTYPE_T_DEFINED 26 #define _ERRCODE_DEFINED /* FIXME? errno_t is no POSIX type. */ 27 #define _TIME_T_DEFINED 28 29 /* _WIN64 is defined by the compiler specs when targeting Windows. 30 The Cygwin-targeting gcc does not define it by default, same as 31 with _WIN32. Therefore we set it here. The result is that _WIN64 32 is only defined if Windows headers are included. */ 33 #ifdef __x86_64__ 34 #define _WIN64 35 #endif 36 37 #endif /* _INC_CYGWIN */ 38