ReactOS 0.4.16-dev-1059-gb1cf981
inttypes.h
Go to the documentation of this file.
1//
2// inttypes.h
3//
4// Copyright (c) Microsoft Corporation. All rights reserved.
5//
6// Various integer format specifier macros for use with the stdio library, and
7// various integer conversion and manipulation functions.
8//
9#pragma once
10#ifndef _INTTYPES // include guard for 3rd party interop
11#define _INTTYPES
12
13#include <corecrt.h>
14#include <stdint.h>
15
16#pragma warning(push)
17#pragma warning(disable: _UCRT_DISABLED_WARNINGS)
19
21
22
23
24//-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
25//
26// Types
27//
28//-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
29typedef struct
30{
33} _Lldiv_t;
34
36
37
38
39//-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
40//
41// Functions
42//
43//-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
46 _In_ intmax_t _Number
47 );
48
51 _In_ intmax_t _Numerator,
52 _In_ intmax_t _Denominator
53 );
54
56 _In_z_ char const* _String,
57 _Out_opt_ _Deref_post_z_ char** _EndPtr,
58 _In_ int _Radix
59 );
60
62 _In_z_ char const* _String,
63 _Out_opt_ _Deref_post_z_ char** _EndPtr,
64 _In_ int _Radix,
66 );
67
69 _In_z_ char const* _String,
70 _Out_opt_ _Deref_post_z_ char** _EndPtr,
71 _In_ int _Radix
72 );
73
75 _In_z_ char const* _String,
76 _Out_opt_ _Deref_post_z_ char** _EndPtr,
77 _In_ int _Radix,
79 );
80
82 _In_z_ wchar_t const* _String,
83 _Out_opt_ _Deref_post_z_ wchar_t** _EndPtr,
84 _In_ int _Radix
85 );
86
88 _In_z_ wchar_t const* _String,
89 _Out_opt_ _Deref_post_z_ wchar_t** _EndPtr,
90 _In_ int _Radix,
92 );
93
95 _In_z_ wchar_t const* _String,
96 _Out_opt_ _Deref_post_z_ wchar_t** _EndPtr,
97 _In_ int _Radix
98 );
99
101 _In_z_ wchar_t const* _String,
102 _Out_opt_ _Deref_post_z_ wchar_t** _EndPtr,
103 _In_ int _Radix,
105 );
106
107
108
109//-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
110//
111// Output Format Specifier Macros
112//
113//-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
114#define PRId8 "hhd"
115#define PRId16 "hd"
116#define PRId32 "d"
117#define PRId64 "lld"
118#define PRIdLEAST8 PRId8
119#define PRIdLEAST16 PRId16
120#define PRIdLEAST32 PRId32
121#define PRIdLEAST64 PRId64
122#define PRIdFAST8 PRId8
123#define PRIdFAST16 PRId32
124#define PRIdFAST32 PRId32
125#define PRIdFAST64 PRId64
126#define PRIdMAX PRId64
127#ifdef _WIN64
128 #define PRIdPTR PRId64
129#else
130 #define PRIdPTR PRId32
131#endif
132
133#define PRIi8 "hhi"
134#define PRIi16 "hi"
135#define PRIi32 "i"
136#define PRIi64 "lli"
137#define PRIiLEAST8 PRIi8
138#define PRIiLEAST16 PRIi16
139#define PRIiLEAST32 PRIi32
140#define PRIiLEAST64 PRIi64
141#define PRIiFAST8 PRIi8
142#define PRIiFAST16 PRIi32
143#define PRIiFAST32 PRIi32
144#define PRIiFAST64 PRIi64
145#define PRIiMAX PRIi64
146#ifdef _WIN64
147 #define PRIiPTR PRIi64
148#else
149 #define PRIiPTR PRIi32
150#endif
151
152#define PRIo8 "hho"
153#define PRIo16 "ho"
154#define PRIo32 "o"
155#define PRIo64 "llo"
156#define PRIoLEAST8 PRIo8
157#define PRIoLEAST16 PRIo16
158#define PRIoLEAST32 PRIo32
159#define PRIoLEAST64 PRIo64
160#define PRIoFAST8 PRIo8
161#define PRIoFAST16 PRIo32
162#define PRIoFAST32 PRIo32
163#define PRIoFAST64 PRIo64
164#define PRIoMAX PRIo64
165#ifdef _WIN64
166 #define PRIoPTR PRIo64
167#else
168 #define PRIoPTR PRIo32
169#endif
170
171#define PRIu8 "hhu"
172#define PRIu16 "hu"
173#define PRIu32 "u"
174#define PRIu64 "llu"
175#define PRIuLEAST8 PRIu8
176#define PRIuLEAST16 PRIu16
177#define PRIuLEAST32 PRIu32
178#define PRIuLEAST64 PRIu64
179#define PRIuFAST8 PRIu8
180#define PRIuFAST16 PRIu32
181#define PRIuFAST32 PRIu32
182#define PRIuFAST64 PRIu64
183#define PRIuMAX PRIu64
184#ifdef _WIN64
185 #define PRIuPTR PRIu64
186#else
187 #define PRIuPTR PRIu32
188#endif
189
190#define PRIx8 "hhx"
191#define PRIx16 "hx"
192#define PRIx32 "x"
193#define PRIx64 "llx"
194#define PRIxLEAST8 PRIx8
195#define PRIxLEAST16 PRIx16
196#define PRIxLEAST32 PRIx32
197#define PRIxLEAST64 PRIx64
198#define PRIxFAST8 PRIx8
199#define PRIxFAST16 PRIx32
200#define PRIxFAST32 PRIx32
201#define PRIxFAST64 PRIx64
202#define PRIxMAX PRIx64
203#ifdef _WIN64
204 #define PRIxPTR PRIx64
205#else
206 #define PRIxPTR PRIx32
207#endif
208
209#define PRIX8 "hhX"
210#define PRIX16 "hX"
211#define PRIX32 "X"
212#define PRIX64 "llX"
213#define PRIXLEAST8 PRIX8
214#define PRIXLEAST16 PRIX16
215#define PRIXLEAST32 PRIX32
216#define PRIXLEAST64 PRIX64
217#define PRIXFAST8 PRIX8
218#define PRIXFAST16 PRIX32
219#define PRIXFAST32 PRIX32
220#define PRIXFAST64 PRIX64
221#define PRIXMAX PRIX64
222#ifdef _WIN64
223 #define PRIXPTR PRIX64
224#else
225 #define PRIXPTR PRIX32
226#endif
227
228
229
230//-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
231//
232// Input Format Specifier Macros
233//
234//-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
235#define SCNd8 "hhd"
236#define SCNd16 "hd"
237#define SCNd32 "d"
238#define SCNd64 "lld"
239#define SCNdLEAST8 SCNd8
240#define SCNdLEAST16 SCNd16
241#define SCNdLEAST32 SCNd32
242#define SCNdLEAST64 SCNd64
243#define SCNdFAST8 SCNd8
244#define SCNdFAST16 SCNd32
245#define SCNdFAST32 SCNd32
246#define SCNdFAST64 SCNd64
247#define SCNdMAX SCNd64
248#ifdef _WIN64
249 #define SCNdPTR SCNd64
250#else
251 #define SCNdPTR SCNd32
252#endif
253
254#define SCNi8 "hhi"
255#define SCNi16 "hi"
256#define SCNi32 "i"
257#define SCNi64 "lli"
258#define SCNiLEAST8 SCNi8
259#define SCNiLEAST16 SCNi16
260#define SCNiLEAST32 SCNi32
261#define SCNiLEAST64 SCNi64
262#define SCNiFAST8 SCNi8
263#define SCNiFAST16 SCNi32
264#define SCNiFAST32 SCNi32
265#define SCNiFAST64 SCNi64
266#define SCNiMAX SCNi64
267#ifdef _WIN64
268 #define SCNiPTR SCNi64
269#else
270 #define SCNiPTR SCNi32
271#endif
272
273#define SCNo8 "hho"
274#define SCNo16 "ho"
275#define SCNo32 "o"
276#define SCNo64 "llo"
277#define SCNoLEAST8 SCNo8
278#define SCNoLEAST16 SCNo16
279#define SCNoLEAST32 SCNo32
280#define SCNoLEAST64 SCNo64
281#define SCNoFAST8 SCNo8
282#define SCNoFAST16 SCNo32
283#define SCNoFAST32 SCNo32
284#define SCNoFAST64 SCNo64
285#define SCNoMAX SCNo64
286#ifdef _WIN64
287 #define SCNoPTR SCNo64
288#else
289 #define SCNoPTR SCNo32
290#endif
291
292#define SCNu8 "hhu"
293#define SCNu16 "hu"
294#define SCNu32 "u"
295#define SCNu64 "llu"
296#define SCNuLEAST8 SCNu8
297#define SCNuLEAST16 SCNu16
298#define SCNuLEAST32 SCNu32
299#define SCNuLEAST64 SCNu64
300#define SCNuFAST8 SCNu8
301#define SCNuFAST16 SCNu32
302#define SCNuFAST32 SCNu32
303#define SCNuFAST64 SCNu64
304#define SCNuMAX SCNu64
305#ifdef _WIN64
306 #define SCNuPTR SCNu64
307#else
308 #define SCNuPTR SCNu32
309#endif
310
311#define SCNx8 "hhx"
312#define SCNx16 "hx"
313#define SCNx32 "x"
314#define SCNx64 "llx"
315#define SCNxLEAST8 SCNx8
316#define SCNxLEAST16 SCNx16
317#define SCNxLEAST32 SCNx32
318#define SCNxLEAST64 SCNx64
319#define SCNxFAST8 SCNx8
320#define SCNxFAST16 SCNx32
321#define SCNxFAST32 SCNx32
322#define SCNxFAST64 SCNx64
323#define SCNxMAX SCNx64
324#ifdef _WIN64
325 #define SCNxPTR SCNx64
326#else
327 #define SCNxPTR SCNx32
328#endif
329
330
331
333
334/*
335 * Copyright (c) 1992-2010 by P.J. Plauger. ALL RIGHTS RESERVED.
336 * Consult your license regarding permissions and restrictions.
337V5.30:0009 */
338
340#pragma warning(pop) // _UCRT_DISABLED_WARNINGS
341#endif // _INTTYPES
#define __cdecl
Definition: accygwin.h:79
_String
intmax_t __cdecl strtoimax(const char *__restrict__ nptr, char **__restrict__ endptr, int base)
imaxdiv_t __cdecl imaxdiv(intmax_t numer, intmax_t denom)
Definition: imaxdiv.cpp:14
intmax_t __cdecl wcstoimax(const wchar_t *__restrict__ nptr, wchar_t **__restrict__ endptr, int base)
uintmax_t __cdecl wcstoumax(const wchar_t *__restrict__ nptr, wchar_t **__restrict__ endptr, int base)
intmax_t __cdecl imaxabs(intmax_t j)
Definition: inttypes.h:277
uintmax_t __cdecl strtoumax(const char *__restrict__ nptr, char **__restrict__ endptr, int base)
_ACRTIMP uintmax_t __cdecl _strtoumax_l(_In_z_ char const *_String, _Out_opt_ _Deref_post_z_ char **_EndPtr, _In_ int _Radix, _In_opt_ _locale_t _Locale)
_ACRTIMP intmax_t __cdecl _wcstoimax_l(_In_z_ wchar_t const *_String, _Out_opt_ _Deref_post_z_ wchar_t **_EndPtr, _In_ int _Radix, _In_opt_ _locale_t _Locale)
_ACRTIMP uintmax_t __cdecl _wcstoumax_l(_In_z_ wchar_t const *_String, _Out_opt_ _Deref_post_z_ wchar_t **_EndPtr, _In_ int _Radix, _In_opt_ _locale_t _Locale)
_ACRTIMP intmax_t __cdecl _strtoimax_l(_In_z_ char const *_String, _Out_opt_ _Deref_post_z_ char **_EndPtr, _In_ int _Radix, _In_opt_ _locale_t _Locale)
_In_ size_t _In_ int _Radix
Definition: stdlib.h:631
__MINGW_EXTENSION typedef unsigned long long uintmax_t
Definition: stdint.h:69
__MINGW_EXTENSION typedef long long intmax_t
Definition: stdint.h:68
#define _Deref_post_z_
Definition: ms_sal.h:1121
#define _Out_opt_
Definition: no_sal2.h:214
#define _In_z_
Definition: no_sal2.h:164
#define _Check_return_
Definition: no_sal2.h:60
#define _In_
Definition: no_sal2.h:158
#define _In_opt_
Definition: no_sal2.h:212
_In_ size_t _In_z_ _Printf_format_string_ const char _In_ const struct tm _In_opt_ _locale_t _Locale
Definition: time.h:159
intmax_t quot
Definition: inttypes.h:31
intmax_t rem
Definition: inttypes.h:32
#define _ACRTIMP
Definition: corecrt.h:138
#define _UCRT_DISABLE_CLANG_WARNINGS
Definition: corecrt.h:109
#define _UCRT_RESTORE_CLANG_WARNINGS
Definition: corecrt.h:117
#define _CRT_END_C_HEADER
Definition: vcruntime.h:42
#define _CRT_BEGIN_C_HEADER
Definition: vcruntime.h:40