- Merge from trunk up to r45543
[reactos.git] / include / crt / yvals.h
1 /**
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 within this package.
5 */
6 #ifndef _YVALS
7 #define _YVALS
8
9 #include <crtdefs.h>
10
11 #pragma pack(push,_CRT_PACKING)
12
13 #define _CPPLIB_VER 405
14 #define __PURE_APPDOMAIN_GLOBAL
15
16 #ifndef __CRTDECL
17 #define __CRTDECL __cdecl
18 #endif
19
20 #define _WIN32_C_LIB 1
21
22 #define _MULTI_THREAD 1
23 #define _IOSTREAM_OP_LOCKS 1
24 #define _GLOBAL_LOCALE 0
25
26 #define _COMPILER_TLS 1
27 #define _TLS_QUAL __declspec(thread)
28
29 #ifndef _HAS_EXCEPTIONS
30 #define _HAS_EXCEPTIONS 1
31 #endif
32
33 #ifndef _HAS_NAMESPACE
34 #define _HAS_NAMESPACE 1
35 #endif
36
37 #ifndef _HAS_IMMUTABLE_SETS
38 #define _HAS_IMMUTABLE_SETS 0
39 #endif
40
41 #ifndef _HAS_STRICT_CONFORMANCE
42 #define _HAS_STRICT_CONFORMANCE 0
43 #endif
44
45 #define _GLOBAL_USING 1
46 #define _HAS_ITERATOR_DEBUGGING 0
47
48 #define __STR2WSTR(str) L##str
49 #define _STR2WSTR(str) __STR2WSTR(str)
50
51 #define __FILEW__ _STR2WSTR(__FILE__)
52 #define __FUNCTIONW__ _STR2WSTR(__FUNCTION__)
53
54 #define _SCL_SECURE_INVALID_PARAMETER(expr) ::_invalid_parameter_noinfo()
55
56 #define _SCL_SECURE_INVALID_ARGUMENT_NO_ASSERT _SCL_SECURE_INVALID_PARAMETER("invalid argument")
57 #define _SCL_SECURE_OUT_OF_RANGE_NO_ASSERT _SCL_SECURE_INVALID_PARAMETER("out of range")
58 #define _SCL_SECURE_ALWAYS_VALIDATE(cond) { if (!(cond)) { _ASSERTE((#cond,0)); _SCL_SECURE_INVALID_ARGUMENT_NO_ASSERT; } }
59
60 #define _SCL_SECURE_ALWAYS_VALIDATE_RANGE(cond) { if (!(cond)) { _ASSERTE((#cond,0)); _SCL_SECURE_OUT_OF_RANGE_NO_ASSERT; } }
61
62 #define _SCL_SECURE_CRT_VALIDATE(cond,retvalue) { if (!(cond)) { _ASSERTE((#cond,0)); _SCL_SECURE_INVALID_PARAMETER(cond); return (retvalue); } }
63
64 #define _SCL_SECURE_VALIDATE(cond)
65 #define _SCL_SECURE_VALIDATE_RANGE(cond)
66
67 #define _SCL_SECURE_INVALID_ARGUMENT
68 #define _SCL_SECURE_OUT_OF_RANGE
69
70 #define _SCL_SECURE_MOVE(func,dst,size,src,count) func((dst),(src),(count))
71 #define _SCL_SECURE_COPY(func,dst,size,src,count) func((dst),(src),(count))
72
73 #define _SECURE_VALIDATION _Secure_validation
74
75 #define _SECURE_VALIDATION_DEFAULT false
76
77 #define _SCL_SECURE_TRAITS_VALIDATE(cond)
78 #define _SCL_SECURE_TRAITS_VALIDATE_RANGE(cond)
79
80 #define _SCL_SECURE_TRAITS_INVALID_ARGUMENT
81 #define _SCL_SECURE_TRAITS_OUT_OF_RANGE
82
83 #define _CRT_SECURE_MEMCPY(dest,destsize,source,count) ::memcpy((dest),(source),(count))
84 #define _CRT_SECURE_MEMMOVE(dest,destsize,source,count) ::memmove((dest),(source),(count))
85 #define _CRT_SECURE_WMEMCPY(dest,destsize,source,count) ::wmemcpy((dest),(source),(count))
86 #define _CRT_SECURE_WMEMMOVE(dest,destsize,source,count) ::wmemmove((dest),(source),(count))
87
88 #ifndef _VC6SP2
89 #define _VC6SP2 0
90 #endif
91
92 #ifndef _CRTIMP2_NCEEPURE
93 #define _CRTIMP2_NCEEPURE _CRTIMP
94 #endif
95
96 #ifndef _MRTIMP2_NPURE
97 #define _MRTIMP2_NPURE
98 #endif
99
100 #ifndef _MRTIMP2_NCEE
101 #define _MRTIMP2_NCEE _CRTIMP
102 #endif
103
104 #ifndef _MRTIMP2_NCEEPURE
105 #define _MRTIMP2_NCEEPURE _CRTIMP
106 #endif
107
108 #ifndef _MRTIMP2_NPURE_NCEEPURE
109 #define _MRTIMP2_NPURE_NCEEPURE
110 #endif
111
112 #define _DLL_CPPLIB
113
114 #ifndef _CRTIMP2_PURE
115 #define _CRTIMP2_PURE _CRTIMP
116 #endif
117
118 #ifndef _CRTDATA2
119 #define _CRTDATA2 _CRTIMP
120 #endif
121
122 #define _DEPRECATED
123
124 #ifdef __cplusplus
125 #define _STD_BEGIN namespace std {
126 #define _STD_END }
127 #define _STD ::std::
128
129 #define _STDEXT_BEGIN namespace stdext {
130 #define _STDEXT_END }
131 #define _STDEXT ::stdext::
132
133 #ifdef _STD_USING
134 #define _C_STD_BEGIN namespace std {
135 #define _C_STD_END }
136 #define _CSTD ::std::
137 #else
138
139 #define _C_STD_BEGIN
140 #define _C_STD_END
141 #define _CSTD ::
142 #endif
143
144 #define _C_LIB_DECL extern "C" {
145 #define _END_C_LIB_DECL }
146 #define _EXTERN_C extern "C" {
147 #define _END_EXTERN_C }
148 #else
149 #define _STD_BEGIN
150 #define _STD_END
151 #define _STD
152
153 #define _C_STD_BEGIN
154 #define _C_STD_END
155 #define _CSTD
156
157 #define _C_LIB_DECL
158 #define _END_C_LIB_DECL
159 #define _EXTERN_C
160 #define _END_EXTERN_C
161 #endif
162
163 #define _Restrict restrict
164
165 #ifdef __cplusplus
166 _STD_BEGIN
167 typedef bool _Bool;
168 _STD_END
169 #endif
170
171 #define _LONGLONG __int64
172 #define _ULONGLONG unsigned __int64
173 #define _LLONG_MAX 0x7fffffffffffffff
174 #define _ULLONG_MAX 0xffffffffffffffff
175
176 #define _C2 1
177
178 #define _MAX_EXP_DIG 8
179 #define _MAX_INT_DIG 32
180 #define _MAX_SIG_DIG 36
181
182 typedef _LONGLONG _Longlong;
183 typedef _ULONGLONG _ULonglong;
184
185 #define _Filet _iobuf
186
187 #ifndef _FPOS_T_DEFINED
188 #define _FPOSOFF(fp) ((long)(fp))
189 #endif
190
191 #define _IOBASE _base
192 #define _IOPTR _ptr
193 #define _IOCNT _cnt
194
195 #define _LOCK_LOCALE 0
196 #define _LOCK_MALLOC 1
197 #define _LOCK_STREAM 2
198 #define _LOCK_DEBUG 3
199 #define _MAX_LOCK 4
200
201 #ifdef __cplusplus
202 _STD_BEGIN
203
204 class _CRTIMP _Lockit {
205 public:
206 explicit __thiscall _Lockit();
207 explicit __thiscall _Lockit(int);
208 __thiscall ~_Lockit();
209 static void __cdecl _Lockit_ctor(int);
210 static void __cdecl _Lockit_dtor(int);
211 private:
212 static void __cdecl _Lockit_ctor(_Lockit *);
213 static void __cdecl _Lockit_ctor(_Lockit *,int);
214 static void __cdecl _Lockit_dtor(_Lockit *);
215 _Lockit(const _Lockit&);
216 _Lockit& operator=(const _Lockit&);
217 int _Locktype;
218 };
219
220 #define _BEGIN_LOCK(_Kind) { _STD _Lockit _Lock(_Kind);
221 #define _END_LOCK() }
222 #define _BEGIN_LOCINFO(_VarName) { _Locinfo _VarName;
223 #define _END_LOCINFO() }
224 #define _RELIABILITY_CONTRACT
225
226 class _CRTIMP _Mutex {
227 public:
228 __thiscall _Mutex();
229 __thiscall ~_Mutex();
230 void __thiscall _Lock();
231 void __thiscall _Unlock();
232 private:
233 static void __cdecl _Mutex_ctor(_Mutex *);
234 static void __cdecl _Mutex_dtor(_Mutex *);
235 static void __cdecl _Mutex_Lock(_Mutex *);
236 static void __cdecl _Mutex_Unlock(_Mutex *);
237 _Mutex(const _Mutex&);
238 _Mutex& operator=(const _Mutex&);
239 void *_Mtx;
240 };
241
242 class _CRTIMP _Init_locks {
243 public:
244 __thiscall _Init_locks();
245 __thiscall ~_Init_locks();
246 private:
247 static void __cdecl _Init_locks_ctor(_Init_locks *);
248 static void __cdecl _Init_locks_dtor(_Init_locks *);
249 };
250
251 _STD_END
252 #endif
253
254 #ifndef _RELIABILITY_CONTRACT
255 #define _RELIABILITY_CONTRACT
256 #endif
257
258 _C_STD_BEGIN
259 _CRTIMP void __cdecl _Atexit(void (__cdecl *)(void));
260
261 typedef int _Mbstatet;
262
263 #define _ATEXIT_T void
264 #define _Mbstinit(x) mbstate_t x = {0}
265 _C_STD_END
266
267 #define _EXTERN_TEMPLATE template
268 #define _THROW_BAD_ALLOC _THROW1(...)
269
270 #pragma pack(pop)
271 #endif