]>
Commit | Line | Data |
---|---|---|
320054e8 DG |
1 | #ifndef _INTTYPES_H |
2 | #define _INTTYPES_H | |
3 | ||
ad22a590 | 4 | #ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ |
320054e8 DG |
5 | #ifdef __cplusplus |
6 | extern "C" { | |
7 | #endif | |
8 | ||
9 | #include <features.h> | |
10 | #include <stdint.h> | |
11 | ||
12 | #define __NEED_wchar_t | |
13 | #include <bits/alltypes.h> | |
14 | ||
15 | typedef struct { intmax_t quot, rem; } imaxdiv_t; | |
16 | ||
17 | intmax_t imaxabs(intmax_t); | |
18 | imaxdiv_t imaxdiv(intmax_t, intmax_t); | |
19 | ||
20 | intmax_t strtoimax(const char *__restrict, char **__restrict, int); | |
21 | uintmax_t strtoumax(const char *__restrict, char **__restrict, int); | |
22 | ||
23 | intmax_t wcstoimax(const wchar_t *__restrict, wchar_t **__restrict, int); | |
24 | uintmax_t wcstoumax(const wchar_t *__restrict, wchar_t **__restrict, int); | |
25 | ||
26 | #if UINTPTR_MAX == UINT64_MAX | |
27 | #define __PRI64 "l" | |
28 | #define __PRIPTR "l" | |
29 | #else | |
30 | #define __PRI64 "ll" | |
31 | #define __PRIPTR "" | |
32 | #endif | |
33 | ||
34 | #define PRId8 "d" | |
35 | #define PRId16 "d" | |
36 | #define PRId32 "d" | |
37 | #define PRId64 __PRI64 "d" | |
38 | ||
39 | #define PRIdLEAST8 "d" | |
40 | #define PRIdLEAST16 "d" | |
41 | #define PRIdLEAST32 "d" | |
42 | #define PRIdLEAST64 __PRI64 "d" | |
43 | ||
44 | #define PRIdFAST8 "d" | |
45 | #define PRIdFAST16 "d" | |
46 | #define PRIdFAST32 "d" | |
47 | #define PRIdFAST64 __PRI64 "d" | |
48 | ||
49 | #define PRIi8 "i" | |
50 | #define PRIi16 "i" | |
51 | #define PRIi32 "i" | |
52 | #define PRIi64 __PRI64 "i" | |
53 | ||
54 | #define PRIiLEAST8 "i" | |
55 | #define PRIiLEAST16 "i" | |
56 | #define PRIiLEAST32 "i" | |
57 | #define PRIiLEAST64 __PRI64 "i" | |
58 | ||
59 | #define PRIiFAST8 "i" | |
60 | #define PRIiFAST16 "i" | |
61 | #define PRIiFAST32 "i" | |
62 | #define PRIiFAST64 __PRI64 "i" | |
63 | ||
64 | #define PRIo8 "o" | |
65 | #define PRIo16 "o" | |
66 | #define PRIo32 "o" | |
67 | #define PRIo64 __PRI64 "o" | |
68 | ||
69 | #define PRIoLEAST8 "o" | |
70 | #define PRIoLEAST16 "o" | |
71 | #define PRIoLEAST32 "o" | |
72 | #define PRIoLEAST64 __PRI64 "o" | |
73 | ||
74 | #define PRIoFAST8 "o" | |
75 | #define PRIoFAST16 "o" | |
76 | #define PRIoFAST32 "o" | |
77 | #define PRIoFAST64 __PRI64 "o" | |
78 | ||
79 | #define PRIu8 "u" | |
80 | #define PRIu16 "u" | |
81 | #define PRIu32 "u" | |
82 | #define PRIu64 __PRI64 "u" | |
83 | ||
84 | #define PRIuLEAST8 "u" | |
85 | #define PRIuLEAST16 "u" | |
86 | #define PRIuLEAST32 "u" | |
87 | #define PRIuLEAST64 __PRI64 "u" | |
88 | ||
89 | #define PRIuFAST8 "u" | |
90 | #define PRIuFAST16 "u" | |
91 | #define PRIuFAST32 "u" | |
92 | #define PRIuFAST64 __PRI64 "u" | |
93 | ||
94 | #define PRIx8 "x" | |
95 | #define PRIx16 "x" | |
96 | #define PRIx32 "x" | |
97 | #define PRIx64 __PRI64 "x" | |
98 | ||
99 | #define PRIxLEAST8 "x" | |
100 | #define PRIxLEAST16 "x" | |
101 | #define PRIxLEAST32 "x" | |
102 | #define PRIxLEAST64 __PRI64 "x" | |
103 | ||
104 | #define PRIxFAST8 "x" | |
105 | #define PRIxFAST16 "x" | |
106 | #define PRIxFAST32 "x" | |
107 | #define PRIxFAST64 __PRI64 "x" | |
108 | ||
109 | #define PRIX8 "X" | |
110 | #define PRIX16 "X" | |
111 | #define PRIX32 "X" | |
112 | #define PRIX64 __PRI64 "X" | |
113 | ||
114 | #define PRIXLEAST8 "X" | |
115 | #define PRIXLEAST16 "X" | |
116 | #define PRIXLEAST32 "X" | |
117 | #define PRIXLEAST64 __PRI64 "X" | |
118 | ||
119 | #define PRIXFAST8 "X" | |
120 | #define PRIXFAST16 "X" | |
121 | #define PRIXFAST32 "X" | |
122 | #define PRIXFAST64 __PRI64 "X" | |
123 | ||
124 | #define PRIdMAX __PRI64 "d" | |
125 | #define PRIiMAX __PRI64 "i" | |
126 | #define PRIoMAX __PRI64 "o" | |
127 | #define PRIuMAX __PRI64 "u" | |
128 | #define PRIxMAX __PRI64 "x" | |
129 | #define PRIXMAX __PRI64 "X" | |
130 | ||
131 | #define PRIdPTR __PRIPTR "d" | |
132 | #define PRIiPTR __PRIPTR "i" | |
133 | #define PRIoPTR __PRIPTR "o" | |
134 | #define PRIuPTR __PRIPTR "u" | |
135 | #define PRIxPTR __PRIPTR "x" | |
136 | #define PRIXPTR __PRIPTR "X" | |
137 | ||
138 | #define SCNd8 "hhd" | |
139 | #define SCNd16 "hd" | |
140 | #define SCNd32 "d" | |
141 | #define SCNd64 __PRI64 "d" | |
142 | ||
143 | #define SCNdLEAST8 "hhd" | |
144 | #define SCNdLEAST16 "hd" | |
145 | #define SCNdLEAST32 "d" | |
146 | #define SCNdLEAST64 __PRI64 "d" | |
147 | ||
148 | #define SCNdFAST8 "hhd" | |
149 | #define SCNdFAST16 "d" | |
150 | #define SCNdFAST32 "d" | |
151 | #define SCNdFAST64 __PRI64 "d" | |
152 | ||
153 | #define SCNi8 "hhi" | |
154 | #define SCNi16 "hi" | |
155 | #define SCNi32 "i" | |
156 | #define SCNi64 __PRI64 "i" | |
157 | ||
158 | #define SCNiLEAST8 "hhi" | |
159 | #define SCNiLEAST16 "hi" | |
160 | #define SCNiLEAST32 "i" | |
161 | #define SCNiLEAST64 __PRI64 "i" | |
162 | ||
163 | #define SCNiFAST8 "hhi" | |
164 | #define SCNiFAST16 "i" | |
165 | #define SCNiFAST32 "i" | |
166 | #define SCNiFAST64 __PRI64 "i" | |
167 | ||
168 | #define SCNu8 "hhu" | |
169 | #define SCNu16 "hu" | |
170 | #define SCNu32 "u" | |
171 | #define SCNu64 __PRI64 "u" | |
172 | ||
173 | #define SCNuLEAST8 "hhu" | |
174 | #define SCNuLEAST16 "hu" | |
175 | #define SCNuLEAST32 "u" | |
176 | #define SCNuLEAST64 __PRI64 "u" | |
177 | ||
178 | #define SCNuFAST8 "hhu" | |
179 | #define SCNuFAST16 "u" | |
180 | #define SCNuFAST32 "u" | |
181 | #define SCNuFAST64 __PRI64 "u" | |
182 | ||
183 | #define SCNo8 "hho" | |
184 | #define SCNo16 "ho" | |
185 | #define SCNo32 "o" | |
186 | #define SCNo64 __PRI64 "o" | |
187 | ||
188 | #define SCNoLEAST8 "hho" | |
189 | #define SCNoLEAST16 "ho" | |
190 | #define SCNoLEAST32 "o" | |
191 | #define SCNoLEAST64 __PRI64 "o" | |
192 | ||
193 | #define SCNoFAST8 "hho" | |
194 | #define SCNoFAST16 "o" | |
195 | #define SCNoFAST32 "o" | |
196 | #define SCNoFAST64 __PRI64 "o" | |
197 | ||
198 | #define SCNx8 "hhx" | |
199 | #define SCNx16 "hx" | |
200 | #define SCNx32 "x" | |
201 | #define SCNx64 __PRI64 "x" | |
202 | ||
203 | #define SCNxLEAST8 "hhx" | |
204 | #define SCNxLEAST16 "hx" | |
205 | #define SCNxLEAST32 "x" | |
206 | #define SCNxLEAST64 __PRI64 "x" | |
207 | ||
208 | #define SCNxFAST8 "hhx" | |
209 | #define SCNxFAST16 "x" | |
210 | #define SCNxFAST32 "x" | |
211 | #define SCNxFAST64 __PRI64 "x" | |
212 | ||
213 | #define SCNdMAX __PRI64 "d" | |
214 | #define SCNiMAX __PRI64 "i" | |
215 | #define SCNoMAX __PRI64 "o" | |
216 | #define SCNuMAX __PRI64 "u" | |
217 | #define SCNxMAX __PRI64 "x" | |
218 | ||
219 | #define SCNdPTR __PRIPTR "d" | |
220 | #define SCNiPTR __PRIPTR "i" | |
221 | #define SCNoPTR __PRIPTR "o" | |
222 | #define SCNuPTR __PRIPTR "u" | |
223 | #define SCNxPTR __PRIPTR "x" | |
224 | ||
225 | #ifdef __cplusplus | |
226 | } | |
227 | #endif | |
ad22a590 DG |
228 | #else |
229 | #include <__header_inttypes.h> | |
230 | #endif | |
320054e8 DG |
231 | |
232 | #endif | |
233 |