master
  1#ifndef _INTTYPES_H
  2#define _INTTYPES_H
  3
  4#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */
  5#ifdef __cplusplus
  6extern "C" {
  7#endif
  8
  9#include <features.h>
 10#include <stdint.h>
 11
 12#define __NEED_wchar_t
 13#include <bits/alltypes.h>
 14
 15typedef struct { intmax_t quot, rem; } imaxdiv_t;
 16
 17intmax_t imaxabs(intmax_t);
 18imaxdiv_t imaxdiv(intmax_t, intmax_t);
 19
 20intmax_t strtoimax(const char *__restrict, char **__restrict, int);
 21uintmax_t strtoumax(const char *__restrict, char **__restrict, int);
 22
 23intmax_t wcstoimax(const wchar_t *__restrict, wchar_t **__restrict, int);
 24uintmax_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
228#else
229#include <__header_inttypes.h>
230#endif
231
232#endif
233