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.
11 #if defined(MINGW_HAS_SECURE_API)
17 #ifndef _WIO_S_DEFINED
18 #define _WIO_S_DEFINED
19 _CRTIMP errno_t __cdecl
_waccess_s(const wchar_t *_Filename
,int _AccessMode
);
20 _CRTIMP errno_t __cdecl
_wmktemp_s(wchar_t *_TemplateName
,size_t _SizeInWords
);
23 #ifndef _WCONIO_S_DEFINED
24 #define _WCONIO_S_DEFINED
25 _CRTIMP errno_t __cdecl
_cgetws_s(wchar_t *_Buffer
,size_t _SizeInWords
,size_t *_SizeRead
);
26 _CRTIMP
int __cdecl
_cwprintf_s(const wchar_t *_Format
,...);
27 _CRTIMP
int __cdecl
_cwscanf_s(const wchar_t *_Format
,...);
28 _CRTIMP
int __cdecl
_cwscanf_s_l(const wchar_t *_Format
,_locale_t _Locale
,...);
29 _CRTIMP
int __cdecl
_vcwprintf_s(const wchar_t *_Format
,va_list _ArgList
);
30 _CRTIMP
int __cdecl
_cwprintf_s_l(const wchar_t *_Format
,_locale_t _Locale
,...);
31 _CRTIMP
int __cdecl
_vcwprintf_s_l(const wchar_t *_Format
,_locale_t _Locale
,va_list _ArgList
);
34 #ifndef _WSTDIO_S_DEFINED
35 #define _WSTDIO_S_DEFINED
36 _CRTIMP
wchar_t *__cdecl
_getws_s(wchar_t *_Str
,size_t _SizeInWords
);
37 int __cdecl
fwprintf_s(FILE *_File
,const wchar_t *_Format
,...);
38 int __cdecl
wprintf_s(const wchar_t *_Format
,...);
39 int __cdecl
vfwprintf_s(FILE *_File
,const wchar_t *_Format
,va_list _ArgList
);
40 int __cdecl
vwprintf_s(const wchar_t *_Format
,va_list _ArgList
);
41 int __cdecl
swprintf_s(wchar_t *_Dst
,size_t _SizeInWords
,const wchar_t *_Format
,...);
42 int __cdecl
vswprintf_s(wchar_t *_Dst
,size_t _SizeInWords
,const wchar_t *_Format
,va_list _ArgList
);
43 _CRTIMP
int __cdecl
_snwprintf_s(wchar_t *_DstBuf
,size_t _DstSizeInWords
,size_t _MaxCount
,const wchar_t *_Format
,...);
44 _CRTIMP
int __cdecl
_vsnwprintf_s(wchar_t *_DstBuf
,size_t _DstSizeInWords
,size_t _MaxCount
,const wchar_t *_Format
,va_list _ArgList
);
45 _CRTIMP
int __cdecl
_wprintf_s_l(const wchar_t *_Format
,_locale_t _Locale
,...);
46 _CRTIMP
int __cdecl
_vwprintf_s_l(const wchar_t *_Format
,_locale_t _Locale
,va_list _ArgList
);
47 _CRTIMP
int __cdecl
_fwprintf_s_l(FILE *_File
,const wchar_t *_Format
,_locale_t _Locale
,...);
48 _CRTIMP
int __cdecl
_vfwprintf_s_l(FILE *_File
,const wchar_t *_Format
,_locale_t _Locale
,va_list _ArgList
);
49 _CRTIMP
int __cdecl
_swprintf_s_l(wchar_t *_DstBuf
,size_t _DstSize
,const wchar_t *_Format
,_locale_t _Locale
,...);
50 _CRTIMP
int __cdecl
_vswprintf_s_l(wchar_t *_DstBuf
,size_t _DstSize
,const wchar_t *_Format
,_locale_t _Locale
,va_list _ArgList
);
51 _CRTIMP
int __cdecl
_snwprintf_s_l(wchar_t *_DstBuf
,size_t _DstSize
,size_t _MaxCount
,const wchar_t *_Format
,_locale_t _Locale
,...);
52 _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
);
53 _CRTIMP
int __cdecl
_fwscanf_s_l(FILE *_File
,const wchar_t *_Format
,_locale_t _Locale
,...);
54 _CRTIMP
int __cdecl
_swscanf_s_l(const wchar_t *_Src
,const wchar_t *_Format
,_locale_t _Locale
,...);
55 _CRTIMP
int __cdecl
_snwscanf_s(const wchar_t *_Src
,size_t _MaxCount
,const wchar_t *_Format
,...);
56 _CRTIMP
int __cdecl
_snwscanf_s_l(const wchar_t *_Src
,size_t _MaxCount
,const wchar_t *_Format
,_locale_t _Locale
,...);
57 _CRTIMP
int __cdecl
_wscanf_s_l(const wchar_t *_Format
,_locale_t _Locale
,...);
58 _CRTIMP errno_t __cdecl
_wfopen_s(FILE **_File
,const wchar_t *_Filename
,const wchar_t *_Mode
);
59 _CRTIMP errno_t __cdecl
_wfreopen_s(FILE **_File
,const wchar_t *_Filename
,const wchar_t *_Mode
,FILE *_OldFile
);
60 _CRTIMP errno_t __cdecl
_wtmpnam_s(wchar_t *_DstBuf
,size_t _SizeInWords
);
63 #ifndef _WSTDLIB_S_DEFINED
64 #define _WSTDLIB_S_DEFINED
65 _CRTIMP errno_t __cdecl
_itow_s (int _Val
,wchar_t *_DstBuf
,size_t _SizeInWords
,int _Radix
);
66 _CRTIMP errno_t __cdecl
_ltow_s (long _Val
,wchar_t *_DstBuf
,size_t _SizeInWords
,int _Radix
);
67 _CRTIMP errno_t __cdecl
_ultow_s (unsigned long _Val
,wchar_t *_DstBuf
,size_t _SizeInWords
,int _Radix
);
68 _CRTIMP errno_t __cdecl
_wgetenv_s(size_t *_ReturnSize
,wchar_t *_DstBuf
,size_t _DstSizeInWords
,const wchar_t *_VarName
);
69 _CRTIMP errno_t __cdecl
_wdupenv_s(wchar_t **_Buffer
,size_t *_BufferSizeInWords
,const wchar_t *_VarName
);
70 #if _INTEGRAL_MAX_BITS >= 64
71 _CRTIMP errno_t __cdecl
_i64tow_s(__int64 _Val
,wchar_t *_DstBuf
,size_t _SizeInWords
,int _Radix
);
72 _CRTIMP errno_t __cdecl
_ui64tow_s(unsigned __int64 _Val
,wchar_t *_DstBuf
,size_t _SizeInWords
,int _Radix
);
77 #ifndef _WSTDLIBP_S_DEFINED
78 #define _WSTDLIBP_S_DEFINED
79 _CRTIMP errno_t __cdecl
_wmakepath_s(wchar_t *_PathResult
,size_t _SizeInWords
,const wchar_t *_Drive
,const wchar_t *_Dir
,const wchar_t *_Filename
,const wchar_t *_Ext
);
80 _CRTIMP errno_t __cdecl
_wputenv_s(const wchar_t *_Name
,const wchar_t *_Value
);
81 _CRTIMP errno_t __cdecl
_wsearchenv_s(const wchar_t *_Filename
,const wchar_t *_EnvVar
,wchar_t *_ResultPath
,size_t _SizeInWords
);
82 _CRTIMP errno_t __cdecl
_wsplitpath_s(const wchar_t *_FullPath
,wchar_t *_Drive
,size_t _DriveSizeInWords
,wchar_t *_Dir
,size_t _DirSizeInWords
,wchar_t *_Filename
,size_t _FilenameSizeInWords
,wchar_t *_Ext
,size_t _ExtSizeInWords
);
86 #ifndef _WSTRING_S_DEFINED
87 #define _WSTRING_S_DEFINED
88 _CRTIMP
wchar_t *__cdecl
wcstok_s(wchar_t *_Str
,const wchar_t *_Delim
,wchar_t **_Context
);
89 _CRTIMP errno_t __cdecl
_wcserror_s(wchar_t *_Buf
,size_t _SizeInWords
,int _ErrNum
);
90 _CRTIMP errno_t __cdecl
__wcserror_s(wchar_t *_Buffer
,size_t _SizeInWords
,const wchar_t *_ErrMsg
);
91 _CRTIMP errno_t __cdecl
_wcsnset_s(wchar_t *_Dst
,size_t _DstSizeInWords
,wchar_t _Val
,size_t _MaxCount
);
92 _CRTIMP errno_t __cdecl
_wcsset_s(wchar_t *_Str
,size_t _SizeInWords
,wchar_t _Val
);
93 _CRTIMP errno_t __cdecl
_wcslwr_s(wchar_t *_Str
,size_t _SizeInWords
);
94 _CRTIMP errno_t __cdecl
_wcslwr_s_l(wchar_t *_Str
,size_t _SizeInWords
,_locale_t _Locale
);
95 _CRTIMP errno_t __cdecl
_wcsupr_s(wchar_t *_Str
,size_t _Size
);
96 _CRTIMP errno_t __cdecl
_wcsupr_s_l(wchar_t *_Str
,size_t _Size
,_locale_t _Locale
);
99 #ifndef _WTIME_S_DEFINED
100 #define _WTIME_S_DEFINED
101 _CRTIMP errno_t __cdecl
_wasctime_s(wchar_t *_Buf
,size_t _SizeInWords
,const struct tm
*_Tm
);
102 _CRTIMP errno_t __cdecl
_wctime32_s(wchar_t *_Buf
,size_t _SizeInWords
,const __time32_t
*_Time
);
103 _CRTIMP errno_t __cdecl
_wstrdate_s(wchar_t *_Buf
,size_t _SizeInWords
);
104 _CRTIMP errno_t __cdecl
_wstrtime_s(wchar_t *_Buf
,size_t _SizeInWords
);
105 #if _INTEGRAL_MAX_BITS >= 64
106 _CRTIMP errno_t __cdecl
_wctime64_s(wchar_t *_Buf
,size_t _SizeInWords
,const __time64_t
*_Time
);
109 #if !defined (RC_INVOKED) && !defined (_INC_WTIME_S_INL)
110 #define _INC_WTIME_S_INL
111 #ifdef _USE_32BIT_TIME_T
112 __CRT_INLINE errno_t __cdecl
_wctime_s(wchar_t *_Buffer
,size_t _SizeInWords
,const time_t *_Time
) { return _wctime32_s(_Buffer
,_SizeInWords
,_Time
); }
114 __CRT_INLINE errno_t __cdecl
_wctime_s(wchar_t *_Buffer
,size_t _SizeInWords
,const time_t *_Time
) { return _wctime64_s(_Buffer
,_SizeInWords
,_Time
); }
119 _CRTIMP errno_t __cdecl
mbsrtowcs_s(size_t *_Retval
,wchar_t *_Dst
,size_t _SizeInWords
,const char **_PSrc
,size_t _N
,mbstate_t *_State
);
120 _CRTIMP errno_t __cdecl
wcrtomb_s(size_t *_Retval
,char *_Dst
,size_t _SizeInBytes
,wchar_t _Ch
,mbstate_t *_State
);
121 _CRTIMP errno_t __cdecl
wcsrtombs_s(size_t *_Retval
,char *_Dst
,size_t _SizeInBytes
,const wchar_t **_Src
,size_t _Size
,mbstate_t *_State
);