master
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6#ifndef _INC_STDIO_S
7#define _INC_STDIO_S
8
9#include <stdio.h>
10
11#if defined(__LIBMSVCRT__)
12/* When building mingw-w64, this should be blank. */
13#define _SECIMP
14#else
15#ifndef _SECIMP
16#define _SECIMP __declspec(dllimport)
17#endif /* _SECIMP */
18#endif /* defined(__LIBMSVCRT__) */
19
20#ifdef __cplusplus
21extern "C" {
22#endif
23
24#ifndef _STDIO_S_DEFINED
25#define _STDIO_S_DEFINED
26 #define L_tmpnam_s L_tmpnam
27 #define TMP_MAX_S TMP_MAX
28
29 _CRTIMP errno_t __cdecl clearerr_s(FILE *_File);
30
31 size_t __cdecl fread_s(void *_DstBuf,size_t _DstSize,size_t _ElementSize,size_t _Count,FILE *_File);
32
33#ifdef _UCRT
34 int __cdecl __stdio_common_vsprintf_s(unsigned __int64 _Options, char *_Str, size_t _Len, const char *_Format, _locale_t _Locale, va_list _ArgList);
35 int __cdecl __stdio_common_vsprintf_p(unsigned __int64 _Options, char *_Str, size_t _Len, const char *_Format, _locale_t _Locale, va_list _ArgList);
36 int __cdecl __stdio_common_vsnprintf_s(unsigned __int64 _Options, char *_Str, size_t _Len, size_t _MaxCount, const char *_Format, _locale_t _Locale, va_list _ArgList);
37 int __cdecl __stdio_common_vfprintf_s(unsigned __int64 _Options, FILE *_File, const char *_Format, _locale_t _Locale, va_list _ArgList);
38 int __cdecl __stdio_common_vfprintf_p(unsigned __int64 _Options, FILE *_File, const char *_Format, _locale_t _Locale, va_list _ArgList);
39
40 __mingw_ovr int __cdecl _vfscanf_s_l(FILE *_File, const char *_Format, _locale_t _Locale, va_list _ArgList)
41 {
42 return __stdio_common_vfscanf(_CRT_INTERNAL_SCANF_SECURECRT, _File, _Format, _Locale, _ArgList);
43 }
44
45 __mingw_ovr int __cdecl vfscanf_s(FILE *_File, const char *_Format, va_list _ArgList)
46 {
47 return _vfscanf_s_l(_File, _Format, NULL, _ArgList);
48 }
49
50 __mingw_ovr int __cdecl _vscanf_s_l(const char *_Format, _locale_t _Locale, va_list _ArgList)
51 {
52 return _vfscanf_s_l(stdin, _Format, _Locale, _ArgList);
53 }
54
55 __mingw_ovr int __cdecl vscanf_s(const char *_Format, va_list _ArgList)
56 {
57 return _vfscanf_s_l(stdin, _Format, NULL, _ArgList);
58 }
59
60 __mingw_ovr int __cdecl _fscanf_s_l(FILE *_File, const char *_Format, _locale_t _Locale, ...)
61 {
62 __builtin_va_list _ArgList;
63 int _Ret;
64 __builtin_va_start(_ArgList, _Locale);
65 _Ret = _vfscanf_s_l(_File, _Format, _Locale, _ArgList);
66 __builtin_va_end(_ArgList);
67 return _Ret;
68 }
69
70 __mingw_ovr int __cdecl fscanf_s(FILE *_File, const char *_Format, ...)
71 {
72 __builtin_va_list _ArgList;
73 int _Ret;
74 __builtin_va_start(_ArgList, _Format);
75 _Ret = _vfscanf_s_l(_File, _Format, NULL, _ArgList);
76 __builtin_va_end(_ArgList);
77 return _Ret;
78 }
79
80 __mingw_ovr int __cdecl _scanf_s_l(const char *_Format, _locale_t _Locale ,...)
81 {
82 __builtin_va_list _ArgList;
83 int _Ret;
84 __builtin_va_start(_ArgList, _Locale);
85 _Ret = _vfscanf_s_l(stdin, _Format, _Locale, _ArgList);
86 __builtin_va_end(_ArgList);
87 return _Ret;
88 }
89
90 __mingw_ovr int __cdecl scanf_s(const char *_Format, ...)
91 {
92 __builtin_va_list _ArgList;
93 int _Ret;
94 __builtin_va_start(_ArgList, _Format);
95 _Ret = _vfscanf_s_l(stdin, _Format, NULL, _ArgList);
96 __builtin_va_end(_ArgList);
97 return _Ret;
98 }
99
100 __mingw_ovr int __cdecl _vfscanf_l(FILE *_File, const char *_Format, _locale_t _Locale, va_list _ArgList)
101 {
102 return __stdio_common_vfscanf(0, _File, _Format, _Locale, _ArgList);
103 }
104
105 __mingw_ovr int __cdecl _vscanf_l(const char *_Format, _locale_t _Locale, va_list _ArgList)
106 {
107 return _vfscanf_l(stdin, _Format, _Locale, _ArgList);
108 }
109
110 __mingw_ovr int __cdecl _fscanf_l(FILE *_File, const char *_Format, _locale_t _Locale, ...)
111 {
112 __builtin_va_list _ArgList;
113 int _Ret;
114 __builtin_va_start(_ArgList, _Locale);
115 _Ret = _vfscanf_l(_File, _Format, _Locale, _ArgList);
116 __builtin_va_end(_ArgList);
117 return _Ret;
118 }
119 __mingw_ovr int __cdecl _scanf_l(const char *_Format, _locale_t _Locale, ...)
120 {
121 __builtin_va_list _ArgList;
122 int _Ret;
123 __builtin_va_start(_ArgList, _Locale);
124 _Ret = _vfscanf_l(stdin, _Format, _Locale, _ArgList);
125 __builtin_va_end(_ArgList);
126 return _Ret;
127 }
128
129 __mingw_ovr int __cdecl _vsscanf_s_l(const char *_Src, const char *_Format, _locale_t _Locale, va_list _ArgList)
130 {
131 return __stdio_common_vsscanf(_CRT_INTERNAL_SCANF_SECURECRT, _Src, (size_t)-1, _Format, _Locale, _ArgList);
132 }
133 __mingw_ovr int __cdecl vsscanf_s(const char *_Src, const char *_Format, va_list _ArgList)
134 {
135 return _vsscanf_s_l(_Src, _Format, NULL, _ArgList);
136 }
137 __mingw_ovr int __cdecl _sscanf_s_l(const char *_Src, const char *_Format, _locale_t _Locale, ...)
138 {
139 __builtin_va_list _ArgList;
140 int _Ret;
141 __builtin_va_start(_ArgList, _Locale);
142 _Ret = _vsscanf_s_l(_Src, _Format, _Locale, _ArgList);
143 __builtin_va_end(_ArgList);
144 return _Ret;
145 }
146 __mingw_ovr int __cdecl sscanf_s(const char *_Src, const char *_Format, ...)
147 {
148 __builtin_va_list _ArgList;
149 int _Ret;
150 __builtin_va_start(_ArgList, _Format);
151 _Ret = _vsscanf_s_l(_Src, _Format, NULL, _ArgList);
152 __builtin_va_end(_ArgList);
153 return _Ret;
154 }
155
156 __mingw_ovr int __cdecl _vsscanf_l(const char *_Src, const char *_Format, _locale_t _Locale, va_list _ArgList)
157 {
158 return __stdio_common_vsscanf(0, _Src, (size_t)-1, _Format, _Locale, _ArgList);
159 }
160 __mingw_ovr int __cdecl _sscanf_l(const char *_Src, const char *_Format, _locale_t _Locale, ...)
161 {
162 __builtin_va_list _ArgList;
163 int _Ret;
164 __builtin_va_start(_ArgList, _Locale);
165 _Ret = _vsscanf_l(_Src, _Format, _Locale, _ArgList);
166 __builtin_va_end(_ArgList);
167 return _Ret;
168 }
169
170 /* There is no _vsnscanf_s_l nor _vsnscanf_s */
171 __mingw_ovr int __cdecl _snscanf_s_l(const char *_Src, size_t _MaxCount, const char *_Format, _locale_t _Locale, ...)
172 {
173 __builtin_va_list _ArgList;
174 int _Ret;
175 __builtin_va_start(_ArgList, _Locale);
176 _Ret = __stdio_common_vsscanf(_CRT_INTERNAL_SCANF_SECURECRT, _Src, _MaxCount, _Format, _Locale, _ArgList);
177 __builtin_va_end(_ArgList);
178 return _Ret;
179 }
180 __mingw_ovr int __cdecl _snscanf_s(const char *_Src, size_t _MaxCount, const char *_Format, ...)
181 {
182 __builtin_va_list _ArgList;
183 int _Ret;
184 __builtin_va_start(_ArgList, _Format);
185 _Ret = __stdio_common_vsscanf(_CRT_INTERNAL_SCANF_SECURECRT, _Src, _MaxCount, _Format, NULL, _ArgList);
186 __builtin_va_end(_ArgList);
187 return _Ret;
188 }
189
190 /* There is no _vsnscanf_l */
191 __mingw_ovr int __cdecl _snscanf_l(const char *_Src, size_t _MaxCount, const char *_Format, _locale_t _Locale, ...)
192 {
193 __builtin_va_list _ArgList;
194 int _Ret;
195 __builtin_va_start(_ArgList, _Locale);
196 _Ret = __stdio_common_vsscanf(0, _Src, _MaxCount, _Format, _Locale, _ArgList);
197 __builtin_va_end(_ArgList);
198 return _Ret;
199 }
200
201
202 __mingw_ovr int __cdecl _vfprintf_s_l(FILE *_File, const char *_Format, _locale_t _Locale, va_list _ArgList)
203 {
204 return __stdio_common_vfprintf_s(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _File, _Format, _Locale, _ArgList);
205 }
206 __mingw_ovr int __cdecl vfprintf_s(FILE *_File, const char *_Format, va_list _ArgList)
207 {
208 return _vfprintf_s_l(_File, _Format, NULL, _ArgList);
209 }
210 __mingw_ovr int __cdecl _vprintf_s_l(const char *_Format, _locale_t _Locale, va_list _ArgList)
211 {
212 return _vfprintf_s_l(stdout, _Format, _Locale, _ArgList);
213 }
214 __mingw_ovr int __cdecl vprintf_s(const char *_Format, va_list _ArgList)
215 {
216 return _vfprintf_s_l(stdout, _Format, NULL, _ArgList);
217 }
218 __mingw_ovr int __cdecl _fprintf_s_l(FILE *_File, const char *_Format, _locale_t _Locale, ...)
219 {
220 __builtin_va_list _ArgList;
221 int _Ret;
222 __builtin_va_start(_ArgList, _Locale);
223 _Ret = _vfprintf_s_l(_File, _Format, _Locale, _ArgList);
224 __builtin_va_end(_ArgList);
225 return _Ret;
226 }
227 __mingw_ovr int __cdecl _printf_s_l(const char *_Format, _locale_t _Locale, ...)
228 {
229 __builtin_va_list _ArgList;
230 int _Ret;
231 __builtin_va_start(_ArgList, _Locale);
232 _Ret = _vfprintf_s_l(stdout, _Format, _Locale, _ArgList);
233 __builtin_va_end(_ArgList);
234 return _Ret;
235 }
236 __mingw_ovr int __cdecl fprintf_s(FILE *_File, const char *_Format, ...)
237 {
238 __builtin_va_list _ArgList;
239 int _Ret;
240 __builtin_va_start(_ArgList, _Format);
241 _Ret = _vfprintf_s_l(_File, _Format, NULL, _ArgList);
242 __builtin_va_end(_ArgList);
243 return _Ret;
244 }
245 __mingw_ovr int __cdecl printf_s(const char *_Format, ...)
246 {
247 __builtin_va_list _ArgList;
248 int _Ret;
249 __builtin_va_start(_ArgList, _Format);
250 _Ret = _vfprintf_s_l(stdout, _Format, NULL, _ArgList);
251 __builtin_va_end(_ArgList);
252 return _Ret;
253 }
254
255 __mingw_ovr int __cdecl _vsnprintf_c_l(char *_DstBuf, size_t _MaxCount, const char *_Format, _locale_t _Locale, va_list _ArgList)
256 {
257 return __stdio_common_vsprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _DstBuf, _MaxCount, _Format, _Locale, _ArgList);
258 }
259 __mingw_ovr int __cdecl _vsnprintf_c(char *_DstBuf, size_t _MaxCount, const char *_Format, va_list _ArgList)
260 {
261 return _vsnprintf_c_l(_DstBuf, _MaxCount, _Format, NULL, _ArgList);
262 }
263 __mingw_ovr int __cdecl _snprintf_c_l(char *_DstBuf, size_t _MaxCount, const char *_Format, _locale_t _Locale, ...)
264 {
265 __builtin_va_list _ArgList;
266 int _Ret;
267 __builtin_va_start(_ArgList, _Locale);
268 _Ret = _vsnprintf_c_l(_DstBuf, _MaxCount, _Format, _Locale, _ArgList);
269 __builtin_va_end(_ArgList);
270 return _Ret;
271 }
272 __mingw_ovr int __cdecl _snprintf_c(char *_DstBuf, size_t _MaxCount, const char *_Format, ...)
273 {
274 __builtin_va_list _ArgList;
275 int _Ret;
276 __builtin_va_start(_ArgList, _Format);
277 _Ret = _vsnprintf_c_l(_DstBuf, _MaxCount, _Format, NULL, _ArgList);
278 __builtin_va_end(_ArgList);
279 return _Ret;
280 }
281
282 __mingw_ovr int __cdecl _vsnprintf_s_l(char *_DstBuf, size_t _DstSize, size_t _MaxCount, const char *_Format, _locale_t _Locale, va_list _ArgList)
283 {
284 return __stdio_common_vsnprintf_s(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _DstBuf, _DstSize, _MaxCount, _Format, _Locale, _ArgList);
285 }
286 __mingw_ovr int __cdecl vsnprintf_s(char *_DstBuf, size_t _DstSize, size_t _MaxCount, const char *_Format, va_list _ArgList)
287 {
288 return _vsnprintf_s_l(_DstBuf, _DstSize, _MaxCount, _Format, NULL, _ArgList);
289 }
290 __mingw_ovr int __cdecl _vsnprintf_s(char *_DstBuf, size_t _DstSize, size_t _MaxCount, const char *_Format, va_list _ArgList)
291 {
292 return _vsnprintf_s_l(_DstBuf, _DstSize, _MaxCount, _Format, NULL, _ArgList);
293 }
294 __mingw_ovr int __cdecl _snprintf_s_l(char *_DstBuf, size_t _DstSize, size_t _MaxCount, const char *_Format, _locale_t _Locale, ...)
295 {
296 __builtin_va_list _ArgList;
297 int _Ret;
298 __builtin_va_start(_ArgList, _Locale);
299 _Ret = _vsnprintf_s_l(_DstBuf, _DstSize, _MaxCount, _Format, _Locale, _ArgList);
300 __builtin_va_end(_ArgList);
301 return _Ret;
302 }
303 __mingw_ovr int __cdecl _snprintf_s(char *_DstBuf, size_t _DstSize, size_t _MaxCount, const char *_Format, ...)
304 {
305 __builtin_va_list _ArgList;
306 int _Ret;
307 __builtin_va_start(_ArgList, _Format);
308 _Ret = _vsnprintf_s_l(_DstBuf, _DstSize, _MaxCount, _Format, NULL, _ArgList);
309 __builtin_va_end(_ArgList);
310 return _Ret;
311 }
312
313 __mingw_ovr int __cdecl _vsprintf_s_l(char *_DstBuf, size_t _DstSize, const char *_Format, _locale_t _Locale, va_list _ArgList)
314 {
315 return __stdio_common_vsprintf_s(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _DstBuf, _DstSize, _Format, _Locale, _ArgList);
316 }
317 __mingw_ovr int __cdecl vsprintf_s(char *_DstBuf, size_t _Size, const char *_Format, va_list _ArgList)
318 {
319 return _vsprintf_s_l(_DstBuf, _Size, _Format, NULL, _ArgList);
320 }
321 __mingw_ovr int __cdecl _sprintf_s_l(char *_DstBuf, size_t _DstSize, const char *_Format, _locale_t _Locale, ...)
322 {
323 __builtin_va_list _ArgList;
324 int _Ret;
325 __builtin_va_start(_ArgList, _Locale);
326 _Ret = _vsprintf_s_l(_DstBuf, _DstSize, _Format, _Locale, _ArgList);
327 __builtin_va_end(_ArgList);
328 return _Ret;
329 }
330 __mingw_ovr int __cdecl sprintf_s(char *_DstBuf, size_t _DstSize, const char *_Format, ...)
331 {
332 __builtin_va_list _ArgList;
333 int _Ret;
334 __builtin_va_start(_ArgList, _Format);
335 _Ret = _vsprintf_s_l(_DstBuf, _DstSize, _Format, NULL, _ArgList);
336 __builtin_va_end(_ArgList);
337 return _Ret;
338 }
339
340 __mingw_ovr int __cdecl _vfprintf_p_l(FILE *_File, const char *_Format, _locale_t _Locale, va_list _ArgList)
341 {
342 return __stdio_common_vfprintf_p(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _File, _Format, _Locale, _ArgList);
343 }
344 __mingw_ovr int __cdecl _vfprintf_p(FILE *_File, const char *_Format, va_list _ArgList)
345 {
346 return _vfprintf_p_l(_File, _Format, NULL, _ArgList);
347 }
348 __mingw_ovr int __cdecl _vprintf_p_l(const char *_Format, _locale_t _Locale, va_list _ArgList)
349 {
350 return _vfprintf_p_l(stdout, _Format, _Locale, _ArgList);
351 }
352 __mingw_ovr int __cdecl _vprintf_p(const char *_Format, va_list _ArgList)
353 {
354 return _vfprintf_p_l(stdout, _Format, NULL, _ArgList);
355 }
356 __mingw_ovr int __cdecl _fprintf_p_l(FILE *_File, const char *_Format, _locale_t _Locale, ...)
357 {
358 __builtin_va_list _ArgList;
359 int _Ret;
360 __builtin_va_start(_ArgList, _Locale);
361 _Ret = __stdio_common_vfprintf_p(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _File, _Format, _Locale, _ArgList);
362 __builtin_va_end(_ArgList);
363 return _Ret;
364 }
365 __mingw_ovr int __cdecl _fprintf_p(FILE *_File, const char *_Format, ...)
366 {
367 __builtin_va_list _ArgList;
368 int _Ret;
369 __builtin_va_start(_ArgList, _Format);
370 _Ret = _vfprintf_p_l(_File, _Format, NULL, _ArgList);
371 __builtin_va_end(_ArgList);
372 return _Ret;
373 }
374 __mingw_ovr int __cdecl _printf_p_l(const char *_Format, _locale_t _Locale, ...)
375 {
376 __builtin_va_list _ArgList;
377 int _Ret;
378 __builtin_va_start(_ArgList, _Locale);
379 _Ret = _vfprintf_p_l(stdout, _Format, _Locale, _ArgList);
380 __builtin_va_end(_ArgList);
381 return _Ret;
382 }
383 __mingw_ovr int __cdecl _printf_p(const char *_Format, ...)
384 {
385 __builtin_va_list _ArgList;
386 int _Ret;
387 __builtin_va_start(_ArgList, _Format);
388 _Ret = _vfprintf_p_l(stdout, _Format, NULL, _ArgList);
389 __builtin_va_end(_ArgList);
390 return _Ret;
391 }
392
393 __mingw_ovr int __cdecl _vsprintf_p_l(char *_DstBuf, size_t _MaxCount, const char *_Format, _locale_t _Locale, va_list _ArgList)
394 {
395 return __stdio_common_vsprintf_p(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _DstBuf, _MaxCount, _Format, _Locale, _ArgList);
396 }
397 __mingw_ovr int __cdecl _vsprintf_p(char *_Dst, size_t _MaxCount, const char *_Format, va_list _ArgList)
398 {
399 return _vsprintf_p_l(_Dst, _MaxCount, _Format, NULL, _ArgList);
400 }
401 __mingw_ovr int __cdecl _sprintf_p_l(char *_DstBuf, size_t _MaxCount, const char *_Format, _locale_t _Locale, ...)
402 {
403 __builtin_va_list _ArgList;
404 int _Ret;
405 __builtin_va_start(_ArgList, _Locale);
406 _Ret = _vsprintf_p_l(_DstBuf, _MaxCount, _Format, _Locale, _ArgList);
407 __builtin_va_end(_ArgList);
408 return _Ret;
409 }
410 __mingw_ovr int __cdecl _sprintf_p(char *_Dst, size_t _MaxCount, const char *_Format, ...)
411 {
412 __builtin_va_list _ArgList;
413 int _Ret;
414 __builtin_va_start(_ArgList, _Format);
415 _Ret = _vsprintf_p_l(_Dst, _MaxCount, _Format, NULL, _ArgList);
416 __builtin_va_end(_ArgList);
417 return _Ret;
418 }
419
420 __mingw_ovr int __cdecl _vscprintf_p_l(const char *_Format, _locale_t _Locale, va_list _ArgList)
421 {
422 return __stdio_common_vsprintf_p(_CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR, NULL, 0, _Format, _Locale, _ArgList);
423 }
424 __mingw_ovr int __cdecl _vscprintf_p(const char *_Format, va_list _ArgList)
425 {
426 return _vscprintf_p_l(_Format, NULL, _ArgList);
427 }
428 __mingw_ovr int __cdecl _scprintf_p_l(const char *_Format, _locale_t _Locale, ...)
429 {
430 __builtin_va_list _ArgList;
431 int _Ret;
432 __builtin_va_start(_ArgList, _Locale);
433 _Ret = _vscprintf_p_l(_Format, _Locale, _ArgList);
434 __builtin_va_end(_ArgList);
435 return _Ret;
436 }
437 __mingw_ovr int __cdecl _scprintf_p(const char *_Format, ...)
438 {
439 __builtin_va_list _ArgList;
440 int _Ret;
441 __builtin_va_start(_ArgList, _Format);
442 _Ret = _vscprintf_p_l(_Format, NULL, _ArgList);
443 __builtin_va_end(_ArgList);
444 return _Ret;
445 }
446
447 __mingw_ovr int __cdecl _vfprintf_l(FILE *_File, const char *_Format, _locale_t _Locale, va_list _ArgList)
448 {
449 return __stdio_common_vfprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _File, _Format, _Locale, _ArgList);
450 }
451 __mingw_ovr int __cdecl _vprintf_l(const char *_Format, _locale_t _Locale, va_list _ArgList)
452 {
453 return _vfprintf_l(stdout, _Format, _Locale, _ArgList);
454 }
455 __mingw_ovr int __cdecl _fprintf_l(FILE *_File, const char *_Format, _locale_t _Locale, ...)
456 {
457 __builtin_va_list _ArgList;
458 int _Ret;
459 __builtin_va_start(_ArgList, _Locale);
460 _Ret = _vfprintf_l(_File, _Format, _Locale, _ArgList);
461 __builtin_va_end(_ArgList);
462 return _Ret;
463 }
464 __mingw_ovr int __cdecl _printf_l(const char *_Format, _locale_t _Locale, ...)
465 {
466 __builtin_va_list _ArgList;
467 int _Ret;
468 __builtin_va_start(_ArgList, _Locale);
469 _Ret = _vfprintf_l(stdout, _Format, _Locale, _ArgList);
470 __builtin_va_end(_ArgList);
471 return _Ret;
472 }
473
474 __mingw_ovr int __cdecl _vsnprintf_l(char *_DstBuf, size_t _MaxCount, const char *_Format, _locale_t _Locale, va_list _ArgList)
475 {
476 return __stdio_common_vsprintf(_CRT_INTERNAL_PRINTF_LEGACY_VSPRINTF_NULL_TERMINATION, _DstBuf, _MaxCount, _Format, _Locale, _ArgList);
477 }
478 __mingw_ovr int __cdecl _snprintf_l(char *_DstBuf, size_t _MaxCount, const char *_Format, _locale_t _Locale, ...)
479 {
480 __builtin_va_list _ArgList;
481 int _Ret;
482 __builtin_va_start(_ArgList, _Locale);
483 _Ret = _vsnprintf_l(_DstBuf, _MaxCount, _Format, _Locale, _ArgList);
484 __builtin_va_end(_ArgList);
485 return _Ret;
486 }
487 __mingw_ovr int __cdecl _vsprintf_l(char *_DstBuf, const char *_Format, _locale_t _Locale, va_list _ArgList)
488 {
489 return _vsnprintf_l(_DstBuf, (size_t)-1, _Format, _Locale, _ArgList);
490 }
491 __mingw_ovr int __cdecl _sprintf_l(char *_DstBuf, const char *_Format, _locale_t _Locale, ...)
492 {
493 __builtin_va_list _ArgList;
494 int _Ret;
495 __builtin_va_start(_ArgList, _Locale);
496 _Ret = _vsprintf_l(_DstBuf, _Format, _Locale, _ArgList);
497 __builtin_va_end(_ArgList);
498 return _Ret;
499 }
500
501 __mingw_ovr int __cdecl _vscprintf_l(const char *_Format, _locale_t _Locale, va_list _ArgList)
502 {
503 return __stdio_common_vsprintf(_CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR, NULL, 0, _Format, _Locale, _ArgList);
504 }
505 __mingw_ovr int __cdecl _scprintf_l(const char *_Format, _locale_t _Locale, ...)
506 {
507 __builtin_va_list _ArgList;
508 int _Ret;
509 __builtin_va_start(_ArgList, _Locale);
510 _Ret = _vscprintf_l(_Format, _Locale, _ArgList);
511 __builtin_va_end(_ArgList);
512 return _Ret;
513 }
514#else /* _UCRT */
515 int __cdecl fprintf_s(FILE *_File,const char *_Format,...);
516 _CRTIMP int __cdecl _fscanf_s_l(FILE *_File,const char *_Format,_locale_t _Locale,...);
517 _CRTIMP int __cdecl fscanf_s(FILE *_File, const char *_Format, ...);
518 int __cdecl printf_s(const char *_Format,...);
519 _CRTIMP int __cdecl _scanf_l(const char *_Format,_locale_t _Locale,...);
520 _CRTIMP int __cdecl _scanf_s_l(const char *_Format,_locale_t _Locale,...);
521 _CRTIMP int __cdecl scanf_s(const char *_Format, ...);
522 _CRTIMP int __cdecl _snprintf_c(char *_DstBuf,size_t _MaxCount,const char *_Format,...);
523 _CRTIMP int __cdecl _vsnprintf_c(char *_DstBuf,size_t _MaxCount,const char *_Format,va_list _ArgList);
524
525 _CRTIMP int __cdecl _fscanf_l(FILE *_File,const char *_Format,_locale_t _Locale,...);
526 _CRTIMP int __cdecl _sscanf_l(const char *_Src,const char *_Format,_locale_t _Locale,...);
527 _CRTIMP int __cdecl _sscanf_s_l(const char *_Src,const char *_Format,_locale_t _Locale,...);
528 _CRTIMP int __cdecl sscanf_s(const char *_Src,const char *_Format,...);
529 _CRTIMP int __cdecl _snscanf_s(const char *_Src,size_t _MaxCount,const char *_Format,...);
530 _CRTIMP int __cdecl _snscanf_l(const char *_Src,size_t _MaxCount,const char *_Format,_locale_t _Locale,...);
531 _CRTIMP int __cdecl _snscanf_s_l(const char *_Src,size_t _MaxCount,const char *_Format,_locale_t _Locale,...);
532 int __cdecl vfprintf_s(FILE *_File,const char *_Format,va_list _ArgList);
533 int __cdecl vprintf_s(const char *_Format,va_list _ArgList);
534
535 int __cdecl vsnprintf_s(char *_DstBuf,size_t _DstSize,size_t _MaxCount,const char *_Format,va_list _ArgList);
536
537 _CRTIMP int __cdecl _vsnprintf_s(char *_DstBuf,size_t _DstSize,size_t _MaxCount,const char *_Format,va_list _ArgList);
538
539 _SECIMP int __cdecl vsprintf_s(char *_DstBuf,size_t _Size,const char *_Format,va_list _ArgList);
540
541 _SECIMP int __cdecl sprintf_s(char *_DstBuf,size_t _DstSize,const char *_Format,...);
542
543 _CRTIMP int __cdecl _snprintf_s(char *_DstBuf,size_t _DstSize,size_t _MaxCount,const char *_Format,...);
544
545 _CRTIMP int __cdecl _fprintf_p(FILE *_File,const char *_Format,...);
546 _CRTIMP int __cdecl _printf_p(const char *_Format,...);
547 _CRTIMP int __cdecl _sprintf_p(char *_Dst,size_t _MaxCount,const char *_Format,...);
548 _CRTIMP int __cdecl _vfprintf_p(FILE *_File,const char *_Format,va_list _ArgList);
549 _CRTIMP int __cdecl _vprintf_p(const char *_Format,va_list _ArgList);
550 _CRTIMP int __cdecl _vsprintf_p(char *_Dst,size_t _MaxCount,const char *_Format,va_list _ArgList);
551 _CRTIMP int __cdecl _scprintf_p(const char *_Format,...);
552 _SECIMP int __cdecl _vscprintf_p(const char *_Format,va_list _ArgList);
553 _CRTIMP int __cdecl _printf_l(const char *_Format,_locale_t _Locale,...);
554 _CRTIMP int __cdecl _printf_p_l(const char *_Format,_locale_t _Locale,...);
555 _CRTIMP int __cdecl _vprintf_l(const char *_Format,_locale_t _Locale,va_list _ArgList);
556 _CRTIMP int __cdecl _vprintf_p_l(const char *_Format,_locale_t _Locale,va_list _ArgList);
557 _CRTIMP int __cdecl _fprintf_l(FILE *_File,const char *_Format,_locale_t _Locale,...);
558 _CRTIMP int __cdecl _fprintf_p_l(FILE *_File,const char *_Format,_locale_t _Locale,...);
559 _CRTIMP int __cdecl _vfprintf_l(FILE *_File,const char *_Format,_locale_t _Locale,va_list _ArgList);
560 _CRTIMP int __cdecl _vfprintf_p_l(FILE *_File,const char *_Format,_locale_t _Locale,va_list _ArgList);
561 _CRTIMP int __cdecl _sprintf_l(char *_DstBuf,const char *_Format,_locale_t _Locale,...);
562 _CRTIMP int __cdecl _sprintf_p_l(char *_DstBuf,size_t _MaxCount,const char *_Format,_locale_t _Locale,...);
563 _CRTIMP int __cdecl _vsprintf_l(char *_DstBuf,const char *_Format,_locale_t,va_list _ArgList);
564 _CRTIMP int __cdecl _vsprintf_p_l(char *_DstBuf,size_t _MaxCount,const char *_Format,_locale_t _Locale,va_list _ArgList);
565 _CRTIMP int __cdecl _scprintf_l(const char *_Format,_locale_t _Locale,...);
566 _CRTIMP int __cdecl _scprintf_p_l(const char *_Format,_locale_t _Locale,...);
567 _CRTIMP int __cdecl _vscprintf_l(const char *_Format,_locale_t _Locale,va_list _ArgList);
568 _CRTIMP int __cdecl _vscprintf_p_l(const char *_Format,_locale_t _Locale,va_list _ArgList);
569 _CRTIMP int __cdecl _printf_s_l(const char *_Format,_locale_t _Locale,...);
570 _CRTIMP int __cdecl _vprintf_s_l(const char *_Format,_locale_t _Locale,va_list _ArgList);
571 _CRTIMP int __cdecl _fprintf_s_l(FILE *_File,const char *_Format,_locale_t _Locale,...);
572 _CRTIMP int __cdecl _vfprintf_s_l(FILE *_File,const char *_Format,_locale_t _Locale,va_list _ArgList);
573 _CRTIMP int __cdecl _sprintf_s_l(char *_DstBuf,size_t _DstSize,const char *_Format,_locale_t _Locale,...);
574 _CRTIMP int __cdecl _vsprintf_s_l(char *_DstBuf,size_t _DstSize,const char *_Format,_locale_t _Locale,va_list _ArgList);
575 _CRTIMP int __cdecl _snprintf_s_l(char *_DstBuf,size_t _DstSize,size_t _MaxCount,const char *_Format,_locale_t _Locale,...);
576 _CRTIMP int __cdecl _vsnprintf_s_l(char *_DstBuf,size_t _DstSize,size_t _MaxCount,const char *_Format,_locale_t _Locale,va_list _ArgList);
577 _CRTIMP int __cdecl _snprintf_l(char *_DstBuf,size_t _MaxCount,const char *_Format,_locale_t _Locale,...);
578 _CRTIMP int __cdecl _snprintf_c_l(char *_DstBuf,size_t _MaxCount,const char *_Format,_locale_t _Locale,...);
579 _CRTIMP int __cdecl _vsnprintf_l(char *_DstBuf,size_t _MaxCount,const char *_Format,_locale_t _Locale,va_list _ArgList);
580 _CRTIMP int __cdecl _vsnprintf_c_l(char *_DstBuf,size_t _MaxCount,const char *,_locale_t _Locale,va_list _ArgList);
581#endif /* !_UCRT */
582
583 __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_3(int,vsnprintf_s,char,_DstBuf,size_t,_MaxCount,const char*,_Format,va_list,_ArgList)
584 __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_3(int,_vsnprintf_s,char,_DstBuf,size_t,_MaxCount,const char*,_Format,va_list,_ArgList)
585 __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_2(int, vsprintf_s, char, _DstBuf, const char*, _Format, va_list, _ArgList)
586 __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1_ARGLIST(int,sprintf_s,vsprintf_s,char,_DstBuf,const char*,_Format)
587 __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_2_ARGLIST(int,_snprintf_s,_vsnprintf_s,char,_DstBuf,size_t,_MaxCount,const char*,_Format)
588
589 _CRTIMP errno_t __cdecl fopen_s(FILE **_File,const char *_Filename,const char *_Mode);
590 _CRTIMP errno_t __cdecl freopen_s(FILE** _File, const char *_Filename, const char *_Mode, FILE *_Stream);
591
592 _CRTIMP char* __cdecl gets_s(char*,rsize_t);
593 __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_0(char*,get_s,char,_DstBuf)
594
595 _CRTIMP errno_t __cdecl tmpfile_s(FILE **_File);
596
597 _CRTIMP errno_t __cdecl tmpnam_s(char*,rsize_t);
598 __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_0(errno_t,tmpnam_s,char,_DstBuf)
599
600
601#ifndef _WSTDIO_S_DEFINED
602#define _WSTDIO_S_DEFINED
603 _CRTIMP wchar_t *__cdecl _getws_s(wchar_t *_Str,size_t _SizeInWords);
604 __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_0(wchar_t*,_getws_s,wchar_t,_DstBuf)
605
606#ifdef _UCRT
607 int __cdecl __stdio_common_vswprintf_s(unsigned __int64 _Options, wchar_t *_Str, size_t _Len, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList);
608 int __cdecl __stdio_common_vsnwprintf_s(unsigned __int64 _Options, wchar_t *_Str, size_t _Len, size_t _MaxCount, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList);
609 int __cdecl __stdio_common_vfwprintf_s(unsigned __int64 _Options, FILE *_File, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList);
610
611 __mingw_ovr int __cdecl _vfwscanf_s_l(FILE *_File, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList)
612 {
613 return __stdio_common_vfwscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS | _CRT_INTERNAL_SCANF_SECURECRT, _File, _Format, _Locale, _ArgList);
614 }
615
616 __mingw_ovr int __cdecl vfwscanf_s(FILE* _File, const wchar_t *_Format, va_list _ArgList)
617 {
618 return _vfwscanf_s_l(_File, _Format, NULL, _ArgList);
619 }
620
621 __mingw_ovr int __cdecl _vwscanf_s_l(const wchar_t *_Format, _locale_t _Locale, va_list _ArgList)
622 {
623 return _vfwscanf_s_l(stdin, _Format, _Locale, _ArgList);
624 }
625
626 __mingw_ovr int __cdecl vwscanf_s(const wchar_t *_Format, va_list _ArgList)
627 {
628 return _vfwscanf_s_l(stdin, _Format, NULL, _ArgList);
629 }
630
631 __mingw_ovr int __cdecl _fwscanf_s_l(FILE *_File, const wchar_t *_Format, _locale_t _Locale, ...)
632 {
633 __builtin_va_list _ArgList;
634 int _Ret;
635 __builtin_va_start(_ArgList, _Locale);
636 _Ret = _vfwscanf_s_l(_File, _Format, _Locale, _ArgList);
637 __builtin_va_end(_ArgList);
638 return _Ret;
639 }
640
641 __mingw_ovr int __cdecl fwscanf_s(FILE *_File, const wchar_t *_Format, ...)
642 {
643 __builtin_va_list _ArgList;
644 int _Ret;
645 __builtin_va_start(_ArgList, _Format);
646 _Ret = _vfwscanf_s_l(_File, _Format, NULL, _ArgList);
647 __builtin_va_end(_ArgList);
648 return _Ret;
649 }
650
651 __mingw_ovr int __cdecl _wscanf_s_l(const wchar_t *_Format, _locale_t _Locale, ...)
652 {
653 __builtin_va_list _ArgList;
654 int _Ret;
655 __builtin_va_start(_ArgList, _Locale);
656 _Ret = _vfwscanf_s_l(stdin, _Format, _Locale, _ArgList);
657 __builtin_va_end(_ArgList);
658 return _Ret;
659 }
660
661 __mingw_ovr int __cdecl wscanf_s(const wchar_t *_Format, ...)
662 {
663 __builtin_va_list _ArgList;
664 int _Ret;
665 __builtin_va_start(_ArgList, _Format);
666 _Ret = _vfwscanf_s_l(stdin, _Format, NULL, _ArgList);
667 __builtin_va_end(_ArgList);
668 return _Ret;
669 }
670
671 __mingw_ovr int __cdecl _vswscanf_s_l(const wchar_t *_Src, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList)
672 {
673 return __stdio_common_vswscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS | _CRT_INTERNAL_SCANF_SECURECRT, _Src, (size_t)-1, _Format, _Locale, _ArgList);
674 }
675
676 __mingw_ovr int __cdecl vswscanf_s(const wchar_t *_Src, const wchar_t *_Format, va_list _ArgList)
677 {
678 return _vswscanf_s_l(_Src, _Format, NULL, _ArgList);
679 }
680
681 __mingw_ovr int __cdecl _swscanf_s_l(const wchar_t *_Src, const wchar_t *_Format, _locale_t _Locale, ...)
682 {
683 __builtin_va_list _ArgList;
684 int _Ret;
685 __builtin_va_start(_ArgList, _Locale);
686 _Ret = _vswscanf_s_l(_Src, _Format, _Locale, _ArgList);
687 __builtin_va_end(_ArgList);
688 return _Ret;
689 }
690 __mingw_ovr int __cdecl swscanf_s(const wchar_t *_Src, const wchar_t *_Format, ...)
691 {
692 __builtin_va_list _ArgList;
693 int _Ret;
694 __builtin_va_start(_ArgList, _Format);
695 _Ret = _vswscanf_s_l(_Src, _Format, NULL, _ArgList);
696 __builtin_va_end(_ArgList);
697 return _Ret;
698 }
699
700 __mingw_ovr int __cdecl _vsnwscanf_s_l(const wchar_t *_Src, size_t _MaxCount, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList)
701 {
702 return __stdio_common_vswscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS | _CRT_INTERNAL_SCANF_SECURECRT, _Src, _MaxCount, _Format, _Locale, _ArgList);
703 }
704 __mingw_ovr int __cdecl _snwscanf_s_l(const wchar_t *_Src, size_t _MaxCount, const wchar_t *_Format, _locale_t _Locale, ...)
705 {
706 __builtin_va_list _ArgList;
707 int _Ret;
708 __builtin_va_start(_ArgList, _Locale);
709 _Ret = _vsnwscanf_s_l(_Src, _MaxCount, _Format, _Locale, _ArgList);
710 __builtin_va_end(_ArgList);
711 return _Ret;
712 }
713 __mingw_ovr int __cdecl _snwscanf_s(const wchar_t *_Src, size_t _MaxCount, const wchar_t *_Format, ...)
714 {
715 __builtin_va_list _ArgList;
716 int _Ret;
717 __builtin_va_start(_ArgList, _Format);
718 _Ret = _vsnwscanf_s_l(_Src, _MaxCount, _Format, NULL, _ArgList);
719 __builtin_va_end(_ArgList);
720 return _Ret;
721 }
722
723 __mingw_ovr int __cdecl _vfwprintf_s_l(FILE *_File, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList)
724 {
725 return __stdio_common_vfwprintf_s(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _File, _Format, _Locale, _ArgList);
726 }
727 __mingw_ovr int __cdecl _vwprintf_s_l(const wchar_t *_Format, _locale_t _Locale, va_list _ArgList)
728 {
729 return _vfwprintf_s_l(stdout, _Format, _Locale, _ArgList);
730 }
731 __mingw_ovr int __cdecl vfwprintf_s(FILE *_File, const wchar_t *_Format, va_list _ArgList)
732 {
733 return _vfwprintf_s_l(_File, _Format, NULL, _ArgList);
734 }
735 __mingw_ovr int __cdecl vwprintf_s(const wchar_t *_Format, va_list _ArgList)
736 {
737 return _vfwprintf_s_l(stdout, _Format, NULL, _ArgList);
738 }
739 __mingw_ovr int __cdecl _fwprintf_s_l(FILE *_File, const wchar_t *_Format, _locale_t _Locale, ...)
740 {
741 __builtin_va_list _ArgList;
742 int _Ret;
743 __builtin_va_start(_ArgList, _Locale);
744 _Ret = _vfwprintf_s_l(_File, _Format, _Locale, _ArgList);
745 __builtin_va_end(_ArgList);
746 return _Ret;
747 }
748 __mingw_ovr int __cdecl _wprintf_s_l(const wchar_t *_Format, _locale_t _Locale, ...)
749 {
750 __builtin_va_list _ArgList;
751 int _Ret;
752 __builtin_va_start(_ArgList, _Locale);
753 _Ret = _vfwprintf_s_l(stdout, _Format, _Locale, _ArgList);
754 __builtin_va_end(_ArgList);
755 return _Ret;
756 }
757 __mingw_ovr int __cdecl fwprintf_s(FILE *_File, const wchar_t *_Format, ...)
758 {
759 __builtin_va_list _ArgList;
760 int _Ret;
761 __builtin_va_start(_ArgList, _Format);
762 _Ret = _vfwprintf_s_l(_File, _Format, NULL, _ArgList);
763 __builtin_va_end(_ArgList);
764 return _Ret;
765 }
766 __mingw_ovr int __cdecl wprintf_s(const wchar_t *_Format, ...)
767 {
768 __builtin_va_list _ArgList;
769 int _Ret;
770 __builtin_va_start(_ArgList, _Format);
771 _Ret = _vfwprintf_s_l(stdout, _Format, NULL, _ArgList);
772 __builtin_va_end(_ArgList);
773 return _Ret;
774 }
775
776 __mingw_ovr int __cdecl _vswprintf_s_l(wchar_t *_DstBuf, size_t _DstSize, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList)
777 {
778 return __stdio_common_vswprintf_s(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _DstBuf, _DstSize, _Format, _Locale, _ArgList);
779 }
780 __mingw_ovr int __cdecl vswprintf_s(wchar_t *_DstBuf, size_t _DstSize, const wchar_t *_Format, va_list _ArgList)
781 {
782 return _vswprintf_s_l(_DstBuf, _DstSize, _Format, NULL, _ArgList);
783 }
784 __mingw_ovr int __cdecl _swprintf_s_l(wchar_t *_DstBuf, size_t _DstSize, const wchar_t *_Format, _locale_t _Locale, ...)
785 {
786 __builtin_va_list _ArgList;
787 int _Ret;
788 __builtin_va_start(_ArgList, _Locale);
789 _Ret = _vswprintf_s_l(_DstBuf, _DstSize, _Format, _Locale, _ArgList);
790 __builtin_va_end(_ArgList);
791 return _Ret;
792 }
793 __mingw_ovr int __cdecl swprintf_s(wchar_t *_DstBuf, size_t _DstSize, const wchar_t *_Format, ...)
794 {
795 __builtin_va_list _ArgList;
796 int _Ret;
797 __builtin_va_start(_ArgList, _Format);
798 _Ret = _vswprintf_s_l(_DstBuf, _DstSize, _Format, NULL, _ArgList);
799 __builtin_va_end(_ArgList);
800 return _Ret;
801 }
802
803 __mingw_ovr int __cdecl _vsnwprintf_s_l(wchar_t *_DstBuf, size_t _DstSize, size_t _MaxCount, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList)
804 {
805 return __stdio_common_vsnwprintf_s(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _DstBuf, _DstSize, _MaxCount, _Format, _Locale, _ArgList);
806 }
807 __mingw_ovr int __cdecl _vsnwprintf_s(wchar_t *_DstBuf, size_t _DstSize, size_t _MaxCount, const wchar_t *_Format, va_list _ArgList)
808 {
809 return _vsnwprintf_s_l(_DstBuf, _DstSize, _MaxCount, _Format, NULL, _ArgList);
810 }
811 __mingw_ovr int __cdecl _snwprintf_s_l(wchar_t *_DstBuf, size_t _DstSize, size_t _MaxCount, const wchar_t *_Format, _locale_t _Locale, ...)
812 {
813 __builtin_va_list _ArgList;
814 int _Ret;
815 __builtin_va_start(_ArgList, _Locale);
816 _Ret = _vsnwprintf_s_l(_DstBuf, _DstSize, _MaxCount, _Format, _Locale, _ArgList);
817 __builtin_va_end(_ArgList);
818 return _Ret;
819 }
820 __mingw_ovr int __cdecl _snwprintf_s(wchar_t *_DstBuf, size_t _DstSize, size_t _MaxCount, const wchar_t *_Format, ...)
821 {
822 __builtin_va_list _ArgList;
823 int _Ret;
824 __builtin_va_start(_ArgList, _Format);
825 _Ret = _vsnwprintf_s_l(_DstBuf, _DstSize, _MaxCount, _Format, NULL, _ArgList);
826 __builtin_va_end(_ArgList);
827 return _Ret;
828 }
829#else /* _UCRT */
830 int __cdecl fwprintf_s(FILE *_File,const wchar_t *_Format,...);
831 int __cdecl wprintf_s(const wchar_t *_Format,...);
832 int __cdecl vfwprintf_s(FILE *_File,const wchar_t *_Format,va_list _ArgList);
833 int __cdecl vwprintf_s(const wchar_t *_Format,va_list _ArgList);
834
835 int __cdecl vswprintf_s(wchar_t *_Dst,size_t _SizeInWords,const wchar_t *_Format,va_list _ArgList);
836
837 int __cdecl swprintf_s(wchar_t *_Dst,size_t _SizeInWords,const wchar_t *_Format,...);
838
839 _CRTIMP int __cdecl _vsnwprintf_s(wchar_t *_DstBuf,size_t _DstSizeInWords,size_t _MaxCount,const wchar_t *_Format,va_list _ArgList);
840
841 _CRTIMP int __cdecl _snwprintf_s(wchar_t *_DstBuf,size_t _DstSizeInWords,size_t _MaxCount,const wchar_t *_Format,...);
842
843
844 _CRTIMP int __cdecl _wprintf_s_l(const wchar_t *_Format,_locale_t _Locale,...);
845 _CRTIMP int __cdecl _vwprintf_s_l(const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
846 _CRTIMP int __cdecl _fwprintf_s_l(FILE *_File,const wchar_t *_Format,_locale_t _Locale,...);
847 _CRTIMP int __cdecl _vfwprintf_s_l(FILE *_File,const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
848 _CRTIMP int __cdecl _swprintf_s_l(wchar_t *_DstBuf,size_t _DstSize,const wchar_t *_Format,_locale_t _Locale,...);
849 _CRTIMP int __cdecl _vswprintf_s_l(wchar_t *_DstBuf,size_t _DstSize,const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
850 _CRTIMP int __cdecl _snwprintf_s_l(wchar_t *_DstBuf,size_t _DstSize,size_t _MaxCount,const wchar_t *_Format,_locale_t _Locale,...);
851 _CRTIMP int __cdecl _vsnwprintf_s_l(wchar_t *_DstBuf,size_t _DstSize,size_t _MaxCount,const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
852 _CRTIMP int __cdecl _fwscanf_s_l(FILE *_File,const wchar_t *_Format,_locale_t _Locale,...);
853 _CRTIMP int __cdecl fwscanf_s(FILE *_File, const wchar_t *_Format, ...);
854 _CRTIMP int __cdecl _swscanf_s_l(const wchar_t *_Src,const wchar_t *_Format,_locale_t _Locale,...);
855 _CRTIMP int __cdecl swscanf_s(const wchar_t *_Src,const wchar_t *_Format,...);
856 _CRTIMP int __cdecl _snwscanf_s(const wchar_t *_Src,size_t _MaxCount,const wchar_t *_Format,...);
857 _CRTIMP int __cdecl _snwscanf_s_l(const wchar_t *_Src,size_t _MaxCount,const wchar_t *_Format,_locale_t _Locale,...);
858 _CRTIMP int __cdecl _wscanf_s_l(const wchar_t *_Format,_locale_t _Locale,...);
859 _CRTIMP int __cdecl wscanf_s(const wchar_t *_Format, ...);
860#endif /* !_UCRT */
861
862 __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_2(int, vswprintf_s, wchar_t, _Dst, const wchar_t*, _Format, va_list, _ArgList)
863 __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1_ARGLIST(int,swprintf_s,vswprintf_s,wchar_t,_Dst,const wchar_t*,_Format)
864 __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_3(int,_vsnwprintf_s,wchar_t,_DstBuf,size_t,_MaxCount,const wchar_t*,_Format,va_list,_ArgList)
865 __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_2_ARGLIST(int,_snwprintf_s,_vsnwprintf_s,wchar_t,_DstBuf,size_t,_MaxCount,const wchar_t*,_Format)
866
867 _CRTIMP errno_t __cdecl _wfopen_s(FILE **_File,const wchar_t *_Filename,const wchar_t *_Mode);
868 _CRTIMP errno_t __cdecl _wfreopen_s(FILE **_File,const wchar_t *_Filename,const wchar_t *_Mode,FILE *_OldFile);
869
870 _CRTIMP errno_t __cdecl _wtmpnam_s(wchar_t *_DstBuf,size_t _SizeInWords);
871 __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_0(errno_t,_wtmpnam_s,wchar_t,_DstBuf)
872
873#ifndef _UCRT
874 _CRTIMP int __cdecl _fwprintf_p(FILE *_File,const wchar_t *_Format,...);
875 _CRTIMP int __cdecl _wprintf_p(const wchar_t *_Format,...);
876 _CRTIMP int __cdecl _vfwprintf_p(FILE *_File,const wchar_t *_Format,va_list _ArgList);
877 _CRTIMP int __cdecl _vwprintf_p(const wchar_t *_Format,va_list _ArgList);
878 _CRTIMP int __cdecl _swprintf_p(wchar_t *_DstBuf,size_t _MaxCount,const wchar_t *_Format,...);
879 _SECIMP int __cdecl _vswprintf_p(wchar_t *_DstBuf,size_t _MaxCount,const wchar_t *_Format,va_list _ArgList);
880 _CRTIMP int __cdecl _scwprintf_p(const wchar_t *_Format,...);
881 _SECIMP int __cdecl _vscwprintf_p(const wchar_t *_Format,va_list _ArgList);
882 _CRTIMP int __cdecl _wprintf_l(const wchar_t *_Format,_locale_t _Locale,...);
883 _CRTIMP int __cdecl _wprintf_p_l(const wchar_t *_Format,_locale_t _Locale,...);
884 _CRTIMP int __cdecl _vwprintf_l(const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
885 _CRTIMP int __cdecl _vwprintf_p_l(const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
886 _CRTIMP int __cdecl _fwprintf_l(FILE *_File,const wchar_t *_Format,_locale_t _Locale,...);
887 _CRTIMP int __cdecl _fwprintf_p_l(FILE *_File,const wchar_t *_Format,_locale_t _Locale,...);
888 _CRTIMP int __cdecl _vfwprintf_l(FILE *_File,const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
889 _CRTIMP int __cdecl _vfwprintf_p_l(FILE *_File,const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
890 _CRTIMP int __cdecl _swprintf_c_l(wchar_t *_DstBuf,size_t _MaxCount,const wchar_t *_Format,_locale_t _Locale,...);
891 _CRTIMP int __cdecl _swprintf_p_l(wchar_t *_DstBuf,size_t _MaxCount,const wchar_t *_Format,_locale_t _Locale,...);
892 _CRTIMP int __cdecl _vswprintf_c_l(wchar_t *_DstBuf,size_t _MaxCount,const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
893 _CRTIMP int __cdecl _vswprintf_p_l(wchar_t *_DstBuf,size_t _MaxCount,const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
894 _CRTIMP int __cdecl _scwprintf_l(const wchar_t *_Format,_locale_t _Locale,...);
895 _CRTIMP int __cdecl _scwprintf_p_l(const wchar_t *_Format,_locale_t _Locale,...);
896 _CRTIMP int __cdecl _vscwprintf_p_l(const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
897 _CRTIMP int __cdecl _snwprintf_l(wchar_t *_DstBuf,size_t _MaxCount,const wchar_t *_Format,_locale_t _Locale,...);
898 _CRTIMP int __cdecl _vsnwprintf_l(wchar_t *_DstBuf,size_t _MaxCount,const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
899 _CRTIMP int __cdecl __swprintf_l(wchar_t *_Dest,const wchar_t *_Format,_locale_t _Plocinfo,...);
900 _CRTIMP int __cdecl __vswprintf_l(wchar_t *_Dest,const wchar_t *_Format,_locale_t _Plocinfo,va_list _Args);
901 _CRTIMP int __cdecl _vscwprintf_l(const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
902 _CRTIMP int __cdecl _fwscanf_l(FILE *_File,const wchar_t *_Format,_locale_t _Locale,...);
903 _CRTIMP int __cdecl _swscanf_l(const wchar_t *_Src,const wchar_t *_Format,_locale_t _Locale,...);
904 _CRTIMP int __cdecl _snwscanf_l(const wchar_t *_Src,size_t _MaxCount,const wchar_t *_Format,_locale_t _Locale,...);
905 _CRTIMP int __cdecl _wscanf_l(const wchar_t *_Format,_locale_t _Locale,...);
906#endif /* !_UCRT */
907
908#endif /* _WSTDIO_S_DEFINED */
909#endif /* _STDIO_S_DEFINED */
910
911#if __MSVCRT_VERSION__ >= 0x800
912 _CRTIMP size_t __cdecl _fread_nolock_s(void *_DstBuf,size_t _DstSize,size_t _ElementSize,size_t _Count,FILE *_File);
913#endif
914
915#ifdef __cplusplus
916}
917#endif
918#endif