avr-libc  2.0.0
Standard C library for AVR-GCC

AVR Libc Home Page

AVRs

AVR Libc Development Pages

Main Page

User Manual

Library Reference

FAQ

Example Projects

<inttypes.h>: Integer Type conversions

Far pointers for memory access >64K

typedef int32_t int_farptr_t
 
typedef uint32_t uint_farptr_t
 

macros for printf and scanf format specifiers

For C++, these are only included if __STDC_LIMIT_MACROS is defined before including <inttypes.h>.

#define PRId8   "d"
 
#define PRIdLEAST8   "d"
 
#define PRIdFAST8   "d"
 
#define PRIi8   "i"
 
#define PRIiLEAST8   "i"
 
#define PRIiFAST8   "i"
 
#define PRId16   "d"
 
#define PRIdLEAST16   "d"
 
#define PRIdFAST16   "d"
 
#define PRIi16   "i"
 
#define PRIiLEAST16   "i"
 
#define PRIiFAST16   "i"
 
#define PRId32   "ld"
 
#define PRIdLEAST32   "ld"
 
#define PRIdFAST32   "ld"
 
#define PRIi32   "li"
 
#define PRIiLEAST32   "li"
 
#define PRIiFAST32   "li"
 
#define PRIdPTR   PRId16
 
#define PRIiPTR   PRIi16
 
#define PRIo8   "o"
 
#define PRIoLEAST8   "o"
 
#define PRIoFAST8   "o"
 
#define PRIu8   "u"
 
#define PRIuLEAST8   "u"
 
#define PRIuFAST8   "u"
 
#define PRIx8   "x"
 
#define PRIxLEAST8   "x"
 
#define PRIxFAST8   "x"
 
#define PRIX8   "X"
 
#define PRIXLEAST8   "X"
 
#define PRIXFAST8   "X"
 
#define PRIo16   "o"
 
#define PRIoLEAST16   "o"
 
#define PRIoFAST16   "o"
 
#define PRIu16   "u"
 
#define PRIuLEAST16   "u"
 
#define PRIuFAST16   "u"
 
#define PRIx16   "x"
 
#define PRIxLEAST16   "x"
 
#define PRIxFAST16   "x"
 
#define PRIX16   "X"
 
#define PRIXLEAST16   "X"
 
#define PRIXFAST16   "X"
 
#define PRIo32   "lo"
 
#define PRIoLEAST32   "lo"
 
#define PRIoFAST32   "lo"
 
#define PRIu32   "lu"
 
#define PRIuLEAST32   "lu"
 
#define PRIuFAST32   "lu"
 
#define PRIx32   "lx"
 
#define PRIxLEAST32   "lx"
 
#define PRIxFAST32   "lx"
 
#define PRIX32   "lX"
 
#define PRIXLEAST32   "lX"
 
#define PRIXFAST32   "lX"
 
#define PRIoPTR   PRIo16
 
#define PRIuPTR   PRIu16
 
#define PRIxPTR   PRIx16
 
#define PRIXPTR   PRIX16
 
#define SCNd8   "hhd"
 
#define SCNdLEAST8   "hhd"
 
#define SCNdFAST8   "hhd"
 
#define SCNi8   "hhi"
 
#define SCNiLEAST8   "hhi"
 
#define SCNiFAST8   "hhi"
 
#define SCNd16   "d"
 
#define SCNdLEAST16   "d"
 
#define SCNdFAST16   "d"
 
#define SCNi16   "i"
 
#define SCNiLEAST16   "i"
 
#define SCNiFAST16   "i"
 
#define SCNd32   "ld"
 
#define SCNdLEAST32   "ld"
 
#define SCNdFAST32   "ld"
 
#define SCNi32   "li"
 
#define SCNiLEAST32   "li"
 
#define SCNiFAST32   "li"
 
#define SCNdPTR   SCNd16
 
#define SCNiPTR   SCNi16
 
#define SCNo8   "hho"
 
#define SCNoLEAST8   "hho"
 
#define SCNoFAST8   "hho"
 
#define SCNu8   "hhu"
 
#define SCNuLEAST8   "hhu"
 
#define SCNuFAST8   "hhu"
 
#define SCNx8   "hhx"
 
#define SCNxLEAST8   "hhx"
 
#define SCNxFAST8   "hhx"
 
#define SCNo16   "o"
 
#define SCNoLEAST16   "o"
 
#define SCNoFAST16   "o"
 
#define SCNu16   "u"
 
#define SCNuLEAST16   "u"
 
#define SCNuFAST16   "u"
 
#define SCNx16   "x"
 
#define SCNxLEAST16   "x"
 
#define SCNxFAST16   "x"
 
#define SCNo32   "lo"
 
#define SCNoLEAST32   "lo"
 
#define SCNoFAST32   "lo"
 
#define SCNu32   "lu"
 
#define SCNuLEAST32   "lu"
 
#define SCNuFAST32   "lu"
 
#define SCNx32   "lx"
 
#define SCNxLEAST32   "lx"
 
#define SCNxFAST32   "lx"
 
#define SCNoPTR   SCNo16
 
#define SCNuPTR   SCNu16
 
#define SCNxPTR   SCNx16
 

Detailed Description

#include <inttypes.h>

This header file includes the exact-width integer definitions from <stdint.h>, and extends them with additional facilities provided by the implementation.

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 <stdio.h>: Standard IO facilities. 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.

The idea behind these conversion macros is that, for each of the types defined by <stdint.h>, a macro will be supplied that portably allows formatting an object of that type in printf() or scanf() operations. Example:

#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);

Macro Definition Documentation

#define PRId16   "d"

decimal printf format for int16_t

#define PRId32   "ld"

decimal printf format for int32_t

#define PRId8   "d"

decimal printf format for int8_t

#define PRIdFAST16   "d"

decimal printf format for int_fast16_t

#define PRIdFAST32   "ld"

decimal printf format for int_fast32_t

#define PRIdFAST8   "d"

decimal printf format for int_fast8_t

#define PRIdLEAST16   "d"

decimal printf format for int_least16_t

#define PRIdLEAST32   "ld"

decimal printf format for int_least32_t

#define PRIdLEAST8   "d"

decimal printf format for int_least8_t

#define PRIdPTR   PRId16

decimal printf format for intptr_t

#define PRIi16   "i"

integer printf format for int16_t

#define PRIi32   "li"

integer printf format for int32_t

#define PRIi8   "i"

integer printf format for int8_t

#define PRIiFAST16   "i"

integer printf format for int_fast16_t

#define PRIiFAST32   "li"

integer printf format for int_fast32_t

#define PRIiFAST8   "i"

integer printf format for int_fast8_t

#define PRIiLEAST16   "i"

integer printf format for int_least16_t

#define PRIiLEAST32   "li"

integer printf format for int_least32_t

#define PRIiLEAST8   "i"

integer printf format for int_least8_t

#define PRIiPTR   PRIi16

integer printf format for intptr_t

#define PRIo16   "o"

octal printf format for uint16_t

#define PRIo32   "lo"

octal printf format for uint32_t

#define PRIo8   "o"

octal printf format for uint8_t

#define PRIoFAST16   "o"

octal printf format for uint_fast16_t

#define PRIoFAST32   "lo"

octal printf format for uint_fast32_t

#define PRIoFAST8   "o"

octal printf format for uint_fast8_t

#define PRIoLEAST16   "o"

octal printf format for uint_least16_t

#define PRIoLEAST32   "lo"

octal printf format for uint_least32_t

#define PRIoLEAST8   "o"

octal printf format for uint_least8_t

#define PRIoPTR   PRIo16

octal printf format for uintptr_t

#define PRIu16   "u"

decimal printf format for uint16_t

#define PRIu32   "lu"

decimal printf format for uint32_t

#define PRIu8   "u"

decimal printf format for uint8_t

#define PRIuFAST16   "u"

decimal printf format for uint_fast16_t

#define PRIuFAST32   "lu"

decimal printf format for uint_fast32_t

#define PRIuFAST8   "u"

decimal printf format for uint_fast8_t

#define PRIuLEAST16   "u"

decimal printf format for uint_least16_t

#define PRIuLEAST32   "lu"

decimal printf format for uint_least32_t

#define PRIuLEAST8   "u"

decimal printf format for uint_least8_t

#define PRIuPTR   PRIu16

decimal printf format for uintptr_t

#define PRIx16   "x"

hexadecimal printf format for uint16_t

#define PRIX16   "X"

uppercase hexadecimal printf format for uint16_t

#define PRIx32   "lx"

hexadecimal printf format for uint32_t

#define PRIX32   "lX"

uppercase hexadecimal printf format for uint32_t

#define PRIx8   "x"

hexadecimal printf format for uint8_t

#define PRIX8   "X"

uppercase hexadecimal printf format for uint8_t

#define PRIxFAST16   "x"

hexadecimal printf format for uint_fast16_t

#define PRIXFAST16   "X"

uppercase hexadecimal printf format for uint_fast16_t

#define PRIxFAST32   "lx"

hexadecimal printf format for uint_fast32_t

#define PRIXFAST32   "lX"

uppercase hexadecimal printf format for uint_fast32_t

#define PRIxFAST8   "x"

hexadecimal printf format for uint_fast8_t

#define PRIXFAST8   "X"

uppercase hexadecimal printf format for uint_fast8_t

#define PRIxLEAST16   "x"

hexadecimal printf format for uint_least16_t

#define PRIXLEAST16   "X"

uppercase hexadecimal printf format for uint_least16_t

#define PRIxLEAST32   "lx"

hexadecimal printf format for uint_least32_t

#define PRIXLEAST32   "lX"

uppercase hexadecimal printf format for uint_least32_t

#define PRIxLEAST8   "x"

hexadecimal printf format for uint_least8_t

#define PRIXLEAST8   "X"

uppercase hexadecimal printf format for uint_least8_t

#define PRIxPTR   PRIx16

hexadecimal printf format for uintptr_t

#define PRIXPTR   PRIX16

uppercase hexadecimal printf format for uintptr_t

#define SCNd16   "d"

decimal scanf format for int16_t

#define SCNd32   "ld"

decimal scanf format for int32_t

#define SCNd8   "hhd"

decimal scanf format for int8_t

#define SCNdFAST16   "d"

decimal scanf format for int_fast16_t

#define SCNdFAST32   "ld"

decimal scanf format for int_fast32_t

#define SCNdFAST8   "hhd"

decimal scanf format for int_fast8_t

#define SCNdLEAST16   "d"

decimal scanf format for int_least16_t

#define SCNdLEAST32   "ld"

decimal scanf format for int_least32_t

#define SCNdLEAST8   "hhd"

decimal scanf format for int_least8_t

#define SCNdPTR   SCNd16

decimal scanf format for intptr_t

#define SCNi16   "i"

generic-integer scanf format for int16_t

#define SCNi32   "li"

generic-integer scanf format for int32_t

#define SCNi8   "hhi"

generic-integer scanf format for int8_t

#define SCNiFAST16   "i"

generic-integer scanf format for int_fast16_t

#define SCNiFAST32   "li"

generic-integer scanf format for int_fast32_t

#define SCNiFAST8   "hhi"

generic-integer scanf format for int_fast8_t

#define SCNiLEAST16   "i"

generic-integer scanf format for int_least16_t

#define SCNiLEAST32   "li"

generic-integer scanf format for int_least32_t

#define SCNiLEAST8   "hhi"

generic-integer scanf format for int_least8_t

#define SCNiPTR   SCNi16

generic-integer scanf format for intptr_t

#define SCNo16   "o"

octal scanf format for uint16_t

#define SCNo32   "lo"

octal scanf format for uint32_t

#define SCNo8   "hho"

octal scanf format for uint8_t

#define SCNoFAST16   "o"

octal scanf format for uint_fast16_t

#define SCNoFAST32   "lo"

octal scanf format for uint_fast32_t

#define SCNoFAST8   "hho"

octal scanf format for uint_fast8_t

#define SCNoLEAST16   "o"

octal scanf format for uint_least16_t

#define SCNoLEAST32   "lo"

octal scanf format for uint_least32_t

#define SCNoLEAST8   "hho"

octal scanf format for uint_least8_t

#define SCNoPTR   SCNo16

octal scanf format for uintptr_t

#define SCNu16   "u"

decimal scanf format for uint16_t

#define SCNu32   "lu"

decimal scanf format for uint32_t

#define SCNu8   "hhu"

decimal scanf format for uint8_t

#define SCNuFAST16   "u"

decimal scanf format for uint_fast16_t

#define SCNuFAST32   "lu"

decimal scanf format for uint_fast32_t

#define SCNuFAST8   "hhu"

decimal scanf format for uint_fast8_t

#define SCNuLEAST16   "u"

decimal scanf format for uint_least16_t

#define SCNuLEAST32   "lu"

decimal scanf format for uint_least32_t

#define SCNuLEAST8   "hhu"

decimal scanf format for uint_least8_t

#define SCNuPTR   SCNu16

decimal scanf format for uintptr_t

#define SCNx16   "x"

hexadecimal scanf format for uint16_t

#define SCNx32   "lx"

hexadecimal scanf format for uint32_t

#define SCNx8   "hhx"

hexadecimal scanf format for uint8_t

#define SCNxFAST16   "x"

hexadecimal scanf format for uint_fast16_t

#define SCNxFAST32   "lx"

hexadecimal scanf format for uint_fast32_t

#define SCNxFAST8   "hhx"

hexadecimal scanf format for uint_fast8_t

#define SCNxLEAST16   "x"

hexadecimal scanf format for uint_least16_t

#define SCNxLEAST32   "lx"

hexadecimal scanf format for uint_least32_t

#define SCNxLEAST8   "hhx"

hexadecimal scanf format for uint_least8_t

#define SCNxPTR   SCNx16

hexadecimal scanf format for uintptr_t

Typedef Documentation

signed integer type that can hold a pointer > 64 KB

unsigned integer type that can hold a pointer > 64 KB