2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the w64 mingw-runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
10 /* TODO, don't include crtdef.h. */
13 #pragma pack(push,_CRT_PACKING)
15 #define _CPPLIB_VER 405
16 #define __PURE_APPDOMAIN_GLOBAL
19 #define __CRTDECL __cdecl
22 #define _WIN32_C_LIB 1
24 #define _MULTI_THREAD 1
25 #define _IOSTREAM_OP_LOCKS 1
26 #define _GLOBAL_LOCALE 0
28 #define _COMPILER_TLS 1
29 #define _TLS_QUAL __declspec(thread)
31 #ifndef _HAS_EXCEPTIONS
32 #define _HAS_EXCEPTIONS 1
35 #ifndef _HAS_NAMESPACE
36 #define _HAS_NAMESPACE 1
39 #ifndef _HAS_IMMUTABLE_SETS
40 #define _HAS_IMMUTABLE_SETS 0
43 #ifndef _HAS_STRICT_CONFORMANCE
44 #define _HAS_STRICT_CONFORMANCE 0
47 #define _GLOBAL_USING 1
48 #define _HAS_ITERATOR_DEBUGGING 0
50 #define __STR2WSTR(str) L##str
51 #define _STR2WSTR(str) __STR2WSTR(str)
53 #define __FILEW__ _STR2WSTR(__FILE__)
54 #define __FUNCTIONW__ _STR2WSTR(__FUNCTION__)
56 #define _SCL_SECURE_INVALID_PARAMETER(expr) ::_invalid_parameter_noinfo()
58 #define _SCL_SECURE_INVALID_ARGUMENT_NO_ASSERT _SCL_SECURE_INVALID_PARAMETER("invalid argument")
59 #define _SCL_SECURE_OUT_OF_RANGE_NO_ASSERT _SCL_SECURE_INVALID_PARAMETER("out of range")
60 #define _SCL_SECURE_ALWAYS_VALIDATE(cond) { if (!(cond)) { _ASSERTE((#cond,0)); _SCL_SECURE_INVALID_ARGUMENT_NO_ASSERT; } }
62 #define _SCL_SECURE_ALWAYS_VALIDATE_RANGE(cond) { if (!(cond)) { _ASSERTE((#cond,0)); _SCL_SECURE_OUT_OF_RANGE_NO_ASSERT; } }
64 #define _SCL_SECURE_CRT_VALIDATE(cond,retvalue) { if (!(cond)) { _ASSERTE((#cond,0)); _SCL_SECURE_INVALID_PARAMETER(cond); return (retvalue); } }
66 #define _SCL_SECURE_VALIDATE(cond)
67 #define _SCL_SECURE_VALIDATE_RANGE(cond)
69 #define _SCL_SECURE_INVALID_ARGUMENT
70 #define _SCL_SECURE_OUT_OF_RANGE
72 #define _SCL_SECURE_MOVE(func,dst,size,src,count) func((dst),(src),(count))
73 #define _SCL_SECURE_COPY(func,dst,size,src,count) func((dst),(src),(count))
75 #define _SECURE_VALIDATION _Secure_validation
77 #define _SECURE_VALIDATION_DEFAULT false
79 #define _SCL_SECURE_TRAITS_VALIDATE(cond)
80 #define _SCL_SECURE_TRAITS_VALIDATE_RANGE(cond)
82 #define _SCL_SECURE_TRAITS_INVALID_ARGUMENT
83 #define _SCL_SECURE_TRAITS_OUT_OF_RANGE
85 #define _CRT_SECURE_MEMCPY(dest,destsize,source,count) ::memcpy((dest),(source),(count))
86 #define _CRT_SECURE_MEMMOVE(dest,destsize,source,count) ::memmove((dest),(source),(count))
87 #define _CRT_SECURE_WMEMCPY(dest,destsize,source,count) ::wmemcpy((dest),(source),(count))
88 #define _CRT_SECURE_WMEMMOVE(dest,destsize,source,count) ::wmemmove((dest),(source),(count))
94 #ifndef _CRTIMP2_NCEEPURE
95 #define _CRTIMP2_NCEEPURE _CRTIMP
98 #ifndef _MRTIMP2_NPURE
99 #define _MRTIMP2_NPURE
102 #ifndef _MRTIMP2_NCEE
103 #define _MRTIMP2_NCEE _CRTIMP
106 #ifndef _MRTIMP2_NCEEPURE
107 #define _MRTIMP2_NCEEPURE _CRTIMP
110 #ifndef _MRTIMP2_NPURE_NCEEPURE
111 #define _MRTIMP2_NPURE_NCEEPURE
116 #ifndef _CRTIMP2_PURE
117 #define _CRTIMP2_PURE _CRTIMP
121 #define _CRTDATA2 _CRTIMP
127 #define _STD_BEGIN namespace std {
131 #define _STDEXT_BEGIN namespace stdext {
132 #define _STDEXT_END }
133 #define _STDEXT ::stdext::
136 #define _C_STD_BEGIN namespace std {
138 #define _CSTD ::std::
146 #define _C_LIB_DECL extern "C" {
147 #define _END_C_LIB_DECL }
148 #define _EXTERN_C extern "C" {
149 #define _END_EXTERN_C }
160 #define _END_C_LIB_DECL
162 #define _END_EXTERN_C
165 #define _Restrict restrict
173 #define _LONGLONG /* __MINGW_EXTENSION */ __int64
174 #define _ULONGLONG /* __MINGW_EXTENSION */ unsigned __int64
175 #define _LLONG_MAX 0x7fffffffffffffffLL
176 #define _ULLONG_MAX 0xffffffffffffffffULL
180 #define _MAX_EXP_DIG 8
181 #define _MAX_INT_DIG 32
182 #define _MAX_SIG_DIG 36
184 __MINGW_EXTENSION
typedef _LONGLONG _Longlong
;
185 __MINGW_EXTENSION
typedef _ULONGLONG _ULonglong
;
187 #define _Filet _iobuf
189 #ifndef _FPOS_T_DEFINED
190 #define _FPOSOFF(fp) ((long)(fp))
193 #define _IOBASE _base
197 #define _LOCK_LOCALE 0
198 #define _LOCK_MALLOC 1
199 #define _LOCK_STREAM 2
200 #define _LOCK_DEBUG 3
206 class _CRTIMP _Lockit
{
208 explicit __thiscall
_Lockit();
209 explicit __thiscall
_Lockit(int);
210 __thiscall
~_Lockit();
211 static void __cdecl
_Lockit_ctor(int);
212 static void __cdecl
_Lockit_dtor(int);
214 static void __cdecl
_Lockit_ctor(_Lockit
*);
215 static void __cdecl
_Lockit_ctor(_Lockit
*,int);
216 static void __cdecl
_Lockit_dtor(_Lockit
*);
217 _Lockit(const _Lockit
&);
218 _Lockit
& operator=(const _Lockit
&);
222 #define _BEGIN_LOCK(_Kind) { _STD _Lockit _Lock(_Kind);
223 #define _END_LOCK() }
224 #define _BEGIN_LOCINFO(_VarName) { _Locinfo _VarName;
225 #define _END_LOCINFO() }
226 #define _RELIABILITY_CONTRACT
228 class _CRTIMP _Mutex
{
231 __thiscall
~_Mutex();
232 void __thiscall
_Lock();
233 void __thiscall
_Unlock();
235 static void __cdecl
_Mutex_ctor(_Mutex
*);
236 static void __cdecl
_Mutex_dtor(_Mutex
*);
237 static void __cdecl
_Mutex_Lock(_Mutex
*);
238 static void __cdecl
_Mutex_Unlock(_Mutex
*);
239 _Mutex(const _Mutex
&);
240 _Mutex
& operator=(const _Mutex
&);
244 class _CRTIMP _Init_locks
{
246 __thiscall
_Init_locks();
247 __thiscall
~_Init_locks();
249 static void __cdecl
_Init_locks_ctor(_Init_locks
*);
250 static void __cdecl
_Init_locks_dtor(_Init_locks
*);
256 #ifndef _RELIABILITY_CONTRACT
257 #define _RELIABILITY_CONTRACT
261 _CRTIMP
void __cdecl
_Atexit(void (__cdecl
*)(void));
263 typedef int _Mbstatet
;
265 #define _ATEXIT_T void
266 #define _Mbstinit(x) mbstate_t x = {0}
269 #define _EXTERN_TEMPLATE template
270 #define _THROW_BAD_ALLOC _THROW1(...)