diff --git a/photon/libc/include/inttypes.h b/photon/libc/include/inttypes.h new file mode 100644 index 0000000..2bd6bc8 --- /dev/null +++ b/photon/libc/include/inttypes.h @@ -0,0 +1,195 @@ +#ifndef INTTYPES_H__ +#define INTTYPES_H__ + +#include + +#define __PRI_8_LENGTH_MODIFIER__ "hh" +#define __PRI_64_LENGTH_MODIFIER__ "ll" +#define __SCN_64_LENGTH_MODIFIER__ "ll" +#define __PRI_MAX_LENGTH_MODIFIER__ "j" +#define __SCN_MAX_LENGTH_MODIFIER__ "j" + +#define PRId8 __PRI_8_LENGTH_MODIFIER__ "d" +#define PRIi8 __PRI_8_LENGTH_MODIFIER__ "i" +#define PRIo8 __PRI_8_LENGTH_MODIFIER__ "o" +#define PRIu8 __PRI_8_LENGTH_MODIFIER__ "u" +#define PRIx8 __PRI_8_LENGTH_MODIFIER__ "x" +#define PRIX8 __PRI_8_LENGTH_MODIFIER__ "X" + +#define PRId16 "hd" +#define PRIi16 "hi" +#define PRIo16 "ho" +#define PRIu16 "hu" +#define PRIx16 "hx" +#define PRIX16 "hX" + +#define PRId32 "d" +#define PRIi32 "i" +#define PRIo32 "o" +#define PRIu32 "u" +#define PRIx32 "x" +#define PRIX32 "X" + +#define PRId64 __PRI_64_LENGTH_MODIFIER__ "d" +#define PRIi64 __PRI_64_LENGTH_MODIFIER__ "i" +#define PRIo64 __PRI_64_LENGTH_MODIFIER__ "o" +#define PRIu64 __PRI_64_LENGTH_MODIFIER__ "u" +#define PRIx64 __PRI_64_LENGTH_MODIFIER__ "x" +#define PRIX64 __PRI_64_LENGTH_MODIFIER__ "X" + +#define PRIdLEAST8 PRId8 +#define PRIiLEAST8 PRIi8 +#define PRIoLEAST8 PRIo8 +#define PRIuLEAST8 PRIu8 +#define PRIxLEAST8 PRIx8 +#define PRIXLEAST8 PRIX8 + +#define PRIdLEAST16 PRId16 +#define PRIiLEAST16 PRIi16 +#define PRIoLEAST16 PRIo16 +#define PRIuLEAST16 PRIu16 +#define PRIxLEAST16 PRIx16 +#define PRIXLEAST16 PRIX16 + +#define PRIdLEAST32 PRId32 +#define PRIiLEAST32 PRIi32 +#define PRIoLEAST32 PRIo32 +#define PRIuLEAST32 PRIu32 +#define PRIxLEAST32 PRIx32 +#define PRIXLEAST32 PRIX32 + +#define PRIdLEAST64 PRId64 +#define PRIiLEAST64 PRIi64 +#define PRIoLEAST64 PRIo64 +#define PRIuLEAST64 PRIu64 +#define PRIxLEAST64 PRIx64 +#define PRIXLEAST64 PRIX64 + +#define PRIdFAST8 PRId8 +#define PRIiFAST8 PRIi8 +#define PRIoFAST8 PRIo8 +#define PRIuFAST8 PRIu8 +#define PRIxFAST8 PRIx8 +#define PRIXFAST8 PRIX8 + +#define PRIdFAST16 PRId16 +#define PRIiFAST16 PRIi16 +#define PRIoFAST16 PRIo16 +#define PRIuFAST16 PRIu16 +#define PRIxFAST16 PRIx16 +#define PRIXFAST16 PRIX16 + +#define PRIdFAST32 PRId32 +#define PRIiFAST32 PRIi32 +#define PRIoFAST32 PRIo32 +#define PRIuFAST32 PRIu32 +#define PRIxFAST32 PRIx32 +#define PRIXFAST32 PRIX32 + +#define PRIdFAST64 PRId64 +#define PRIiFAST64 PRIi64 +#define PRIoFAST64 PRIo64 +#define PRIuFAST64 PRIu64 +#define PRIxFAST64 PRIx64 +#define PRIXFAST64 PRIX64 + +/* int32_t is 'int', but intptr_t is 'long'. */ +#define PRIdPTR "ld" +#define PRIiPTR "li" +#define PRIoPTR "lo" +#define PRIuPTR "lu" +#define PRIxPTR "lx" +#define PRIXPTR "lX" + +#define PRIdMAX __PRI_MAX_LENGTH_MODIFIER__ "d" +#define PRIiMAX __PRI_MAX_LENGTH_MODIFIER__ "i" +#define PRIoMAX __PRI_MAX_LENGTH_MODIFIER__ "o" +#define PRIuMAX __PRI_MAX_LENGTH_MODIFIER__ "u" +#define PRIxMAX __PRI_MAX_LENGTH_MODIFIER__ "x" +#define PRIXMAX __PRI_MAX_LENGTH_MODIFIER__ "X" + +#define SCNd8 __PRI_8_LENGTH_MODIFIER__ "d" +#define SCNi8 __PRI_8_LENGTH_MODIFIER__ "i" +#define SCNo8 __PRI_8_LENGTH_MODIFIER__ "o" +#define SCNu8 __PRI_8_LENGTH_MODIFIER__ "u" +#define SCNx8 __PRI_8_LENGTH_MODIFIER__ "x" + +#define SCNd16 "hd" +#define SCNi16 "hi" +#define SCNo16 "ho" +#define SCNu16 "hu" +#define SCNx16 "hx" + +#define SCNd32 "d" +#define SCNi32 "i" +#define SCNo32 "o" +#define SCNu32 "u" +#define SCNx32 "x" + +#define SCNd64 __SCN_64_LENGTH_MODIFIER__ "d" +#define SCNi64 __SCN_64_LENGTH_MODIFIER__ "i" +#define SCNo64 __SCN_64_LENGTH_MODIFIER__ "o" +#define SCNu64 __SCN_64_LENGTH_MODIFIER__ "u" +#define SCNx64 __SCN_64_LENGTH_MODIFIER__ "x" + +#define SCNdLEAST8 SCNd8 +#define SCNiLEAST8 SCNi8 +#define SCNoLEAST8 SCNo8 +#define SCNuLEAST8 SCNu8 +#define SCNxLEAST8 SCNx8 + +#define SCNdLEAST16 SCNd16 +#define SCNiLEAST16 SCNi16 +#define SCNoLEAST16 SCNo16 +#define SCNuLEAST16 SCNu16 +#define SCNxLEAST16 SCNx16 + +#define SCNdLEAST32 SCNd32 +#define SCNiLEAST32 SCNi32 +#define SCNoLEAST32 SCNo32 +#define SCNuLEAST32 SCNu32 +#define SCNxLEAST32 SCNx32 + +#define SCNdLEAST64 SCNd64 +#define SCNiLEAST64 SCNi64 +#define SCNoLEAST64 SCNo64 +#define SCNuLEAST64 SCNu64 +#define SCNxLEAST64 SCNx64 + +#define SCNdFAST8 SCNd8 +#define SCNiFAST8 SCNi8 +#define SCNoFAST8 SCNo8 +#define SCNuFAST8 SCNu8 +#define SCNxFAST8 SCNx8 + +#define SCNdFAST16 SCNd16 +#define SCNiFAST16 SCNi16 +#define SCNoFAST16 SCNo16 +#define SCNuFAST16 SCNu16 +#define SCNxFAST16 SCNx16 + +#define SCNdFAST32 SCNd32 +#define SCNiFAST32 SCNi32 +#define SCNoFAST32 SCNo32 +#define SCNuFAST32 SCNu32 +#define SCNxFAST32 SCNx32 + +#define SCNdFAST64 SCNd64 +#define SCNiFAST64 SCNi64 +#define SCNoFAST64 SCNo64 +#define SCNuFAST64 SCNu64 +#define SCNxFAST64 SCNx64 + +#define SCNdPTR "ld" +#define SCNiPTR "li" +#define SCNoPTR "lo" +#define SCNuPTR "lu" +#define SCNxPTR "lx" + +#define SCNdMAX __SCN_MAX_LENGTH_MODIFIER__ "d" +#define SCNiMAX __SCN_MAX_LENGTH_MODIFIER__ "i" +#define SCNoMAX __SCN_MAX_LENGTH_MODIFIER__ "o" +#define SCNuMAX __SCN_MAX_LENGTH_MODIFIER__ "u" +#define SCNxMAX __SCN_MAX_LENGTH_MODIFIER__ "x" + +#endif