OSDN Git Service

projects clean up 1
[pinoc/pinoc.git] / test / Standart_startup / lib / include / inttypes.h
1 /*
2  * Copyright (c) 2004, 2005 by
3  * Ralf Corsepius, Ulm/Germany. All rights reserved.
4  *
5  * Permission to use, copy, modify, and distribute this software
6  * is freely granted, provided that this notice is preserved.
7  */
8
9 /**
10  *  @file  inttypes.h
11  */
12
13 #ifndef _INTTYPES_H
14 #define _INTTYPES_H
15
16 #include <stdint.h>
17 #define __need_wchar_t
18 #include <stddef.h>
19
20 #define __STRINGIFY(a) #a
21
22 /* 8-bit types */
23 #define __PRI8(x) __STRINGIFY(x)
24 #define __SCN8(x) __STRINGIFY(hh##x)
25
26
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)
33
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)
39
40
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)
47
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)
53
54
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)
61
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)
67
68 /* 16-bit types */
69 #define __PRI16(x) __STRINGIFY(x)
70 #define __SCN16(x) __STRINGIFY(h##x)
71
72
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)
79
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)
85
86
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)
93
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)
99
100
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)
107
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)
113
114 /* 32-bit types */
115 #if __have_long32
116 #define __PRI32(x) __STRINGIFY(l##x)
117 #define __SCN32(x) __STRINGIFY(l##x)
118 #else
119 #define __PRI32(x) __STRINGIFY(x)
120 #define __SCN32(x) __STRINGIFY(x)
121 #endif
122
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)
129
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)
135
136
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)
143
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)
149
150
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)
157
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)
163
164
165 /* 64-bit types */
166 #if __have_long64
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)
172 #else
173 #define __PRI64(x) __STRINGIFY(x)
174 #define __SCN64(x) __STRINGIFY(x)
175 #endif
176
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)
183
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)
189
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)
197
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)
203
204
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)
211
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)
217 #endif
218
219 /* max-bit types */
220 #if __have_long64
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)
226 #else
227 #define __PRIMAX(x) __STRINGIFY(x)
228 #define __SCNMAX(x) __STRINGIFY(x)
229 #endif
230
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)
237
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)
243
244 /* ptr types */
245 #if __have_long64
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)
251 #else
252 #define __PRIPTR(x) __STRINGIFY(x)
253 #define __SCNPTR(x) __STRINGIFY(x)
254 #endif
255
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)
262
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)
268
269
270 typedef struct {
271   intmax_t      quot;
272   intmax_t      rem;
273 } imaxdiv_t;
274
275 #ifdef __cplusplus
276 extern "C" {
277 #endif
278
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);
285
286 #ifdef __cplusplus
287 }
288 #endif
289
290 #endif