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