AVR-LibC
2.2.0
Standard C library for AVR-GCC
|
AVR-LibC Documentation |
AVR-LibC Development Pages |
||||
Main Page |
User Manual |
Library Reference |
FAQ |
Example Projects |
File List |
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:
#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 int32_t int_farptr_t |
signed integer type that can hold a pointer > 64 KiB
typedef uint32_t uint_farptr_t |
unsigned integer type that can hold a pointer > 64 KiB, see also pgm_get_far_address()