ReactOS  0.4.13-dev-92-gf251225
crtdefs.h
Go to the documentation of this file.
1 
6 #include <_mingw.h>
7 #include <specstrings.h>
8 
9 #ifndef _INC_CRTDEFS
10 #define _INC_CRTDEFS
11 
12 #ifdef _USE_32BIT_TIME_T
13 #ifdef _WIN64
14 #error You cannot use 32-bit time_t (_USE_32BIT_TIME_T) with _WIN64
15 #undef _USE_32BIT_TIME_T
16 #endif
17 #else
18 #if _INTEGRAL_MAX_BITS < 64
19 #define _USE_32BIT_TIME_T
20 #endif
21 #endif
22 
23 #undef _CRT_PACKING
24 #define _CRT_PACKING 8
25 #pragma pack(push,_CRT_PACKING)
26 
27 /* Disable non-ANSI C definitions if compiling with __STDC__ */
28 //HACK: Disabled
29 //#if __STDC__
30 //#define NO_OLDNAMES
31 //#endif
32 
33 
36 #ifndef _CRT_STRINGIZE
37 #define __CRT_STRINGIZE(_Value) #_Value
38 #define _CRT_STRINGIZE(_Value) __CRT_STRINGIZE(_Value)
39 #endif
40 
41 #ifndef _CRT_WIDE
42 #define __CRT_WIDE(_String) L ## _String
43 #define _CRT_WIDE(_String) __CRT_WIDE(_String)
44 #endif
45 
46 #ifndef _W64
47  #if !defined(_midl) && defined(_X86_) && _MSC_VER >= 1300
48  #define _W64 __w64
49  #else
50  #define _W64
51  #endif
52 #endif
53 
54 #ifndef _CRTIMP
55  #ifdef CRTDLL /* Defined for ntdll, crtdll, msvcrt, etc */
56  #define _CRTIMP
57  #elif defined(_DLL)
58  #define _CRTIMP __declspec(dllimport)
59  #else /* !CRTDLL && !_DLL */
60  #define _CRTIMP
61  #endif /* CRTDLL || _DLL */
62 #endif /* !_CRTIMP */
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 _CONST_RETURN
125  #define _CONST_RETURN
126 #endif
127 
128 #ifndef UNALIGNED
129 #if defined(__ia64__) || defined(__x86_64) || defined(__arm__)
130 #define UNALIGNED __unaligned
131 #else
132 #define UNALIGNED
133 #endif
134 #endif
135 
136 #ifndef _CRT_ALIGN
137 #if defined (__midl) || defined(__WIDL__)
138 #define _CRT_ALIGN(x)
139 #elif defined(_MSC_VER)
140 #define _CRT_ALIGN(x) __declspec(align(x))
141 #else
142 #define _CRT_ALIGN(x) __attribute__ ((aligned(x)))
143 #endif
144 #endif
145 
146 #ifndef _CRTNOALIAS
147 #define _CRTNOALIAS
148 #endif
149 
150 #ifndef _CRTRESTRICT
151 #define _CRTRESTRICT
152 #endif
153 
154 #ifndef __CRTDECL
155 #define __CRTDECL __cdecl
156 #endif
157 
158 #ifndef _CRT_UNUSED
159 #define _CRT_UNUSED(x) (void)x
160 #endif
161 
162 #ifndef _CONST_RETURN
163 #ifdef __cplusplus
164 #define _CONST_RETURN const
165 #define _CRT_CONST_CORRECT_OVERLOADS
166 #else
167 #define _CONST_RETURN
168 #endif
169 #endif
170 
171 #define __crt_typefix(ctype)
172 
173 
176 #ifdef __GNUC__
177 #define _CRT_DEPRECATE_TEXT(_Text) __attribute__ ((deprecated))
178 #elif defined(_MSC_VER)
179 #define _CRT_DEPRECATE_TEXT(_Text) __declspec(deprecated(_Text))
180 #else
181 #define _CRT_DEPRECATE_TEXT(_Text)
182 #endif
183 
184 #ifndef __STDC_WANT_SECURE_LIB__
185 #define __STDC_WANT_SECURE_LIB__ 1
186 #endif
187 
188 #ifndef _CRT_INSECURE_DEPRECATE
189 # ifdef _CRT_SECURE_NO_DEPRECATE
190 # define _CRT_INSECURE_DEPRECATE(_Replacement)
191 # else
192 # define _CRT_INSECURE_DEPRECATE(_Replacement) \
193  _CRT_DEPRECATE_TEXT("This may be unsafe, Try " #_Replacement " instead!")
194 # endif
195 #endif
196 
197 #ifndef _CRT_INSECURE_DEPRECATE_CORE
198 # ifdef _CRT_SECURE_NO_DEPRECATE_CORE
199 # define _CRT_INSECURE_DEPRECATE_CORE(_Replacement)
200 # else
201 # define _CRT_INSECURE_DEPRECATE_CORE(_Replacement) \
202  _CRT_DEPRECATE_TEXT("This may be unsafe, Try " #_Replacement " instead! Enable _CRT_SECURE_NO_DEPRECATE to avoid thie warning.")
203 # endif
204 #endif
205 
206 #ifndef _CRT_NONSTDC_DEPRECATE
207 # ifdef _CRT_NONSTDC_NO_DEPRECATE
208 # define _CRT_NONSTDC_DEPRECATE(_Replacement)
209 # else
210 # define _CRT_NONSTDC_DEPRECATE(_Replacement) \
211  _CRT_DEPRECATE_TEXT("Deprecated POSIX name, Try " #_Replacement " instead!")
212 # endif
213 #endif
214 
215 #ifndef _CRT_INSECURE_DEPRECATE_MEMORY
216 #define _CRT_INSECURE_DEPRECATE_MEMORY(_Replacement)
217 #endif
218 
219 #ifndef _CRT_INSECURE_DEPRECATE_GLOBALS
220 #define _CRT_INSECURE_DEPRECATE_GLOBALS(_Replacement)
221 #endif
222 
223 #ifndef _CRT_MANAGED_HEAP_DEPRECATE
224 #define _CRT_MANAGED_HEAP_DEPRECATE
225 #endif
226 
227 #ifndef _CRT_OBSOLETE
228 #define _CRT_OBSOLETE(_NewItem)
229 #endif
230 
231 #ifndef _CRT_JIT_INTRINSIC
232 #define _CRT_JIT_INTRINSIC
233 #endif
234 
235 
238 #define _ARGMAX 100
239 
240 #ifndef _TRUNCATE
241 #define _TRUNCATE ((size_t)-1)
242 #endif
243 
244 #ifndef __REACTOS__
245 #define __STDC_SECURE_LIB__ 200411L
246 #define __GOT_SECURE_LIB__ __STDC_SECURE_LIB__
247 #define _SECURECRT_FILL_BUFFER_PATTERN 0xFD
248 #endif
249 
250 
253 #ifdef __cplusplus
254 extern "C" {
255 #endif
256 
257 #ifndef _SIZE_T_DEFINED
258 #define _SIZE_T_DEFINED
259 #undef size_t
260 #ifdef _WIN64
261 #if defined(__GNUC__) && defined(__STRICT_ANSI__)
262  typedef unsigned int size_t __attribute__ ((mode (DI)));
263 #else
264  __MINGW_EXTENSION typedef unsigned __int64 size_t;
265 #endif
266 #else
267  typedef unsigned int size_t;
268 #endif
269 #endif
270 
271 #ifndef _INTPTR_T_DEFINED
272 #define _INTPTR_T_DEFINED
273 #ifndef __intptr_t_defined
274 #define __intptr_t_defined
275 #undef intptr_t
276 #ifdef _WIN64
277 #if defined(__GNUC__) && defined(__STRICT_ANSI__)
278  typedef int intptr_t __attribute__ ((mode (DI)));
279 #else
281 #endif
282 #else
283  typedef int intptr_t;
284 #endif
285 #endif
286 #endif
287 
288 #ifndef _UINTPTR_T_DEFINED
289 #define _UINTPTR_T_DEFINED
290 #ifndef __uintptr_t_defined
291 #define __uintptr_t_defined
292 #undef uintptr_t
293 #ifdef _WIN64
294 #if defined(__GNUC__) && defined(__STRICT_ANSI__)
295  typedef unsigned int uintptr_t __attribute__ ((mode (DI)));
296 #else
297  __MINGW_EXTENSION typedef unsigned __int64 uintptr_t;
298 #endif
299 #else
300  typedef unsigned int uintptr_t;
301 #endif
302 #endif
303 #endif
304 
305 #ifndef _PTRDIFF_T_DEFINED
306 #define _PTRDIFF_T_DEFINED
307 #ifndef _PTRDIFF_T_
308 #undef ptrdiff_t
309 #ifdef _WIN64
310 #if defined(__GNUC__) && defined(__STRICT_ANSI__)
311  typedef int ptrdiff_t __attribute__ ((mode (DI)));
312 #else
314 #endif
315 #else
316  typedef int ptrdiff_t;
317 #endif
318 #endif
319 #endif
320 
321 #ifndef _WCHAR_T_DEFINED
322 #define _WCHAR_T_DEFINED
323 #if defined(_MSC_VER) || !defined(__cplusplus)
324  typedef unsigned short wchar_t;
325 #endif
326 #endif
327 
328 #ifndef _WCTYPE_T_DEFINED
329 #define _WCTYPE_T_DEFINED
330  typedef unsigned short wint_t;
331  typedef unsigned short wctype_t;
332 #endif
333 
334 #ifdef __GNUC__
335 #ifndef __GNUC_VA_LIST
336 #define __GNUC_VA_LIST
337  typedef __builtin_va_list __gnuc_va_list;
338 #endif
339 #endif
340 
341 #ifndef _VA_LIST_DEFINED
342 #define _VA_LIST_DEFINED
343 #if defined(__GNUC__)
344  typedef __gnuc_va_list va_list;
345 #elif defined(_MSC_VER)
346  typedef _Writable_bytes_(_Inexpressible_("length varies")) char * va_list;
347 #endif
348 #endif
349 
350 #ifndef _ERRCODE_DEFINED
351 #define _ERRCODE_DEFINED
352  typedef int errcode;
353  typedef int errno_t;
354 #endif
355 
356 #ifndef _TIME32_T_DEFINED
357 #define _TIME32_T_DEFINED
358  typedef long __time32_t;
359 #endif
360 
361 #ifndef _TIME64_T_DEFINED
362 #define _TIME64_T_DEFINED
363 #if _INTEGRAL_MAX_BITS >= 64
365 #endif
366 #endif
367 
368 #ifndef _TIME_T_DEFINED
369 #define _TIME_T_DEFINED
370 #ifdef _USE_32BIT_TIME_T
371  typedef __time32_t time_t;
372 #else
374 #endif
375 #endif
376 
377 struct threadmbcinfostruct;
378 typedef struct threadmbcinfostruct *pthreadmbcinfo;
379 
380 #ifndef _TAGLC_ID_DEFINED
381 #define _TAGLC_ID_DEFINED
382  typedef struct tagLC_ID {
383  unsigned short wLanguage;
384  unsigned short wCountry;
385  unsigned short wCodePage;
386  } LC_ID,*LPLC_ID;
387 #endif
388 
389 #ifndef _THREADLOCALEINFO
390 #define _THREADLOCALEINFO
391  typedef struct threadlocaleinfostruct {
392  int refcount;
393  unsigned int lc_codepage;
394  unsigned int lc_collate_cp;
395  unsigned long lc_handle[6];
397  struct {
398  char *locale;
399  wchar_t *wlocale;
400  int *refcount;
401  int *wrefcount;
402  } lc_category[6];
403  int lc_clike;
408  struct lconv *lconv;
410  unsigned short *ctype1;
411  const unsigned short *pctype;
412  const unsigned char *pclmap;
413  const unsigned char *pcumap;
416 #endif
417 
418 struct __lc_time_data;
419 
420 typedef struct localeinfo_struct {
424 
425 #ifdef __cplusplus
426 }
427 #endif
428 
429 #pragma pack(pop)
430 
431 #endif /* !_INC_CRTDEFS */
struct lconv * lconv
Definition: crtdefs.h:408
pthreadlocinfo locinfo
Definition: crtdefs.h:421
pthreadmbcinfo mbcinfo
Definition: crtdefs.h:422
struct threadlocaleinfostruct threadlocinfo
unsigned short wLanguage
Definition: crtdefs.h:383
__time64_t time_t
Definition: crtdefs.h:373
struct threadmbcinfostruct * pthreadmbcinfo
Definition: crtdefs.h:378
long __time32_t
Definition: crtdefs.h:358
unsigned short wctype_t
Definition: crtdefs.h:331
unsigned int size_t
Definition: crtdefs.h:267
unsigned long lc_handle[6]
Definition: crtdefs.h:395
#define __attribute__(Spec)
Definition: hlsl.tab.c:1213
unsigned short wint_t
Definition: crtdefs.h:330
unsigned short wCountry
Definition: crtdefs.h:384
struct threadlocaleinfostruct * pthreadlocinfo
struct localeinfo_struct * _locale_t
Definition: string.c:95
unsigned short wCodePage
Definition: crtdefs.h:385
unsigned int uintptr_t
Definition: crtdefs.h:300
#define __MINGW_EXTENSION
Definition: _mingw.h:148
unsigned int lc_codepage
Definition: crtdefs.h:393
unsigned char
Definition: typeof.h:29
Definition: locale.h:37
char * va_list
Definition: acmsvcex.h:78
int errno_t
Definition: crtdefs.h:353
unsigned short wchar_t
Definition: crtdefs.h:324
struct threadlocaleinfostruct::@1801 lc_category[6]
struct localeinfo_struct _locale_tstruct
int errcode
Definition: crtdefs.h:352
int intptr_t
Definition: crtdefs.h:283
int ptrdiff_t
Definition: crtdefs.h:316
const unsigned short * pctype
Definition: crtdefs.h:411
struct __lc_time_data * lc_time_curr
Definition: crtdefs.h:414
const unsigned char * pclmap
Definition: crtdefs.h:412
#define _Writable_bytes_(size)
Definition: no_sal2.h:640
GLenum mode
Definition: glext.h:6217
const unsigned char * pcumap
Definition: crtdefs.h:413
__kernel_ptrdiff_t ptrdiff_t
Definition: linux.h:247
struct tagLC_ID * LPLC_ID
struct tagLC_ID LC_ID
unsigned int lc_collate_cp
Definition: crtdefs.h:394
unsigned short * ctype1
Definition: crtdefs.h:410
#define __int64
Definition: basetyps.h:16
__MINGW_EXTENSION typedef __int64 __time64_t
Definition: crtdefs.h:364