23 #define __need_wchar_t
27 typedef signed char int8_t;
28 typedef unsigned char uint8_t;
29 typedef short int16_t;
30 typedef unsigned short uint16_t;
32 typedef unsigned uint32_t;
37 typedef signed char int_least8_t;
38 typedef unsigned char uint_least8_t;
39 typedef short int_least16_t;
40 typedef unsigned short uint_least16_t;
41 typedef int int_least32_t;
42 typedef unsigned uint_least32_t;
50 typedef signed char int_fast8_t;
51 typedef unsigned char uint_fast8_t;
52 typedef short int_fast16_t;
53 typedef unsigned short uint_fast16_t;
54 typedef int int_fast32_t;
55 typedef unsigned int uint_fast32_t;
61 #ifndef _INTPTR_T_DEFINED
62 #define _INTPTR_T_DEFINED
64 typedef __int64 intptr_t;
70 #ifndef _UINTPTR_T_DEFINED
71 #define _UINTPTR_T_DEFINED
73 typedef unsigned __int64 uintptr_t;
75 typedef unsigned int uintptr_t;
84 #if !defined ( __cplusplus) || defined (__STDC_LIMIT_MACROS)
87 #define INT8_MIN (-128)
88 #define INT16_MIN (-32768)
89 #define INT32_MIN (-2147483647 - 1)
90 #define INT64_MIN (-9223372036854775807LL - 1)
93 #define INT16_MAX 32767
94 #define INT32_MAX 2147483647
95 #define INT64_MAX 9223372036854775807LL
97 #define UINT8_MAX 0xff
98 #define UINT16_MAX 0xffff
99 #define UINT32_MAX 0xffffffff
100 #define UINT64_MAX 0xffffffffffffffffULL
103 #define INT_LEAST8_MIN INT8_MIN
104 #define INT_LEAST16_MIN INT16_MIN
105 #define INT_LEAST32_MIN INT32_MIN
106 #define INT_LEAST64_MIN INT64_MIN
108 #define INT_LEAST8_MAX INT8_MAX
109 #define INT_LEAST16_MAX INT16_MAX
110 #define INT_LEAST32_MAX INT32_MAX
111 #define INT_LEAST64_MAX INT64_MAX
113 #define UINT_LEAST8_MAX UINT8_MAX
114 #define UINT_LEAST16_MAX UINT16_MAX
115 #define UINT_LEAST32_MAX UINT32_MAX
116 #define UINT_LEAST64_MAX UINT64_MAX
119 #define INT_FAST8_MIN INT8_MIN
120 #define INT_FAST16_MIN INT16_MIN
121 #define INT_FAST32_MIN INT32_MIN
122 #define INT_FAST64_MIN INT64_MIN
124 #define INT_FAST8_MAX INT8_MAX
125 #define INT_FAST16_MAX INT16_MAX
126 #define INT_FAST32_MAX INT32_MAX
127 #define INT_FAST64_MAX INT64_MAX
129 #define UINT_FAST8_MAX UINT8_MAX
130 #define UINT_FAST16_MAX UINT16_MAX
131 #define UINT_FAST32_MAX UINT32_MAX
132 #define UINT_FAST64_MAX UINT64_MAX
137 #define INTPTR_MIN INT64_MIN
138 #define INTPTR_MAX INT64_MAX
139 #define UINTPTR_MAX UINT64_MAX
141 #define INTPTR_MIN INT32_MIN
142 #define INTPTR_MAX INT32_MAX
143 #define UINTPTR_MAX UINT32_MAX
147 #define INTMAX_MIN INT64_MIN
148 #define INTMAX_MAX INT64_MAX
149 #define UINTMAX_MAX UINT64_MAX
152 #define PTRDIFF_MIN INTPTR_MIN
153 #define PTRDIFF_MAX INTPTR_MAX
155 #define SIG_ATOMIC_MIN INTPTR_MIN
156 #define SIG_ATOMIC_MAX INTPTR_MAX
158 #define SIZE_MAX UINTPTR_MAX
162 #define WCHAR_MAX 0xffff
169 #define WINT_MAX 0xffff
175 #if !defined ( __cplusplus) || defined (__STDC_CONSTANT_MACROS)
190 #define INT8_C(val) val
191 #define UINT8_C(val) val
192 #define INT16_C(val) val
193 #define UINT16_C(val) val
195 #define INT32_C(val) val
196 #define UINT32_C(val) val##U
197 #define INT64_C(val) val##LL
198 #define UINT64_C(val) val##ULL
201 #define INTMAX_C(val) INT64_C(val)
202 #define UINTMAX_C(val) UINT64_C(val)