xref: /reactos/sdk/include/crt/sec_api/stdio_s.h (revision c2c66aff)
1 /**
2  * This file has no copyright assigned and is placed in the Public Domain.
3  * This file is part of the w64 mingw-runtime package.
4  * No warranty is given; refer to the file DISCLAIMER within this package.
5  */
6 #ifndef _INC_STDIO_S
7 #define _INC_STDIO_S
8 
9 #include <stdio.h>
10 
11 #if defined(MINGW_HAS_SECURE_API)
12 
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16 
17 #ifndef _STDIO_S_DEFINED
18 #define _STDIO_S_DEFINED
19 
20   _Check_return_wat_
21   _CRTIMP
22   errno_t
23   __cdecl
24   clearerr_s(
25     _Inout_ FILE *_File);
26 
27   _Check_return_opt_
28   int
29   __cdecl
30   fprintf_s(
31     _Inout_ FILE *_File,
32     _In_z_ _Printf_format_string_ const char *_Format,
33     ...);
34 
35   _Check_return_opt_
36   size_t
37   __cdecl
38   fread_s(
39     _Out_writes_bytes_(_ElementSize * _Count) void *_DstBuf,
40     _In_ size_t _DstSize,
41     _In_ size_t _ElementSize,
42     _In_ size_t _Count,
43     _Inout_ FILE *_File);
44 
45   _Check_return_opt_
46   _CRTIMP
47   int
48   __cdecl
49   _fscanf_s_l(
50     _Inout_ FILE *_File,
51     _In_z_ _Scanf_s_format_string_ const char *_Format,
52     _In_opt_ _locale_t _Locale,
53     ...);
54 
55   _Check_return_opt_
56   int
57   __cdecl
58   printf_s(
59     _In_z_ _Printf_format_string_ const char *_Format,
60     ...);
61 
62   _Check_return_opt_
63   _CRTIMP
64   int
65   __cdecl
66   _scanf_l(
67     _In_z_ _Scanf_format_string_ const char *_Format,
68     _In_opt_ _locale_t _Locale,
69     ...);
70 
71   _Check_return_opt_
72   _CRTIMP
73   int
74   __cdecl
75   _scanf_s_l(
76     _In_z_ _Scanf_s_format_string_ const char *_Format,
77     _In_opt_ _locale_t _Locale,
78     ...);
79 
80   _Check_return_opt_
81   _CRTIMP
82   int
83   __cdecl
84   _snprintf_s(
85     _Out_writes_z_(_DstSize) char *_DstBuf,
86     _In_ size_t _DstSize,
87     _In_ size_t _MaxCount,
88     _In_z_ _Printf_format_string_ const char *_Format,
89     ...);
90 
91   _Check_return_opt_
92   _CRTIMP
93   int
94   __cdecl
95   _snprintf_c(
96     _Out_writes_(_MaxCount) char *_DstBuf,
97     _In_ size_t _MaxCount,
98     _In_z_ _Printf_format_string_ const char *_Format,
99     ...);
100 
101   _Check_return_opt_
102   _CRTIMP
103   int
104   __cdecl
105   _vsnprintf_c(
106     _Out_writes_(_MaxCount) char *_DstBuf,
107     _In_ size_t _MaxCount,
108     _In_z_ _Printf_format_string_ const char *_Format,
109     va_list _ArgList);
110 
111   _Check_return_opt_
112   int
113   __cdecl
114   sprintf_s(
115     _Out_writes_z_(_DstSize) char *_DstBuf,
116     _In_ size_t _DstSize,
117     _In_z_ _Printf_format_string_ const char *_Format,
118     ...);
119 
120   _Check_return_opt_
121   _CRTIMP
122   int
123   __cdecl
124   _fscanf_l(
125     _Inout_ FILE *_File,
126     _In_z_ _Scanf_format_string_ const char *_Format,
127     _In_opt_ _locale_t _Locale,
128     ...);
129 
130   _Check_return_opt_
131   _CRTIMP
132   int
133   __cdecl
134   _sscanf_l(
135     _In_z_ const char *_Src,
136     _In_z_ _Scanf_format_string_ const char *_Format,
137     _In_opt_ _locale_t _Locale,
138     ...);
139 
140   _Check_return_opt_
141   _CRTIMP
142   int
143   __cdecl
144   _sscanf_s_l(
145     _In_z_ const char *_Src,
146     _In_z_ _Scanf_s_format_string_ const char *_Format,
147     _In_opt_ _locale_t _Locale,
148     ...);
149 
150   _Check_return_opt_
151   _CRTIMP
152   int
153   __cdecl
154   _snscanf_s(
155     _In_reads_bytes_(_MaxCount) _Pre_z_ const char *_Src,
156     _In_ size_t _MaxCount,
157     _In_z_ _Scanf_s_format_string_ const char *_Format,
158     ...);
159 
160   _Check_return_opt_
161   _CRTIMP
162   int
163   __cdecl
164   _snscanf_l(
165     _In_reads_bytes_(_MaxCount) _Pre_z_ const char *_Src,
166     _In_ size_t _MaxCount,
167     _In_z_ _Scanf_format_string_ const char *_Format,
168     _In_opt_ _locale_t _Locale,
169     ...);
170 
171   _Check_return_opt_
172   _CRTIMP
173   int
174   __cdecl
175   _snscanf_s_l(
176     _In_reads_bytes_(_MaxCount) _Pre_z_ const char *_Src,
177     _In_ size_t _MaxCount,
178     _In_z_ _Scanf_s_format_string_ const char *_Format,
179     _In_opt_ _locale_t _Locale,
180     ...);
181 
182   _Check_return_opt_
183   int
184   __cdecl
185   vfprintf_s(
186     _Inout_ FILE *_File,
187     _In_z_ _Printf_format_string_ const char *_Format,
188     va_list _ArgList);
189 
190   _Check_return_opt_
191   int
192   __cdecl
193   vprintf_s(
194     _In_z_ _Printf_format_string_ const char *_Format,
195     va_list _ArgList);
196 
197   _Check_return_opt_
198   int
199   __cdecl
200   vsnprintf_s(
201     _Out_writes_z_(_DstSize) char *_DstBuf,
202     _In_ size_t _DstSize,
203     _In_ size_t _MaxCount,
204     _In_z_ _Printf_format_string_ const char *_Format,
205     va_list _ArgList);
206 
207   _Check_return_opt_
208   _CRTIMP
209   int
210   __cdecl
211   _vsnprintf_s(
212     _Out_writes_z_(_DstSize) char *_DstBuf,
213     _In_ size_t _DstSize,
214     _In_ size_t _MaxCount,
215     _In_z_ _Printf_format_string_ const char *_Format,
216     va_list _ArgList);
217 
218   int
219   __cdecl
220   vsprintf_s(
221     _Out_writes_z_(_Size) char *_DstBuf,
222     _In_ size_t _Size,
223     _In_z_ _Printf_format_string_ const char *_Format,
224     va_list _ArgList);
225 
226   _Check_return_opt_
227   _CRTIMP
228   int
229   __cdecl
230   _fprintf_p(
231     _Inout_ FILE *_File,
232     _In_z_ _Printf_format_string_ const char *_Format,
233     ...);
234 
235   _Check_return_opt_
236   _CRTIMP
237   int
238   __cdecl
239   _printf_p(
240     _In_z_ _Printf_format_string_ const char *_Format,
241     ...);
242 
243   _Check_return_opt_
244   _CRTIMP
245   int
246   __cdecl
247   _sprintf_p(
248     _Out_writes_z_(_MaxCount) char *_Dst,
249     _In_ size_t _MaxCount,
250     _In_z_ _Printf_format_string_ const char *_Format,
251     ...);
252 
253   _Check_return_opt_
254   _CRTIMP
255   int
256   __cdecl
257   _vfprintf_p(
258     _Inout_ FILE *_File,
259     _In_z_ _Printf_format_string_ const char *_Format,
260     va_list _ArgList);
261 
262   _Check_return_opt_
263   _CRTIMP
264   int
265   __cdecl
266   _vprintf_p(
267     _In_z_ _Printf_format_string_ const char *_Format,
268     va_list _ArgList);
269 
270   _Check_return_opt_
271   _CRTIMP
272   int
273   __cdecl
274   _vsprintf_p(
275     _Out_writes_z_(_MaxCount) char *_Dst,
276     _In_ size_t _MaxCount,
277     _In_z_ _Printf_format_string_ const char *_Format,
278     va_list _ArgList);
279 
280   _Check_return_
281   _CRTIMP
282   int
283   __cdecl
284   _scprintf_p(
285     _In_z_ _Printf_format_string_ const char *_Format,
286     ...);
287 
288   _Check_return_
289   _CRTIMP
290   int
291   __cdecl
292   _vscprintf_p(
293     _In_z_ _Printf_format_string_ const char *_Format,
294     va_list _ArgList);
295 
296   _Check_return_opt_
297   _CRTIMP
298   int
299   __cdecl
300   _printf_l(
301     _In_z_ _Printf_format_string_ const char *_Format,
302     _In_opt_ _locale_t _Locale,
303     ...);
304 
305   _Check_return_opt_
306   _CRTIMP
307   int
308   __cdecl
309   _printf_p_l(
310     _In_z_ _Printf_format_string_ const char *_Format,
311     _In_opt_ _locale_t _Locale,
312     ...);
313 
314   _Check_return_opt_
315   _CRTIMP
316   int
317   __cdecl
318   _vprintf_l(
319     _In_z_ _Printf_format_string_ const char *_Format,
320     _In_opt_ _locale_t _Locale,
321     va_list _ArgList);
322 
323   _Check_return_opt_
324   _CRTIMP
325   int
326   __cdecl
327   _vprintf_p_l(
328     _In_z_ _Printf_format_string_ const char *_Format,
329     _In_opt_ _locale_t _Locale,
330     va_list _ArgList);
331 
332   _Check_return_opt_
333   _CRTIMP
334   int
335   __cdecl
336   _fprintf_l(
337     _Inout_ FILE *_File,
338     _In_z_ _Printf_format_string_ const char *_Format,
339     _In_opt_ _locale_t _Locale,
340     ...);
341 
342   _Check_return_opt_
343   _CRTIMP
344   int
345   __cdecl
346   _fprintf_p_l(
347     _Inout_ FILE *_File,
348     _In_z_ _Printf_format_string_ const char *_Format,
349     _In_opt_ _locale_t _Locale,
350     ...);
351 
352   _Check_return_opt_
353   _CRTIMP
354   int
355   __cdecl
356   _vfprintf_l(
357     _Inout_ FILE *_File,
358     _In_z_ _Printf_format_string_ const char *_Format,
359     _In_opt_ _locale_t _Locale,
360     va_list _ArgList);
361 
362   _Check_return_opt_
363   _CRTIMP
364   int
365   __cdecl
366   _vfprintf_p_l(
367     _Inout_ FILE *_File,
368     _In_z_ _Printf_format_string_ const char *_Format,
369     _In_opt_ _locale_t _Locale,
370     va_list _ArgList);
371 
372   _Check_return_opt_
373   _CRTIMP
374   int
375   __cdecl
376   _sprintf_l(
377     _Pre_notnull_ _Post_z_ char *_DstBuf,
378     _In_z_ _Printf_format_string_ const char *_Format,
379     _In_opt_ _locale_t _Locale,
380     ...);
381 
382   _Check_return_opt_
383   _CRTIMP
384   int
385   __cdecl
386   _sprintf_p_l(
387     _Out_writes_z_(_MaxCount) char *_DstBuf,
388     _In_ size_t _MaxCount,
389     _In_z_ _Printf_format_string_ const char *_Format,
390     _In_opt_ _locale_t _Locale,
391     ...);
392 
393   _Check_return_opt_
394   _CRTIMP
395   int
396   __cdecl
397   _vsprintf_l(
398     _Pre_notnull_ _Post_z_ char *_DstBuf,
399     _In_z_ _Printf_format_string_ const char *_Format,
400     _In_opt_ _locale_t,
401     va_list _ArgList);
402 
403   _Check_return_opt_
404   _CRTIMP
405   int
406   __cdecl
407   _vsprintf_p_l(
408     _Out_writes_z_(_MaxCount) char *_DstBuf,
409     _In_ size_t _MaxCount,
410     _In_z_ _Printf_format_string_ const char *_Format,
411     _In_opt_ _locale_t _Locale,
412     va_list _ArgList);
413 
414   _Check_return_opt_
415   _CRTIMP
416   int
417   __cdecl
418   _scprintf_l(
419     _In_z_ _Printf_format_string_ const char *_Format,
420     _In_opt_ _locale_t _Locale,
421     ...);
422 
423   _Check_return_opt_
424   _CRTIMP
425   int
426   __cdecl
427   _scprintf_p_l(
428     _In_z_ _Printf_format_string_ const char *_Format,
429     _In_opt_ _locale_t _Locale,
430     ...);
431 
432   _Check_return_opt_
433   _CRTIMP
434   int
435   __cdecl
436   _vscprintf_l(
437     _In_z_ _Printf_format_string_ const char *_Format,
438     _In_opt_ _locale_t _Locale,
439     va_list _ArgList);
440 
441   _Check_return_opt_
442   _CRTIMP
443   int
444   __cdecl
445   _vscprintf_p_l(
446     _In_z_ _Printf_format_string_ const char *_Format,
447     _In_opt_ _locale_t _Locale,
448     va_list _ArgList);
449 
450   _Check_return_opt_
451   _CRTIMP
452   int
453   __cdecl
454   _printf_s_l(
455     _In_z_ _Printf_format_string_ const char *_Format,
456     _In_opt_ _locale_t _Locale,
457     ...);
458 
459   _Check_return_opt_
460   _CRTIMP
461   int
462   __cdecl
463   _vprintf_s_l(
464     _In_z_ _Printf_format_string_ const char *_Format,
465     _In_opt_ _locale_t _Locale,
466     va_list _ArgList);
467 
468   _Check_return_opt_
469   _CRTIMP
470   int
471   __cdecl
472   _fprintf_s_l(
473     _Inout_ FILE *_File,
474     _In_z_ _Printf_format_string_ const char *_Format,
475     _In_opt_ _locale_t _Locale,
476     ...);
477 
478   _Check_return_opt_
479   _CRTIMP
480   int
481   __cdecl
482   _vfprintf_s_l(
483     _Inout_ FILE *_File,
484     _In_z_ _Printf_format_string_ const char *_Format,
485     _In_opt_ _locale_t _Locale,
486     va_list _ArgList);
487 
488   _Check_return_opt_
489   _CRTIMP
490   int
491   __cdecl
492   _sprintf_s_l(
493     _Out_writes_z_(_DstSize) char *_DstBuf,
494     _In_ size_t _DstSize,
495     _In_z_ _Printf_format_string_ const char *_Format,
496     _In_opt_ _locale_t _Locale,
497     ...);
498 
499   _Check_return_opt_
500   _CRTIMP
501   int
502   __cdecl
503   _vsprintf_s_l(
504     _Out_writes_z_(_DstSize) char *_DstBuf,
505     _In_ size_t _DstSize,
506     _In_z_ _Printf_format_string_ const char *_Format,
507     _In_opt_ _locale_t _Locale,
508     va_list _ArgList);
509 
510   _Check_return_opt_
511   _CRTIMP
512   int
513   __cdecl
514   _snprintf_s_l(
515     _Out_writes_z_(_DstSize) char *_DstBuf,
516     _In_ size_t _DstSize,
517     _In_ size_t _MaxCount,
518     _In_z_ _Printf_format_string_ const char *_Format,
519     _In_opt_ _locale_t _Locale,
520     ...);
521 
522   _Check_return_opt_
523   _CRTIMP
524   int
525   __cdecl
526   _vsnprintf_s_l(
527     _Out_writes_z_(_DstSize) char *_DstBuf,
528     _In_ size_t _DstSize,
529     _In_ size_t _MaxCount,
530     _In_z_ _Printf_format_string_ const char *_Format,
531     _In_opt_ _locale_t _Locale,
532     va_list _ArgList);
533 
534   _Check_return_opt_
535   _CRTIMP
536   int
537   __cdecl
538   _snprintf_l(
539     _Out_writes_(_MaxCount) char *_DstBuf,
540     _In_ size_t _MaxCount,
541     _In_z_ _Printf_format_string_ const char *_Format,
542     _In_opt_ _locale_t _Locale,
543     ...);
544 
545   _Check_return_opt_
546   _CRTIMP
547   int
548   __cdecl
549   _snprintf_c_l(
550     _Out_writes_(_MaxCount) char *_DstBuf,
551     _In_ size_t _MaxCount,
552     _In_z_ _Printf_format_string_ const char *_Format,
553     _In_opt_ _locale_t _Locale,
554     ...);
555 
556   _Check_return_opt_
557   _CRTIMP
558   int
559   __cdecl
560   _vsnprintf_l(
561     _Out_writes_(_MaxCount) char *_DstBuf,
562     _In_ size_t _MaxCount,
563     _In_z_ _Printf_format_string_ const char *_Format,
564     _In_opt_ _locale_t _Locale,
565     va_list _ArgList);
566 
567   _Check_return_opt_
568   _CRTIMP
569   int
570   __cdecl
571   _vsnprintf_c_l(
572     _Out_writes_(_MaxCount) char *_DstBuf,
573     _In_ size_t _MaxCount,
574     const char *,
575     _In_opt_ _locale_t _Locale,
576     va_list _ArgList);
577 
578   _Check_return_wat_
579   _CRTIMP
580   errno_t
581   __cdecl
582   fopen_s(
583     _Outptr_result_maybenull_ FILE **_File,
584     _In_z_ const char *_Filename,
585     _In_z_ const char *_Mode);
586 
587 #ifndef _WSTDIO_S_DEFINED
588 #define _WSTDIO_S_DEFINED
589 
590   _Check_return_opt_
591   _CRTIMP
592   wchar_t *
593   __cdecl
594   _getws_s(
595     _Out_writes_z_(_SizeInWords) wchar_t *_Str,
596     _In_ size_t _SizeInWords);
597 
598   _Check_return_opt_
599   int
600   __cdecl
601   fwprintf_s(
602     _Inout_ FILE *_File,
603     _In_z_ _Printf_format_string_ const wchar_t *_Format,
604     ...);
605 
606   _Check_return_opt_
607   int
608   __cdecl
609   wprintf_s(
610     _In_z_ _Printf_format_string_ const wchar_t *_Format,
611     ...);
612 
613   _Check_return_opt_
614   int
615   __cdecl
616   vfwprintf_s(
617     _Inout_ FILE *_File,
618     _In_z_ _Printf_format_string_ const wchar_t *_Format,
619     va_list _ArgList);
620 
621   _Check_return_opt_
622   int
623   __cdecl
624   vwprintf_s(
625     _In_z_ _Printf_format_string_ const wchar_t *_Format,
626     va_list _ArgList);
627 
628   int
629   __cdecl
630   swprintf_s(
631     _Out_writes_z_(_SizeInWords) wchar_t *_Dst,
632     _In_ size_t _SizeInWords,
633     _In_z_ _Printf_format_string_ const wchar_t *_Format,
634     ...);
635 
636   int
637   __cdecl
638   vswprintf_s(
639     _Out_writes_z_(_SizeInWords) wchar_t *_Dst,
640     _In_ size_t _SizeInWords,
641     _In_z_ _Printf_format_string_ const wchar_t *_Format,
642     va_list _ArgList);
643 
644   _Check_return_opt_
645   _CRTIMP
646   int
647   __cdecl
648   _snwprintf_s(
649     _Out_writes_z_(_DstSizeInWords) wchar_t *_DstBuf,
650     _In_ size_t _DstSizeInWords,
651     _In_ size_t _MaxCount,
652     _In_z_ _Printf_format_string_ const wchar_t *_Format,
653     ...);
654 
655   _Check_return_opt_
656   _CRTIMP
657   int
658   __cdecl
659   _vsnwprintf_s(
660     _Out_writes_z_(_DstSizeInWords) wchar_t *_DstBuf,
661     _In_ size_t _DstSizeInWords,
662     _In_ size_t _MaxCount,
663     _In_z_ _Printf_format_string_ const wchar_t *_Format,
664     va_list _ArgList);
665 
666   _Check_return_opt_
667   _CRTIMP
668   int
669   __cdecl
670   _wprintf_s_l(
671     _In_z_ _Printf_format_string_ const wchar_t *_Format,
672     _In_opt_ _locale_t _Locale,
673     ...);
674 
675   _Check_return_opt_
676   _CRTIMP
677   int
678   __cdecl
679   _vwprintf_s_l(
680     _In_z_ _Printf_format_string_ const wchar_t *_Format,
681     _In_opt_ _locale_t _Locale,
682     va_list _ArgList);
683 
684   _Check_return_opt_
685   _CRTIMP
686   int
687   __cdecl
688   _fwprintf_s_l(
689     _Inout_ FILE *_File,
690     _In_z_ _Printf_format_string_ const wchar_t *_Format,
691     _In_opt_ _locale_t _Locale,
692     ...);
693 
694   _Check_return_opt_
695   _CRTIMP
696   int
697   __cdecl
698   _vfwprintf_s_l(
699     _Inout_ FILE *_File,
700     _In_z_ _Printf_format_string_ const wchar_t *_Format,
701     _In_opt_ _locale_t _Locale,
702     va_list _ArgList);
703 
704   _Check_return_opt_
705   _CRTIMP
706   int
707   __cdecl
708   _swprintf_s_l(
709     _Out_writes_z_(_DstSize) wchar_t *_DstBuf,
710     _In_ size_t _DstSize,
711     _In_z_ _Printf_format_string_ const wchar_t *_Format,
712     _In_opt_ _locale_t _Locale,
713     ...);
714 
715   _Check_return_opt_
716   _CRTIMP
717   int
718   __cdecl
719   _vswprintf_s_l(
720     _Out_writes_z_(_DstSize) wchar_t *_DstBuf,
721     _In_ size_t _DstSize,
722     _In_z_ _Printf_format_string_ const wchar_t *_Format,
723     _In_opt_ _locale_t _Locale,
724     va_list _ArgList);
725 
726   _Check_return_opt_
727   _CRTIMP
728   int
729   __cdecl
730   _snwprintf_s_l(
731     _Out_writes_z_(_DstSize) wchar_t *_DstBuf,
732     _In_ size_t _DstSize,
733     _In_ size_t _MaxCount,
734     _In_z_ _Printf_format_string_ const wchar_t *_Format,
735     _In_opt_ _locale_t _Locale,
736     ...);
737 
738   _Check_return_opt_
739   _CRTIMP
740   int
741   __cdecl
742   _vsnwprintf_s_l(
743     _Out_writes_z_(_DstSize) wchar_t *_DstBuf,
744     _In_ size_t _DstSize,
745     _In_ size_t _MaxCount,
746     _In_z_ _Printf_format_string_ const wchar_t *_Format,
747     _In_opt_ _locale_t _Locale,
748     va_list _ArgList);
749 
750   _Check_return_opt_
751   _CRTIMP
752   int
753   __cdecl
754   _fwscanf_s_l(
755     _Inout_ FILE *_File,
756     _In_z_ _Scanf_s_format_string_ const wchar_t *_Format,
757     _In_opt_ _locale_t _Locale,
758     ...);
759 
760   _Check_return_opt_
761   _CRTIMP
762   int
763   __cdecl
764   _swscanf_s_l(
765     _In_z_ const wchar_t *_Src,
766     _In_z_ _Scanf_s_format_string_ const wchar_t *_Format,
767     _In_opt_ _locale_t _Locale,
768     ...);
769 
770   _Check_return_opt_
771   _CRTIMP
772   int
773   __cdecl
774   _snwscanf_s(
775     _In_reads_(_MaxCount) _Pre_z_ const wchar_t *_Src,
776     _In_ size_t _MaxCount,
777     _In_z_ _Scanf_s_format_string_ const wchar_t *_Format,
778     ...);
779 
780   _Check_return_opt_
781   _CRTIMP
782   int
783   __cdecl
784   _snwscanf_s_l(
785     _In_reads_(_MaxCount) _Pre_z_ const wchar_t *_Src,
786     _In_ size_t _MaxCount,
787     _In_z_ _Scanf_s_format_string_ const wchar_t *_Format,
788     _In_opt_ _locale_t _Locale,
789     ...);
790 
791   _Check_return_opt_
792   _CRTIMP
793   int
794   __cdecl
795   _wscanf_s_l(
796     _In_z_ _Scanf_s_format_string_ const wchar_t *_Format,
797     _In_opt_ _locale_t _Locale,
798     ...);
799 
800   _Check_return_wat_
801   _CRTIMP
802   errno_t
803   __cdecl
804   _wfopen_s(
805     _Outptr_result_maybenull_ FILE **_File,
806     _In_z_ const wchar_t *_Filename,
807     _In_z_ const wchar_t *_Mode);
808 
809   _Check_return_wat_
810   _CRTIMP
811   errno_t
812   __cdecl
813   _wfreopen_s(
814     _Outptr_result_maybenull_ FILE **_File,
815     _In_z_ const wchar_t *_Filename,
816     _In_z_ const wchar_t *_Mode,
817     _Inout_ FILE *_OldFile);
818 
819   _Check_return_wat_
820   _CRTIMP
821   errno_t
822   __cdecl
823   _wtmpnam_s(
824     _Out_writes_z_(_SizeInWords) wchar_t *_DstBuf,
825     _In_ size_t _SizeInWords);
826 
827   _Check_return_opt_
828   _CRTIMP
829   int
830   __cdecl
831   _fwprintf_p(
832     _Inout_ FILE *_File,
833     _In_z_ _Printf_format_string_ const wchar_t *_Format,
834     ...);
835 
836   _Check_return_opt_
837   _CRTIMP
838   int
839   __cdecl
840   _wprintf_p(
841     _In_z_ _Printf_format_string_ const wchar_t *_Format,
842     ...);
843 
844   _Check_return_opt_
845   _CRTIMP
846   int
847   __cdecl
848   _vfwprintf_p(
849     _Inout_ FILE *_File,
850     _In_z_ _Printf_format_string_ const wchar_t *_Format,
851     va_list _ArgList);
852 
853   _Check_return_opt_
854   _CRTIMP
855   int
856   __cdecl
857   _vwprintf_p(
858     _In_z_ _Printf_format_string_ const wchar_t *_Format,
859     va_list _ArgList);
860 
861   _Check_return_opt_
862   _CRTIMP
863   int
864   __cdecl
865   _swprintf_p(
866     _Out_writes_z_(_MaxCount) wchar_t *_DstBuf,
867     _In_ size_t _MaxCount,
868     _In_z_ _Printf_format_string_ const wchar_t *_Format,
869     ...);
870 
871   _Check_return_opt_
872   _CRTIMP
873   int
874   __cdecl
875   _vswprintf_p(
876     _Out_writes_z_(_MaxCount) wchar_t *_DstBuf,
877     _In_ size_t _MaxCount,
878     _In_z_ _Printf_format_string_ const wchar_t *_Format,
879     va_list _ArgList);
880 
881   _Check_return_
882   _CRTIMP
883   int
884   __cdecl
885   _scwprintf_p(
886     _In_z_ _Printf_format_string_ const wchar_t *_Format,
887     ...);
888 
889   _Check_return_
890   _CRTIMP
891   int
892   __cdecl
893   _vscwprintf_p(
894     _In_z_ _Printf_format_string_ const wchar_t *_Format,
895     va_list _ArgList);
896 
897   _Check_return_opt_
898   _CRTIMP
899   int
900   __cdecl
901   _wprintf_l(
902     _In_z_ _Printf_format_string_ const wchar_t *_Format,
903     _In_opt_ _locale_t _Locale,
904     ...);
905 
906   _Check_return_opt_
907   _CRTIMP
908   int
909   __cdecl
910   _wprintf_p_l(
911     _In_z_ _Printf_format_string_ const wchar_t *_Format,
912     _In_opt_ _locale_t _Locale,
913     ...);
914 
915   _Check_return_opt_
916   _CRTIMP
917   int
918   __cdecl
919   _vwprintf_l(
920     _In_z_ _Printf_format_string_ const wchar_t *_Format,
921     _In_opt_ _locale_t _Locale,
922     va_list _ArgList);
923 
924   _Check_return_opt_
925   _CRTIMP
926   int
927   __cdecl
928   _vwprintf_p_l(
929     _In_z_ _Printf_format_string_ const wchar_t *_Format,
930     _In_opt_ _locale_t _Locale,
931     va_list _ArgList);
932 
933   _Check_return_opt_
934   _CRTIMP
935   int
936   __cdecl
937   _fwprintf_l(
938     _Inout_ FILE *_File,
939     _In_z_ _Printf_format_string_ const wchar_t *_Format,
940     _In_opt_ _locale_t _Locale,
941     ...);
942 
943   _Check_return_opt_
944   _CRTIMP
945   int
946   __cdecl
947   _fwprintf_p_l(
948     _Inout_ FILE *_File,
949     _In_z_ _Printf_format_string_ const wchar_t *_Format,
950     _In_opt_ _locale_t _Locale,
951     ...);
952 
953   _Check_return_opt_
954   _CRTIMP
955   int
956   __cdecl
957   _vfwprintf_l(
958     _Inout_ FILE *_File,
959     _In_z_ _Printf_format_string_ const wchar_t *_Format,
960     _In_opt_ _locale_t _Locale,
961     va_list _ArgList);
962 
963   _Check_return_opt_
964   _CRTIMP
965   int
966   __cdecl
967   _vfwprintf_p_l(
968     _Inout_ FILE *_File,
969     _In_z_ _Printf_format_string_ const wchar_t *_Format,
970     _In_opt_ _locale_t _Locale,
971     va_list _ArgList);
972 
973   _Check_return_opt_
974   _CRTIMP
975   int
976   __cdecl
977   _swprintf_c_l(
978     _Out_writes_z_(_MaxCount) wchar_t *_DstBuf,
979     _In_ size_t _MaxCount,
980     _In_z_ _Printf_format_string_ const wchar_t *_Format,
981     _In_opt_ _locale_t _Locale,
982     ...);
983 
984   _Check_return_opt_
985   _CRTIMP
986   int
987   __cdecl
988   _swprintf_p_l(
989     _Out_writes_z_(_MaxCount) wchar_t *_DstBuf,
990     _In_ size_t _MaxCount,
991     _In_z_ _Printf_format_string_ const wchar_t *_Format,
992     _In_opt_ _locale_t _Locale,
993     ...);
994 
995   _Check_return_opt_
996   _CRTIMP
997   int
998   __cdecl
999   _vswprintf_c_l(
1000     _Out_writes_z_(_MaxCount) wchar_t *_DstBuf,
1001     _In_ size_t _MaxCount,
1002     _In_z_ _Printf_format_string_ const wchar_t *_Format,
1003     _In_opt_ _locale_t _Locale,
1004     va_list _ArgList);
1005 
1006   _Check_return_opt_
1007   _CRTIMP
1008   int
1009   __cdecl
1010   _vswprintf_p_l(
1011     _Out_writes_z_(_MaxCount) wchar_t *_DstBuf,
1012     _In_ size_t _MaxCount,
1013     _In_z_ _Printf_format_string_ const wchar_t *_Format,
1014     _In_opt_ _locale_t _Locale,
1015     va_list _ArgList);
1016 
1017   _Check_return_
1018   _CRTIMP
1019   int
1020   __cdecl
1021   _scwprintf_l(
1022     _In_z_ _Printf_format_string_ const wchar_t *_Format,
1023     _In_opt_ _locale_t _Locale,
1024     ...);
1025 
1026   _Check_return_
1027   _CRTIMP
1028   int
1029   __cdecl
1030   _scwprintf_p_l(
1031     _In_z_ _Printf_format_string_ const wchar_t *_Format,
1032     _In_opt_ _locale_t _Locale,
1033     ...);
1034 
1035   _Check_return_
1036   _CRTIMP
1037   int
1038   __cdecl
1039   _vscwprintf_p_l(
1040     _In_z_ _Printf_format_string_ const wchar_t *_Format,
1041     _In_opt_ _locale_t _Locale,
1042     va_list _ArgList);
1043 
1044   _Check_return_opt_
1045   _CRTIMP
1046   int
1047   __cdecl
1048   _snwprintf_l(
1049     _Out_writes_(_MaxCount) wchar_t *_DstBuf,
1050     _In_ size_t _MaxCount,
1051     _In_z_ _Printf_format_string_ const wchar_t *_Format,
1052     _In_opt_ _locale_t _Locale,
1053     ...);
1054 
1055   _Check_return_opt_
1056   _CRTIMP
1057   int
1058   __cdecl
1059   _vsnwprintf_l(
1060     _Out_writes_(_MaxCount) wchar_t *_DstBuf,
1061     _In_ size_t _MaxCount,
1062     _In_z_ _Printf_format_string_ const wchar_t *_Format,
1063     _In_opt_ _locale_t _Locale,
1064     va_list _ArgList);
1065 
1066   _CRTIMP int __cdecl __swprintf_l(wchar_t *_Dest,const wchar_t *_Format,_locale_t _Plocinfo,...);
1067   _CRTIMP int __cdecl __vswprintf_l(wchar_t *_Dest,const wchar_t *_Format,_locale_t _Plocinfo,va_list _Args);
1068 
1069   _Check_return_
1070   _CRTIMP
1071   int
1072   __cdecl
1073   _vscwprintf_l(
1074     _In_z_ _Printf_format_string_ const wchar_t *_Format,
1075     _In_opt_ _locale_t _Locale,
1076     va_list _ArgList);
1077 
1078   _Check_return_opt_
1079   _CRTIMP
1080   int
1081   __cdecl
1082   _fwscanf_l(
1083     _Inout_ FILE *_File,
1084     _In_z_ _Scanf_format_string_ const wchar_t *_Format,
1085     _In_opt_ _locale_t _Locale,
1086     ...);
1087 
1088   _Check_return_opt_
1089   _CRTIMP
1090   int
1091   __cdecl
1092   _swscanf_l(
1093     _In_z_ const wchar_t *_Src,
1094     _In_z_ _Scanf_format_string_ const wchar_t *_Format,
1095     _In_opt_ _locale_t _Locale,
1096     ...);
1097 
1098   _Check_return_opt_
1099   _CRTIMP
1100   int
1101   __cdecl
1102   _snwscanf_l(
1103     _In_reads_(_MaxCount) _Pre_z_ const wchar_t *_Src,
1104     _In_ size_t _MaxCount,
1105     _In_z_ _Scanf_format_string_ const wchar_t *_Format,
1106     _In_opt_ _locale_t _Locale,
1107     ...);
1108 
1109   _Check_return_opt_
1110   _CRTIMP
1111   int
1112   __cdecl
1113   _wscanf_l(
1114     _In_z_ _Scanf_format_string_ const wchar_t *_Format,
1115     _In_opt_ _locale_t _Locale,
1116     ...);
1117 
1118   _Check_return_wat_
1119   _CRTIMP
1120   errno_t
1121   __cdecl
1122   _wfopen_s(
1123     _Outptr_result_maybenull_ FILE ** _File,
1124     _In_z_ const wchar_t *_Filename,
1125     _In_z_ const wchar_t *_Mode);
1126 
1127 #endif /* _WSTDIO_S_DEFINED */
1128 
1129 #endif /* _STDIO_S_DEFINED */
1130 
1131   _Check_return_opt_
1132   _CRTIMP
1133   size_t
1134   __cdecl
1135   _fread_nolock_s(
1136     _Out_writes_bytes_(_ElementSize * _Count) void *_DstBuf,
1137     _In_ size_t _DstSize,
1138     _In_ size_t _ElementSize,
1139     _In_ size_t _Count,
1140     _Inout_ FILE *_File);
1141 
1142 #ifdef __cplusplus
1143 }
1144 #endif
1145 
1146 #endif /* MINGW_HAS_SECURE_API */
1147 
1148 #endif /* _INC_STDIO_S */
1149