| /** | |
| * This file has no copyright assigned and is placed in the Public Domain. | |
| * This file is part of the w64 mingw-runtime package. | |
| * No warranty is given; refer to the file DISCLAIMER.PD within this package. | |
| */ | |
| #ifndef _INC_CRTDEFS | |
| #define _INC_CRTDEFS | |
| #include "_mingw_mac.h" | |
| /* C/C++ specific language defines. */ | |
| #ifdef _WIN64 | |
| #ifdef __stdcall | |
| #undef __stdcall | |
| #endif | |
| #define __stdcall | |
| #endif | |
| #ifndef __GNUC__ | |
| # ifndef __MINGW_IMPORT | |
| # define __MINGW_IMPORT __declspec(dllimport) | |
| # endif | |
| # ifndef _CRTIMP | |
| # define _CRTIMP __declspec(dllimport) | |
| # endif | |
| # define __DECLSPEC_SUPPORTED | |
| # define __attribute__(x) /* nothing */ | |
| #else /* __GNUC__ */ | |
| # ifdef __declspec | |
| # ifndef __MINGW_IMPORT | |
| /* Note the extern. This is needed to work around GCC's | |
| limitations in handling dllimport attribute. */ | |
| # define __MINGW_IMPORT extern __attribute__ ((__dllimport__)) | |
| # endif | |
| # ifndef _CRTIMP | |
| # undef __USE_CRTIMP | |
| # if !defined (_CRTBLD) && !defined (_SYSCRT) | |
| # define __USE_CRTIMP 1 | |
| # endif | |
| # ifdef __USE_CRTIMP | |
| # define _CRTIMP __attribute__ ((__dllimport__)) | |
| # else | |
| # define _CRTIMP | |
| # endif | |
| # endif | |
| # define __DECLSPEC_SUPPORTED | |
| # else /* __declspec */ | |
| # undef __DECLSPEC_SUPPORTED | |
| # undef __MINGW_IMPORT | |
| # ifndef _CRTIMP | |
| # define _CRTIMP | |
| # endif | |
| # endif /* __declspec */ | |
| #endif /* __GNUC__ */ | |
| #if defined (__GNUC__) && defined (__GNUC_MINOR__) | |
| #define __MINGW_GNUC_PREREQ(major, minor) \ | |
| (__GNUC__ > (major) \ | |
| || (__GNUC__ == (major) && __GNUC_MINOR__ >= (minor))) | |
| #else | |
| #define __MINGW_GNUC_PREREQ(major, minor) 0 | |
| #endif | |
| #if defined (_MSC_VER) | |
| #define __MINGW_MSC_PREREQ(major, minor) \ | |
| (_MSC_VER >= (major * 100 + minor * 10)) | |
| #else | |
| #define __MINGW_MSC_PREREQ(major, minor) 0 | |
| #endif | |
| #define USE___UUIDOF 0 | |
| #ifdef __cplusplus | |
| # define __CRT_INLINE inline | |
| #elif defined(_MSC_VER) | |
| # define __CRT_INLINE __inline | |
| #else | |
| # if ( __MINGW_GNUC_PREREQ(4, 3) && __STDC_VERSION__ >= 199901L) | |
| # define __CRT_INLINE extern inline __attribute__((__gnu_inline__)) | |
| # else | |
| # define __CRT_INLINE extern __inline__ | |
| # endif | |
| #endif | |
| #if !defined(__MINGW_INTRIN_INLINE) && defined(__GNUC__) | |
| #define __MINGW_INTRIN_INLINE extern __inline__ __attribute__((always_inline,__gnu_inline__)) | |
| #endif | |
| #ifdef __NO_INLINE__ | |
| #undef __CRT__NO_INLINE | |
| #define __CRT__NO_INLINE 1 | |
| #endif | |
| #ifdef __cplusplus | |
| # define __UNUSED_PARAM(x) | |
| #else | |
| # ifdef __GNUC__ | |
| # define __UNUSED_PARAM(x) x __attribute__ ((__unused__)) | |
| # else | |
| # define __UNUSED_PARAM(x) x | |
| # endif | |
| #endif | |
| #ifndef __GNUC__ | |
| # ifdef _MSC_VER | |
| # define __restrict__ __restrict | |
| # else | |
| # define __restrict__ /* nothing */ | |
| # endif | |
| #endif /* !__GNUC__ */ | |
| #ifdef __GNUC__ | |
| #define __MINGW_ATTRIB_NORETURN __attribute__ ((__noreturn__)) | |
| #define __MINGW_ATTRIB_CONST __attribute__ ((__const__)) | |
| #elif __MINGW_MSC_PREREQ(12, 0) | |
| #define __MINGW_ATTRIB_NORETURN __declspec(noreturn) | |
| #define __MINGW_ATTRIB_CONST | |
| #else | |
| #define __MINGW_ATTRIB_NORETURN | |
| #define __MINGW_ATTRIB_CONST | |
| #endif | |
| #if __MINGW_GNUC_PREREQ (3, 0) | |
| #define __MINGW_ATTRIB_MALLOC __attribute__ ((__malloc__)) | |
| #define __MINGW_ATTRIB_PURE __attribute__ ((__pure__)) | |
| #elif __MINGW_MSC_PREREQ(14, 0) | |
| #define __MINGW_ATTRIB_MALLOC __declspec(noalias) __declspec(restrict) | |
| #define __MINGW_ATTRIB_PURE | |
| #else | |
| #define __MINGW_ATTRIB_MALLOC | |
| #define __MINGW_ATTRIB_PURE | |
| #endif | |
| /* Attribute `nonnull' was valid as of gcc 3.3. We don't use GCC's | |
| variadiac macro facility, because variadic macros cause syntax | |
| errors with --traditional-cpp. */ | |
| #if __MINGW_GNUC_PREREQ (3, 3) | |
| #define __MINGW_ATTRIB_NONNULL(arg) __attribute__ ((__nonnull__ (arg))) | |
| #else | |
| #define __MINGW_ATTRIB_NONNULL(arg) | |
| #endif /* GNUC >= 3.3 */ | |
| #ifdef __GNUC__ | |
| #define __MINGW_ATTRIB_UNUSED __attribute__ ((__unused__)) | |
| #else | |
| #define __MINGW_ATTRIB_UNUSED | |
| #endif /* ATTRIBUTE_UNUSED */ | |
| #if __MINGW_GNUC_PREREQ (3, 1) | |
| #define __MINGW_ATTRIB_USED __attribute__ ((__used__)) | |
| #define __MINGW_ATTRIB_DEPRECATED __attribute__ ((__deprecated__)) | |
| #elif __MINGW_MSC_PREREQ(12, 0) | |
| #define __MINGW_ATTRIB_USED | |
| #define __MINGW_ATTRIB_DEPRECATED __declspec(deprecated) | |
| #else | |
| #define __MINGW_ATTRIB_USED __MINGW_ATTRIB_UNUSED | |
| #define __MINGW_ATTRIB_DEPRECATED | |
| #endif /* GNUC >= 3.1 */ | |
| #if __MINGW_GNUC_PREREQ (3, 3) | |
| #define __MINGW_NOTHROW __attribute__ ((__nothrow__)) | |
| #elif __MINGW_MSC_PREREQ(12, 0) && defined (__cplusplus) | |
| #define __MINGW_NOTHROW __declspec(nothrow) | |
| #else | |
| #define __MINGW_NOTHROW | |
| #endif | |
| #if __MINGW_GNUC_PREREQ (4, 4) | |
| #define __MINGW_ATTRIB_NO_OPTIMIZE __attribute__((__optimize__ ("0"))) | |
| #else | |
| #define __MINGW_ATTRIB_NO_OPTIMIZE | |
| #endif | |
| #ifndef __MSVCRT_VERSION__ | |
| /* High byte is the major version, low byte is the minor. */ | |
| # define __MSVCRT_VERSION__ 0x0700 | |
| #endif | |
| #ifndef WINVER | |
| #define WINVER 0x0502 | |
| #endif | |
| #ifndef _WIN32_WINNT | |
| #define _WIN32_WINNT 0x502 | |
| #endif | |
| #ifndef _INT128_DEFINED | |
| #define _INT128_DEFINED | |
| #ifdef __GNUC__ | |
| #define __int8 char | |
| #define __int16 short | |
| #define __int32 int | |
| #define __int64 long long | |
| #ifdef _WIN64 | |
| #ifndef __SIZEOF_INT128__ | |
| typedef int __int128 __attribute__ ((__mode__ (TI))); | |
| #endif | |
| #endif | |
| #endif /* __GNUC__ */ | |
| #endif /* _INT128_DEFINED */ | |
| #ifdef __GNUC__ | |
| #define __ptr32 | |
| #define __ptr64 | |
| #ifndef __unaligned | |
| #define __unaligned | |
| #endif | |
| #ifndef __w64 | |
| #define __w64 | |
| #endif | |
| #define __forceinline extern __inline__ __attribute__((always_inline)) | |
| #endif /* __GNUC__ */ | |
| #ifndef _WIN32 | |
| #error Only Win32 target is supported! | |
| #endif | |
| #ifndef __nothrow | |
| #ifdef __cplusplus | |
| #define __nothrow __declspec(nothrow) | |
| #else | |
| #define __nothrow | |
| #endif | |
| #endif /* __nothrow */ | |
| #undef _CRT_PACKING | |
| #define _CRT_PACKING 8 | |
| #include <vadefs.h> /* other headers depend on this include */ | |
| #pragma pack(push,_CRT_PACKING) | |
| #ifndef _CRT_STRINGIZE | |
| #define __CRT_STRINGIZE(_Value) #_Value | |
| #define _CRT_STRINGIZE(_Value) __CRT_STRINGIZE(_Value) | |
| #endif /* _CRT_STRINGIZE */ | |
| #ifndef _CRT_WIDE | |
| #define __CRT_WIDE(_String) L ## _String | |
| #define _CRT_WIDE(_String) __CRT_WIDE(_String) | |
| #endif /* _CRT_WIDE */ | |
| #ifndef _W64 | |
| #define _W64 | |
| #endif | |
| #ifndef _CRTIMP_NOIA64 | |
| #ifdef __ia64__ | |
| #define _CRTIMP_NOIA64 | |
| #else | |
| #define _CRTIMP_NOIA64 _CRTIMP | |
| #endif | |
| #endif /* _CRTIMP_NOIA64 */ | |
| #ifndef _CRTIMP2 | |
| #define _CRTIMP2 _CRTIMP | |
| #endif | |
| #ifndef _CRTIMP_ALTERNATIVE | |
| #define _CRTIMP_ALTERNATIVE _CRTIMP | |
| #define _CRT_ALTERNATIVE_IMPORTED | |
| #endif /* _CRTIMP_ALTERNATIVE */ | |
| #ifndef _MRTIMP2 | |
| #define _MRTIMP2 _CRTIMP | |
| #endif | |
| /* We have to define _DLL for gcc based mingw version. This define is set | |
| by VC, when DLL-based runtime is used. So, gcc based runtime just have | |
| DLL-base runtime, therefore this define has to be set. | |
| As our headers are possibly used by windows compiler having a static | |
| C-runtime, we make this definition gnu compiler specific here. */ | |
| #if !defined (_DLL) && defined (__GNUC__) | |
| #define _DLL | |
| #endif | |
| #ifndef _MT | |
| #define _MT | |
| #endif | |
| #ifndef _MCRTIMP | |
| #define _MCRTIMP _CRTIMP | |
| #endif | |
| #ifndef _CRTIMP_PURE | |
| #define _CRTIMP_PURE _CRTIMP | |
| #endif | |
| #ifndef _PGLOBAL | |
| #define _PGLOBAL | |
| #endif | |
| #ifndef _AGLOBAL | |
| #define _AGLOBAL | |
| #endif | |
| #define __STDC_SECURE_LIB__ 200411L | |
| #define __GOT_SECURE_LIB__ __STDC_SECURE_LIB__ | |
| #define _SECURECRT_FILL_BUFFER_PATTERN 0xFD | |
| #define _CRT_DEPRECATE_TEXT(_Text) __declspec(deprecated) | |
| #ifndef _CRT_INSECURE_DEPRECATE_MEMORY | |
| #define _CRT_INSECURE_DEPRECATE_MEMORY(_Replacement) | |
| #endif | |
| #ifndef _CRT_INSECURE_DEPRECATE_GLOBALS | |
| #define _CRT_INSECURE_DEPRECATE_GLOBALS(_Replacement) | |
| #endif | |
| #ifndef _CRT_MANAGED_HEAP_DEPRECATE | |
| #define _CRT_MANAGED_HEAP_DEPRECATE | |
| #endif | |
| #ifndef _CRT_OBSOLETE | |
| #define _CRT_OBSOLETE(_NewItem) | |
| #endif | |
| #ifndef _SIZE_T_DEFINED | |
| #define _SIZE_T_DEFINED | |
| #undef size_t | |
| #ifdef _WIN64 | |
| __MINGW_EXTENSION typedef unsigned __int64 size_t; | |
| #else | |
| typedef unsigned int size_t; | |
| #endif /* _WIN64 */ | |
| #endif /* _SIZE_T_DEFINED */ | |
| #ifndef _SSIZE_T_DEFINED | |
| #define _SSIZE_T_DEFINED | |
| #undef ssize_t | |
| #ifdef _WIN64 | |
| __MINGW_EXTENSION typedef __int64 ssize_t; | |
| #else | |
| typedef int ssize_t; | |
| #endif /* _WIN64 */ | |
| #endif /* _SSIZE_T_DEFINED */ | |
| #ifndef _INTPTR_T_DEFINED | |
| #define _INTPTR_T_DEFINED | |
| #ifndef __intptr_t_defined | |
| #define __intptr_t_defined | |
| #undef intptr_t | |
| #ifdef _WIN64 | |
| __MINGW_EXTENSION typedef __int64 intptr_t; | |
| #else | |
| typedef int intptr_t; | |
| #endif /* _WIN64 */ | |
| #endif /* __intptr_t_defined */ | |
| #endif /* _INTPTR_T_DEFINED */ | |
| #ifndef _UINTPTR_T_DEFINED | |
| #define _UINTPTR_T_DEFINED | |
| #ifndef __uintptr_t_defined | |
| #define __uintptr_t_defined | |
| #undef uintptr_t | |
| #ifdef _WIN64 | |
| __MINGW_EXTENSION typedef unsigned __int64 uintptr_t; | |
| #else | |
| typedef unsigned int uintptr_t; | |
| #endif /* _WIN64 */ | |
| #endif /* __uintptr_t_defined */ | |
| #endif /* _UINTPTR_T_DEFINED */ | |
| #ifndef _PTRDIFF_T_DEFINED | |
| #define _PTRDIFF_T_DEFINED | |
| #ifndef _PTRDIFF_T_ | |
| #define _PTRDIFF_T_ | |
| #undef ptrdiff_t | |
| #ifdef _WIN64 | |
| __MINGW_EXTENSION typedef __int64 ptrdiff_t; | |
| #else | |
| typedef int ptrdiff_t; | |
| #endif /* _WIN64 */ | |
| #endif /* _PTRDIFF_T_ */ | |
| #endif /* _PTRDIFF_T_DEFINED */ | |
| #ifndef _WCHAR_T_DEFINED | |
| #define _WCHAR_T_DEFINED | |
| #ifndef __cplusplus | |
| typedef unsigned short wchar_t; | |
| #endif /* C++ */ | |
| #endif /* _WCHAR_T_DEFINED */ | |
| #ifndef _WCTYPE_T_DEFINED | |
| #define _WCTYPE_T_DEFINED | |
| #ifndef _WINT_T | |
| #define _WINT_T | |
| typedef unsigned short wint_t; | |
| typedef unsigned short wctype_t; | |
| #endif /* _WINT_T */ | |
| #endif /* _WCTYPE_T_DEFINED */ | |
| #if defined (_WIN32) && !defined (_WIN64) && !defined (__MINGW_USE_VC2005_COMPAT) | |
| #ifndef _USE_32BIT_TIME_T | |
| #define _USE_32BIT_TIME_T | |
| #endif | |
| #endif | |
| #ifdef _USE_32BIT_TIME_T | |
| #ifdef _WIN64 | |
| #error You cannot use 32-bit time_t (_USE_32BIT_TIME_T) with _WIN64 | |
| #undef _USE_32BIT_TIME_T | |
| #endif | |
| #endif /* _USE_32BIT_TIME_T */ | |
| #ifndef _ERRCODE_DEFINED | |
| #define _ERRCODE_DEFINED | |
| typedef int errno_t; | |
| #endif | |
| #ifndef _TIME32_T_DEFINED | |
| #define _TIME32_T_DEFINED | |
| typedef long __time32_t; | |
| #endif | |
| #ifndef _TIME64_T_DEFINED | |
| #define _TIME64_T_DEFINED | |
| __MINGW_EXTENSION typedef __int64 __time64_t; | |
| #endif /* _TIME64_T_DEFINED */ | |
| #ifndef _TIME_T_DEFINED | |
| #define _TIME_T_DEFINED | |
| #ifdef _USE_32BIT_TIME_T | |
| typedef __time32_t time_t; | |
| #else | |
| typedef __time64_t time_t; | |
| #endif | |
| #endif /* _TIME_T_DEFINED */ | |
| #ifndef _CONST_RETURN | |
| #define _CONST_RETURN | |
| #endif | |
| #ifndef UNALIGNED | |
| #if defined(_M_IA64) || defined(_M_AMD64) | |
| #define UNALIGNED __unaligned | |
| #else | |
| #define UNALIGNED | |
| #endif | |
| #endif /* UNALIGNED */ | |
| #ifndef _CRT_ALIGN | |
| #ifdef _MSC_VER | |
| #define _CRT_ALIGN(x) __declspec(align(x)) | |
| #else /* __GNUC__ */ | |
| #define _CRT_ALIGN(x) __attribute__ ((__aligned__ (x))) | |
| #endif | |
| #endif /* _CRT_ALIGN */ | |
| #ifndef __CRTDECL | |
| #define __CRTDECL __cdecl | |
| #endif | |
| #define _ARGMAX 100 | |
| #ifndef _TRUNCATE | |
| #define _TRUNCATE ((size_t)-1) | |
| #endif | |
| #ifndef _CRT_UNUSED | |
| #define _CRT_UNUSED(x) (void)x | |
| #endif | |
| #if defined(_POSIX) && !defined(__USE_MINGW_ANSI_STDIO) | |
| /* Enable __USE_MINGW_ANSI_STDIO if _POSIX defined | |
| * and If user did _not_ specify it explicitly... */ | |
| # define __USE_MINGW_ANSI_STDIO 1 | |
| #endif | |
| /* _dowildcard is an int that controls the globbing of the command line. | |
| * The MinGW32 (mingw.org) runtime calls it _CRT_glob, so we are adding | |
| * a compatibility definition here: you can use either of _CRT_glob or | |
| * _dowildcard . | |
| * If _dowildcard is non-zero, the command line will be globbed: *.* | |
| * will be expanded to be all files in the startup directory. | |
| * In the mingw-w64 library a _dowildcard variable is defined as being | |
| * 0, therefore command line globbing is DISABLED by default. To turn it | |
| * on and to leave wildcard command line processing MS's globbing code, | |
| * include a line in one of your source modules defining _dowildcard and | |
| * setting it to -1, like so: | |
| * int _dowildcard = -1; | |
| */ | |
| #undef _CRT_glob | |
| #define _CRT_glob _dowildcard | |
| #if defined(_MSC_VER) && !defined(_MSC_EXTENSIONS) | |
| #define NONAMELESSUNION 1 | |
| #endif | |
| #if defined(NONAMELESSSTRUCT) && \ | |
| !defined(NONAMELESSUNION) | |
| #define NONAMELESSUNION 1 | |
| #endif | |
| #if defined(NONAMELESSUNION) && \ | |
| !defined(NONAMELESSSTRUCT) | |
| #define NONAMELESSSTRUCT 1 | |
| #endif | |
| #ifndef __ANONYMOUS_DEFINED | |
| #define __ANONYMOUS_DEFINED | |
| #define _ANONYMOUS_UNION __MINGW_EXTENSION | |
| #define _ANONYMOUS_STRUCT __MINGW_EXTENSION | |
| #ifndef NONAMELESSUNION | |
| #define _UNION_NAME(x) | |
| #define _STRUCT_NAME(x) | |
| #else /* NONAMELESSUNION */ | |
| #define _UNION_NAME(x) x | |
| #define _STRUCT_NAME(x) x | |
| #endif | |
| #endif /* __ANONYMOUS_DEFINED */ | |
| #ifndef DUMMYUNIONNAME | |
| # ifdef NONAMELESSUNION | |
| # define DUMMYUNIONNAME u | |
| # define DUMMYUNIONNAME1 u1 /* Wine uses this variant */ | |
| # define DUMMYUNIONNAME2 u2 | |
| # define DUMMYUNIONNAME3 u3 | |
| # define DUMMYUNIONNAME4 u4 | |
| # define DUMMYUNIONNAME5 u5 | |
| # define DUMMYUNIONNAME6 u6 | |
| # define DUMMYUNIONNAME7 u7 | |
| # define DUMMYUNIONNAME8 u8 | |
| # define DUMMYUNIONNAME9 u9 | |
| # else /* NONAMELESSUNION */ | |
| # define DUMMYUNIONNAME | |
| # define DUMMYUNIONNAME1 /* Wine uses this variant */ | |
| # define DUMMYUNIONNAME2 | |
| # define DUMMYUNIONNAME3 | |
| # define DUMMYUNIONNAME4 | |
| # define DUMMYUNIONNAME5 | |
| # define DUMMYUNIONNAME6 | |
| # define DUMMYUNIONNAME7 | |
| # define DUMMYUNIONNAME8 | |
| # define DUMMYUNIONNAME9 | |
| # endif | |
| #endif /* DUMMYUNIONNAME */ | |
| #ifndef DUMMYSTRUCTNAME | |
| # ifdef NONAMELESSUNION | |
| # define DUMMYSTRUCTNAME s | |
| # define DUMMYSTRUCTNAME1 s1 /* Wine uses this variant */ | |
| # define DUMMYSTRUCTNAME2 s2 | |
| # define DUMMYSTRUCTNAME3 s3 | |
| # define DUMMYSTRUCTNAME4 s4 | |
| # define DUMMYSTRUCTNAME5 s5 | |
| # else | |
| # define DUMMYSTRUCTNAME | |
| # define DUMMYSTRUCTNAME1 /* Wine uses this variant */ | |
| # define DUMMYSTRUCTNAME2 | |
| # define DUMMYSTRUCTNAME3 | |
| # define DUMMYSTRUCTNAME4 | |
| # define DUMMYSTRUCTNAME5 | |
| # endif | |
| #endif /* DUMMYSTRUCTNAME */ | |
| /* MSVC-isms: */ | |
| struct threadlocaleinfostruct; | |
| struct threadmbcinfostruct; | |
| typedef struct threadlocaleinfostruct *pthreadlocinfo; | |
| typedef struct threadmbcinfostruct *pthreadmbcinfo; | |
| struct __lc_time_data; | |
| typedef struct localeinfo_struct { | |
| pthreadlocinfo locinfo; | |
| pthreadmbcinfo mbcinfo; | |
| } _locale_tstruct,*_locale_t; | |
| #ifndef _TAGLC_ID_DEFINED | |
| #define _TAGLC_ID_DEFINED | |
| typedef struct tagLC_ID { | |
| unsigned short wLanguage; | |
| unsigned short wCountry; | |
| unsigned short wCodePage; | |
| } LC_ID,*LPLC_ID; | |
| #endif /* _TAGLC_ID_DEFINED */ | |
| #ifndef _THREADLOCALEINFO | |
| #define _THREADLOCALEINFO | |
| typedef struct threadlocaleinfostruct { | |
| int refcount; | |
| unsigned int lc_codepage; | |
| unsigned int lc_collate_cp; | |
| unsigned long lc_handle[6]; | |
| LC_ID lc_id[6]; | |
| struct { | |
| char *locale; | |
| wchar_t *wlocale; | |
| int *refcount; | |
| int *wrefcount; | |
| } lc_category[6]; | |
| int lc_clike; | |
| int mb_cur_max; | |
| int *lconv_intl_refcount; | |
| int *lconv_num_refcount; | |
| int *lconv_mon_refcount; | |
| struct lconv *lconv; | |
| int *ctype1_refcount; | |
| unsigned short *ctype1; | |
| const unsigned short *pctype; | |
| const unsigned char *pclmap; | |
| const unsigned char *pcumap; | |
| struct __lc_time_data *lc_time_curr; | |
| } threadlocinfo; | |
| #endif /* _THREADLOCALEINFO */ | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| #ifdef __MINGW_INTRIN_INLINE | |
| void __cdecl __debugbreak(void); | |
| __MINGW_INTRIN_INLINE void __cdecl __debugbreak(void) | |
| { | |
| __asm__ __volatile__("int $3"); | |
| } | |
| #endif | |
| /* mingw-w64 specific functions: */ | |
| const char *__mingw_get_crt_info (void); | |
| #ifdef __cplusplus | |
| } | |
| #endif | |
| #pragma pack(pop) | |
| #endif /* _INC_CRTDEFS */ | |
| #ifndef MINGW_SDK_INIT | |
| #define MINGW_SDK_INIT | |
| #include "sdks/_mingw_directx.h" | |
| #endif /* MINGW_SDK_INIT */ | |