33#error "Use this header only with Microsoft Visual C++ compilers!"
36#ifndef _MSC_INTTYPES_H_
37#define _MSC_INTTYPES_H_
54#if !defined(__cplusplus) || defined(__STDC_FORMAT_MACROS)
66#define PRIdLEAST16 "hd"
67#define PRIiLEAST16 "hi"
68#define PRIdFAST16 "hd"
69#define PRIiFAST16 "hi"
73#define PRIdLEAST32 "I32d"
74#define PRIiLEAST32 "I32i"
75#define PRIdFAST32 "I32d"
76#define PRIiFAST32 "I32i"
80#define PRIdLEAST64 "I64d"
81#define PRIiLEAST64 "I64i"
82#define PRIdFAST64 "I64d"
83#define PRIiFAST64 "I64i"
109#define PRIoLEAST16 "ho"
110#define PRIuLEAST16 "hu"
111#define PRIxLEAST16 "hx"
112#define PRIXLEAST16 "hX"
113#define PRIoFAST16 "ho"
114#define PRIuFAST16 "hu"
115#define PRIxFAST16 "hx"
116#define PRIXFAST16 "hX"
122#define PRIoLEAST32 "I32o"
123#define PRIuLEAST32 "I32u"
124#define PRIxLEAST32 "I32x"
125#define PRIXLEAST32 "I32X"
126#define PRIoFAST32 "I32o"
127#define PRIuFAST32 "I32u"
128#define PRIxFAST32 "I32x"
129#define PRIXFAST32 "I32X"
135#define PRIoLEAST64 "I64o"
136#define PRIuLEAST64 "I64u"
137#define PRIxLEAST64 "I64x"
138#define PRIXLEAST64 "I64X"
139#define PRIoFAST64 "I64o"
140#define PRIuFAST64 "I64u"
141#define PRIxFAST64 "I64x"
142#define PRIXFAST64 "I64X"
144#define PRIoMAX "I64o"
145#define PRIuMAX "I64u"
146#define PRIxMAX "I64x"
147#define PRIXMAX "I64X"
157#define SCNdLEAST8 "d"
158#define SCNiLEAST8 "i"
164#define SCNdLEAST16 "hd"
165#define SCNiLEAST16 "hi"
166#define SCNdFAST16 "hd"
167#define SCNiFAST16 "hi"
171#define SCNdLEAST32 "ld"
172#define SCNiLEAST32 "li"
173#define SCNdFAST32 "ld"
174#define SCNiFAST32 "li"
178#define SCNdLEAST64 "I64d"
179#define SCNiLEAST64 "I64i"
180#define SCNdFAST64 "I64d"
181#define SCNiFAST64 "I64i"
183#define SCNdMAX "I64d"
184#define SCNiMAX "I64i"
187#define SCNdPTR "I64d"
188#define SCNiPTR "I64i"
199#define SCNoLEAST8 "o"
200#define SCNuLEAST8 "u"
201#define SCNxLEAST8 "x"
202#define SCNXLEAST8 "X"
212#define SCNoLEAST16 "ho"
213#define SCNuLEAST16 "hu"
214#define SCNxLEAST16 "hx"
215#define SCNXLEAST16 "hX"
216#define SCNoFAST16 "ho"
217#define SCNuFAST16 "hu"
218#define SCNxFAST16 "hx"
219#define SCNXFAST16 "hX"
225#define SCNoLEAST32 "lo"
226#define SCNuLEAST32 "lu"
227#define SCNxLEAST32 "lx"
228#define SCNXLEAST32 "lX"
229#define SCNoFAST32 "lo"
230#define SCNuFAST32 "lu"
231#define SCNxFAST32 "lx"
232#define SCNXFAST32 "lX"
238#define SCNoLEAST64 "I64o"
239#define SCNuLEAST64 "I64u"
240#define SCNxLEAST64 "I64x"
241#define SCNXLEAST64 "I64X"
242#define SCNoFAST64 "I64o"
243#define SCNuFAST64 "I64u"
244#define SCNxFAST64 "I64x"
245#define SCNXFAST64 "I64X"
247#define SCNoMAX "I64o"
248#define SCNuMAX "I64u"
249#define SCNxMAX "I64x"
250#define SCNXMAX "I64X"
253#define SCNoPTR "I64o"
254#define SCNuPTR "I64u"
255#define SCNxPTR "I64x"
256#define SCNXPTR "I64X"
269#define imaxabs _abs64
280 imaxdiv_t __cdecl imaxdiv(intmax_t numer, intmax_t denom)
284 result.quot = numer / denom;
285 result.rem = numer % denom;
287 if (numer < 0 && result.rem > 0) {
297#define strtoimax _strtoi64
298#define strtoumax _strtoui64
301#define wcstoimax _wcstoi64
302#define wcstoumax _wcstoui64