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 
7 #ifndef _INC_CONIO_S
8 #define _INC_CONIO_S
9 
10 #include <conio.h>
11 
12 #if defined(MINGW_HAS_SECURE_API)
13 
14 #if defined(__LIBMSVCRT__)
15 /* When building mingw-w64, this should be blank.  */
16 #define _SECIMP
17 #else
18 #ifndef _SECIMP
19 #define _SECIMP __declspec(dllimport)
20 #endif /* _SECIMP */
21 #endif /* defined(_CRTBLD) || defined(__LIBMSVCRT__) */
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
27   _SECIMP errno_t __cdecl _cgets_s (char *_Buffer,size_t _Size,size_t *_SizeRead);
28   __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1(errno_t, _cgets_s, char, _Buffer, size_t*, _SizeRead)
29 
30   _SECIMP int __cdecl _cprintf_s (const char *_Format,...);
31   _CRTIMP int __cdecl _cscanf_s(const char *_Format,...);
32   _CRTIMP int __cdecl _cscanf_s_l(const char *_Format,_locale_t _Locale,...);
33   _SECIMP int __cdecl _vcprintf_s (const char *_Format,va_list _ArgList);
34   _SECIMP int __cdecl _cprintf_s_l (const char *_Format,_locale_t _Locale,...);
35   _SECIMP int __cdecl _vcprintf_s_l (const char *_Format,_locale_t _Locale,va_list _ArgList);
36 
37 #ifndef _WCONIO_S_DEFINED
38 #define _WCONIO_S_DEFINED
39   _SECIMP errno_t __cdecl _cgetws_s (wchar_t *_Buffer,size_t _SizeInWords,size_t *_SizeRead);
40   __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1(errno_t, _cgetws_s, wchar_t, _Buffer, size_t*, _SizeRead)
41 
42   _SECIMP int __cdecl _cwprintf_s (const wchar_t *_Format,...);
43   _CRTIMP int __cdecl _cwscanf_s(const wchar_t *_Format,...);
44   _CRTIMP int __cdecl _cwscanf_s_l(const wchar_t *_Format,_locale_t _Locale,...);
45   _SECIMP int __cdecl _vcwprintf_s (const wchar_t *_Format,va_list _ArgList);
46   _SECIMP int __cdecl _cwprintf_s_l (const wchar_t *_Format,_locale_t _Locale,...);
47   _SECIMP int __cdecl _vcwprintf_s_l (const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
48 #endif
49 
50 #ifdef __cplusplus
51 }
52 #endif
53 
54 #endif
55 #endif
56