ReactOS 0.4.16-dev-250-g3ecd236
vcruntime.h
Go to the documentation of this file.
1
2#pragma once
3
4#include <_mingw.h>
5#include <sal.h>
6#include <vadefs.h>
7
8#define _CRT_STRINGIZE_(_Value) #_Value
9#define _CRT_STRINGIZE(_Value) _CRT_STRINGIZE_(_Value)
10
11#define _CRT_WIDE_(_String) L ## _String
12#define _CRT_WIDE(_String) _CRT_WIDE_(_String)
13
14#define _CRT_CONCATENATE_(a, b) a ## b
15#define _CRT_CONCATENATE(a, b) _CRT_CONCATENATE_(a, b)
16
17#define _CRT_UNPARENTHESIZE_(...) __VA_ARGS__
18#define _CRT_UNPARENTHESIZE(...) _CRT_UNPARENTHESIZE_ __VA_ARGS__
19
20#ifndef _MSC_VER
21#define __pragma(x) _Pragma(_CRT_STRINGIZE(x))
22#endif
23
24#ifdef __cplusplus
25 #define _CRT_BEGIN_C_HEADER \
26 __pragma(pack(push, _CRT_PACKING_IDENTIFIER, _CRT_PACKING)) \
27 extern "C" {
28 #define _CRT_END_C_HEADER \
29 } \
30 __pragma(pack(pop, _CRT_PACKING_IDENTIFIER))
31#else
32 #define _CRT_BEGIN_C_HEADER \
33 __pragma(pack(push, _CRT_PACKING_IDENTIFIER, _CRT_PACKING))
34 #define _CRT_END_C_HEADER \
35 __pragma(pack(pop, _CRT_PACKING_IDENTIFIER))
36#endif
37
39
40#ifndef _CRTIMP
41 #ifdef CRTDLL /* Defined for ntdll, crtdll, msvcrt, etc */
42 #define _CRTIMP
43 #elif defined(_DLL)
44 #define _CRTIMP __declspec(dllimport)
45 #else /* !CRTDLL && !_DLL */
46 #define _CRTIMP
47 #endif /* CRTDLL || _DLL */
48#endif /* !_CRTIMP */
49
50#ifndef _VCRTIMP
51 #ifndef _VCRT_DEFINED_CRTIMP
52 #define _VCRTIMP _CRTIMP
53 #elif defined(_VCRT_BUILD) && defined(CRTDLL) && !defined(_VCRT_SAT_1)
54 #define _VCRTIMP __declspec(dllexport)
55 #else
56 #define _VCRTIMP
57 #endif
58#endif
59
60#ifndef __CRTDECL
61#define __CRTDECL __cdecl
62#endif
63
64#ifndef _CONST_RETURN
65#ifdef __cplusplus
66#define _CONST_RETURN const
67#define _CRT_CONST_CORRECT_OVERLOADS
68#else
69#define _CONST_RETURN
70#endif
71#endif
72
73#ifdef __GNUC__
74#define _CRT_DEPRECATE_TEXT(_Text) __attribute__ ((deprecated))
75#elif defined(_MSC_VER)
76#define _CRT_DEPRECATE_TEXT(_Text) __declspec(deprecated(_Text))
77#else
78#define _CRT_DEPRECATE_TEXT(_Text)
79#endif
80
81#ifndef _CRT_INSECURE_DEPRECATE
82# ifdef _CRT_SECURE_NO_DEPRECATE
83# define _CRT_INSECURE_DEPRECATE(_Replacement)
84# else
85# define _CRT_INSECURE_DEPRECATE(_Replacement) \
86 _CRT_DEPRECATE_TEXT("This may be unsafe, Try " #_Replacement " instead!")
87# endif
88#endif
89
90#ifndef _CRT_INSECURE_DEPRECATE_MEMORY
91#define _CRT_INSECURE_DEPRECATE_MEMORY(_Replacement)
92#endif
93
94#ifndef _SIZE_T_DEFINED
95#define _SIZE_T_DEFINED
96#undef size_t
97#ifdef _WIN64
98#if defined(__GNUC__) && defined(__STRICT_ANSI__)
99 typedef unsigned int size_t __attribute__ ((mode (DI)));
100#else
101 typedef unsigned __int64 size_t;
102#endif
103#else
104 typedef unsigned int size_t;
105#endif
106#endif
107
108#ifndef _INTPTR_T_DEFINED
109#define _INTPTR_T_DEFINED
110#ifndef __intptr_t_defined
111#define __intptr_t_defined
112#undef intptr_t
113#ifdef _WIN64
114#if defined(__GNUC__) && defined(__STRICT_ANSI__)
115 typedef int intptr_t __attribute__ ((mode (DI)));
116#else
117 typedef __int64 intptr_t;
118#endif
119#else
120 typedef int intptr_t;
121#endif
122#endif
123#endif
124
125#ifndef _PTRDIFF_T_DEFINED
126#define _PTRDIFF_T_DEFINED
127#ifndef _PTRDIFF_T_
128#undef ptrdiff_t
129#ifdef _WIN64
130#if defined(__GNUC__) && defined(__STRICT_ANSI__)
131 typedef int ptrdiff_t __attribute__ ((mode (DI)));
132#else
134#endif
135#else
136 typedef int ptrdiff_t;
137#endif
138#endif
139#endif
140
141#ifndef _WCHAR_T_DEFINED
142#define _WCHAR_T_DEFINED
143#if defined(_MSC_VER) || !defined(__cplusplus)
144 typedef unsigned short wchar_t;
145#endif
146#endif
147
148#ifndef _CRT_ALIGN
149 #if defined (__midl) || defined(__WIDL__)
150 #define _CRT_ALIGN(x)
151 #elif defined(_MSC_VER)
152 #define _CRT_ALIGN(x) __declspec(align(x))
153 #else
154 #define _CRT_ALIGN(x) __attribute__ ((aligned(x)))
155 #endif
156#endif
157
158#if defined (__midl) || defined(__WIDL__)
159 #define _VCRT_ALIGN(x)
160#elif defined(_MSC_VER)
161 #define _CRT_ALIGN(x) __declspec(align(x))
162#else
163 #define _VCRT_ALIGN(x) __attribute__ ((aligned(x)))
164#endif
165
166#if defined __cplusplus
167 typedef bool __vcrt_bool;
168#elif defined __midl
169 typedef char __vcrt_bool;
170#else
171 typedef _Bool __vcrt_bool;
172#endif
173
174#ifndef _HAS_NODISCARD
175 #ifndef __has_cpp_attribute
176 #define _HAS_NODISCARD 0
177 #elif __has_cpp_attribute(nodiscard) >= 201603L
178 #define _HAS_NODISCARD 1
179 #else
180 #define _HAS_NODISCARD 0
181 #endif
182#endif // _HAS_NODISCARD
183
184#if _HAS_NODISCARD
185 #define _NODISCARD [[nodiscard]]
186#else
187 #define _NODISCARD
188#endif // _HAS_NODISCARD
189
190#if defined _M_X64 || defined _M_ARM || defined _M_ARM64
191 #define _UNALIGNED __unaligned
192#else
193 #define _UNALIGNED
194#endif
195
196#ifdef __cplusplus
197 // Safer than the C definition, as it ensures that the argument is not a pointer
198 extern "C++" template<typename _T, size_t _Size>
199 char (*__crt_countof_helper(_UNALIGNED _T(&_Array)[_Size]))[_Size];
200 #define __crt_countof(_Array) sizeof(*__crt_countof_helper(_Array))
201#else
202 #define __crt_countof(_Array) (sizeof(_Array) / sizeof(_Array[0]))
203#endif
204
207
#define __MINGW_EXTENSION
Definition: _mingw.h:166
#define __cdecl
Definition: accygwin.h:79
#define __int64
Definition: basetyps.h:16
#define __attribute__(x)
Definition: wpp_private.h:207
unsigned char
Definition: typeof.h:29
__kernel_ptrdiff_t ptrdiff_t
Definition: linux.h:247
GLenum mode
Definition: glext.h:6217
_Check_return_ _Ret_maybenull_ _In_ size_t _In_ size_t _Size
Definition: malloc.h:109
unsigned int uintptr_t
Definition: intrin.h:47
_Bool __vcrt_bool
Definition: vcruntime.h:171
int intptr_t
Definition: vcruntime.h:120
uintptr_t __security_cookie
Definition: gs_support.c:49
#define _UNALIGNED
Definition: vcruntime.h:193
#define _CRT_END_C_HEADER
Definition: vcruntime.h:34
unsigned int size_t
Definition: vcruntime.h:104
#define _CRT_BEGIN_C_HEADER
Definition: vcruntime.h:32
unsigned short wchar_t
Definition: vcruntime.h:144
void __cdecl __security_init_cookie(void)
Definition: gs_support.c:55
int ptrdiff_t
Definition: vcruntime.h:136
#define _T(x)
Definition: vfdio.h:22