1 /* $MirOS: src/include/inttypes.h,v 1.6 2014/03/19 22:53:59 tg Exp $ */
2 
3 #ifndef	_INTTYPES_H_
4 #define	_INTTYPES_H_
5 
6 #include <stdint.h>
7 
8 /* imaxdiv_t missing */
9 
10 /* formatting macros */
11 
12 #define PRId8		"d"
13 #define PRIi8		"i"
14 #define PRIo8		"o"
15 #define PRIu8		"u"
16 #define PRIx8		"x"
17 #define PRIX8		"X"
18 
19 #define PRId16		"d"
20 #define PRIi16		"i"
21 #define PRIo16		"o"
22 #define PRIu16		"u"
23 #define PRIx16		"x"
24 #define PRIX16		"X"
25 
26 #define PRId32		"d"
27 #define PRIi32		"i"
28 #define PRIo32		"o"
29 #define PRIu32		"u"
30 #define PRIx32		"x"
31 #define PRIX32		"X"
32 
33 #define PRId64		"lld"
34 #define PRIi64		"lli"
35 #define PRIo64		"llo"
36 #define PRIu64		"llu"
37 #define PRIx64		"llx"
38 #define PRIX64		"llX"
39 
40 #define PRIdLEAST8	"d"
41 #define PRIiLEAST8	"i"
42 #define PRIoLEAST8	"o"
43 #define PRIuLEAST8	"u"
44 #define PRIxLEAST8	"x"
45 #define PRIXLEAST8	"X"
46 
47 #define PRIdLEAST16	"d"
48 #define PRIiLEAST16	"i"
49 #define PRIoLEAST16	"o"
50 #define PRIuLEAST16	"u"
51 #define PRIxLEAST16	"x"
52 #define PRIXLEAST16	"X"
53 
54 #define PRIdLEAST32	"d"
55 #define PRIiLEAST32	"i"
56 #define PRIoLEAST32	"o"
57 #define PRIuLEAST32	"u"
58 #define PRIxLEAST32	"x"
59 #define PRIXLEAST32	"X"
60 
61 #define PRIdLEAST64	"lld"
62 #define PRIiLEAST64	"lli"
63 #define PRIoLEAST64	"llo"
64 #define PRIuLEAST64	"llu"
65 #define PRIxLEAST64	"llx"
66 #define PRIXLEAST64	"llX"
67 
68 #define PRIdFAST8	"d"
69 #define PRIiFAST8	"i"
70 #define PRIoFAST8	"o"
71 #define PRIuFAST8	"u"
72 #define PRIxFAST8	"x"
73 #define PRIXFAST8	"X"
74 
75 #define PRIdFAST16	"d"
76 #define PRIiFAST16	"i"
77 #define PRIoFAST16	"o"
78 #define PRIuFAST16	"u"
79 #define PRIxFAST16	"x"
80 #define PRIXFAST16	"X"
81 
82 #define PRIdFAST32	"d"
83 #define PRIiFAST32	"i"
84 #define PRIoFAST32	"o"
85 #define PRIuFAST32	"u"
86 #define PRIxFAST32	"x"
87 #define PRIXFAST32	"X"
88 
89 #define PRIdFAST64	"lld"
90 #define PRIiFAST64	"lli"
91 #define PRIoFAST64	"llo"
92 #define PRIuFAST64	"llu"
93 #define PRIxFAST64	"llx"
94 #define PRIXFAST64	"llX"
95 
96 #define PRIdMAX		"jd"
97 #define PRIiMAX		"ji"
98 #define PRIoMAX		"jo"
99 #define PRIuMAX		"ju"
100 #define PRIxMAX		"jx"
101 #define PRIXMAX		"jX"
102 
103 #define PRIdPTR		"td"
104 #define PRIiPTR		"ti"
105 #define PRIoPTR		"to"
106 #define PRIuPTR		"tu"
107 #define PRIxPTR		"tx"
108 #define PRIXPTR		"tX"
109 
110 /* scanning macros */
111 
112 #define SCNd8		"hhd"
113 #define SCNi8		"hhi"
114 #define SCNo8		"hho"
115 #define SCNu8		"hhu"
116 #define SCNx8		"hhx"
117 
118 #define SCNd16		"hd"
119 #define SCNi16		"hi"
120 #define SCNo16		"ho"
121 #define SCNu16		"hu"
122 #define SCNx16		"hx"
123 
124 #define SCNd32		"d"
125 #define SCNi32		"i"
126 #define SCNo32		"o"
127 #define SCNu32		"u"
128 #define SCNx32		"x"
129 
130 #define SCNd64		"lld"
131 #define SCNi64		"lli"
132 #define SCNo64		"llo"
133 #define SCNu64		"llu"
134 #define SCNx64		"llx"
135 
136 #define SCNdLEAST8	"hhd"
137 #define SCNiLEAST8	"hhi"
138 #define SCNoLEAST8	"hho"
139 #define SCNuLEAST8	"hhu"
140 #define SCNxLEAST8	"hhx"
141 
142 #define SCNdLEAST16	"hd"
143 #define SCNiLEAST16	"hi"
144 #define SCNoLEAST16	"ho"
145 #define SCNuLEAST16	"hu"
146 #define SCNxLEAST16	"hx"
147 
148 #define SCNdLEAST32	"d"
149 #define SCNiLEAST32	"i"
150 #define SCNoLEAST32	"o"
151 #define SCNuLEAST32	"u"
152 #define SCNxLEAST32	"x"
153 
154 #define SCNdLEAST64	"lld"
155 #define SCNiLEAST64	"lli"
156 #define SCNoLEAST64	"llo"
157 #define SCNuLEAST64	"llu"
158 #define SCNxLEAST64	"llx"
159 
160 #define SCNdFAST8	"hhd"
161 #define SCNiFAST8	"hhi"
162 #define SCNoFAST8	"hho"
163 #define SCNuFAST8	"hhu"
164 #define SCNxFAST8	"hhx"
165 
166 #define SCNdFAST16	"hd"
167 #define SCNiFAST16	"hi"
168 #define SCNoFAST16	"ho"
169 #define SCNuFAST16	"hu"
170 #define SCNxFAST16	"hx"
171 
172 #define SCNdFAST32	"d"
173 #define SCNiFAST32	"i"
174 #define SCNoFAST32	"o"
175 #define SCNuFAST32	"u"
176 #define SCNxFAST32	"x"
177 
178 #define SCNdFAST64	"lld"
179 #define SCNiFAST64	"lli"
180 #define SCNoFAST64	"llo"
181 #define SCNuFAST64	"llu"
182 #define SCNxFAST64	"llx"
183 
184 #define SCNdMAX		"jd"
185 #define SCNiMAX		"ji"
186 #define SCNoMAX		"jo"
187 #define SCNuMAX		"ju"
188 #define SCNxMAX		"jx"
189 
190 #define SCNdPTR		"td"
191 #define SCNiPTR		"ti"
192 #define SCNoPTR		"to"
193 #define SCNuPTR		"tu"
194 #define SCNxPTR		"tx"
195 
196 /* functions */
197 
198 __BEGIN_DECLS
199 intmax_t strtoimax(const char *, char **, int);
200 uintmax_t strtoumax(const char *, char **, int);
201 __END_DECLS
202 
203 #endif /* ndef _INTTYPES_H_ */
204