1 include(__link__.m4)
2 
3 #ifndef __STDINT_H__
4 #define __STDINT_H__
5 
6 typedef signed char            int8_t;
7 typedef signed int             int16_t;
8 typedef signed long            int32_t;
9 
10 typedef unsigned char          uint8_t;
11 typedef unsigned int           uint16_t;
12 typedef unsigned long          uint32_t;
13 
14 typedef signed char            int_least8_t;
15 typedef signed int             int_least16_t;
16 typedef signed long            int_least32_t;
17 
18 typedef unsigned char          uint_least8_t;
19 typedef unsigned int           uint_least16_t;
20 typedef unsigned long          uint_least32_t;
21 
22 typedef signed int             int_fast8_t;
23 typedef signed int             int_fast16_t;
24 typedef signed long            int_fast32_t;
25 
26 typedef unsigned int           uint_fast8_t;
27 typedef unsigned int           uint_fast16_t;
28 typedef unsigned long          uint_fast32_t;
29 
30 #ifdef __CLANG
31 
32 typedef long long              int64_t;
33 typedef unsigned long long     uint64_t;
34 
35 typedef long long              int_least64_t;
36 typedef unsigned long long     uint_least64_t;
37 
38 typedef long long              int_fast64_t;
39 typedef unsigned long long     uint_fast64_t;
40 
41 #endif
42 
43 #ifdef __SDCC
44 
45 typedef long long              int64_t;
46 typedef unsigned long long     uint64_t;
47 
48 typedef long long              int_least64_t;
49 typedef unsigned long long     uint_least64_t;
50 
51 typedef long long              int_fast64_t;
52 typedef unsigned long long     uint_fast64_t;
53 
54 #endif
55 
56 #ifndef _INTPTR_T_DEFINED
57 #define _INTPTR_T_DEFINED
58 typedef int                    intptr_t;
59 #endif
60 
61 typedef unsigned int           uintptr_t;
62 
63 #ifdef __CLANG
64 
65 typedef long long              intmax_t;
66 typedef unsigned long long     uintmax_t;
67 
68 #endif
69 
70 #ifdef __SDCC
71 
72 typedef long long              intmax_t;
73 typedef unsigned long long     uintmax_t;
74 
75 #endif
76 
77 #ifdef __SCCZ80
78 
79 typedef long                   intmax_t;
80 typedef unsigned long          uintmax_t;
81 
82 #endif
83 
84 #define INT8_MIN              -128
85 #define INT16_MIN             -32768
86 #define INT32_MIN             -2147483648L
87 
88 #define INT8_MAX               127
89 #define INT16_MAX              32767
90 #define INT32_MAX              2147483647L
91 
92 #define UINT8_MAX              255U
93 #define UINT16_MAX             65535U
94 #define UINT32_MAX             4294967295UL
95 
96 #ifdef __CLANG
97 
98 #define INT64_MIN             -9223372036854775808LL
99 #define INT64_MAX              9223372036854775807LL
100 #define UINT64_MAX             18446744073709551615ULL
101 
102 #endif
103 
104 #ifdef __SDCC
105 
106 #define INT64_MIN             -9223372036854775808LL
107 #define INT64_MAX              9223372036854775807LL
108 #define UINT64_MAX             18446744073709551615ULL
109 
110 #endif
111 
112 #define INT_LEAST8_MIN        -128
113 #define INT_LEAST16_MIN       -32768
114 #define INT_LEAST32_MIN       -2147483648L
115 
116 #define INT_LEAST8_MAX         127
117 #define INT_LEAST16_MAX        32767
118 #define INT_LEAST32_MAX        2147483647L
119 
120 #define UINT_LEAST8_MAX        255U
121 #define UINT_LEAST16_MAX       65535U
122 #define UINT_LEAST32_MAX       4294967295UL
123 
124 #ifdef __CLANG
125 
126 #define INT_LEAST64_MIN       -9223372036854775808LL
127 #define INT_LEAST64_MAX        9223372036854775807LL
128 #define UINT_LEAST64_MAX       18446744073709551615ULL
129 
130 #endif
131 
132 #ifdef __SDCC
133 
134 #define INT_LEAST64_MIN       -9223372036854775808LL
135 #define INT_LEAST64_MAX        9223372036854775807LL
136 #define UINT_LEAST64_MAX       18446744073709551615ULL
137 
138 #endif
139 
140 #define INT_FAST8_MIN         -32768
141 #define INT_FAST16_MIN        -32768
142 #define INT_FAST32_MIN        -2147483648L
143 
144 #define INT_FAST8_MAX          32767
145 #define INT_FAST16_MAX         32767
146 #define INT_FAST32_MAX         2147483647L
147 
148 #define UINT_FAST8_MAX         65535U
149 #define UINT_FAST16_MAX        65535U
150 #define UINT_FAST32_MAX        4294967295UL
151 
152 #ifdef __CLANG
153 
154 #define INT_FAST64_MIN        -9223372036854775808LL
155 #define INT_FAST64_MAX         9223372036854775807LL
156 #define UINT_FAST64_MAX        18446744073709551615ULL
157 
158 #endif
159 
160 #ifdef __SDCC
161 
162 #define INT_FAST64_MIN        -9223372036854775808LL
163 #define INT_FAST64_MAX         9223372036854775807LL
164 #define UINT_FAST64_MAX        18446744073709551615ULL
165 
166 #endif
167 
168 #define INTPTR_MIN            -32768
169 #define INTPTR_MAX             32767
170 #define UINTPTR_MAX            65535U
171 
172 #ifdef __CLANG
173 
174 #define INTMAX_MIN            -9223372036854775808LL
175 #define INTMAX_MAX             9223372036854775807LL
176 #define UINTMAX_MAX            18446744073709551615ULL
177 
178 #endif
179 
180 #ifdef __SDCC
181 
182 #define INTMAX_MIN            -9223372036854775808LL
183 #define INTMAX_MAX             9223372036854775807LL
184 #define UINTMAX_MAX            18446744073709551615ULL
185 
186 #endif
187 
188 #ifdef __SCCZ80
189 
190 #define INTMAX_MIN            -2147483648L
191 #define INTMAX_MAX             2147483647L
192 #define UINTMAX_MAX            4294967295UL
193 
194 #endif
195 
196 #define PTRDIFF_MIN           -32768
197 #define PTRDIFF_MAX            32767
198 
199 // SIG_ATOMIC_MIN
200 // SIG_ATOMIC_MAX
201 
202 #define SIZE_MAX               65535U
203 
204 #define WCHAR_MIN              0
205 #define WCHAR_MAX              255U
206 
207 // WINT_MIN
208 // WINT_MAX
209 
210 #define INT8_C(value)          (value)
211 #define INT16_C(value)         (value)
212 #define INT32_C(value)         (value##L)
213 
214 #define UINT8_C(value)         (value##U)
215 #define UINT16_C(value)        (value##U)
216 #define UINT32_C(value)        (value##UL)
217 
218 #ifdef __CLANG
219 
220 #define INT64_C(value)         (value##LL)
221 #define UINT64_C(value)        (value##ULL)
222 
223 #endif
224 
225 #ifdef __SDCC
226 
227 #define INT64_C(value)         (value##LL)
228 #define UINT64_C(value)        (value##ULL)
229 
230 #endif
231 
232 #ifdef __CLANG
233 
234 #define INTMAX_C(value)        (value##LL)
235 #define UINTMAX_C(value)       (value##ULL)
236 
237 #endif
238 
239 #ifdef __SDCC
240 
241 #define INTMAX_C(value)        (value##LL)
242 #define UINTMAX_C(value)       (value##ULL)
243 
244 #endif
245 
246 #ifdef __SCCZ80
247 
248 #define INTMAX_C(value)        (value##L)
249 #define UINTMAX_C(value)       (value##UL)
250 
251 #endif
252 
253 #endif
254