1 2 // automatically generated by m4 from headers in proto subdir 3 4 5 #ifndef __INTTYPES_H__ 6 #define __INTTYPES_H__ 7 8 #include <stdint.h> 9 10 // DATA STRUCTURES 11 12 #ifdef __CLANG 13 14 typedef struct imaxdiv_s 15 { 16 17 long long rem; 18 long long quot; 19 20 } imaxdiv_t; 21 22 #endif 23 24 #ifdef __SDCC 25 26 typedef struct imaxdiv_s 27 { 28 29 long long rem; 30 long long quot; 31 32 } imaxdiv_t; 33 34 #endif 35 36 #ifdef __SCCZ80 37 38 typedef struct imaxdiv_s 39 { 40 41 long quot; 42 long rem; 43 44 } imaxdiv_t; 45 46 #endif 47 48 #ifdef __CLANG 49 50 extern intmax_t imaxabs(intmax_t j); 51 52 #endif 53 54 #ifdef __SDCC 55 56 extern intmax_t imaxabs(intmax_t j); 57 extern intmax_t imaxabs_callee(intmax_t j) __z88dk_callee; 58 #define imaxabs(a) imaxabs_callee(a) 59 60 #endif 61 62 #ifdef __SCCZ80 63 64 extern intmax_t imaxabs(intmax_t j) __preserves_regs(b,c); 65 extern intmax_t imaxabs_fastcall(intmax_t j) __preserves_regs(b,c) __z88dk_fastcall; 66 #define imaxabs(a) imaxabs_fastcall(a) 67 68 69 70 #endif 71 72 extern void _imaxdiv_(imaxdiv_t *md,intmax_t numer,intmax_t denom); 73 extern void _imaxdiv__callee(imaxdiv_t *md,intmax_t numer,intmax_t denom) __z88dk_callee; 74 #define _imaxdiv_(a,b,c) _imaxdiv__callee(a,b,c) 75 76 77 extern intmax_t strtoimax(const char *nptr,char **endptr,int base); 78 extern intmax_t strtoimax_callee(const char *nptr,char **endptr,int base) __z88dk_callee; 79 #define strtoimax(a,b,c) strtoimax_callee(a,b,c) 80 81 82 extern uintmax_t strtoumax(const char *nptr,char **endptr,int base); 83 extern uintmax_t strtoumax_callee(const char *nptr,char **endptr,int base) __z88dk_callee; 84 #define strtoumax(a,b,c) strtoumax_callee(a,b,c) 85 86 87 88 // PRINTF FORMAT SPECIFIERS 89 90 #define PRId8 "d" 91 #define PRId16 "d" 92 #define PRId32 "ld" 93 94 #define PRIi8 "i" 95 #define PRIi16 "i" 96 #define PRIi32 "li" 97 98 #define PRIdLEAST8 "d" 99 #define PRIdLEAST16 "d" 100 #define PRIdLEAST32 "ld" 101 102 #define PRIiLEAST8 "i" 103 #define PRIiLEAST16 "i" 104 #define PRIiLEAST32 "li" 105 106 #define PRIdFAST8 "d" 107 #define PRIdFAST16 "d" 108 #define PRIdFAST32 "ld" 109 110 #define PRIiFAST8 "i" 111 #define PRIiFAST16 "i" 112 #define PRIiFAST32 "li" 113 114 #ifdef __CLANG 115 116 #define PRId64 "lld" 117 #define PRIi64 "lli" 118 #define PRIdLEAST64 "lld" 119 #define PRIiLEAST64 "lli" 120 #define PRIdFAST64 "lld" 121 #define PRIiFAST64 "lli" 122 123 #endif 124 125 #ifdef __SDCC 126 127 #define PRId64 "lld" 128 #define PRIi64 "lli" 129 #define PRIdLEAST64 "lld" 130 #define PRIiLEAST64 "lli" 131 #define PRIdFAST64 "lld" 132 #define PRIiFAST64 "lli" 133 134 #endif 135 136 #ifdef __CLANG 137 138 #define PRIdMAX "lld" 139 #define PRIiMAX "lli" 140 141 #endif 142 143 #ifdef __SDCC 144 145 #define PRIdMAX "lld" 146 #define PRIiMAX "lli" 147 148 #endif 149 150 #ifdef __SCCZ80 151 152 #define PRIdMAX "ld" 153 #define PRIiMAX "li" 154 155 #endif 156 157 #define PRIdPTR "d" 158 #define PRIiPTR "i" 159 160 #define PRIo8 "o" 161 #define PRIo16 "o" 162 #define PRIo32 "lo" 163 164 #define PRIu8 "u" 165 #define PRIu16 "u" 166 #define PRIu32 "lu" 167 168 #define PRIx8 "x" 169 #define PRIx16 "x" 170 #define PRIx32 "lx" 171 172 #define PRIX8 "X" 173 #define PRIX16 "X" 174 #define PRIX32 "lX" 175 176 #ifdef __CLANG 177 178 #define PRIo64 "llo" 179 #define PRIu64 "llu" 180 #define PRIx64 "llx" 181 #define PRIX64 "llX" 182 183 #endif 184 185 #ifdef __SDCC 186 187 #define PRIo64 "llo" 188 #define PRIu64 "llu" 189 #define PRIx64 "llx" 190 #define PRIX64 "llX" 191 192 #endif 193 194 #define PRIoLEAST8 "o" 195 #define PRIoLEAST16 "o" 196 #define PRIoLEAST32 "lo" 197 198 #define PRIuLEAST8 "u" 199 #define PRIuLEAST16 "u" 200 #define PRIuLEAST32 "lu" 201 202 #define PRIxLEAST8 "x" 203 #define PRIxLEAST16 "x" 204 #define PRIxLEAST32 "lx" 205 206 #define PRIXLEAST8 "X" 207 #define PRIXLEAST16 "X" 208 #define PRIXLEAST32 "lX" 209 210 #ifdef __CLANG 211 212 #define PRIoLEAST64 "llo" 213 #define PRIuLEAST64 "llu" 214 #define PRIxLEAST64 "llx" 215 #define PRIXLEAST64 "llX" 216 217 #endif 218 219 #ifdef __SDCC 220 221 #define PRIoLEAST64 "llo" 222 #define PRIuLEAST64 "llu" 223 #define PRIxLEAST64 "llx" 224 #define PRIXLEAST64 "llX" 225 226 #endif 227 228 #define PRIoFAST8 "o" 229 #define PRIoFAST16 "o" 230 #define PRIoFAST32 "lo" 231 232 #define PRIuFAST8 "u" 233 #define PRIuFAST16 "u" 234 #define PRIuFAST32 "lu" 235 236 #define PRIxFAST8 "x" 237 #define PRIxFAST16 "x" 238 #define PRIxFAST32 "lx" 239 240 #define PRIXFAST8 "X" 241 #define PRIXFAST16 "X" 242 #define PRIXFAST32 "lX" 243 244 #ifdef __CLANG 245 246 #define PRIoFAST64 "llo" 247 #define PRIuFAST64 "llu" 248 #define PRIxFAST64 "llx" 249 #define PRIXFAST64 "llX" 250 251 #endif 252 253 #ifdef __SDCC 254 255 #define PRIoFAST64 "llo" 256 #define PRIuFAST64 "llu" 257 #define PRIxFAST64 "llx" 258 #define PRIXFAST64 "llX" 259 260 #endif 261 262 #ifdef __CLANG 263 264 #define PRIoMAX "llo" 265 #define PRIuMAX "llu" 266 #define PRIxMAX "llx" 267 #define PRIXMAX "llX" 268 269 #endif 270 271 #ifdef __SDCC 272 273 #define PRIoMAX "llo" 274 #define PRIuMAX "llu" 275 #define PRIxMAX "llx" 276 #define PRIXMAX "llX" 277 278 #endif 279 280 #ifdef __SCCZ80 281 282 #define PRIoMAX "lo" 283 #define PRIuMAX "lu" 284 #define PRIxMAX "lx" 285 #define PRIXMAX "lX" 286 287 #endif 288 289 #define PRIoPTR "o" 290 #define PRIuPTR "u" 291 #define PRIxPTR "x" 292 #define PRIXPTR "X" 293 294 // SCANF FORMAT SPECIFIERS 295 296 #define SCNd8 "d" 297 #define SCNd16 "d" 298 #define SCNd32 "ld" 299 300 #define SCNi8 "i" 301 #define SCNi16 "i" 302 #define SCNi32 "li" 303 304 #define SCNdLEAST8 "d" 305 #define SCNdLEAST16 "d" 306 #define SCNdLEAST32 "ld" 307 308 #define SCNiLEAST8 "i" 309 #define SCNiLEAST16 "i" 310 #define SCNiLEAST32 "li" 311 312 #define SCNdFAST8 "d" 313 #define SCNdFAST16 "d" 314 #define SCNdFAST32 "ld" 315 316 #define SCNiFAST8 "i" 317 #define SCNiFAST16 "i" 318 #define SCNiFAST32 "li" 319 320 #ifdef __CLANG 321 322 #define SCNd64 "lld" 323 #define SCNi64 "lli" 324 #define SCNdLEAST64 "lld" 325 #define SCNiLEAST64 "lli" 326 #define SCNdFAST64 "lld" 327 #define SCNiFAST64 "lli" 328 329 #endif 330 331 #ifdef __SDCC 332 333 #define SCNd64 "lld" 334 #define SCNi64 "lli" 335 #define SCNdLEAST64 "lld" 336 #define SCNiLEAST64 "lli" 337 #define SCNdFAST64 "lld" 338 #define SCNiFAST64 "lli" 339 340 #endif 341 342 #ifdef __CLANG 343 344 #define SCNdMAX "lld" 345 #define SCNiMAX "lli" 346 347 #endif 348 349 #ifdef __SDCC 350 351 #define SCNdMAX "lld" 352 #define SCNiMAX "lli" 353 354 #endif 355 356 #ifdef __SCCZ80 357 358 #define SCNdMAX "ld" 359 #define SCNiMAX "li" 360 361 #endif 362 363 #define SCNdPTR "d" 364 #define SCNiPTR "i" 365 366 #define SCNo8 "o" 367 #define SCNo16 "o" 368 #define SCNo32 "lo" 369 370 #define SCNu8 "u" 371 #define SCNu16 "u" 372 #define SCNu32 "lu" 373 374 #define SCNx8 "x" 375 #define SCNx16 "x" 376 #define SCNx32 "lx" 377 378 #ifdef __CLANG 379 380 #define SCNo64 "llo" 381 #define SCNu64 "llu" 382 #define SCNx64 "llx" 383 384 #endif 385 386 #ifdef __SDCC 387 388 #define SCNo64 "llo" 389 #define SCNu64 "llu" 390 #define SCNx64 "llx" 391 392 #endif 393 394 #define SCNoLEAST8 "o" 395 #define SCNoLEAST16 "o" 396 #define SCNoLEAST32 "lo" 397 398 #define SCNuLEAST8 "u" 399 #define SCNuLEAST16 "u" 400 #define SCNuLEAST32 "lu" 401 402 #define SCNxLEAST8 "x" 403 #define SCNxLEAST16 "x" 404 #define SCNxLEAST32 "lx" 405 406 #ifdef __CLANG 407 408 #define SCNoLEAST64 "llo" 409 #define SCNuLEAST64 "llu" 410 #define SCNxLEAST64 "llx" 411 412 #endif 413 414 #ifdef __SDCC 415 416 #define SCNoLEAST64 "llo" 417 #define SCNuLEAST64 "llu" 418 #define SCNxLEAST64 "llx" 419 420 #endif 421 422 #define SCNoFAST8 "o" 423 #define SCNoFAST16 "o" 424 #define SCNoFAST32 "lo" 425 426 #define SCNuFAST8 "u" 427 #define SCNuFAST16 "u" 428 #define SCNuFAST32 "lu" 429 430 #define SCNxFAST8 "x" 431 #define SCNxFAST16 "x" 432 #define SCNxFAST32 "lx" 433 434 #ifdef __CLANG 435 436 #define SCNoFAST64 "llo" 437 #define SCNuFAST64 "llu" 438 #define SCNxFAST64 "llx" 439 440 #endif 441 442 #ifdef __SDCC 443 444 #define SCNoFAST64 "llo" 445 #define SCNuFAST64 "llu" 446 #define SCNxFAST64 "llx" 447 448 #endif 449 450 #ifdef __CLANG 451 452 #define SCNoMAX "llo" 453 #define SCNuMAX "llu" 454 #define SCNxMAX "llx" 455 456 #endif 457 458 #ifdef __SDCC 459 460 #define SCNoMAX "llo" 461 #define SCNuMAX "llu" 462 #define SCNxMAX "llx" 463 464 #endif 465 466 #ifdef __SCCZ80 467 468 #define SCNoMAX "lo" 469 #define SCNuMAX "lu" 470 #define SCNxMAX "lx" 471 472 #endif 473 474 #define SCNoPTR "o" 475 #define SCNuPTR "u" 476 #define SCNxPTR "x" 477 478 #endif 479