/** * This file has no copyright assigned and is placed in the Public Domain. * This file is part of the w64 mingw-runtime package. * No warranty is given; refer to the file DISCLAIMER within this package. */ #ifndef _INC_WCHAR_S #define _INC_WCHAR_S #include #if defined(MINGW_HAS_SECURE_API) #ifdef __cplusplus extern "C" { #endif #ifndef _WIO_S_DEFINED #define _WIO_S_DEFINED _Check_return_wat_ _CRTIMP errno_t __cdecl _waccess_s( _In_z_ const wchar_t *_Filename, _In_ int _AccessMode); _CRTIMP errno_t __cdecl _wmktemp_s( _Inout_updates_z_(_SizeInWords) wchar_t *_TemplateName, _In_ size_t _SizeInWords); #endif /* _WIO_S_DEFINED */ #ifndef _WCONIO_S_DEFINED #define _WCONIO_S_DEFINED _Check_return_wat_ _CRTIMP errno_t __cdecl _cgetws_s( _Out_writes_to_(_SizeInWords, *_SizeRead) wchar_t *_Buffer, _In_ size_t _SizeInWords, _Out_ size_t *_SizeRead); _Check_return_opt_ _CRTIMP int __cdecl _cwprintf_s( _In_z_ _Printf_format_string_ const wchar_t *_Format, ...); _Check_return_opt_ _CRTIMP int __cdecl _cwscanf_s( _In_z_ _Scanf_s_format_string_ const wchar_t *_Format, ...); _Check_return_opt_ _CRTIMP int __cdecl _cwscanf_s_l( _In_z_ _Scanf_s_format_string_ const wchar_t *_Format, _In_opt_ _locale_t _Locale, ...); _Check_return_opt_ _CRTIMP int __cdecl _vcwprintf_s( _In_z_ _Printf_format_string_ const wchar_t *_Format, va_list _ArgList); _CRTIMP int __cdecl _cwprintf_s_l( _In_z_ _Printf_format_string_ const wchar_t *_Format, _In_opt_ _locale_t _Locale, ...); _CRTIMP int __cdecl _vcwprintf_s_l( _In_z_ _Printf_format_string_ const wchar_t *_Format, _In_opt_ _locale_t _Locale, va_list _ArgList); #endif /* _WCONIO_S_DEFINED */ #ifndef _WSTDIO_S_DEFINED #define _WSTDIO_S_DEFINED _Check_return_opt_ _CRTIMP wchar_t * __cdecl _getws_s( _Out_writes_z_(_SizeInWords) wchar_t *_Str, _In_ size_t _SizeInWords); _Check_return_opt_ int __cdecl fwprintf_s( _Inout_ FILE *_File, _In_z_ _Printf_format_string_ const wchar_t *_Format, ...); _Check_return_opt_ int __cdecl wprintf_s( _In_z_ _Printf_format_string_ const wchar_t *_Format, ...); _Check_return_opt_ int __cdecl vfwprintf_s( _Inout_ FILE *_File, _In_z_ _Printf_format_string_ const wchar_t *_Format, va_list _ArgList); _Check_return_opt_ int __cdecl vwprintf_s( _In_z_ _Printf_format_string_ const wchar_t *_Format, va_list _ArgList); int __cdecl swprintf_s( _Out_writes_z_(_SizeInWords) wchar_t *_Dst, _In_ size_t _SizeInWords, _In_z_ _Printf_format_string_ const wchar_t *_Format, ...); int __cdecl vswprintf_s( _Out_writes_z_(_SizeInWords) wchar_t *_Dst, _In_ size_t _SizeInWords, _In_z_ _Printf_format_string_ const wchar_t *_Format, va_list _ArgList); _Check_return_opt_ _CRTIMP int __cdecl _snwprintf_s( _Out_writes_z_(_DstSizeInWords) wchar_t *_DstBuf, _In_ size_t _DstSizeInWords, _In_ size_t _MaxCount, _In_z_ _Printf_format_string_ const wchar_t *_Format, ...); _Check_return_opt_ _CRTIMP int __cdecl _vsnwprintf_s( _Out_writes_z_(_DstSizeInWords) wchar_t *_DstBuf, _In_ size_t _DstSizeInWords, _In_ size_t _MaxCount, _In_z_ _Printf_format_string_ const wchar_t *_Format, va_list _ArgList); _Check_return_opt_ _CRTIMP int __cdecl _wprintf_s_l( _In_z_ _Printf_format_string_ const wchar_t *_Format, _In_opt_ _locale_t _Locale, ...); _Check_return_opt_ _CRTIMP int __cdecl _vwprintf_s_l( _In_z_ _Printf_format_string_ const wchar_t *_Format, _In_opt_ _locale_t _Locale, va_list _ArgList); _Check_return_opt_ _CRTIMP int __cdecl _fwprintf_s_l( _Inout_ FILE *_File, _In_z_ _Printf_format_string_ const wchar_t *_Format, _In_opt_ _locale_t _Locale, ...); _Check_return_opt_ _CRTIMP int __cdecl _vfwprintf_s_l( _Inout_ FILE *_File, _In_z_ _Printf_format_string_ const wchar_t *_Format, _In_opt_ _locale_t _Locale, va_list _ArgList); _Check_return_opt_ _CRTIMP int __cdecl _swprintf_s_l( _Out_writes_z_(_DstSize) wchar_t *_DstBuf, _In_ size_t _DstSize, _In_z_ _Printf_format_string_ const wchar_t *_Format, _In_opt_ _locale_t _Locale, ...); _Check_return_opt_ _CRTIMP int __cdecl _vswprintf_s_l( _Out_writes_z_(_DstSize) wchar_t *_DstBuf, _In_ size_t _DstSize, _In_z_ _Printf_format_string_ const wchar_t *_Format, _In_opt_ _locale_t _Locale, va_list _ArgList); _Check_return_opt_ _CRTIMP int __cdecl _snwprintf_s_l( _Out_writes_z_(_DstSize) wchar_t *_DstBuf, _In_ size_t _DstSize, _In_ size_t _MaxCount, _In_z_ _Printf_format_string_ const wchar_t *_Format, _In_opt_ _locale_t _Locale, ...); _Check_return_opt_ _CRTIMP int __cdecl _vsnwprintf_s_l( _Out_writes_z_(_DstSize) wchar_t *_DstBuf, _In_ size_t _DstSize, _In_ size_t _MaxCount, _In_z_ _Printf_format_string_ const wchar_t *_Format, _In_opt_ _locale_t _Locale, va_list _ArgList); _Check_return_opt_ _CRTIMP int __cdecl _fwscanf_s_l( _Inout_ FILE *_File, _In_z_ _Scanf_s_format_string_ const wchar_t *_Format, _In_opt_ _locale_t _Locale, ...); _Check_return_opt_ _CRTIMP int __cdecl _swscanf_s_l( _In_z_ const wchar_t *_Src, _In_z_ _Scanf_s_format_string_ const wchar_t *_Format, _In_opt_ _locale_t _Locale, ...); _Check_return_opt_ _CRTIMP int __cdecl _snwscanf_s( _In_reads_(_MaxCount) _Pre_z_ const wchar_t *_Src, _In_ size_t _MaxCount, _In_z_ _Scanf_s_format_string_ const wchar_t *_Format, ...); _Check_return_opt_ _CRTIMP int __cdecl _snwscanf_s_l( _In_reads_(_MaxCount) _Pre_z_ const wchar_t *_Src, _In_ size_t _MaxCount, _In_z_ _Scanf_s_format_string_ const wchar_t *_Format, _In_opt_ _locale_t _Locale, ...); _Check_return_opt_ _CRTIMP int __cdecl _wscanf_s_l( _In_z_ _Scanf_s_format_string_ const wchar_t *_Format, _In_opt_ _locale_t _Locale, ...); _Check_return_wat_ _CRTIMP errno_t __cdecl _wfopen_s( _Outptr_result_maybenull_ FILE **_File, _In_z_ const wchar_t *_Filename, _In_z_ const wchar_t *_Mode); _Check_return_wat_ _CRTIMP errno_t __cdecl _wfreopen_s( _Outptr_result_maybenull_ FILE **_File, _In_z_ const wchar_t *_Filename, _In_z_ const wchar_t *_Mode, _Inout_ FILE *_OldFile); _Check_return_wat_ _CRTIMP errno_t __cdecl _wtmpnam_s( _Out_writes_z_(_SizeInWords) wchar_t *_DstBuf, _In_ size_t _SizeInWords); #endif /* _WSTDIO_S_DEFINED */ #ifndef _WSTDLIB_S_DEFINED #define _WSTDLIB_S_DEFINED _Check_return_wat_ _CRTIMP errno_t __cdecl _itow_s( _In_ int _Val, _Out_writes_z_(_SizeInWords) wchar_t *_DstBuf, _In_ size_t _SizeInWords, _In_ int _Radix); _Check_return_wat_ _CRTIMP errno_t __cdecl _ltow_s( _In_ long _Val, _Out_writes_z_(_SizeInWords) wchar_t *_DstBuf, _In_ size_t _SizeInWords, _In_ int _Radix); _Check_return_wat_ _CRTIMP errno_t __cdecl _ultow_s( _In_ unsigned long _Val, _Out_writes_z_(_SizeInWords) wchar_t *_DstBuf, _In_ size_t _SizeInWords, _In_ int _Radix); _Check_return_wat_ _CRTIMP errno_t __cdecl _wgetenv_s( _Out_ size_t *_ReturnSize, _Out_writes_z_(_DstSizeInWords) wchar_t *_DstBuf, _In_ size_t _DstSizeInWords, _In_z_ const wchar_t *_VarName); _Check_return_wat_ _CRTIMP errno_t __cdecl _wdupenv_s( _Outptr_result_buffer_maybenull_(*_BufferSizeInWords) _Deref_post_z_ wchar_t **_Buffer, _Out_opt_ size_t *_BufferSizeInWords, _In_z_ const wchar_t *_VarName); _Check_return_wat_ _CRTIMP errno_t __cdecl _i64tow_s( _In_ __int64 _Val, _Out_writes_z_(_SizeInWords) wchar_t *_DstBuf, _In_ size_t _SizeInWords, _In_ int _Radix); _Check_return_wat_ _CRTIMP errno_t __cdecl _ui64tow_s( _In_ unsigned __int64 _Val, _Out_writes_z_(_SizeInWords) wchar_t *_DstBuf, _In_ size_t _SizeInWords, _In_ int _Radix); #endif /* _WSTDLIB_S_DEFINED */ #ifndef _POSIX_ #ifndef _WSTDLIBP_S_DEFINED #define _WSTDLIBP_S_DEFINED _Check_return_wat_ _CRTIMP errno_t __cdecl _wmakepath_s( _Out_writes_z_(_SizeInBytes) wchar_t *_PathResult, _In_ size_t _SizeInWords, _In_opt_z_ const wchar_t *_Drive, _In_opt_z_ const wchar_t *_Dir, _In_opt_z_ const wchar_t *_Filename, _In_opt_z_ const wchar_t *_Ext); _Check_return_wat_ _CRTIMP errno_t __cdecl _wputenv_s( _In_z_ const wchar_t *_Name, _In_z_ const wchar_t *_Value); _CRTIMP errno_t __cdecl _wsearchenv_s( _In_z_ const wchar_t *_Filename, _In_z_ const wchar_t *_EnvVar, _Out_writes_z_(_SizeInWords) wchar_t *_ResultPath, _In_ size_t _SizeInWords); _CRTIMP errno_t __cdecl _wsplitpath_s( _In_z_ const wchar_t *_FullPath, _Out_writes_opt_z_(_DriveSizeInWords) wchar_t *_Drive, _In_ size_t _DriveSizeInWords, _Out_writes_opt_z_(_DirSizeInWords) wchar_t *_Dir, _In_ size_t _DirSizeInWords, _Out_writes_opt_z_(_FilenameSizeInWords) wchar_t *_Filename, _In_ size_t _FilenameSizeInWords, _Out_writes_opt_z_(_ExtSizeInWords) wchar_t *_Ext, _In_ size_t _ExtSizeInWords); #endif /* _WSTDLIBP_S_DEFINED */ #endif /* _POSIX_ */ #ifndef _WSTRING_S_DEFINED #define _WSTRING_S_DEFINED _Check_return_ _CRTIMP wchar_t * __cdecl wcstok_s( _Inout_opt_z_ wchar_t *_Str, _In_z_ const wchar_t *_Delim, _Inout_ _Deref_prepost_opt_z_ wchar_t **_Context); _Check_return_wat_ _CRTIMP errno_t __cdecl _wcserror_s( _Out_writes_opt_z_(_SizeInWords) wchar_t *_Buf, _In_ size_t _SizeInWords, _In_ int _ErrNum); _Check_return_wat_ _CRTIMP errno_t __cdecl __wcserror_s( _Out_writes_opt_z_(_SizeInWords) wchar_t *_Buffer, _In_ size_t _SizeInWords, _In_z_ const wchar_t *_ErrMsg); _Check_return_wat_ _CRTIMP errno_t __cdecl _wcsnset_s( _Inout_updates_z_(_DstSizeInWords) wchar_t *_Dst, _In_ size_t _DstSizeInWords, wchar_t _Val, _In_ size_t _MaxCount); _Check_return_wat_ _CRTIMP errno_t __cdecl _wcsset_s( _Inout_updates_z_(_SizeInWords) wchar_t *_Str, _In_ size_t _SizeInWords, wchar_t _Val); _Check_return_wat_ _CRTIMP errno_t __cdecl _wcslwr_s( _Inout_updates_z_(_SizeInWords) wchar_t *_Str, _In_ size_t _SizeInWords); _Check_return_wat_ _CRTIMP errno_t __cdecl _wcslwr_s_l( _Inout_updates_z_(_SizeInWords) wchar_t *_Str, _In_ size_t _SizeInWords, _In_opt_ _locale_t _Locale); _Check_return_wat_ _CRTIMP errno_t __cdecl _wcsupr_s( _Inout_updates_z_(_Size) wchar_t *_Str, _In_ size_t _Size); _Check_return_wat_ _CRTIMP errno_t __cdecl _wcsupr_s_l( _Inout_updates_z_(_Size) wchar_t *_Str, _In_ size_t _Size, _In_opt_ _locale_t _Locale); _Check_return_wat_ _CRTIMP errno_t __cdecl wcsncat_s( _Inout_updates_z_(_DstSizeInChars) wchar_t *_Dst, _In_ size_t _DstSizeInChars, _In_z_ const wchar_t *_Src, _In_ size_t _MaxCount); _Check_return_wat_ _CRTIMP errno_t __cdecl _wcsncat_s_l( _Inout_updates_z_(_DstSizeInChars) wchar_t *_Dst, _In_ size_t _DstSizeInChars, _In_z_ const wchar_t *_Src, _In_ size_t _MaxCount, _In_opt_ _locale_t _Locale); _Check_return_wat_ _CRTIMP errno_t __cdecl wcsncpy_s( _Out_writes_z_(_DstSizeInChars) wchar_t *_Dst, _In_ size_t _DstSizeInChars, _In_z_ const wchar_t *_Src, _In_ size_t _MaxCount); _Check_return_wat_ _CRTIMP errno_t __cdecl _wcsncpy_s_l( _Out_writes_z_(_DstSizeInChars) wchar_t *_Dst, _In_ size_t _DstSizeInChars, _In_z_ const wchar_t *_Src, _In_ size_t _MaxCount, _In_opt_ _locale_t _Locale); _CRTIMP wchar_t * __cdecl _wcstok_s_l( wchar_t *_Str, const wchar_t *_Delim, wchar_t **_Context, _locale_t _Locale); _CRTIMP errno_t __cdecl _wcsset_s_l( wchar_t *_Str, size_t _SizeInChars, unsigned int _Val, _locale_t _Locale); _CRTIMP errno_t __cdecl _wcsnset_s_l( wchar_t *_Str, size_t _SizeInChars, unsigned int _Val, size_t _Count, _locale_t _Locale); #endif /* _WSTRING_S_DEFINED */ #ifndef _WTIME_S_DEFINED #define _WTIME_S_DEFINED _CRTIMP errno_t __cdecl _wasctime_s( _Out_writes_(_SizeInWords) _Post_readable_size_(26) wchar_t *_Buf, _In_ size_t _SizeInWords, _In_ const struct tm *_Tm); _CRTIMP errno_t __cdecl _wctime32_s( _Out_writes_(_SizeInWords) _Post_readable_size_(26) wchar_t *_Buf, _In_ size_t _SizeInWords, _In_ const __time32_t *_Time); _CRTIMP errno_t __cdecl _wstrdate_s( _Out_writes_(_SizeInWords) _Post_readable_size_(9) wchar_t *_Buf, _In_range_(>= , 9) size_t _SizeInWords); _CRTIMP errno_t __cdecl _wstrtime_s( _Out_writes_(_SizeInWords) _Post_readable_size_(9) wchar_t *_Buf, _In_ size_t _SizeInWords); _CRTIMP errno_t __cdecl _wctime64_s( _Out_writes_(_SizeInWords) _Post_readable_size_(26) wchar_t *_Buf, _In_ size_t _SizeInWords, _In_ const __time64_t *_Time); #if !defined (RC_INVOKED) && !defined (_INC_WTIME_S_INL) #define _INC_WTIME_S_INL errno_t __cdecl _wctime_s(wchar_t *, size_t, const time_t *); #ifndef _USE_32BIT_TIME_T __CRT_INLINE errno_t __cdecl _wctime_s(wchar_t *_Buffer,size_t _SizeInWords,const time_t *_Time) { return _wctime64_s(_Buffer,_SizeInWords,_Time); } #endif #endif #endif /* _WTIME_S_DEFINED */ _CRTIMP errno_t __cdecl mbsrtowcs_s( _Out_opt_ size_t *_Retval, _Out_writes_opt_z_(_SizeInWords) wchar_t *_Dst, _In_ size_t _SizeInWords, _Inout_ _Deref_prepost_opt_valid_ const char **_PSrc, _In_ size_t _N, _Out_opt_ mbstate_t *_State); _CRTIMP errno_t __cdecl wcrtomb_s( _Out_opt_ size_t *_Retval, _Out_writes_opt_z_(_SizeInBytes) char *_Dst, _In_ size_t _SizeInBytes, _In_ wchar_t _Ch, _Out_opt_ mbstate_t *_State); _CRTIMP errno_t __cdecl wcsrtombs_s( _Out_opt_ size_t *_Retval, _Out_writes_bytes_to_opt_(_SizeInBytes, *_Retval) char *_Dst, _In_ size_t _SizeInBytes, _Inout_ _Deref_prepost_z_ const wchar_t **_Src, _In_ size_t _Size, _Out_opt_ mbstate_t *_State); #ifdef __cplusplus } #endif #endif /* MINGW_HAS_SECURE_API */ #endif /* _INC_WCHAR_S */