.TH "avr_inttypes" 3avr "Fri Jan 7 2022" "Version 2.0.0" "avr-libc" \" -*- nroff -*-
.ad l
.nh
.SH NAME
avr_inttypes \- <inttypes\&.h>: 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 <inttypes\&.h> 

.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<stdio\&.h>: 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 <inttypes\&.h>

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\&.