AVR Libc Home Page | AVR Libc Development Pages | |||
Main Page | User Manual | Reference | FAQ | Example Projects |
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 |
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);
#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 PRIdPTRPRId16 |
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 PRIiPTRPRIi16 |
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 PRIoPTRPRIo16 |
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 PRIuPTRPRIu16 |
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 PRIxPTRPRIx16 |
hexadecimal printf format for uintptr_t
#define PRIXPTRPRIX16 |
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 SCNdPTRSCNd16 |
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 SCNiPTRSCNi16 |
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 SCNoPTRSCNo16 |
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 SCNuPTRSCNu16 |
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 SCNxPTRSCNx16 |
hexadecimal scanf format for uintptr_t
typedef int32_t int_farptr_t |
signed integer type that can hold a pointer >> 64 KB
typedef uint32_t uint_farptr_t |
unsigned integer type that can hold a pointer >> 64 KB