.TH "avr_inttypes" 3avr "Fri Nov 24 2023 23:59:10" "Version 2.0.0" "avr-libc" \" -*- nroff -*- .ad l .nh .SH NAME avr_inttypes \- : Integer Type conversions .SH SYNOPSIS .br .PP .SS "Far pointers for memory access >64K" .in +1c .ti -1c .RI "typedef \fBint32_t\fP \fBint_farptr_t\fP" .br .ti -1c .RI "typedef \fBuint32_t\fP \fBuint_farptr_t\fP" .br .in -1c .SS "macros for printf and scanf format specifiers" For C++, these are only included if __STDC_LIMIT_MACROS is defined before including <\fBinttypes\&.h\fP>\&. .in +1c .ti -1c .RI "#define \fBPRId8\fP 'd'" .br .ti -1c .RI "#define \fBPRIdLEAST8\fP 'd'" .br .ti -1c .RI "#define \fBPRIdFAST8\fP 'd'" .br .ti -1c .RI "#define \fBPRIi8\fP 'i'" .br .ti -1c .RI "#define \fBPRIiLEAST8\fP 'i'" .br .ti -1c .RI "#define \fBPRIiFAST8\fP 'i'" .br .ti -1c .RI "#define \fBPRId16\fP 'd'" .br .ti -1c .RI "#define \fBPRIdLEAST16\fP 'd'" .br .ti -1c .RI "#define \fBPRIdFAST16\fP 'd'" .br .ti -1c .RI "#define \fBPRIi16\fP 'i'" .br .ti -1c .RI "#define \fBPRIiLEAST16\fP 'i'" .br .ti -1c .RI "#define \fBPRIiFAST16\fP 'i'" .br .ti -1c .RI "#define \fBPRId32\fP 'ld'" .br .ti -1c .RI "#define \fBPRIdLEAST32\fP 'ld'" .br .ti -1c .RI "#define \fBPRIdFAST32\fP 'ld'" .br .ti -1c .RI "#define \fBPRIi32\fP 'li'" .br .ti -1c .RI "#define \fBPRIiLEAST32\fP 'li'" .br .ti -1c .RI "#define \fBPRIiFAST32\fP 'li'" .br .ti -1c .RI "#define \fBPRIdPTR\fP \fBPRId16\fP" .br .ti -1c .RI "#define \fBPRIiPTR\fP \fBPRIi16\fP" .br .ti -1c .RI "#define \fBPRIo8\fP 'o'" .br .ti -1c .RI "#define \fBPRIoLEAST8\fP 'o'" .br .ti -1c .RI "#define \fBPRIoFAST8\fP 'o'" .br .ti -1c .RI "#define \fBPRIu8\fP 'u'" .br .ti -1c .RI "#define \fBPRIuLEAST8\fP 'u'" .br .ti -1c .RI "#define \fBPRIuFAST8\fP 'u'" .br .ti -1c .RI "#define \fBPRIx8\fP 'x'" .br .ti -1c .RI "#define \fBPRIxLEAST8\fP 'x'" .br .ti -1c .RI "#define \fBPRIxFAST8\fP 'x'" .br .ti -1c .RI "#define \fBPRIX8\fP 'X'" .br .ti -1c .RI "#define \fBPRIXLEAST8\fP 'X'" .br .ti -1c .RI "#define \fBPRIXFAST8\fP 'X'" .br .ti -1c .RI "#define \fBPRIo16\fP 'o'" .br .ti -1c .RI "#define \fBPRIoLEAST16\fP 'o'" .br .ti -1c .RI "#define \fBPRIoFAST16\fP 'o'" .br .ti -1c .RI "#define \fBPRIu16\fP 'u'" .br .ti -1c .RI "#define \fBPRIuLEAST16\fP 'u'" .br .ti -1c .RI "#define \fBPRIuFAST16\fP 'u'" .br .ti -1c .RI "#define \fBPRIx16\fP 'x'" .br .ti -1c .RI "#define \fBPRIxLEAST16\fP 'x'" .br .ti -1c .RI "#define \fBPRIxFAST16\fP 'x'" .br .ti -1c .RI "#define \fBPRIX16\fP 'X'" .br .ti -1c .RI "#define \fBPRIXLEAST16\fP 'X'" .br .ti -1c .RI "#define \fBPRIXFAST16\fP 'X'" .br .ti -1c .RI "#define \fBPRIo32\fP 'lo'" .br .ti -1c .RI "#define \fBPRIoLEAST32\fP 'lo'" .br .ti -1c .RI "#define \fBPRIoFAST32\fP 'lo'" .br .ti -1c .RI "#define \fBPRIu32\fP 'lu'" .br .ti -1c .RI "#define \fBPRIuLEAST32\fP 'lu'" .br .ti -1c .RI "#define \fBPRIuFAST32\fP 'lu'" .br .ti -1c .RI "#define \fBPRIx32\fP 'lx'" .br .ti -1c .RI "#define \fBPRIxLEAST32\fP 'lx'" .br .ti -1c .RI "#define \fBPRIxFAST32\fP 'lx'" .br .ti -1c .RI "#define \fBPRIX32\fP 'lX'" .br .ti -1c .RI "#define \fBPRIXLEAST32\fP 'lX'" .br .ti -1c .RI "#define \fBPRIXFAST32\fP 'lX'" .br .ti -1c .RI "#define \fBPRIoPTR\fP \fBPRIo16\fP" .br .ti -1c .RI "#define \fBPRIuPTR\fP \fBPRIu16\fP" .br .ti -1c .RI "#define \fBPRIxPTR\fP \fBPRIx16\fP" .br .ti -1c .RI "#define \fBPRIXPTR\fP \fBPRIX16\fP" .br .ti -1c .RI "#define \fBSCNd8\fP 'hhd'" .br .ti -1c .RI "#define \fBSCNdLEAST8\fP 'hhd'" .br .ti -1c .RI "#define \fBSCNdFAST8\fP 'hhd'" .br .ti -1c .RI "#define \fBSCNi8\fP 'hhi'" .br .ti -1c .RI "#define \fBSCNiLEAST8\fP 'hhi'" .br .ti -1c .RI "#define \fBSCNiFAST8\fP 'hhi'" .br .ti -1c .RI "#define \fBSCNd16\fP 'd'" .br .ti -1c .RI "#define \fBSCNdLEAST16\fP 'd'" .br .ti -1c .RI "#define \fBSCNdFAST16\fP 'd'" .br .ti -1c .RI "#define \fBSCNi16\fP 'i'" .br .ti -1c .RI "#define \fBSCNiLEAST16\fP 'i'" .br .ti -1c .RI "#define \fBSCNiFAST16\fP 'i'" .br .ti -1c .RI "#define \fBSCNd32\fP 'ld'" .br .ti -1c .RI "#define \fBSCNdLEAST32\fP 'ld'" .br .ti -1c .RI "#define \fBSCNdFAST32\fP 'ld'" .br .ti -1c .RI "#define \fBSCNi32\fP 'li'" .br .ti -1c .RI "#define \fBSCNiLEAST32\fP 'li'" .br .ti -1c .RI "#define \fBSCNiFAST32\fP 'li'" .br .ti -1c .RI "#define \fBSCNdPTR\fP \fBSCNd16\fP" .br .ti -1c .RI "#define \fBSCNiPTR\fP \fBSCNi16\fP" .br .ti -1c .RI "#define \fBSCNo8\fP 'hho'" .br .ti -1c .RI "#define \fBSCNoLEAST8\fP 'hho'" .br .ti -1c .RI "#define \fBSCNoFAST8\fP 'hho'" .br .ti -1c .RI "#define \fBSCNu8\fP 'hhu'" .br .ti -1c .RI "#define \fBSCNuLEAST8\fP 'hhu'" .br .ti -1c .RI "#define \fBSCNuFAST8\fP 'hhu'" .br .ti -1c .RI "#define \fBSCNx8\fP 'hhx'" .br .ti -1c .RI "#define \fBSCNxLEAST8\fP 'hhx'" .br .ti -1c .RI "#define \fBSCNxFAST8\fP 'hhx'" .br .ti -1c .RI "#define \fBSCNo16\fP 'o'" .br .ti -1c .RI "#define \fBSCNoLEAST16\fP 'o'" .br .ti -1c .RI "#define \fBSCNoFAST16\fP 'o'" .br .ti -1c .RI "#define \fBSCNu16\fP 'u'" .br .ti -1c .RI "#define \fBSCNuLEAST16\fP 'u'" .br .ti -1c .RI "#define \fBSCNuFAST16\fP 'u'" .br .ti -1c .RI "#define \fBSCNx16\fP 'x'" .br .ti -1c .RI "#define \fBSCNxLEAST16\fP 'x'" .br .ti -1c .RI "#define \fBSCNxFAST16\fP 'x'" .br .ti -1c .RI "#define \fBSCNo32\fP 'lo'" .br .ti -1c .RI "#define \fBSCNoLEAST32\fP 'lo'" .br .ti -1c .RI "#define \fBSCNoFAST32\fP 'lo'" .br .ti -1c .RI "#define \fBSCNu32\fP 'lu'" .br .ti -1c .RI "#define \fBSCNuLEAST32\fP 'lu'" .br .ti -1c .RI "#define \fBSCNuFAST32\fP 'lu'" .br .ti -1c .RI "#define \fBSCNx32\fP 'lx'" .br .ti -1c .RI "#define \fBSCNxLEAST32\fP 'lx'" .br .ti -1c .RI "#define \fBSCNxFAST32\fP 'lx'" .br .ti -1c .RI "#define \fBSCNoPTR\fP \fBSCNo16\fP" .br .ti -1c .RI "#define \fBSCNuPTR\fP \fBSCNu16\fP" .br .ti -1c .RI "#define \fBSCNxPTR\fP \fBSCNx16\fP" .br .in -1c .SH "Detailed Description" .PP .PP .nf #include .fi .PP .PP This header file includes the exact-width integer definitions from \fC<\fBstdint\&.h\fP>\fP, and extends them with additional facilities provided by the implementation\&. .PP Currently, the extensions include two additional integer types that could hold a 'far' pointer (i\&.e\&. a code pointer that can address more than 64 KB), as well as standard names for all printf and scanf formatting options that are supported by the \fB: Standard IO facilities\fP\&. As the library does not support the full range of conversion specifiers from ISO 9899:1999, only those conversions that are actually implemented will be listed here\&. .PP The idea behind these conversion macros is that, for each of the types defined by <\fBstdint\&.h\fP>, a macro will be supplied that portably allows formatting an object of that type in \fBprintf()\fP or \fBscanf()\fP operations\&. Example: .PP .PP .nf #include uint8_t smallval; int32_t longval; \&.\&.\&. printf("The hexadecimal value of smallval is %" PRIx8 ", the decimal value of longval is %" PRId32 "\&.\\n", smallval, longval); .fi .PP .SH "Macro Definition Documentation" .PP .SS "#define PRId16 'd'" decimal printf format for int16_t .SS "#define PRId32 'ld'" decimal printf format for int32_t .SS "#define PRId8 'd'" decimal printf format for int8_t .SS "#define PRIdFAST16 'd'" decimal printf format for int_fast16_t .SS "#define PRIdFAST32 'ld'" decimal printf format for int_fast32_t .SS "#define PRIdFAST8 'd'" decimal printf format for int_fast8_t .SS "#define PRIdLEAST16 'd'" decimal printf format for int_least16_t .SS "#define PRIdLEAST32 'ld'" decimal printf format for int_least32_t .SS "#define PRIdLEAST8 'd'" decimal printf format for int_least8_t .SS "#define PRIdPTR \fBPRId16\fP" decimal printf format for intptr_t .SS "#define PRIi16 'i'" integer printf format for int16_t .SS "#define PRIi32 'li'" integer printf format for int32_t .SS "#define PRIi8 'i'" integer printf format for int8_t .SS "#define PRIiFAST16 'i'" integer printf format for int_fast16_t .SS "#define PRIiFAST32 'li'" integer printf format for int_fast32_t .SS "#define PRIiFAST8 'i'" integer printf format for int_fast8_t .SS "#define PRIiLEAST16 'i'" integer printf format for int_least16_t .SS "#define PRIiLEAST32 'li'" integer printf format for int_least32_t .SS "#define PRIiLEAST8 'i'" integer printf format for int_least8_t .SS "#define PRIiPTR \fBPRIi16\fP" integer printf format for intptr_t .SS "#define PRIo16 'o'" octal printf format for uint16_t .SS "#define PRIo32 'lo'" octal printf format for uint32_t .SS "#define PRIo8 'o'" octal printf format for uint8_t .SS "#define PRIoFAST16 'o'" octal printf format for uint_fast16_t .SS "#define PRIoFAST32 'lo'" octal printf format for uint_fast32_t .SS "#define PRIoFAST8 'o'" octal printf format for uint_fast8_t .SS "#define PRIoLEAST16 'o'" octal printf format for uint_least16_t .SS "#define PRIoLEAST32 'lo'" octal printf format for uint_least32_t .SS "#define PRIoLEAST8 'o'" octal printf format for uint_least8_t .SS "#define PRIoPTR \fBPRIo16\fP" octal printf format for uintptr_t .SS "#define PRIu16 'u'" decimal printf format for uint16_t .SS "#define PRIu32 'lu'" decimal printf format for uint32_t .SS "#define PRIu8 'u'" decimal printf format for uint8_t .SS "#define PRIuFAST16 'u'" decimal printf format for uint_fast16_t .SS "#define PRIuFAST32 'lu'" decimal printf format for uint_fast32_t .SS "#define PRIuFAST8 'u'" decimal printf format for uint_fast8_t .SS "#define PRIuLEAST16 'u'" decimal printf format for uint_least16_t .SS "#define PRIuLEAST32 'lu'" decimal printf format for uint_least32_t .SS "#define PRIuLEAST8 'u'" decimal printf format for uint_least8_t .SS "#define PRIuPTR \fBPRIu16\fP" decimal printf format for uintptr_t .SS "#define PRIx16 'x'" hexadecimal printf format for uint16_t .SS "#define PRIX16 'X'" uppercase hexadecimal printf format for uint16_t .SS "#define PRIx32 'lx'" hexadecimal printf format for uint32_t .SS "#define PRIX32 'lX'" uppercase hexadecimal printf format for uint32_t .SS "#define PRIx8 'x'" hexadecimal printf format for uint8_t .SS "#define PRIX8 'X'" uppercase hexadecimal printf format for uint8_t .SS "#define PRIxFAST16 'x'" hexadecimal printf format for uint_fast16_t .SS "#define PRIXFAST16 'X'" uppercase hexadecimal printf format for uint_fast16_t .SS "#define PRIxFAST32 'lx'" hexadecimal printf format for uint_fast32_t .SS "#define PRIXFAST32 'lX'" uppercase hexadecimal printf format for uint_fast32_t .SS "#define PRIxFAST8 'x'" hexadecimal printf format for uint_fast8_t .SS "#define PRIXFAST8 'X'" uppercase hexadecimal printf format for uint_fast8_t .SS "#define PRIxLEAST16 'x'" hexadecimal printf format for uint_least16_t .SS "#define PRIXLEAST16 'X'" uppercase hexadecimal printf format for uint_least16_t .SS "#define PRIxLEAST32 'lx'" hexadecimal printf format for uint_least32_t .SS "#define PRIXLEAST32 'lX'" uppercase hexadecimal printf format for uint_least32_t .SS "#define PRIxLEAST8 'x'" hexadecimal printf format for uint_least8_t .SS "#define PRIXLEAST8 'X'" uppercase hexadecimal printf format for uint_least8_t .SS "#define PRIxPTR \fBPRIx16\fP" hexadecimal printf format for uintptr_t .SS "#define PRIXPTR \fBPRIX16\fP" uppercase hexadecimal printf format for uintptr_t .SS "#define SCNd16 'd'" decimal scanf format for int16_t .SS "#define SCNd32 'ld'" decimal scanf format for int32_t .SS "#define SCNd8 'hhd'" decimal scanf format for int8_t .SS "#define SCNdFAST16 'd'" decimal scanf format for int_fast16_t .SS "#define SCNdFAST32 'ld'" decimal scanf format for int_fast32_t .SS "#define SCNdFAST8 'hhd'" decimal scanf format for int_fast8_t .SS "#define SCNdLEAST16 'd'" decimal scanf format for int_least16_t .SS "#define SCNdLEAST32 'ld'" decimal scanf format for int_least32_t .SS "#define SCNdLEAST8 'hhd'" decimal scanf format for int_least8_t .SS "#define SCNdPTR \fBSCNd16\fP" decimal scanf format for intptr_t .SS "#define SCNi16 'i'" generic-integer scanf format for int16_t .SS "#define SCNi32 'li'" generic-integer scanf format for int32_t .SS "#define SCNi8 'hhi'" generic-integer scanf format for int8_t .SS "#define SCNiFAST16 'i'" generic-integer scanf format for int_fast16_t .SS "#define SCNiFAST32 'li'" generic-integer scanf format for int_fast32_t .SS "#define SCNiFAST8 'hhi'" generic-integer scanf format for int_fast8_t .SS "#define SCNiLEAST16 'i'" generic-integer scanf format for int_least16_t .SS "#define SCNiLEAST32 'li'" generic-integer scanf format for int_least32_t .SS "#define SCNiLEAST8 'hhi'" generic-integer scanf format for int_least8_t .SS "#define SCNiPTR \fBSCNi16\fP" generic-integer scanf format for intptr_t .SS "#define SCNo16 'o'" octal scanf format for uint16_t .SS "#define SCNo32 'lo'" octal scanf format for uint32_t .SS "#define SCNo8 'hho'" octal scanf format for uint8_t .SS "#define SCNoFAST16 'o'" octal scanf format for uint_fast16_t .SS "#define SCNoFAST32 'lo'" octal scanf format for uint_fast32_t .SS "#define SCNoFAST8 'hho'" octal scanf format for uint_fast8_t .SS "#define SCNoLEAST16 'o'" octal scanf format for uint_least16_t .SS "#define SCNoLEAST32 'lo'" octal scanf format for uint_least32_t .SS "#define SCNoLEAST8 'hho'" octal scanf format for uint_least8_t .SS "#define SCNoPTR \fBSCNo16\fP" octal scanf format for uintptr_t .SS "#define SCNu16 'u'" decimal scanf format for uint16_t .SS "#define SCNu32 'lu'" decimal scanf format for uint32_t .SS "#define SCNu8 'hhu'" decimal scanf format for uint8_t .SS "#define SCNuFAST16 'u'" decimal scanf format for uint_fast16_t .SS "#define SCNuFAST32 'lu'" decimal scanf format for uint_fast32_t .SS "#define SCNuFAST8 'hhu'" decimal scanf format for uint_fast8_t .SS "#define SCNuLEAST16 'u'" decimal scanf format for uint_least16_t .SS "#define SCNuLEAST32 'lu'" decimal scanf format for uint_least32_t .SS "#define SCNuLEAST8 'hhu'" decimal scanf format for uint_least8_t .SS "#define SCNuPTR \fBSCNu16\fP" decimal scanf format for uintptr_t .SS "#define SCNx16 'x'" hexadecimal scanf format for uint16_t .SS "#define SCNx32 'lx'" hexadecimal scanf format for uint32_t .SS "#define SCNx8 'hhx'" hexadecimal scanf format for uint8_t .SS "#define SCNxFAST16 'x'" hexadecimal scanf format for uint_fast16_t .SS "#define SCNxFAST32 'lx'" hexadecimal scanf format for uint_fast32_t .SS "#define SCNxFAST8 'hhx'" hexadecimal scanf format for uint_fast8_t .SS "#define SCNxLEAST16 'x'" hexadecimal scanf format for uint_least16_t .SS "#define SCNxLEAST32 'lx'" hexadecimal scanf format for uint_least32_t .SS "#define SCNxLEAST8 'hhx'" hexadecimal scanf format for uint_least8_t .SS "#define SCNxPTR \fBSCNx16\fP" hexadecimal scanf format for uintptr_t .SH "Typedef Documentation" .PP .SS "typedef \fBint32_t\fP \fBint_farptr_t\fP" signed integer type that can hold a pointer > 64 KB .SS "typedef \fBuint32_t\fP \fBuint_farptr_t\fP" unsigned integer type that can hold a pointer > 64 KB .SH "Author" .PP Generated automatically by Doxygen for avr-libc from the source code\&.