1 #ifndef _INTTYPES_H 2 #define _INTTYPES_H 3 4 #ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ 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 228 #else 229 #include <__header_inttypes.h> 230 #endif 231 232 #endif 233 234