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