2 * Copyright (c) 2004, 2005 by
3 * Ralf Corsepius, Ulm/Germany. All rights reserved.
5 * Permission to use, copy, modify, and distribute this software
6 * is freely granted, provided that this notice is preserved.
17 #define __need_wchar_t
20 #define __STRINGIFY(a) #a
23 #define __PRI8(x) __STRINGIFY(x)
24 #define __SCN8(x) __STRINGIFY(hh##x)
27 #define PRId8 __PRI8(d)
28 #define PRIi8 __PRI8(i)
29 #define PRIo8 __PRI8(o)
30 #define PRIu8 __PRI8(u)
31 #define PRIx8 __PRI8(x)
32 #define PRIX8 __PRI8(X)
34 #define SCNd8 __SCN8(d)
35 #define SCNi8 __SCN8(i)
36 #define SCNo8 __SCN8(o)
37 #define SCNu8 __SCN8(u)
38 #define SCNx8 __SCN8(x)
41 #define PRIdLEAST8 __PRI8(d)
42 #define PRIiLEAST8 __PRI8(i)
43 #define PRIoLEAST8 __PRI8(o)
44 #define PRIuLEAST8 __PRI8(u)
45 #define PRIxLEAST8 __PRI8(x)
46 #define PRIXLEAST8 __PRI8(X)
48 #define SCNdLEAST8 __SCN8(d)
49 #define SCNiLEAST8 __SCN8(i)
50 #define SCNoLEAST8 __SCN8(o)
51 #define SCNuLEAST8 __SCN8(u)
52 #define SCNxLEAST8 __SCN8(x)
55 #define PRIdFAST8 __PRI8(d)
56 #define PRIiFAST8 __PRI8(i)
57 #define PRIoFAST8 __PRI8(o)
58 #define PRIuFAST8 __PRI8(u)
59 #define PRIxFAST8 __PRI8(x)
60 #define PRIXFAST8 __PRI8(X)
62 #define SCNdFAST8 __SCN8(d)
63 #define SCNiFAST8 __SCN8(i)
64 #define SCNoFAST8 __SCN8(o)
65 #define SCNuFAST8 __SCN8(u)
66 #define SCNxFAST8 __SCN8(x)
69 #define __PRI16(x) __STRINGIFY(x)
70 #define __SCN16(x) __STRINGIFY(h##x)
73 #define PRId16 __PRI16(d)
74 #define PRIi16 __PRI16(i)
75 #define PRIo16 __PRI16(o)
76 #define PRIu16 __PRI16(u)
77 #define PRIx16 __PRI16(x)
78 #define PRIX16 __PRI16(X)
80 #define SCNd16 __SCN16(d)
81 #define SCNi16 __SCN16(i)
82 #define SCNo16 __SCN16(o)
83 #define SCNu16 __SCN16(u)
84 #define SCNx16 __SCN16(x)
87 #define PRIdLEAST16 __PRI16(d)
88 #define PRIiLEAST16 __PRI16(i)
89 #define PRIoLEAST16 __PRI16(o)
90 #define PRIuLEAST16 __PRI16(u)
91 #define PRIxLEAST16 __PRI16(x)
92 #define PRIXLEAST16 __PRI16(X)
94 #define SCNdLEAST16 __SCN16(d)
95 #define SCNiLEAST16 __SCN16(i)
96 #define SCNoLEAST16 __SCN16(o)
97 #define SCNuLEAST16 __SCN16(u)
98 #define SCNxLEAST16 __SCN16(x)
101 #define PRIdFAST16 __PRI16(d)
102 #define PRIiFAST16 __PRI16(i)
103 #define PRIoFAST16 __PRI16(o)
104 #define PRIuFAST16 __PRI16(u)
105 #define PRIxFAST16 __PRI16(x)
106 #define PRIXFAST16 __PRI16(X)
108 #define SCNdFAST16 __SCN16(d)
109 #define SCNiFAST16 __SCN16(i)
110 #define SCNoFAST16 __SCN16(o)
111 #define SCNuFAST16 __SCN16(u)
112 #define SCNxFAST16 __SCN16(x)
116 #define __PRI32(x) __STRINGIFY(l##x)
117 #define __SCN32(x) __STRINGIFY(l##x)
119 #define __PRI32(x) __STRINGIFY(x)
120 #define __SCN32(x) __STRINGIFY(x)
123 #define PRId32 __PRI32(d)
124 #define PRIi32 __PRI32(i)
125 #define PRIo32 __PRI32(o)
126 #define PRIu32 __PRI32(u)
127 #define PRIx32 __PRI32(x)
128 #define PRIX32 __PRI32(X)
130 #define SCNd32 __SCN32(d)
131 #define SCNi32 __SCN32(i)
132 #define SCNo32 __SCN32(o)
133 #define SCNu32 __SCN32(u)
134 #define SCNx32 __SCN32(x)
137 #define PRIdLEAST32 __PRI32(d)
138 #define PRIiLEAST32 __PRI32(i)
139 #define PRIoLEAST32 __PRI32(o)
140 #define PRIuLEAST32 __PRI32(u)
141 #define PRIxLEAST32 __PRI32(x)
142 #define PRIXLEAST32 __PRI32(X)
144 #define SCNdLEAST32 __SCN32(d)
145 #define SCNiLEAST32 __SCN32(i)
146 #define SCNoLEAST32 __SCN32(o)
147 #define SCNuLEAST32 __SCN32(u)
148 #define SCNxLEAST32 __SCN32(x)
151 #define PRIdFAST32 __PRI32(d)
152 #define PRIiFAST32 __PRI32(i)
153 #define PRIoFAST32 __PRI32(o)
154 #define PRIuFAST32 __PRI32(u)
155 #define PRIxFAST32 __PRI32(x)
156 #define PRIXFAST32 __PRI32(X)
158 #define SCNdFAST32 __SCN32(d)
159 #define SCNiFAST32 __SCN32(i)
160 #define SCNoFAST32 __SCN32(o)
161 #define SCNuFAST32 __SCN32(u)
162 #define SCNxFAST32 __SCN32(x)
167 #define __PRI64(x) __STRINGIFY(l##x)
168 #define __SCN64(x) __STRINGIFY(l##x)
169 #elif __have_longlong64
170 #define __PRI64(x) __STRINGIFY(ll##x)
171 #define __SCN64(x) __STRINGIFY(ll##x)
173 #define __PRI64(x) __STRINGIFY(x)
174 #define __SCN64(x) __STRINGIFY(x)
177 #define PRId64 __PRI64(d)
178 #define PRIi64 __PRI64(i)
179 #define PRIo64 __PRI64(o)
180 #define PRIu64 __PRI64(u)
181 #define PRIx64 __PRI64(x)
182 #define PRIX64 __PRI64(X)
184 #define SCNd64 __SCN64(d)
185 #define SCNi64 __SCN64(i)
186 #define SCNo64 __SCN64(o)
187 #define SCNu64 __SCN64(u)
188 #define SCNx64 __SCN64(x)
190 #if __int64_t_defined
191 #define PRIdLEAST64 __PRI64(d)
192 #define PRIiLEAST64 __PRI64(i)
193 #define PRIoLEAST64 __PRI64(o)
194 #define PRIuLEAST64 __PRI64(u)
195 #define PRIxLEAST64 __PRI64(x)
196 #define PRIXLEAST64 __PRI64(X)
198 #define SCNdLEAST64 __SCN64(d)
199 #define SCNiLEAST64 __SCN64(i)
200 #define SCNoLEAST64 __SCN64(o)
201 #define SCNuLEAST64 __SCN64(u)
202 #define SCNxLEAST64 __SCN64(x)
205 #define PRIdFAST64 __PRI64(d)
206 #define PRIiFAST64 __PRI64(i)
207 #define PRIoFAST64 __PRI64(o)
208 #define PRIuFAST64 __PRI64(u)
209 #define PRIxFAST64 __PRI64(x)
210 #define PRIXFAST64 __PRI64(X)
212 #define SCNdFAST64 __SCN64(d)
213 #define SCNiFAST64 __SCN64(i)
214 #define SCNoFAST64 __SCN64(o)
215 #define SCNuFAST64 __SCN64(u)
216 #define SCNxFAST64 __SCN64(x)
221 #define __PRIMAX(x) __STRINGIFY(l##x)
222 #define __SCNMAX(x) __STRINGIFY(l##x)
223 #elif __have_longlong64
224 #define __PRIMAX(x) __STRINGIFY(ll##x)
225 #define __SCNMAX(x) __STRINGIFY(ll##x)
227 #define __PRIMAX(x) __STRINGIFY(x)
228 #define __SCNMAX(x) __STRINGIFY(x)
231 #define PRIdMAX __PRIMAX(d)
232 #define PRIiMAX __PRIMAX(i)
233 #define PRIoMAX __PRIMAX(o)
234 #define PRIuMAX __PRIMAX(u)
235 #define PRIxMAX __PRIMAX(x)
236 #define PRIXMAX __PRIMAX(X)
238 #define SCNdMAX __SCNMAX(d)
239 #define SCNiMAX __SCNMAX(i)
240 #define SCNoMAX __SCNMAX(o)
241 #define SCNuMAX __SCNMAX(u)
242 #define SCNxMAX __SCNMAX(x)
246 #define __PRIPTR(x) __STRINGIFY(l##x)
247 #define __SCNPTR(x) __STRINGIFY(l##x)
248 #elif __have_longlong64
249 #define __PRIPTR(x) __STRINGIFY(ll##x)
250 #define __SCNPTR(x) __STRINGIFY(ll##x)
252 #define __PRIPTR(x) __STRINGIFY(x)
253 #define __SCNPTR(x) __STRINGIFY(x)
256 #define PRIdPTR __PRIPTR(d)
257 #define PRIiPTR __PRIPTR(i)
258 #define PRIoPTR __PRIPTR(o)
259 #define PRIuPTR __PRIPTR(u)
260 #define PRIxPTR __PRIPTR(x)
261 #define PRIXPTR __PRIPTR(X)
263 #define SCNdPTR __SCNPTR(d)
264 #define SCNiPTR __SCNPTR(i)
265 #define SCNoPTR __SCNPTR(o)
266 #define SCNuPTR __SCNPTR(u)
267 #define SCNxPTR __SCNPTR(x)
279 extern intmax_t imaxabs(intmax_t j);
280 extern imaxdiv_t imaxdiv(intmax_t numer, intmax_t denomer);
281 extern intmax_t strtoimax(const char *__restrict, char **__restrict, int);
282 extern uintmax_t strtoumax(const char *__restrict, char **__restrict, int);
283 extern intmax_t wcstoimax(const wchar_t *__restrict, wchar_t **__restrict, int);
284 extern uintmax_t wcstoumax(const wchar_t *__restrict, wchar_t **__restrict, int);