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