1 // Copyright 2016 The Fuchsia Authors
2 //
3 // Use of this source code is governed by a MIT-style
4 // license that can be found in the LICENSE file or at
5 // https://opensource.org/licenses/MIT
6 
7 #pragma once
8 
9 // This (or the compiler) defines all the __<type>_FMT<letter>__ macros.
10 #include <stdint.h>
11 
12 #define PRId8       __INT8_FMTd__
13 #define PRId16      __INT16_FMTd__
14 #define PRId32      __INT32_FMTd__
15 #define PRId64      __INT64_FMTd__
16 
17 #define PRIdLEAST8  __INT_LEAST8_FMTd__
18 #define PRIdLEAST16 __INT_LEAST16_FMTd__
19 #define PRIdLEAST32 __INT_LEAST32_FMTd__
20 #define PRIdLEAST64 __INT_LEAST64_FMTd__
21 
22 #define PRIdFAST8   __INT_FAST8_FMTd__
23 #define PRIdFAST16  __INT_FAST16_FMTd__
24 #define PRIdFAST32  __INT_FAST32_FMTd__
25 #define PRIdFAST64  __INT_FAST64_FMTd__
26 
27 #define PRIi8       __INT8_FMTi__
28 #define PRIi16      __INT16_FMTi__
29 #define PRIi32      __INT32_FMTi__
30 #define PRIi64      __INT64_FMTi__
31 
32 #define PRIiLEAST8  __INT_LEAST8_FMTi__
33 #define PRIiLEAST16 __INT_LEAST16_FMTi__
34 #define PRIiLEAST32 __INT_LEAST32_FMTi__
35 #define PRIiLEAST64 __INT_LEAST64_FMTi__
36 
37 #define PRIiFAST8   __INT_FAST8_FMTi__
38 #define PRIiFAST16  __INT_FAST16_FMTi__
39 #define PRIiFAST32  __INT_FAST32_FMTi__
40 #define PRIiFAST64  __INT_FAST64_FMTi__
41 
42 #define PRIo8       __UINT8_FMTo__
43 #define PRIo16      __UINT16_FMTo__
44 #define PRIo32      __UINT32_FMTo__
45 #define PRIo64      __UINT64_FMTo__
46 
47 #define PRIoLEAST8  __UINT_LEAST8_FMTo__
48 #define PRIoLEAST16 __UINT_LEAST16_FMTo__
49 #define PRIoLEAST32 __UINT_LEAST32_FMTo__
50 #define PRIoLEAST64 __UINT_LEAST64_FMTo__
51 
52 #define PRIoFAST8   __UINT_FAST8_FMTo__
53 #define PRIoFAST16  __UINT_FAST16_FMTo__
54 #define PRIoFAST32  __UINT_FAST32_FMTo__
55 #define PRIoFAST64  __UINT_FAST64_FMTo__
56 
57 #define PRIu8       __UINT8_FMTu__
58 #define PRIu16      __UINT16_FMTu__
59 #define PRIu32      __UINT32_FMTu__
60 #define PRIu64      __UINT64_FMTu__
61 
62 #define PRIuLEAST8  __UINT_LEAST8_FMTu__
63 #define PRIuLEAST16 __UINT_LEAST16_FMTu__
64 #define PRIuLEAST32 __UINT_LEAST32_FMTu__
65 #define PRIuLEAST64 __UINT_LEAST64_FMTu__
66 
67 #define PRIuFAST8   __UINT_FAST8_FMTu__
68 #define PRIuFAST16  __UINT_FAST16_FMTu__
69 #define PRIuFAST32  __UINT_FAST32_FMTu__
70 #define PRIuFAST64  __UINT_FAST64_FMTu__
71 
72 #define PRIx8       __UINT8_FMTx__
73 #define PRIx16      __UINT16_FMTx__
74 #define PRIx32      __UINT32_FMTx__
75 #define PRIx64      __UINT64_FMTx__
76 
77 #define PRIxLEAST8  __UINT_LEAST8_FMTx__
78 #define PRIxLEAST16 __UINT_LEAST16_FMTx__
79 #define PRIxLEAST32 __UINT_LEAST32_FMTx__
80 #define PRIxLEAST64 __UINT_LEAST64_FMTx__
81 
82 #define PRIxFAST8   __UINT_FAST8_FMTx__
83 #define PRIxFAST16  __UINT_FAST16_FMTx__
84 #define PRIxFAST32  __UINT_FAST32_FMTx__
85 #define PRIxFAST64  __UINT_FAST64_FMTx__
86 
87 #define PRIX8       __UINT8_FMTX__
88 #define PRIX16      __UINT16_FMTX__
89 #define PRIX32      __UINT32_FMTX__
90 #define PRIX64      __UINT64_FMTX__
91 
92 #define PRIXLEAST8  __UINT_LEAST8_FMTX__
93 #define PRIXLEAST16 __UINT_LEAST16_FMTX__
94 #define PRIXLEAST32 __UINT_LEAST32_FMTX__
95 #define PRIXLEAST64 __UINT_LEAST64_FMTX__
96 
97 #define PRIXFAST8   __UINT_FAST8_FMTX__
98 #define PRIXFAST16  __UINT_FAST16_FMTX__
99 #define PRIXFAST32  __UINT_FAST32_FMTX__
100 #define PRIXFAST64  __UINT_FAST64_FMTX__
101 
102 #define PRIdMAX     __INTMAX_FMTd__
103 #define PRIiMAX     __INTMAX_FMTi__
104 #define PRIoMAX     __UINTMAX_FMTo__
105 #define PRIuMAX     __UINTMAX_FMTu__
106 #define PRIxMAX     __UINTMAX_FMTx__
107 #define PRIXMAX     __UINTMAX_FMTX__
108 
109 #define PRIdPTR     __INTPTR_FMTd__
110 #define PRIiPTR     __INTPTR_FMTi__
111 #define PRIoPTR     __UINTPTR_FMTo__
112 #define PRIuPTR     __UINTPTR_FMTu__
113 #define PRIxPTR     __UINTPTR_FMTx__
114 #define PRIXPTR     __UINTPTR_FMTX__
115