39#error "Use this header only with Microsoft Visual C++ compilers!"
42#ifndef _MSC_INTTYPES_H_
43#define _MSC_INTTYPES_H_
65#if !defined(__cplusplus) || defined(__STDC_FORMAT_MACROS)
77#define PRIdLEAST16 "hd"
78#define PRIiLEAST16 "hi"
79#define PRIdFAST16 "hd"
80#define PRIiFAST16 "hi"
84#define PRIdLEAST32 "I32d"
85#define PRIiLEAST32 "I32i"
86#define PRIdFAST32 "I32d"
87#define PRIiFAST32 "I32i"
91#define PRIdLEAST64 "I64d"
92#define PRIiLEAST64 "I64i"
93#define PRIdFAST64 "I64d"
94#define PRIiFAST64 "I64i"
107#define PRIoLEAST8 "o"
108#define PRIuLEAST8 "u"
109#define PRIxLEAST8 "x"
110#define PRIXLEAST8 "X"
120#define PRIoLEAST16 "ho"
121#define PRIuLEAST16 "hu"
122#define PRIxLEAST16 "hx"
123#define PRIXLEAST16 "hX"
124#define PRIoFAST16 "ho"
125#define PRIuFAST16 "hu"
126#define PRIxFAST16 "hx"
127#define PRIXFAST16 "hX"
133#define PRIoLEAST32 "I32o"
134#define PRIuLEAST32 "I32u"
135#define PRIxLEAST32 "I32x"
136#define PRIXLEAST32 "I32X"
137#define PRIoFAST32 "I32o"
138#define PRIuFAST32 "I32u"
139#define PRIxFAST32 "I32x"
140#define PRIXFAST32 "I32X"
146#define PRIoLEAST64 "I64o"
147#define PRIuLEAST64 "I64u"
148#define PRIxLEAST64 "I64x"
149#define PRIXLEAST64 "I64X"
150#define PRIoFAST64 "I64o"
151#define PRIuFAST64 "I64u"
152#define PRIxFAST64 "I64x"
153#define PRIXFAST64 "I64X"
155#define PRIoMAX "I64o"
156#define PRIuMAX "I64u"
157#define PRIxMAX "I64x"
158#define PRIXMAX "I64X"
168#define SCNdLEAST8 "d"
169#define SCNiLEAST8 "i"
175#define SCNdLEAST16 "hd"
176#define SCNiLEAST16 "hi"
177#define SCNdFAST16 "hd"
178#define SCNiFAST16 "hi"
182#define SCNdLEAST32 "ld"
183#define SCNiLEAST32 "li"
184#define SCNdFAST32 "ld"
185#define SCNiFAST32 "li"
189#define SCNdLEAST64 "I64d"
190#define SCNiLEAST64 "I64i"
191#define SCNdFAST64 "I64d"
192#define SCNiFAST64 "I64i"
194#define SCNdMAX "I64d"
195#define SCNiMAX "I64i"
198# define SCNdPTR "I64d"
199# define SCNiPTR "I64i"
210#define SCNoLEAST8 "o"
211#define SCNuLEAST8 "u"
212#define SCNxLEAST8 "x"
213#define SCNXLEAST8 "X"
223#define SCNoLEAST16 "ho"
224#define SCNuLEAST16 "hu"
225#define SCNxLEAST16 "hx"
226#define SCNXLEAST16 "hX"
227#define SCNoFAST16 "ho"
228#define SCNuFAST16 "hu"
229#define SCNxFAST16 "hx"
230#define SCNXFAST16 "hX"
236#define SCNoLEAST32 "lo"
237#define SCNuLEAST32 "lu"
238#define SCNxLEAST32 "lx"
239#define SCNXLEAST32 "lX"
240#define SCNoFAST32 "lo"
241#define SCNuFAST32 "lu"
242#define SCNxFAST32 "lx"
243#define SCNXFAST32 "lX"
249#define SCNoLEAST64 "I64o"
250#define SCNuLEAST64 "I64u"
251#define SCNxLEAST64 "I64x"
252#define SCNXLEAST64 "I64X"
253#define SCNoFAST64 "I64o"
254#define SCNuFAST64 "I64u"
255#define SCNxFAST64 "I64x"
256#define SCNXFAST64 "I64X"
258#define SCNoMAX "I64o"
259#define SCNuMAX "I64u"
260#define SCNxMAX "I64x"
261#define SCNXMAX "I64X"
264# define SCNoPTR "I64o"
265# define SCNuPTR "I64u"
266# define SCNxPTR "I64x"
267# define SCNXPTR "I64X"
280#define imaxabs _abs64
291imaxdiv_t __cdecl imaxdiv(intmax_t numer, intmax_t denom)
295 result.quot = numer / denom;
296 result.rem = numer % denom;
298 if (numer < 0 && result.rem > 0) {
308#define strtoimax _strtoi64
309#define strtoumax _strtoui64
312#define wcstoimax _wcstoi64
313#define wcstoumax _wcstoui64