ReactOS 0.4.16-dev-297-gc569aee
crtdefs.h
Go to the documentation of this file.
1
6#include <vcruntime.h>
7#include <specstrings.h>
8
9#ifndef _INC_CRTDEFS
10#define _INC_CRTDEFS
11
12#ifndef NULL
13#ifdef __cplusplus
14#define NULL 0
15#else
16#define NULL ((void *)0)
17#endif
18#endif
19
20#ifdef _USE_32BIT_TIME_T
21#ifdef _WIN64
22#error You cannot use 32-bit time_t (_USE_32BIT_TIME_T) with _WIN64
23#undef _USE_32BIT_TIME_T
24#endif
25#else
26#if _INTEGRAL_MAX_BITS < 64
27#define _USE_32BIT_TIME_T
28#endif
29#endif
30
31#pragma pack(push,_CRT_PACKING)
32
33/* Disable non-ANSI C definitions if compiling with __STDC__ */
34#if (!defined _CRT_DECLARE_NONSTDC_NAMES || !_CRT_DECLARE_NONSTDC_NAMES) && (defined _CRT_DECLARE_NONSTDC_NAMES || __STDC__)
35#define NO_OLDNAMES
36#endif
37
38#if defined(__GNUC__) && !defined(__clang__)
39 #define _CRT_DISABLE_GCC_WARNINGS \
40 _Pragma("GCC diagnostic push") \
41 _Pragma("GCC diagnostic ignored \"-Wbuiltin-declaration-mismatch\"") \
42 _Pragma("GCC diagnostic ignored \"-Wunknown-pragmas\"")
43 #define _CRT_RESTORE_GCC_WARNINGS _Pragma("GCC diagnostic pop")
44#else // __GNUC__
45 #define _CRT_DISABLE_GCC_WARNINGS
46 #define _CRT_RESTORE_GCC_WARNINGS
47#endif // __GNUC__
48
52#ifndef _CRT_DEFER_MACRO
53#define _CRT_DEFER_MACRO(M,...) M(__VA_ARGS__)
54#endif
55
56#ifndef _W64
57 #if !defined(_midl) && defined(_X86_) && _MSC_VER >= 1300
58 #define _W64 __w64
59 #else
60 #define _W64
61 #endif
62#endif
63
64//#define _CRT_ALTERNATIVE_INLINES
65
66#ifndef _CRTIMP_ALT
67 #ifdef _DLL
68 #ifdef _CRT_ALTERNATIVE_INLINES
69 #define _CRTIMP_ALT
70 #else
71 #define _CRTIMP_ALT _CRTIMP
72 #define _CRT_ALTERNATIVE_IMPORTED
73 #endif
74 #else
75 #define _CRTIMP_ALT
76 #endif
77#endif
78
79#ifndef _CRTDATA
80 #ifdef _M_CEE_PURE
81 #define _CRTDATA(x) x
82 #else
83 #define _CRTDATA(x) _CRTIMP x
84 #endif
85#endif
86
87#ifndef _CRTIMP2
88 #define _CRTIMP2 _CRTIMP
89#endif
90
91#ifndef _CRTIMP_PURE
92 #define _CRTIMP_PURE _CRTIMP
93#endif
94
95#ifndef _CRTIMP_ALTERNATIVE
96 #define _CRTIMP_ALTERNATIVE _CRTIMP
97 #define _CRT_ALTERNATIVE_IMPORTED
98#endif
99
100#ifndef _CRTIMP_NOIA64
101 #ifdef __ia64__
102 #define _CRTIMP_NOIA64
103 #else
104 #define _CRTIMP_NOIA64 _CRTIMP
105 #endif
106#endif
107
108#ifndef _MRTIMP2
109 #define _MRTIMP2 _CRTIMP
110#endif
111
112#ifndef _MCRTIMP
113 #define _MCRTIMP _CRTIMP
114#endif
115
116#ifndef _PGLOBAL
117 #define _PGLOBAL
118#endif
119
120#ifndef _AGLOBAL
121 #define _AGLOBAL
122#endif
123
124#ifndef UNALIGNED
125#if defined(__ia64__) || defined(__x86_64) || defined(__arm__) || defined(__arm64__)
126#define UNALIGNED __unaligned
127#else
128#define UNALIGNED
129#endif
130#endif
131
132#ifndef _CRTNOALIAS
133#define _CRTNOALIAS
134#endif
135
136#ifndef _CRT_UNUSED
137#define _CRT_UNUSED(x) (void)x
138#endif
139
140#define __crt_typefix(ctype)
141
142#ifndef _STATIC_ASSERT
143 #ifdef __cplusplus
144 #define _STATIC_ASSERT(expr) static_assert((expr), #expr)
145 #elif defined(__clang__) || defined(__GNUC__)
146 #define _STATIC_ASSERT(expr) _Static_assert((expr), #expr)
147 #else
148 #define _STATIC_ASSERT(expr) extern char (*__static_assert__(void)) [(expr) ? 1 : -1]
149 #endif
150#endif /* _STATIC_ASSERT */
151
154#ifndef __STDC_WANT_SECURE_LIB__
155#define __STDC_WANT_SECURE_LIB__ 1
156#endif
157
158#ifndef _CRT_INSECURE_DEPRECATE_CORE
159# ifdef _CRT_SECURE_NO_DEPRECATE_CORE
160# define _CRT_INSECURE_DEPRECATE_CORE(_Replacement)
161# else
162# define _CRT_INSECURE_DEPRECATE_CORE(_Replacement) \
163 _CRT_DEPRECATE_TEXT("This may be unsafe, Try " #_Replacement " instead! Enable _CRT_SECURE_NO_DEPRECATE to avoid thie warning.")
164# endif
165#endif
166
167#ifndef _CRT_NONSTDC_DEPRECATE
168# ifdef _CRT_NONSTDC_NO_DEPRECATE
169# define _CRT_NONSTDC_DEPRECATE(_Replacement)
170# else
171# define _CRT_NONSTDC_DEPRECATE(_Replacement) \
172 _CRT_DEPRECATE_TEXT("Deprecated POSIX name, Try " #_Replacement " instead!")
173# endif
174#endif
175
176#ifndef _CRT_INSECURE_DEPRECATE_GLOBALS
177#define _CRT_INSECURE_DEPRECATE_GLOBALS(_Replacement)
178#endif
179
180#ifndef _CRT_MANAGED_HEAP_DEPRECATE
181#define _CRT_MANAGED_HEAP_DEPRECATE
182#endif
183
184#ifndef _CRT_OBSOLETE
185#define _CRT_OBSOLETE(_NewItem)
186#endif
187
188#ifndef _CRT_JIT_INTRINSIC
189#define _CRT_JIT_INTRINSIC
190#endif
191
192
195#define _ARGMAX 100
196
197#ifndef _TRUNCATE
198#define _TRUNCATE ((size_t)-1)
199#endif
200
201#ifndef __REACTOS__
202#define __STDC_SECURE_LIB__ 200411L
203#define __GOT_SECURE_LIB__ __STDC_SECURE_LIB__
204#define _SECURECRT_FILL_BUFFER_PATTERN 0xFD
205#endif
206
207
210#ifdef __cplusplus
211extern "C" {
212#endif
213
214#ifndef _WCTYPE_T_DEFINED
215#define _WCTYPE_T_DEFINED
216 typedef unsigned short wint_t;
217 typedef unsigned short wctype_t;
218#endif
219
220#ifndef _ERRCODE_DEFINED
221#define _ERRCODE_DEFINED
222 typedef int errcode;
223 typedef int errno_t;
224#endif
225
226#ifndef _TIME32_T_DEFINED
227#define _TIME32_T_DEFINED
228 typedef long __time32_t;
229#endif
230
231#ifndef _TIME64_T_DEFINED
232#define _TIME64_T_DEFINED
233#if _INTEGRAL_MAX_BITS >= 64
234 __MINGW_EXTENSION typedef __int64 __time64_t;
235#endif
236#endif
237
238#ifndef _TIME_T_DEFINED
239#define _TIME_T_DEFINED
240#ifdef _USE_32BIT_TIME_T
242#else
243 typedef __time64_t time_t;
244#endif
245#endif
246
247struct threadmbcinfostruct;
248typedef struct threadmbcinfostruct *pthreadmbcinfo;
249
250#ifndef _TAGLC_ID_DEFINED
251#define _TAGLC_ID_DEFINED
252 typedef struct tagLC_ID {
253 unsigned short wLanguage;
254 unsigned short wCountry;
255 unsigned short wCodePage;
257#endif
258
259#ifndef _THREADLOCALEINFO
260#define _THREADLOCALEINFO
261 typedef struct threadlocaleinfostruct {
263 unsigned int lc_codepage;
264 unsigned int lc_collate_cp;
265 unsigned long lc_handle[6];
267 struct {
268 char *locale;
269 wchar_t *wlocale;
278 struct lconv *lconv;
280 unsigned short *ctype1;
281 const unsigned short *pctype;
282 const unsigned char *pclmap;
283 const unsigned char *pcumap;
286#endif
287
288struct __lc_time_data;
289
290#ifdef __cplusplus
291}
292#endif
293
294#if defined(_PREFAST_) && defined(_PFT_SHOULD_CHECK_RETURN)
295#define _Check_return_opt_ _Check_return_
296#else
297#define _Check_return_opt_
298#endif
299
300#if defined(_PREFAST_) && defined(_PFT_SHOULD_CHECK_RETURN_WAT)
301#define _Check_return_wat_ _Check_return_
302#else
303#define _Check_return_wat_
304#endif
305
306#pragma pack(pop)
307
308/* GCC-style diagnostics */
309#ifndef PRAGMA_DIAGNOSTIC_IGNORED
310# ifdef __clang__
311# define PRAGMA_DIAGNOSTIC_PUSH() _Pragma("clang diagnostic push")
312# define PRAGMA_DIAGNOSTIC_IGNORED(__x) \
313 _Pragma(_CRT_STRINGIZE(clang diagnostic ignored _CRT_DEFER_MACRO(_CRT_STRINGIZE,__x)))
314# define PRAGMA_DIAGNOSTIC_POP() _Pragma("clang diagnostic pop")
315# elif defined (__GNUC__)
316# define PRAGMA_DIAGNOSTIC_PUSH() _Pragma("GCC diagnostic push")
317# define PRAGMA_DIAGNOSTIC_IGNORED(__x) \
318 _Pragma("GCC diagnostic ignored \"-Wpragmas\"") /* This allows us to use it for unkonwn warnings */ \
319 _Pragma(_CRT_STRINGIZE(GCC diagnostic ignored _CRT_DEFER_MACRO(_CRT_STRINGIZE,__x))) \
320 _Pragma("GCC diagnostic error \"-Wpragmas\"") /* This makes sure that we don't have side effects because we disabled it for our own use. This will be popped anyway. */
321# define PRAGMA_DIAGNOSTIC_POP() _Pragma("GCC diagnostic pop")
322# else
323# define PRAGMA_DIAGNOSTIC_PUSH()
324# define PRAGMA_DIAGNOSTIC_IGNORED(__x)
325# define PRAGMA_DIAGNOSTIC_POP()
326# endif
327#endif
328
329#endif /* !_INC_CRTDEFS */
#define __MINGW_EXTENSION
Definition: _mingw.h:166
#define __int64
Definition: basetyps.h:16
struct tagLC_ID LC_ID
struct threadlocaleinfostruct threadlocinfo
struct threadmbcinfostruct * pthreadmbcinfo
Definition: crtdefs.h:248
int errcode
Definition: crtdefs.h:222
unsigned short wint_t
Definition: crtdefs.h:216
unsigned short wctype_t
Definition: crtdefs.h:217
struct tagLC_ID * LPLC_ID
__time32_t time_t
Definition: crtdefs.h:241
struct threadlocaleinfostruct * pthreadlocinfo
long __time32_t
Definition: crtdefs.h:228
int errno_t
Definition: crtdefs.h:223
long __time32_t
Definition: time.h:24
Definition: locale.h:29
unsigned short wCountry
Definition: crtdefs.h:254
unsigned short wLanguage
Definition: crtdefs.h:253
unsigned short wCodePage
Definition: crtdefs.h:255
const unsigned short * pctype
Definition: crtdefs.h:281
unsigned int lc_collate_cp
Definition: crtdefs.h:264
unsigned int lc_codepage
Definition: crtdefs.h:263
unsigned short * ctype1
Definition: crtdefs.h:280
struct threadlocaleinfostruct::@3860 lc_category[6]
unsigned long lc_handle[6]
Definition: crtdefs.h:265
struct __lc_time_data * lc_time_curr
Definition: crtdefs.h:284
const unsigned char * pclmap
Definition: crtdefs.h:282
struct lconv * lconv
Definition: crtdefs.h:278
const unsigned char * pcumap
Definition: crtdefs.h:283