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 #define __need___va_list
14 #pragma pack(push,_CRT_PACKING)
22 #pragma warning(disable:4820)
29 #define WCHAR_MAX ((wchar_t)-1) /* UINT16_MAX */
33 #define WEOF (wint_t)(0xFFFF)
47 typedef struct _iobuf
FILE;
51 #ifndef _STDIO_DEFINED
52 _CRTIMP
FILE *__cdecl
__iob_func(void);
53 _CRTDATA(extern FILE _iob
[];)
55 #define _iob __iob_func()
59 #ifndef _STDSTREAM_DEFINED
60 #define _STDSTREAM_DEFINED
61 #define stdin (&_iob[0])
62 #define stdout (&_iob[1])
63 #define stderr (&_iob[1])
64 #endif /* !_STDSTREAM_DEFINED */
66 #ifndef _FSIZE_T_DEFINED
67 typedef unsigned long _fsize_t
;
68 #define _FSIZE_T_DEFINED
71 #ifndef _WFINDDATA_T_DEFINED
81 struct _wfinddata32_t
{
83 __time32_t time_create
;
84 __time32_t time_access
;
85 __time32_t time_write
;
90 #if _INTEGRAL_MAX_BITS >= 64
91 struct _wfinddatai64_t
{
96 __MINGW_EXTENSION __int64 size
;
100 struct _wfinddata32i64_t
{
102 __time32_t time_create
;
103 __time32_t time_access
;
104 __time32_t time_write
;
105 __MINGW_EXTENSION __int64 size
;
109 struct _wfinddata64i32_t
{
111 __time64_t time_create
;
112 __time64_t time_access
;
113 __time64_t time_write
;
118 struct _wfinddata64_t
{
120 __time64_t time_create
;
121 __time64_t time_access
;
122 __time64_t time_write
;
123 __MINGW_EXTENSION __int64 size
;
128 #define _WFINDDATA_T_DEFINED
129 #endif /* !_WFINDDATA_T_DEFINED */
135 #define NULL ((void *)0)
139 #ifndef _CRT_CTYPEDATA_DEFINED
140 # define _CRT_CTYPEDATA_DEFINED
141 # ifndef _CTYPE_DISABLE_MACROS
142 # ifndef __PCTYPE_FUNC
144 # define __PCTYPE_FUNC __pctype_func()
146 # define __PCTYPE_FUNC _pctype
148 # endif /* !__PCTYPE_FUNC */
149 _CRTIMP
const unsigned short * __cdecl
__pctype_func(void);
151 _CRTDATA(extern unsigned short *_pctype
);
153 # define _pctype (__pctype_func())
154 # endif /* !_M_CEE_PURE */
155 # endif /* !_CTYPE_DISABLE_MACROS */
156 #endif /* !_CRT_CTYPEDATA_DEFINED */
158 #ifndef _CRT_WCTYPEDATA_DEFINED
159 #define _CRT_WCTYPEDATA_DEFINED
160 # ifndef _CTYPE_DISABLE_MACROS
161 _CRTDATA(extern unsigned short *_wctype
);
162 _CRTIMP
const wctype_t * __cdecl
__pwctype_func(void);
164 _CRTDATA(extern const wctype_t *_pwctype
);
166 # define _pwctype (__pwctype_func())
167 # endif /* !_M_CEE_PURE */
168 # endif /* !_CTYPE_DISABLE_MACROS */
169 #endif /* !_CRT_WCTYPEDATA_DEFINED */
177 #define _CONTROL 0x20
181 #define _LEADBYTE 0x8000
182 #define _ALPHA (0x0100|_UPPER|_LOWER)
184 #ifndef _WCTYPE_DEFINED
185 #define _WCTYPE_DEFINED
186 _Check_return_ _CRTIMP
int __cdecl
iswalpha(_In_
wint_t _C
);
187 _Check_return_ _CRTIMP
int __cdecl
_iswalpha_l(_In_
wint_t _C
, _In_opt_ _locale_t _Locale
);
188 _Check_return_ _CRTIMP
int __cdecl
iswupper(_In_
wint_t _C
);
189 _Check_return_ _CRTIMP
int __cdecl
_iswupper_l(_In_
wint_t _C
, _In_opt_ _locale_t _Locale
);
190 _Check_return_ _CRTIMP
int __cdecl
iswlower(_In_
wint_t _C
);
191 _Check_return_ _CRTIMP
int __cdecl
_iswlower_l(_In_
wint_t _C
, _In_opt_ _locale_t _Locale
);
192 _Check_return_ _CRTIMP
int __cdecl
iswdigit(_In_
wint_t _C
);
193 _Check_return_ _CRTIMP
int __cdecl
_iswdigit_l(_In_
wint_t _C
, _In_opt_ _locale_t _Locale
);
194 _Check_return_ _CRTIMP
int __cdecl
iswxdigit(_In_
wint_t _C
);
195 _Check_return_ _CRTIMP
int __cdecl
_iswxdigit_l(_In_
wint_t _C
, _In_opt_ _locale_t _Locale
);
196 _Check_return_ _CRTIMP
int __cdecl
iswspace(_In_
wint_t _C
);
197 _Check_return_ _CRTIMP
int __cdecl
_iswspace_l(_In_
wint_t _C
, _In_opt_ _locale_t _Locale
);
198 _Check_return_ _CRTIMP
int __cdecl
iswpunct(_In_
wint_t _C
);
199 _Check_return_ _CRTIMP
int __cdecl
_iswpunct_l(_In_
wint_t _C
, _In_opt_ _locale_t _Locale
);
200 _Check_return_ _CRTIMP
int __cdecl
iswalnum(_In_
wint_t _C
);
201 _Check_return_ _CRTIMP
int __cdecl
_iswalnum_l(_In_
wint_t _C
, _In_opt_ _locale_t _Locale
);
202 _Check_return_ _CRTIMP
int __cdecl
iswprint(_In_
wint_t _C
);
203 _Check_return_ _CRTIMP
int __cdecl
_iswprint_l(_In_
wint_t _C
, _In_opt_ _locale_t _Locale
);
204 _Check_return_ _CRTIMP
int __cdecl
iswgraph(_In_
wint_t _C
);
205 _Check_return_ _CRTIMP
int __cdecl
_iswgraph_l(_In_
wint_t _C
, _In_opt_ _locale_t _Locale
);
206 _Check_return_ _CRTIMP
int __cdecl
iswcntrl(_In_
wint_t _C
);
207 _Check_return_ _CRTIMP
int __cdecl
_iswcntrl_l(_In_
wint_t _C
, _In_opt_ _locale_t _Locale
);
208 _Check_return_ _CRTIMP
int __cdecl
iswascii(_In_
wint_t _C
);
209 _Check_return_ _CRTIMP
int __cdecl
isleadbyte(_In_
int _C
);
210 _Check_return_ _CRTIMP
int __cdecl
_isleadbyte_l(_In_
int _C
, _In_opt_ _locale_t _Locale
);
211 _Check_return_ _CRTIMP
wint_t __cdecl
towupper(_In_
wint_t _C
);
212 _Check_return_ _CRTIMP
wint_t __cdecl
_towupper_l(_In_
wint_t _C
, _In_opt_ _locale_t _Locale
);
213 _Check_return_ _CRTIMP
wint_t __cdecl
towlower(_In_
wint_t _C
);
214 _Check_return_ _CRTIMP
wint_t __cdecl
_towlower_l(_In_
wint_t _C
, _In_opt_ _locale_t _Locale
);
215 _Check_return_ _CRTIMP
int __cdecl
iswctype(_In_
wint_t _C
, _In_
wctype_t _Type
);
216 _Check_return_ _CRTIMP
int __cdecl
_iswctype_l(_In_
wint_t _C
, _In_
wctype_t _Type
, _In_opt_ _locale_t _Locale
);
217 _Check_return_ _CRTIMP
int __cdecl
__iswcsymf(_In_
wint_t _C
);
218 _Check_return_ _CRTIMP
int __cdecl
_iswcsymf_l(_In_
wint_t _C
, _In_opt_ _locale_t _Locale
);
219 _Check_return_ _CRTIMP
int __cdecl
__iswcsym(_In_
wint_t _C
);
220 _Check_return_ _CRTIMP
int __cdecl
_iswcsym_l(_In_
wint_t _C
, _In_opt_ _locale_t _Locale
);
221 _CRTIMP
int __cdecl
is_wctype(_In_
wint_t _C
, _In_
wctype_t _Type
);
223 #if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || !defined (NO_OLDNAMES)
224 _CRTIMP
int __cdecl
iswblank(wint_t _C
);
228 #ifndef _WDIRECT_DEFINED
229 #define _WDIRECT_DEFINED
237 _Out_writes_opt_(_SizeInWords
) wchar_t *_DstBuf
,
238 _In_
int _SizeInWords
);
247 _Out_writes_opt_(_SizeInWords
) wchar_t *_DstBuf
,
248 _In_
int _SizeInWords
);
256 _Out_writes_opt_(_SizeInWords
) wchar_t *_DstBuf
,
257 _In_
int _SizeInWords
);
264 _In_z_
const wchar_t *_Path
);
271 _In_z_
const wchar_t *_Path
);
278 _In_z_
const wchar_t *_Path
);
280 #endif /* _WDIRECT_DEFINED */
290 _In_z_
const wchar_t *_Filename
,
291 _In_
int _AccessMode
);
298 _In_z_
const wchar_t *_Filename
,
306 _In_z_
const wchar_t *_Filename
,
307 _In_
int _PermissionMode
);
314 _In_z_
const wchar_t *_Filename
,
315 _Out_
struct _wfinddata32_t
*_FindData
);
322 _In_
intptr_t _FindHandle
,
323 _Out_
struct _wfinddata32_t
*_FindData
);
330 _In_z_
const wchar_t *_Filename
);
337 _In_z_
const wchar_t *_OldFilename
,
338 _In_z_
const wchar_t *_NewFilename
);
344 _Inout_z_
wchar_t *_TemplateName
);
346 #if _INTEGRAL_MAX_BITS >= 64
353 _In_z_
const wchar_t *_Filename
,
354 _Out_
struct _wfinddata32i64_t
*_FindData
);
361 _In_z_
const wchar_t *_Filename
,
362 _Out_
struct _wfinddata64i32_t
*_FindData
);
369 _In_z_
const wchar_t *_Filename
,
370 _Out_
struct _wfinddata64_t
*_FindData
);
377 _In_
intptr_t _FindHandle
,
378 _Out_
struct _wfinddata32i64_t
*_FindData
);
385 _In_
intptr_t _FindHandle
,
386 _Out_
struct _wfinddata64i32_t
*_FindData
);
393 _In_
intptr_t _FindHandle
,
394 _Out_
struct _wfinddata64_t
*_FindData
);
396 #endif /* _INTEGRAL_MAX_BITS >= 64 */
403 _Out_
int *_FileHandle
,
404 _In_z_
const wchar_t *_Filename
,
407 _In_
int _PermissionFlag
);
409 #if !defined(__cplusplus) || !(defined(_X86_) && !defined(__x86_64))
410 _CRTIMP
int __cdecl
_wopen(const wchar_t *_Filename
,int _OpenFlag
,...);
411 _CRTIMP
int __cdecl
_wsopen(const wchar_t *_Filename
,int _OpenFlag
,int _ShareFlag
,...);
413 extern "C++" _CRTIMP
int __cdecl
_wopen(const wchar_t *_Filename
,int _OpenFlag
,int _PermissionMode
= 0);
414 extern "C++" _CRTIMP
int __cdecl
_wsopen(const wchar_t *_Filename
,int _OpenFlag
,int _ShareFlag
,int _PermissionMode
= 0);
417 #endif /* !_WIO_DEFINED */
419 #ifndef _WLOCALE_DEFINED
420 #define _WLOCALE_DEFINED
427 _In_opt_z_
const wchar_t *_Locale
);
430 #ifndef _WPROCESS_DEFINED
431 #define _WPROCESS_DEFINED
437 _In_z_
const wchar_t *_Filename
,
438 _In_z_
const wchar_t *_ArgList
,
445 _In_z_
const wchar_t *_Filename
,
446 _In_z_
const wchar_t *_ArgList
,
453 _In_z_
const wchar_t *_Filename
,
454 _In_z_
const wchar_t *_ArgList
,
461 _In_z_
const wchar_t *_Filename
,
462 _In_z_
const wchar_t *_ArgList
,
469 _In_z_
const wchar_t *_Filename
,
470 _In_z_
const wchar_t *const *_ArgList
);
476 _In_z_
const wchar_t *_Filename
,
477 _In_z_
const wchar_t *const *_ArgList
,
478 _In_opt_z_
const wchar_t *const *_Env
);
484 _In_z_
const wchar_t *_Filename
,
485 _In_z_
const wchar_t *const *_ArgList
);
491 _In_z_
const wchar_t *_Filename
,
492 _In_z_
const wchar_t *const *_ArgList
,
493 _In_opt_z_
const wchar_t *const *_Env
);
500 _In_z_
const wchar_t *_Filename
,
501 _In_z_
const wchar_t *_ArgList
,
509 _In_z_
const wchar_t *_Filename
,
510 _In_z_
const wchar_t *_ArgList
,
518 _In_z_
const wchar_t *_Filename
,
519 _In_z_
const wchar_t *_ArgList
,
527 _In_z_
const wchar_t *_Filename
,
528 _In_z_
const wchar_t *_ArgList
,
536 _In_z_
const wchar_t *_Filename
,
537 _In_z_
const wchar_t *const *_ArgList
);
544 _In_z_
const wchar_t *_Filename
,
545 _In_z_
const wchar_t *const *_ArgList
,
546 _In_opt_z_
const wchar_t *const *_Env
);
553 _In_z_
const wchar_t *_Filename
,
554 _In_z_
const wchar_t *const *_ArgList
);
561 _In_z_
const wchar_t *_Filename
,
562 _In_z_
const wchar_t *const *_ArgList
,
563 _In_opt_z_
const wchar_t *const *_Env
);
565 #ifndef _CRT_WSYSTEM_DEFINED
566 #define _CRT_WSYSTEM_DEFINED
571 _In_opt_z_
const wchar_t *_Command
);
572 #endif /* !_CRT_WSYSTEM_DEFINED */
574 #endif /* !_WPROCESS_DEFINED */
576 #ifndef _WCTYPE_INLINE_DEFINED
577 #undef _CRT_WCTYPE_NOINLINE
578 #if !defined(__cplusplus) || defined(_CRT_WCTYPE_NOINLINE)
579 #define iswalpha(_c) (iswctype(_c,_ALPHA))
580 #define iswupper(_c) (iswctype(_c,_UPPER))
581 #define iswlower(_c) (iswctype(_c,_LOWER))
582 #define iswdigit(_c) (iswctype(_c,_DIGIT))
583 #define iswxdigit(_c) (iswctype(_c,_HEX))
584 #define iswspace(_c) (iswctype(_c,_SPACE))
585 #define iswpunct(_c) (iswctype(_c,_PUNCT))
586 #define iswalnum(_c) (iswctype(_c,_ALPHA|_DIGIT))
587 #define iswprint(_c) (iswctype(_c,_BLANK|_PUNCT|_ALPHA|_DIGIT))
588 #define iswgraph(_c) (iswctype(_c,_PUNCT|_ALPHA|_DIGIT))
589 #define iswcntrl(_c) (iswctype(_c,_CONTROL))
590 #define iswascii(_c) ((unsigned)(_c) < 0x80)
592 #define _iswalpha_l(_c,_p) (_iswctype_l(_c,_ALPHA,_p))
593 #define _iswupper_l(_c,_p) (_iswctype_l(_c,_UPPER,_p))
594 #define _iswlower_l(_c,_p) (_iswctype_l(_c,_LOWER,_p))
595 #define _iswdigit_l(_c,_p) (_iswctype_l(_c,_DIGIT,_p))
596 #define _iswxdigit_l(_c,_p) (_iswctype_l(_c,_HEX,_p))
597 #define _iswspace_l(_c,_p) (_iswctype_l(_c,_SPACE,_p))
598 #define _iswpunct_l(_c,_p) (_iswctype_l(_c,_PUNCT,_p))
599 #define _iswalnum_l(_c,_p) (_iswctype_l(_c,_ALPHA|_DIGIT,_p))
600 #define _iswprint_l(_c,_p) (_iswctype_l(_c,_BLANK|_PUNCT|_ALPHA|_DIGIT,_p))
601 #define _iswgraph_l(_c,_p) (_iswctype_l(_c,_PUNCT|_ALPHA|_DIGIT,_p))
602 #define _iswcntrl_l(_c,_p) (_iswctype_l(_c,_CONTROL,_p))
603 #ifndef _CTYPE_DISABLE_MACROS
604 #define isleadbyte(_c) (__PCTYPE_FUNC[(unsigned char)(_c)] & _LEADBYTE)
607 #define _WCTYPE_INLINE_DEFINED
610 #if !defined(_POSIX_) || defined(__GNUC__)
611 #ifndef _INO_T_DEFINED
612 #define _INO_T_DEFINED
613 typedef unsigned short _ino_t
;
615 typedef unsigned short ino_t
;
619 #ifndef _DEV_T_DEFINED
620 #define _DEV_T_DEFINED
621 typedef unsigned int _dev_t
;
623 typedef unsigned int dev_t
;
627 #ifndef _OFF_T_DEFINED
628 #define _OFF_T_DEFINED
635 #ifndef _OFF64_T_DEFINED
636 #define _OFF64_T_DEFINED
637 __MINGW_EXTENSION
typedef long long _off64_t
;
639 __MINGW_EXTENSION
typedef long long off64_t
;
643 #ifndef _STAT_DEFINED
644 #define _STAT_DEFINED
649 unsigned short st_mode
;
663 unsigned short st_mode
;
678 unsigned short st_mode
;
690 #if _INTEGRAL_MAX_BITS >= 64
695 unsigned short st_mode
;
700 __MINGW_EXTENSION __int64 st_size
;
709 unsigned short st_mode
;
723 unsigned short st_mode
;
728 __MINGW_EXTENSION __int64 st_size
;
735 #define __stat64 _stat64
739 #ifndef _WSTAT_DEFINED
740 #define _WSTAT_DEFINED
746 _In_z_
const wchar_t *_Name
,
747 _Out_
struct _stat
*_Stat
);
753 _In_z_
const wchar_t *_Name
,
754 _Out_
struct _stat32
*_Stat
);
756 #if _INTEGRAL_MAX_BITS >= 64
762 _In_z_
const wchar_t *_Name
,
763 _Out_
struct _stat32i64
*_Stat
);
769 _In_z_
const wchar_t *_Name
,
770 _Out_
struct _stat64i32
*_Stat
);
776 _In_z_
const wchar_t *_Name
,
777 _Out_
struct _stat64
*_Stat
);
779 #endif /* _INTEGRAL_MAX_BITS >= 64 */
781 #endif /* _WSTAT_DEFINED */
783 #endif /* !defined(_POSIX_) || defined(__GNUC__) */
785 #ifndef _WCONIO_DEFINED
786 #define _WCONIO_DEFINED
791 _Inout_z_
wchar_t *_Buffer
);
824 _In_z_
const wchar_t *_String
);
831 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
839 _In_z_ _Scanf_format_string_
const wchar_t *_Format
,
847 _In_z_ _Scanf_format_string_
const wchar_t *_Format
,
848 _In_opt_ _locale_t _Locale
,
856 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
864 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
872 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
879 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
880 _In_opt_ _locale_t _Locale
,
887 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
888 _In_opt_ _locale_t _Locale
,
895 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
896 _In_opt_ _locale_t _Locale
,
903 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
904 _In_opt_ _locale_t _Locale
,
916 _getwch_nolock(void);
921 _getwche_nolock(void);
929 #endif /* _WCONIO_DEFINED */
931 #ifndef _WSTDIO_DEFINED
932 #define _WSTDIO_DEFINED
935 _CRTIMP
FILE *__cdecl
_wfsopen(const wchar_t *_Filename
,const wchar_t *_Mode
);
942 _In_z_
const wchar_t *_Filename
,
943 _In_z_
const wchar_t *_Mode
,
952 _Inout_
FILE *_File
);
966 _Inout_
FILE *_File
);
980 _Inout_
FILE *_File
);
994 _Inout_
FILE *_File
);
1009 _Inout_
FILE *_File
);
1016 _Out_writes_z_(_SizeInWords
) wchar_t *_Dst
,
1017 _In_
int _SizeInWords
,
1018 _Inout_
FILE *_File
);
1025 _In_z_
const wchar_t *_Str
,
1026 _Inout_
FILE *_File
);
1032 _Pre_notnull_ _Post_z_
wchar_t *_String
);
1039 _In_z_
const wchar_t *_Str
);
1046 _Inout_
FILE *_File
,
1047 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
1055 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
1063 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
1071 _Inout_
FILE *_File
,
1072 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
1080 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
1104 _Out_writes_z_(_SizeInWords
) wchar_t *_DstBuf
,
1105 _In_
size_t _SizeInWords
,
1106 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
1114 _Out_writes_z_(_SizeInWords
) wchar_t *_DstBuf
,
1115 _In_
size_t _SizeInWords
,
1116 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
1119 _CRTIMP
int __cdecl
_snwprintf(wchar_t *_Dest
,size_t _Count
,const wchar_t *_Format
,...);
1120 _CRTIMP
int __cdecl
_vsnwprintf(wchar_t *_Dest
,size_t _Count
,const wchar_t *_Format
,va_list _Args
);
1122 #ifndef __NO_ISOCEXT /* externs in libmingwex.a */
1123 _CRTIMP
int __cdecl
snwprintf (wchar_t *s
, size_t n
, const wchar_t * format
, ...);
1124 __CRT_INLINE
int __cdecl
vsnwprintf (wchar_t *s
, size_t n
, const wchar_t *format
, va_list arg
) { return _vsnwprintf(s
,n
,format
,arg
); }
1125 _CRTIMP
int __cdecl
vwscanf (const wchar_t *, va_list);
1126 _CRTIMP
int __cdecl
vfwscanf (FILE *,const wchar_t *,va_list);
1127 _CRTIMP
int __cdecl
vswscanf (const wchar_t *,const wchar_t *,va_list);
1135 _Inout_
FILE *_File
,
1136 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
1144 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
1152 _Inout_
FILE *_File
,
1153 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
1161 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
1169 _Out_writes_z_(_MaxCount
) wchar_t *_DstBuf
,
1170 _In_
size_t _MaxCount
,
1171 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
1179 _Out_writes_z_(_MaxCount
) wchar_t *_DstBuf
,
1180 _In_
size_t _MaxCount
,
1181 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
1189 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
1197 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
1205 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
1206 _In_opt_ _locale_t _Locale
,
1214 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
1215 _In_opt_ _locale_t _Locale
,
1223 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
1224 _In_opt_ _locale_t _Locale
,
1232 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
1233 _In_opt_ _locale_t _Locale
,
1241 _Inout_
FILE *_File
,
1242 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
1243 _In_opt_ _locale_t _Locale
,
1251 _Inout_
FILE *_File
,
1252 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
1253 _In_opt_ _locale_t _Locale
,
1261 _Inout_
FILE *_File
,
1262 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
1263 _In_opt_ _locale_t _Locale
,
1271 _Inout_
FILE *_File
,
1272 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
1273 _In_opt_ _locale_t _Locale
,
1281 _Out_writes_z_(_MaxCount
) wchar_t *_DstBuf
,
1282 _In_
size_t _MaxCount
,
1283 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
1284 _In_opt_ _locale_t _Locale
,
1292 _Out_writes_z_(_MaxCount
) wchar_t *_DstBuf
,
1293 _In_
size_t _MaxCount
,
1294 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
1295 _In_opt_ _locale_t _Locale
,
1303 _Out_writes_z_(_MaxCount
) wchar_t *_DstBuf
,
1304 _In_
size_t _MaxCount
,
1305 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
1306 _In_opt_ _locale_t _Locale
,
1314 _Out_writes_z_(_MaxCount
) wchar_t *_DstBuf
,
1315 _In_
size_t _MaxCount
,
1316 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
1317 _In_opt_ _locale_t _Locale
,
1325 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
1326 _In_opt_ _locale_t _Locale
,
1334 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
1335 _In_opt_ _locale_t _Locale
,
1343 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
1344 _In_opt_ _locale_t _Locale
,
1352 _Out_writes_(_MaxCount
) wchar_t *_DstBuf
,
1353 _In_
size_t _MaxCount
,
1354 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
1355 _In_opt_ _locale_t _Locale
,
1363 _Out_writes_(_MaxCount
) wchar_t *_DstBuf
,
1364 _In_
size_t _MaxCount
,
1365 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
1366 _In_opt_ _locale_t _Locale
,
1373 _Pre_notnull_ _Post_z_
wchar_t *_Dest
,
1374 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
1381 _Pre_notnull_ _Post_z_
wchar_t *_Dest
,
1382 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
1386 _CRTIMP
int __cdecl
__swprintf_l(wchar_t *_Dest
,const wchar_t *_Format
,_locale_t _Plocinfo
,...);
1387 _CRTIMP
int __cdecl
__vswprintf_l(wchar_t *_Dest
,const wchar_t *_Format
,_locale_t _Plocinfo
,va_list _Args
);
1389 #if 0 //this is for MSVCRT80 and higher, which we don't use nor implement
1390 #ifdef _CRT_NON_CONFORMING_SWPRINTFS
1392 #define swprintf _swprintf
1393 #define vswprintf _vswprintf
1394 #define _swprintf_l __swprintf_l
1395 #define _vswprintf_l __vswprintf_l
1405 _In_opt_z_
const wchar_t *_Directory
,
1406 _In_opt_z_
const wchar_t *_FilePrefix
);
1413 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
1421 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
1422 _In_opt_ _locale_t _Locale
,
1429 _Inout_
FILE *_File
,
1430 _In_z_ _Scanf_format_string_
const wchar_t *_Format
,
1438 _Inout_
FILE *_File
,
1439 _In_z_ _Scanf_format_string_
const wchar_t *_Format
,
1440 _In_opt_ _locale_t _Locale
,
1447 _In_z_
const wchar_t *_Src
,
1448 _In_z_ _Scanf_format_string_
const wchar_t *_Format
,
1456 _In_z_
const wchar_t *_Src
,
1457 _In_z_ _Scanf_format_string_
const wchar_t *_Format
,
1458 _In_opt_ _locale_t _Locale
,
1466 _In_reads_(_MaxCount
) _Pre_z_
const wchar_t *_Src
,
1467 _In_
size_t _MaxCount
,
1468 _In_z_ _Scanf_format_string_
const wchar_t *_Format
,
1476 _In_reads_(_MaxCount
) _Pre_z_
const wchar_t *_Src
,
1477 _In_
size_t _MaxCount
,
1478 _In_z_ _Scanf_format_string_
const wchar_t *_Format
,
1479 _In_opt_ _locale_t _Locale
,
1486 _In_z_ _Scanf_format_string_
const wchar_t *_Format
,
1494 _In_z_ _Scanf_format_string_
const wchar_t *_Format
,
1495 _In_opt_ _locale_t _Locale
,
1503 _In_
int _FileHandle
,
1504 _In_z_
const wchar_t *_Mode
);
1511 _In_z_
const wchar_t *_Filename
,
1512 _In_z_
const wchar_t *_Mode
);
1519 _In_z_
const wchar_t *_Filename
,
1520 _In_z_
const wchar_t *_Mode
,
1521 _Inout_
FILE *_OldFile
);
1523 #ifndef _CRT_WPERROR_DEFINED
1524 #define _CRT_WPERROR_DEFINED
1529 _In_opt_z_
const wchar_t *_ErrMsg
);
1537 _In_z_
const wchar_t *_Command
,
1538 _In_z_
const wchar_t *_Mode
);
1540 #if !defined(NO_OLDNAMES) && !defined(wpopen)
1541 #define wpopen _wpopen
1549 _In_z_
const wchar_t *_Filename
);
1555 _Pre_maybenull_ _Post_z_
wchar_t *_Buffer
);
1562 _Inout_
FILE *_File
);
1570 _Inout_
FILE *_File
);
1578 _Inout_
FILE *_File
);
1580 #undef _CRT_GETPUTWCHAR_NOINLINE
1582 #if !defined(__cplusplus) || defined(_CRT_GETPUTWCHAR_NOINLINE)
1583 #define getwchar() fgetwc(stdin)
1584 #define putwchar(_c) fputwc((_c),stdout)
1586 _Check_return_ __CRT_INLINE
wint_t __cdecl
getwchar() {return (fgetwc(stdin
)); }
1587 _Check_return_opt_ __CRT_INLINE
wint_t __cdecl
putwchar(_In_
wchar_t _C
) {return (fputwc(_C
,stdout
)); }
1590 #define getwc(_stm) fgetwc(_stm)
1591 #define putwc(_c,_stm) fputwc(_c,_stm)
1592 #define _putwc_nolock(_c,_stm) _fputwc_nolock(_c,_stm)
1593 #define _getwc_nolock(_c) _fgetwc_nolock(_c)
1595 #endif /* _WSTDIO_DEFINED */
1597 #ifndef _WSTDLIB_DEFINED
1598 #define _WSTDLIB_DEFINED
1605 _Pre_notnull_ _Post_z_
wchar_t *_Dest
,
1613 _Pre_notnull_ _Post_z_
wchar_t *_Dest
,
1620 _In_
unsigned long _Value
,
1621 _Pre_notnull_ _Post_z_
wchar_t *_Dest
,
1628 _In_z_
const wchar_t *_Str
,
1629 _Out_opt_ _Deref_post_z_
wchar_t **_EndPtr
);
1636 _In_z_
const wchar_t *_Str
,
1637 _Out_opt_ _Deref_post_z_
wchar_t **_EndPtr
,
1638 _In_opt_ _locale_t _Locale
);
1640 float __cdecl
wcstof( const wchar_t *nptr
, wchar_t **endptr
);
1642 #if !defined __NO_ISOCEXT /* in libmingwex.a */
1643 float __cdecl
wcstof (const wchar_t * __restrict__
, wchar_t ** __restrict__
);
1644 long double __cdecl
wcstold (const wchar_t * __restrict__
, wchar_t ** __restrict__
);
1645 #endif /* __NO_ISOCEXT */
1651 _In_z_
const wchar_t *_Str
,
1652 _Out_opt_ _Deref_post_z_
wchar_t **_EndPtr
,
1660 _In_z_
const wchar_t *_Str
,
1661 _Out_opt_ _Deref_post_z_
wchar_t **_EndPtr
,
1663 _In_opt_ _locale_t _Locale
);
1669 _In_z_
const wchar_t *_Str
,
1670 _Out_opt_ _Deref_post_z_
wchar_t **_EndPtr
,
1678 _In_z_
const wchar_t *_Str
,
1679 _Out_opt_ _Deref_post_z_
wchar_t **_EndPtr
,
1681 _In_opt_ _locale_t _Locale
);
1688 _In_z_
const wchar_t *_VarName
);
1690 #ifndef _CRT_WSYSTEM_DEFINED
1691 #define _CRT_WSYSTEM_DEFINED
1696 _In_opt_z_
const wchar_t *_Command
);
1704 _In_z_
const wchar_t *_Str
);
1711 _In_z_
const wchar_t *_Str
,
1712 _In_opt_ _locale_t _Locale
);
1719 _In_z_
const wchar_t *_Str
);
1726 _In_z_
const wchar_t *_Str
,
1727 _In_opt_ _locale_t _Locale
);
1734 _In_z_
const wchar_t *_Str
);
1741 _In_z_
const wchar_t *_Str
,
1742 _In_opt_ _locale_t _Locale
);
1744 #if _INTEGRAL_MAX_BITS >= 64
1752 _Pre_notnull_ _Post_z_
wchar_t *_DstBuf
,
1760 _In_
unsigned __int64 _Val
,
1761 _Pre_notnull_ _Post_z_
wchar_t *_DstBuf
,
1770 _In_z_
const wchar_t *_Str
);
1778 _In_z_
const wchar_t *_Str
,
1779 _In_opt_ _locale_t _Locale
);
1787 _In_z_
const wchar_t *_Str
,
1788 _Out_opt_ _Deref_post_z_
wchar_t **_EndPtr
,
1797 _In_z_
const wchar_t *_Str
,
1798 _Out_opt_ _Deref_post_z_
wchar_t **_EndPtr
,
1800 _In_opt_ _locale_t _Locale
);
1808 _In_z_
const wchar_t *_Str
,
1809 _Out_opt_ _Deref_post_z_
wchar_t **_EndPtr
,
1818 _In_z_
const wchar_t *_Str
,
1819 _Out_opt_ _Deref_post_z_
wchar_t **_EndPtr
,
1821 _In_opt_ _locale_t _Locale
);
1823 #endif /* _INTEGRAL_MAX_BITS >= 64 */
1825 #endif /* _WSTDLIB_DEFINED */
1829 #ifndef _WSTDLIBP_DEFINED
1830 #define _WSTDLIBP_DEFINED
1837 _Out_writes_opt_z_(_SizeInWords
) wchar_t *_FullPath
,
1838 _In_z_
const wchar_t *_Path
,
1839 _In_
size_t _SizeInWords
);
1845 _Pre_notnull_ _Post_z_
wchar_t *_ResultPath
,
1846 _In_opt_z_
const wchar_t *_Drive
,
1847 _In_opt_z_
const wchar_t *_Dir
,
1848 _In_opt_z_
const wchar_t *_Filename
,
1849 _In_opt_z_
const wchar_t *_Ext
);
1851 #ifndef _CRT_WPERROR_DEFINED
1852 #define _CRT_WPERROR_DEFINED
1857 _In_opt_z_
const wchar_t *_ErrMsg
);
1865 _In_z_
const wchar_t *_EnvString
);
1871 _In_z_
const wchar_t *_Filename
,
1872 _In_z_
const wchar_t *_EnvVar
,
1873 _Pre_notnull_ _Post_z_
wchar_t *_ResultPath
);
1879 _In_z_
const wchar_t *_FullPath
,
1880 _Pre_maybenull_ _Post_z_
wchar_t *_Drive
,
1881 _Pre_maybenull_ _Post_z_
wchar_t *_Dir
,
1882 _Pre_maybenull_ _Post_z_
wchar_t *_Filename
,
1883 _Pre_maybenull_ _Post_z_
wchar_t *_Ext
);
1885 #endif /* _WSTDLIBP_DEFINED */
1887 #endif /* _POSIX_ */
1889 #ifndef _WSTRING_DEFINED
1890 #define _WSTRING_DEFINED
1897 _In_z_
const wchar_t *_Str
);
1902 _Inout_updates_z_(_String_length_(_Dest
) + _String_length_(_Source
) + 1) wchar_t *_Dest
,
1903 _In_z_
const wchar_t *_Source
);
1909 _In_z_
const wchar_t *_Str
,
1916 _In_z_
const wchar_t *_Str1
,
1917 _In_z_
const wchar_t *_Str2
);
1922 _Out_writes_z_(_String_length_(_Source
) + 1) wchar_t *_Dest
,
1923 _In_z_
const wchar_t *_Source
);
1929 _In_z_
const wchar_t *_Str
,
1930 _In_z_
const wchar_t *_Control
);
1935 _In_z_
const wchar_t *_Str
);
1937 _When_(_MaxCount
> _String_length_(_Src
),
1938 _Post_satisfies_(return == _String_length_(_Src
)))
1939 _When_(_MaxCount
<= _String_length_(_Src
),
1940 _Post_satisfies_(return == _MaxCount
))
1944 _In_reads_or_z_(_MaxCount
) const wchar_t *_Src
,
1945 _In_
size_t _MaxCount
);
1951 const wchar_t *_Source
,
1958 _In_reads_or_z_(_MaxCount
) const wchar_t *_Str1
,
1959 _In_reads_or_z_(_MaxCount
) const wchar_t *_Str2
,
1960 _In_
size_t _MaxCount
);
1966 const wchar_t *_Source
,
1974 _In_z_
const wchar_t *_Str
,
1975 _In_z_
const wchar_t *_Control
);
1982 _In_z_
const wchar_t *_Str
,
1989 _In_z_
const wchar_t *_Str
,
1990 _In_z_
const wchar_t *_Control
);
1996 _In_z_
const wchar_t *_Str
,
1997 _In_z_
const wchar_t *_SubStr
);
2003 _Inout_opt_z_
wchar_t *_Str
,
2004 _In_z_
const wchar_t *_Delim
);
2018 _In_opt_z_
const wchar_t *_Str
);
2025 _In_z_
const wchar_t *_Str1
,
2026 _In_z_
const wchar_t *_Str2
);
2033 _In_z_
const wchar_t *_Str1
,
2034 _In_z_
const wchar_t *_Str2
,
2035 _In_opt_ _locale_t _Locale
);
2042 _In_reads_or_z_(_MaxCount
) const wchar_t *_Str1
,
2043 _In_reads_or_z_(_MaxCount
) const wchar_t *_Str2
,
2044 _In_
size_t _MaxCount
);
2051 _In_reads_or_z_(_MaxCount
) const wchar_t *_Str1
,
2052 _In_reads_or_z_(_MaxCount
) const wchar_t *_Str2
,
2053 _In_
size_t _MaxCount
,
2054 _In_opt_ _locale_t _Locale
);
2068 _Inout_z_
wchar_t *_Str
);
2081 _Inout_z_
wchar_t *_String
);
2093 _Inout_z_
wchar_t *_String
);
2105 _Out_writes_opt_(_MaxCount
) _Post_maybez_
wchar_t *_Dst
,
2106 _In_z_
const wchar_t *_Src
,
2107 _In_
size_t _MaxCount
);
2114 _Out_writes_opt_(_MaxCount
) _Post_maybez_
wchar_t *_Dst
,
2115 _In_z_
const wchar_t *_Src
,
2116 _In_
size_t _MaxCount
,
2117 _In_opt_ _locale_t _Locale
);
2123 _In_z_
const wchar_t *_Str1
,
2124 _In_z_
const wchar_t *_Str2
);
2131 _In_z_
const wchar_t *_Str1
,
2132 _In_z_
const wchar_t *_Str2
,
2133 _In_opt_ _locale_t _Locale
);
2140 _In_z_
const wchar_t *_Str1
,
2141 _In_z_
const wchar_t *_Str2
);
2148 _In_z_
const wchar_t *_Str1
,
2149 _In_z_
const wchar_t *_Str2
,
2150 _In_opt_ _locale_t _Locale
);
2157 _In_z_
const wchar_t *_Str1
,
2158 _In_z_
const wchar_t *_Str2
,
2159 _In_
size_t _MaxCount
);
2166 _In_z_
const wchar_t *_Str1
,
2167 _In_z_
const wchar_t *_Str2
,
2168 _In_
size_t _MaxCount
,
2169 _In_opt_ _locale_t _Locale
);
2176 _In_z_
const wchar_t *_Str1
,
2177 _In_z_
const wchar_t *_Str2
,
2178 _In_
size_t _MaxCount
);
2185 _In_z_
const wchar_t *_Str1
,
2186 _In_z_
const wchar_t *_Str2
,
2187 _In_
size_t _MaxCount
,
2188 _In_opt_ _locale_t _Locale
);
2197 _In_z_
const wchar_t *_Str
);
2199 #define wcswcs wcsstr
2206 _In_z_
const wchar_t *_Str1
,
2207 _In_z_
const wchar_t *_Str2
);
2214 _In_reads_or_z_(_MaxCount
) const wchar_t *_Str1
,
2215 _In_reads_or_z_(_MaxCount
) const wchar_t *_Str2
,
2216 _In_
size_t _MaxCount
);
2222 _Inout_updates_z_(_MaxCount
) wchar_t *_Str
,
2224 _In_
size_t _MaxCount
);
2230 _Inout_z_
wchar_t *_Str
);
2236 _Inout_z_
wchar_t *_Str
,
2243 _Inout_z_
wchar_t *_Str
);
2249 _Inout_z_
wchar_t *_Str
);
2256 _In_z_
const wchar_t *_Str1
,
2257 _In_z_
const wchar_t *_Str2
);
2259 #endif /* NO_OLDNAMES */
2261 #endif /* _WSTRING_DEFINED */
2278 #ifndef _WTIME_DEFINED
2279 #define _WTIME_DEFINED
2285 _In_
const struct tm
*_Tm
);
2291 _In_
const __time32_t
*_Time
);
2293 _Success_(return > 0)
2297 _Out_writes_z_(_SizeInWords
) wchar_t *_Buf
,
2298 _In_
size_t _SizeInWords
,
2299 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
2300 _In_
const struct tm
*_Tm
);
2302 _Success_(return > 0)
2307 _Out_writes_z_(_SizeInWords
) wchar_t *_Buf
,
2308 _In_
size_t _SizeInWords
,
2309 _In_z_ _Printf_format_string_
const wchar_t *_Format
,
2310 _In_
const struct tm
*_Tm
,
2311 _In_opt_ _locale_t _Locale
);
2317 _Out_writes_z_(9) wchar_t *_Buffer
);
2323 _Out_writes_z_(9) wchar_t *_Buffer
);
2329 _Out_writes_(_SizeInWords
) _Post_readable_size_(26) wchar_t *_Buf
,
2330 _In_
size_t _SizeInWords
,
2331 _In_
const struct tm
*_Tm
);
2337 _Out_writes_(_SizeInWords
) _Post_readable_size_(26) wchar_t *_Buf
,
2338 _In_
size_t _SizeInWords
,
2339 _In_
const __time32_t
*_Time
);
2345 _Out_writes_(_SizeInWords
) _Post_readable_size_(9) wchar_t *_Buf
,
2346 _In_range_(>=, 9) size_t _SizeInWords
);
2352 _Out_writes_(_SizeInWords
) _Post_readable_size_(9) wchar_t *_Buf
,
2353 _In_
size_t _SizeInWords
);
2355 #if _INTEGRAL_MAX_BITS >= 64
2361 _In_
const __time64_t
*_Time
);
2367 _Out_writes_(_SizeInWords
) _Post_readable_size_(26) wchar_t *_Buf
,
2368 _In_
size_t _SizeInWords
,
2369 _In_
const __time64_t
*_Time
);
2371 #endif /* _INTEGRAL_MAX_BITS >= 64 */
2373 #if !defined (RC_INVOKED) && !defined (_INC_WTIME_INL)
2374 #define _INC_WTIME_INL
2375 #ifdef _USE_32BIT_TIME_T
2376 __CRT_INLINE
wchar_t *__cdecl
_wctime(const time_t *_Time
) { return _wctime32(_Time
); }
2377 #else /* !_USE_32BIT_TIME_T */
2378 __CRT_INLINE
wchar_t *__cdecl
_wctime(const time_t *_Time
) { return _wctime64(_Time
); }
2379 #endif /* !_USE_32BIT_TIME_T */
2380 #endif /* !defined (RC_INVOKED) && !defined (_INC_WTIME_INL) */
2382 #endif /* _WTIME_DEFINED */
2384 typedef int mbstate_t;
2385 typedef wchar_t _Wint_t
;
2395 _In_reads_bytes_opt_(_SizeInBytes
) _Pre_opt_z_
const char *_Ch
,
2396 _In_
size_t _SizeInBytes
,
2397 _Out_opt_
mbstate_t *_State
);
2402 _Pre_maybenull_ _Post_z_
wchar_t *_DstCh
,
2403 _In_reads_bytes_opt_(_SizeInBytes
) _Pre_opt_z_
const char *_SrcCh
,
2404 _In_
size_t _SizeInBytes
,
2405 _Out_opt_
mbstate_t *_State
);
2410 _Pre_notnull_ _Post_z_
wchar_t *_Dest
,
2411 _Inout_ _Deref_prepost_opt_valid_
const char **_PSrc
,
2413 _Inout_opt_
mbstate_t *_State
);
2418 _Pre_maybenull_ _Post_z_
char *_Dest
,
2419 _In_
wchar_t _Source
,
2420 _Out_opt_
mbstate_t *_State
);
2425 _Pre_maybenull_ _Post_z_
char *_Dest
,
2426 _Inout_ _Deref_prepost_z_
const wchar_t **_PSource
,
2428 _Out_opt_
mbstate_t *_State
);
2435 #ifndef __NO_ISOCEXT /* these need static lib libmingwex.a */
2440 _Out_writes_all_(_N
) wchar_t *_S
,
2448 _In_reads_(_N
) const wchar_t *_S
,
2454 _In_reads_(_N
) const wchar_t *_S1
,
2455 _In_reads_(_N
) const wchar_t *_S2
,
2458 _Post_equal_to_(_S1
)
2459 _At_buffer_(_S1
, _Iter_
, _N
, _Post_satisfies_(_S1
[_Iter_
] == _S2
[_Iter_
]))
2463 _Out_writes_all_(_N
) wchar_t *_S1
,
2464 _In_reads_(_N
) const wchar_t *_S2
,
2470 _Out_writes_all_opt_(_N
) wchar_t *_S1
,
2471 _In_reads_opt_(_N
) const wchar_t *_S2
,
2478 const wchar_t *nptr
,
2486 const wchar_t *nptr
,
2490 #endif /* __NO_ISOCEXT */
2495 _Out_writes_bytes_all_opt_(_MaxCount
) void *_Dst
,
2496 _In_reads_bytes_opt_(_MaxCount
) const void *_Src
,
2497 _In_
size_t _MaxCount
);
2499 _Post_equal_to_(_Dst
)
2500 _At_buffer_((unsigned char*)_Dst
,
2503 _Post_satisfies_(((unsigned char*)_Dst
)[_Iter_
] == ((unsigned char*)_Src
)[_Iter_
]))
2507 _Out_writes_bytes_all_(_MaxCount
) void *_Dst
,
2508 _In_reads_bytes_(_MaxCount
) const void *_Src
,
2509 _In_
size_t _MaxCount
);
2526 _In_opt_
const mbstate_t *_P
)
2528 return (!_P
|| *_P
==0);
2536 _In_reads_(_N
) const wchar_t *_S
,
2540 for (;0<_N
;++_S
,--_N
)
2542 if (*_S
==_C
) return (_CONST_RETURN
wchar_t *)(_S
);
2551 _In_reads_(_N
) const wchar_t *_S1
,
2552 _In_reads_(_N
) const wchar_t *_S2
,
2555 for (; 0 < _N
; ++_S1
,++_S2
,--_N
)
2557 if (*_S1
!=*_S2
) return (*_S1
< *_S2
? -1 : +1);
2562 _Post_equal_to_(_S1
)
2566 _Post_satisfies_(_S1
[_Iter_
] == _S2
[_Iter_
]))
2571 _Out_writes_all_(_N
) wchar_t *_S1
,
2572 _In_reads_(_N
) const wchar_t *_S2
,
2575 return (wchar_t *)memcpy(_S1
,_S2
,_N
*sizeof(wchar_t));
2582 _Out_writes_all_opt_(_N
) wchar_t *_S1
,
2583 _In_reads_opt_(_N
) const wchar_t *_S2
,
2586 return (wchar_t *)memmove(_S1
,_S2
,_N
*sizeof(wchar_t));
2593 _Out_writes_all_(_N
) wchar_t *_S
,
2598 for (;0<_N
;++_Su
,--_N
) {
2605 #pragma warning(pop)
2614 #include <sec_api/wchar_s.h>