00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 #ifndef __INTTYPES_H_
00035 #define __INTTYPES_H_
00036
00037 #include <stdint.h>
00038
00077 typedef int32_t int_farptr_t;
00078
00081 typedef uint32_t uint_farptr_t;
00084 #if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS)
00085
00086
00096 #define PRId8 "d"
00097
00099 #define PRIdLEAST8 "d"
00100
00102 #define PRIdFAST8 "d"
00103
00106 #define PRIi8 "i"
00107
00109 #define PRIiLEAST8 "i"
00110
00112 #define PRIiFAST8 "i"
00113
00114
00117 #define PRId16 "d"
00118
00120 #define PRIdLEAST16 "d"
00121
00123 #define PRIdFAST16 "d"
00124
00127 #define PRIi16 "i"
00128
00130 #define PRIiLEAST16 "i"
00131
00133 #define PRIiFAST16 "i"
00134
00135
00138 #define PRId32 "ld"
00139
00141 #define PRIdLEAST32 "ld"
00142
00144 #define PRIdFAST32 "ld"
00145
00148 #define PRIi32 "li"
00149
00151 #define PRIiLEAST32 "li"
00152
00154 #define PRIiFAST32 "li"
00155
00156
00157 #ifdef __avr_libc_does_not_implement_long_long_in_printf_or_scanf
00158
00159 #define PRId64 "lld"
00160 #define PRIdLEAST64 "lld"
00161 #define PRIdFAST64 "lld"
00162
00163 #define PRIi64 "lli"
00164 #define PRIiLEAST64 "lli"
00165 #define PRIiFAST64 "lli"
00166
00167
00168 #define PRIdMAX "lld"
00169 #define PRIiMAX "lli"
00170
00171 #endif
00172
00175 #define PRIdPTR PRId16
00176
00178 #define PRIiPTR PRIi16
00179
00182 #define PRIo8 "o"
00183
00185 #define PRIoLEAST8 "o"
00186
00188 #define PRIoFAST8 "o"
00189
00192 #define PRIu8 "u"
00193
00195 #define PRIuLEAST8 "u"
00196
00198 #define PRIuFAST8 "u"
00199
00202 #define PRIx8 "x"
00203
00205 #define PRIxLEAST8 "x"
00206
00208 #define PRIxFAST8 "x"
00209
00212 #define PRIX8 "X"
00213
00215 #define PRIXLEAST8 "X"
00216
00218 #define PRIXFAST8 "X"
00219
00220
00223 #define PRIo16 "o"
00224
00226 #define PRIoLEAST16 "o"
00227
00229 #define PRIoFAST16 "o"
00230
00233 #define PRIu16 "u"
00234
00236 #define PRIuLEAST16 "u"
00237
00239 #define PRIuFAST16 "u"
00240
00243 #define PRIx16 "x"
00244
00246 #define PRIxLEAST16 "x"
00247
00249 #define PRIxFAST16 "x"
00250
00253 #define PRIX16 "X"
00254
00256 #define PRIXLEAST16 "X"
00257
00259 #define PRIXFAST16 "X"
00260
00261
00264 #define PRIo32 "lo"
00265
00267 #define PRIoLEAST32 "lo"
00268
00270 #define PRIoFAST32 "lo"
00271
00274 #define PRIu32 "lu"
00275
00277 #define PRIuLEAST32 "lu"
00278
00280 #define PRIuFAST32 "lu"
00281
00284 #define PRIx32 "lx"
00285
00287 #define PRIxLEAST32 "lx"
00288
00290 #define PRIxFAST32 "lx"
00291
00294 #define PRIX32 "lX"
00295
00297 #define PRIXLEAST32 "lX"
00298
00300 #define PRIXFAST32 "lX"
00301
00302
00303 #ifdef __avr_libc_does_not_implement_long_long_in_printf_or_scanf
00304
00305 #define PRIo64 "llo"
00306 #define PRIoLEAST64 "llo"
00307 #define PRIoFAST64 "llo"
00308
00309 #define PRIu64 "llu"
00310 #define PRIuLEAST64 "llu"
00311 #define PRIuFAST64 "llu"
00312
00313 #define PRIx64 "llx"
00314 #define PRIxLEAST64 "llx"
00315 #define PRIxFAST64 "llx"
00316
00317 #define PRIX64 "llX"
00318 #define PRIXLEAST64 "llX"
00319 #define PRIXFAST64 "llX"
00320
00321 #define PRIoMAX "llo"
00322 #define PRIuMAX "llu"
00323 #define PRIxMAX "llx"
00324 #define PRIXMAX "llX"
00325
00326 #endif
00327
00330 #define PRIoPTR PRIo16
00331
00333 #define PRIuPTR PRIu16
00334
00336 #define PRIxPTR PRIx16
00337
00339 #define PRIXPTR PRIX16
00340
00341
00342 #ifdef __avr_libc_does_not_implement_hh_in_scanf
00343
00344 #define SCNd8 "hhd"
00345 #define SCNdLEAST8 "hhd"
00346 #define SCNdFAST8 "hhd"
00347
00348 #define SCNi8 "hhi"
00349 #define SCNiLEAST8 "hhi"
00350 #define SCNiFAST8 "hhi"
00351
00352 #endif
00353
00354
00357 #define SCNd16 "d"
00358
00360 #define SCNdLEAST16 "d"
00361
00363 #define SCNdFAST16 "d"
00364
00367 #define SCNi16 "i"
00368
00370 #define SCNiLEAST16 "i"
00371
00373 #define SCNiFAST16 "i"
00374
00375
00378 #define SCNd32 "ld"
00379
00381 #define SCNdLEAST32 "ld"
00382
00384 #define SCNdFAST32 "ld"
00385
00388 #define SCNi32 "li"
00389
00391 #define SCNiLEAST32 "li"
00392
00394 #define SCNiFAST32 "li"
00395
00396
00397 #ifdef __avr_libc_does_not_implement_long_long_in_printf_or_scanf
00398
00399 #define SCNd64 "lld"
00400 #define SCNdLEAST64 "lld"
00401 #define SCNdFAST64 "lld"
00402
00403 #define SCNi64 "lli"
00404 #define SCNiLEAST64 "lli"
00405 #define SCNiFAST64 "lli"
00406
00407 #define SCNdMAX "lld"
00408 #define SCNiMAX "lli"
00409
00410 #endif
00411
00414 #define SCNdPTR SCNd16
00415
00417 #define SCNiPTR SCNi16
00418
00419 #ifdef __avr_libc_does_not_implement_hh_in_scanf
00420
00421 #define SCNo8 "hho"
00422 #define SCNoLEAST8 "hho"
00423 #define SCNoFAST8 "hho"
00424
00425 #define SCNu8 "hhu"
00426 #define SCNuLEAST8 "hhu"
00427 #define SCNuFAST8 "hhu"
00428
00429 #define SCNx8 "hhx"
00430 #define SCNxLEAST8 "hhx"
00431 #define SCNxFAST8 "hhx"
00432
00433 #endif
00434
00437 #define SCNo16 "o"
00438
00440 #define SCNoLEAST16 "o"
00441
00443 #define SCNoFAST16 "o"
00444
00447 #define SCNu16 "u"
00448
00450 #define SCNuLEAST16 "u"
00451
00453 #define SCNuFAST16 "u"
00454
00457 #define SCNx16 "x"
00458
00460 #define SCNxLEAST16 "x"
00461
00463 #define SCNxFAST16 "x"
00464
00465
00468 #define SCNo32 "lo"
00469
00471 #define SCNoLEAST32 "lo"
00472
00474 #define SCNoFAST32 "lo"
00475
00478 #define SCNu32 "lu"
00479
00481 #define SCNuLEAST32 "lu"
00482
00484 #define SCNuFAST32 "lu"
00485
00488 #define SCNx32 "lx"
00489
00491 #define SCNxLEAST32 "lx"
00492
00494 #define SCNxFAST32 "lx"
00495
00496
00497 #ifdef __avr_libc_does_not_implement_long_long_in_printf_or_scanf
00498
00499 #define SCNo64 "llo"
00500 #define SCNoLEAST64 "llo"
00501 #define SCNoFAST64 "llo"
00502
00503 #define SCNu64 "llu"
00504 #define SCNuLEAST64 "llu"
00505 #define SCNuFAST64 "llu"
00506
00507 #define SCNx64 "llx"
00508 #define SCNxLEAST64 "llx"
00509 #define SCNxFAST64 "llx"
00510
00511 #define SCNoMAX "llo"
00512 #define SCNuMAX "llu"
00513 #define SCNxMAX "llx"
00514
00515 #endif
00516
00519 #define SCNoPTR SCNo16
00520
00522 #define SCNuPTR SCNu16
00523
00525 #define SCNxPTR SCNx16
00526
00530 #endif
00531
00532
00533 #endif