LCOV - code coverage report
Current view: directory - cygdrive/c/program files/microsoft visual studio 9.0/vc/include - wchar.h (source / functions) Found Hit Coverage
Test: coverage.lcov Lines: 21 0 0.0 %
Date: 2014-09-25 Functions: 0 0 -

       1                 : /***

       2                 : *wchar.h - declarations for wide character functions
       3                 : *
       4                 : *       Copyright (c) Microsoft Corporation. All rights reserved.
       5                 : *
       6                 : *Purpose:
       7                 : *       This file contains the types, macros and function declarations for
       8                 : *       all wide character-related functions.  They may also be declared in
       9                 : *       individual header files on a functional basis.
      10                 : *       [ISO]
      11                 : *
      12                 : *       Note: keep in sync with ctype.h, stdio.h, stdlib.h, string.h, time.h.
      13                 : *
      14                 : *       [Public]
      15                 : *
      16                 : ****/
      17                 : 
      18                 : #if     _MSC_VER > 1000
      19                 : #pragma once
      20                 : #endif
      21                 : 
      22                 : 
      23                 : #ifndef _INC_WCHAR
      24                 : #define _INC_WCHAR
      25                 : 
      26                 : #include <crtdefs.h>
      27                 : 
      28                 : #ifdef  _MSC_VER
      29                 : #pragma pack(push,_CRT_PACKING)
      30                 : #endif  /* _MSC_VER */
      31                 : 
      32                 : #ifdef  __cplusplus
      33                 : extern "C" {
      34                 : #endif
      35                 : 
      36                 : /*
      37                 :  *  According to the standard, WCHAR_MIN and WCHAR_MAX need to be
      38                 :  *  "constant expressions suitable for use in #if preprocessing directives, 
      39                 :  *  and this expression shall have the same type as would an expression that 
      40                 :  *  is an object of the corresponding type converted according to the integer
      41                 :  *  promotions".
      42                 :  */
      43                 : #define WCHAR_MIN       0
      44                 : #define WCHAR_MAX       0xffff
      45                 : 
      46                 : #ifndef _VA_LIST_DEFINED
      47                 : #ifdef _M_CEE_PURE
      48                 : typedef System::ArgIterator va_list;
      49                 : #else
      50                 : typedef char *  va_list;
      51                 : #endif
      52                 : #define _VA_LIST_DEFINED
      53                 : #endif
      54                 : 
      55                 : #ifndef WEOF
      56                 : #define WEOF (wint_t)(0xFFFF)
      57                 : #endif
      58                 : 
      59                 : #ifndef _FILE_DEFINED
      60                 : struct _iobuf {
      61                 :         char *_ptr;
      62                 :         int   _cnt;
      63                 :         char *_base;
      64                 :         int   _flag;
      65                 :         int   _file;
      66                 :         int   _charbuf;
      67                 :         int   _bufsiz;
      68                 :         char *_tmpfname;
      69                 :         };
      70                 : typedef struct _iobuf FILE;
      71                 : #define _FILE_DEFINED
      72                 : #endif
      73                 : 
      74                 : /* Declare _iob[] array */
      75                 : 
      76                 : #ifndef _STDIO_DEFINED
      77                 : _CRTIMP FILE * __cdecl __iob_func(void);
      78                 : #endif  /* _STDIO_DEFINED */
      79                 : 
      80                 : #ifndef _STDSTREAM_DEFINED
      81                 : #define stdin  (&__iob_func()[0])
      82                 : #define stdout (&__iob_func()[1])
      83                 : #define stderr (&__iob_func()[2])
      84                 : #define _STDSTREAM_DEFINED
      85                 : #endif 
      86                 : 
      87                 : #ifndef _FSIZE_T_DEFINED
      88                 : typedef unsigned long _fsize_t; /* Could be 64 bits for Win32 */
      89                 : #define _FSIZE_T_DEFINED
      90                 : #endif
      91                 : 
      92                 : #ifndef _WFINDDATA_T_DEFINED
      93                 : 
      94                 : struct _wfinddata32_t {
      95                 :         unsigned    attrib;
      96                 :         __time32_t  time_create;    /* -1 for FAT file systems */
      97                 :         __time32_t  time_access;    /* -1 for FAT file systems */
      98                 :         __time32_t  time_write;
      99                 :         _fsize_t    size;
     100                 :         wchar_t     name[260];
     101                 : };
     102                 : 
     103                 : struct _wfinddata32i64_t {
     104                 :         unsigned    attrib;
     105                 :         __time32_t  time_create;    /* -1 for FAT file systems */
     106                 :         __time32_t  time_access;    /* -1 for FAT file systems */
     107                 :         __time32_t  time_write;
     108                 :         __int64     size;
     109                 :         wchar_t     name[260];
     110                 : };
     111                 : 
     112                 : struct _wfinddata64i32_t {
     113                 :         unsigned    attrib;
     114                 :         __time64_t  time_create;    /* -1 for FAT file systems */
     115                 :         __time64_t  time_access;    /* -1 for FAT file systems */
     116                 :         __time64_t  time_write;
     117                 :         _fsize_t    size;
     118                 :         wchar_t     name[260];
     119                 : };
     120                 : 
     121                 : struct _wfinddata64_t {
     122                 :         unsigned    attrib;
     123                 :         __time64_t  time_create;    /* -1 for FAT file systems */
     124                 :         __time64_t  time_access;    /* -1 for FAT file systems */
     125                 :         __time64_t  time_write;
     126                 :         __int64     size;
     127                 :         wchar_t     name[260];
     128                 : };
     129                 : 
     130                 : #ifdef _USE_32BIT_TIME_T
     131                 : #define _wfinddata_t    _wfinddata32_t
     132                 : #define _wfinddatai64_t _wfinddata32i64_t
     133                 : 
     134                 : #define _wfindfirst     _wfindfirst32
     135                 : #define _wfindnext      _wfindnext32
     136                 : #define _wfindfirsti64  _wfindfirst32i64
     137                 : #define _wfindnexti64   _wfindnext32i64
     138                 : 
     139                 : #else                  
     140                 : #define _wfinddata_t    _wfinddata64i32_t
     141                 : #define _wfinddatai64_t _wfinddata64_t
     142                 : 
     143                 : #define _wfindfirst     _wfindfirst64i32
     144                 : #define _wfindnext      _wfindnext64i32
     145                 : #define _wfindfirsti64  _wfindfirst64
     146                 : #define _wfindnexti64   _wfindnext64
     147                 : 
     148                 : #endif
     149                 : 
     150                 : #define _WFINDDATA_T_DEFINED
     151                 : #endif
     152                 : 
     153                 : 
     154                 : /* define NULL pointer value */
     155                 : #ifndef NULL
     156                 : #ifdef __cplusplus
     157                 : #define NULL    0
     158                 : #else
     159                 : #define NULL    ((void *)0)
     160                 : #endif
     161                 : #endif
     162                 : 
     163                 : #ifndef _CONST_RETURN
     164                 : #ifdef  __cplusplus
     165                 : #define _CONST_RETURN  const
     166                 : #define _CRT_CONST_CORRECT_OVERLOADS
     167                 : #else
     168                 : #define _CONST_RETURN
     169                 : #endif
     170                 : #endif
     171                 : 
     172                 : /* For backwards compatibility */
     173                 : #define _WConst_return _CONST_RETURN
     174                 : 
     175                 : #ifndef _CRT_CTYPEDATA_DEFINED
     176                 : #define _CRT_CTYPEDATA_DEFINED
     177                 : #ifndef _CTYPE_DISABLE_MACROS
     178                 : 
     179                 : #ifndef __PCTYPE_FUNC
     180                 : #if defined(_CRT_DISABLE_PERFCRIT_LOCKS) && !defined(_DLL)
     181                 : #define __PCTYPE_FUNC  _pctype
     182                 : #else
     183                 : #define __PCTYPE_FUNC   __pctype_func()
     184                 : #endif  
     185                 : #endif  /* __PCTYPE_FUNC */
     186                 : 
     187                 : _CRTIMP const unsigned short * __cdecl __pctype_func(void);
     188                 : #if !defined(_M_CEE_PURE)
     189                 : _CRTIMP extern const unsigned short *_pctype;
     190                 : #else
     191                 : #define _pctype (__pctype_func())
     192                 : #endif /* !defined(_M_CEE_PURE) */
     193                 : #endif  /* _CTYPE_DISABLE_MACROS */
     194                 : #endif
     195                 : 
     196                 : #ifndef _CRT_WCTYPEDATA_DEFINED
     197                 : #define _CRT_WCTYPEDATA_DEFINED
     198                 : #ifndef _CTYPE_DISABLE_MACROS
     199                 : #if !defined(_M_CEE_PURE)
     200                 : _CRTIMP extern const unsigned short _wctype[];
     201                 : #endif /* !defined(_M_CEE_PURE) */
     202                 : 
     203                 : _CRTIMP const wctype_t * __cdecl __pwctype_func(void);
     204                 : #if !defined(_M_CEE_PURE)
     205                 : _CRTIMP extern const wctype_t *_pwctype;
     206                 : #else
     207                 : #define _pwctype (__pwctype_func())
     208                 : #endif /* !defined(_M_CEE_PURE) */
     209                 : #endif  /* _CTYPE_DISABLE_MACROS */
     210                 : #endif
     211                 : 
     212                 : /* set bit masks for the possible character types */
     213                 : 
     214                 : #define _UPPER          0x1     /* upper case letter */
     215                 : #define _LOWER          0x2     /* lower case letter */
     216                 : #define _DIGIT          0x4     /* digit[0-9] */
     217                 : #define _SPACE          0x8     /* tab, carriage return, newline, */
     218                 :                                 /* vertical tab or form feed */
     219                 : #define _PUNCT          0x10    /* punctuation character */
     220                 : #define _CONTROL        0x20    /* control character */
     221                 : #define _BLANK          0x40    /* space char */
     222                 : #define _HEX            0x80    /* hexadecimal digit */
     223                 : 
     224                 : #define _LEADBYTE       0x8000                  /* multibyte leadbyte */
     225                 : #define _ALPHA          (0x0100|_UPPER|_LOWER)  /* alphabetic character */
     226                 : 
     227                 : 
     228                 : /* Function prototypes */
     229                 : 
     230                 : #ifndef _WCTYPE_DEFINED
     231                 : 
     232                 : /* Character classification function prototypes */
     233                 : /* also declared in ctype.h */
     234                 : 
     235                 : _Check_return_ _CRTIMP int __cdecl iswalpha(_In_ wint_t _C);
     236                 : _Check_return_ _CRTIMP int __cdecl _iswalpha_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale);
     237                 : _Check_return_ _CRTIMP int __cdecl iswupper(_In_ wint_t _C);
     238                 : _Check_return_ _CRTIMP int __cdecl _iswupper_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale);
     239                 : _Check_return_ _CRTIMP int __cdecl iswlower(_In_ wint_t _C);
     240                 : _Check_return_ _CRTIMP int __cdecl _iswlower_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale);
     241                 : _Check_return_ _CRTIMP int __cdecl iswdigit(_In_ wint_t _C);
     242                 : _Check_return_ _CRTIMP int __cdecl _iswdigit_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale);
     243                 : _Check_return_ _CRTIMP int __cdecl iswxdigit(_In_ wint_t _C);
     244                 : _Check_return_ _CRTIMP int __cdecl _iswxdigit_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale);
     245                 : _Check_return_ _CRTIMP int __cdecl iswspace(_In_ wint_t _C);
     246                 : _Check_return_ _CRTIMP int __cdecl _iswspace_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale);
     247                 : _Check_return_ _CRTIMP int __cdecl iswpunct(_In_ wint_t _C);
     248                 : _Check_return_ _CRTIMP int __cdecl _iswpunct_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale);
     249                 : _Check_return_ _CRTIMP int __cdecl iswalnum(_In_ wint_t _C);
     250                 : _Check_return_ _CRTIMP int __cdecl _iswalnum_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale);
     251                 : _Check_return_ _CRTIMP int __cdecl iswprint(_In_ wint_t _C);
     252                 : _Check_return_ _CRTIMP int __cdecl _iswprint_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale);
     253                 : _Check_return_ _CRTIMP int __cdecl iswgraph(_In_ wint_t _C);
     254                 : _Check_return_ _CRTIMP int __cdecl _iswgraph_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale);
     255                 : _Check_return_ _CRTIMP int __cdecl iswcntrl(_In_ wint_t _C);
     256                 : _Check_return_ _CRTIMP int __cdecl _iswcntrl_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale);
     257                 : _Check_return_ _CRTIMP int __cdecl iswascii(_In_ wint_t _C);
     258                 : _Check_return_ _CRTIMP int __cdecl isleadbyte(_In_ int _C);
     259                 : _Check_return_ _CRTIMP int __cdecl _isleadbyte_l(_In_ int _C, _In_opt_ _locale_t _Locale);
     260                 : 
     261                 : _Check_return_ _CRTIMP wint_t __cdecl towupper(_In_ wint_t _C);
     262                 : _Check_return_ _CRTIMP wint_t __cdecl _towupper_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale);
     263                 : _Check_return_ _CRTIMP wint_t __cdecl towlower(_In_ wint_t _C);
     264                 : _Check_return_ _CRTIMP wint_t __cdecl _towlower_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale); 
     265                 : _Check_return_ _CRTIMP int __cdecl iswctype(_In_ wint_t _C, _In_ wctype_t _Type);
     266                 : _Check_return_ _CRTIMP int __cdecl _iswctype_l(_In_ wint_t _C, _In_ wctype_t _Type, _In_opt_ _locale_t _Locale);
     267                 : 
     268                 : _Check_return_ _CRTIMP int __cdecl __iswcsymf(_In_ wint_t _C);
     269                 : _Check_return_ _CRTIMP int __cdecl _iswcsymf_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale);
     270                 : _Check_return_ _CRTIMP int __cdecl __iswcsym(_In_ wint_t _C);
     271                 : _Check_return_ _CRTIMP int __cdecl _iswcsym_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale);
     272                 : 
     273                 : _CRT_OBSOLETE(iswctype) _CRTIMP int __cdecl is_wctype(_In_ wint_t _C, _In_ wctype_t _Type);
     274                 : 
     275                 : #define _WCTYPE_DEFINED
     276                 : #endif
     277                 : 
     278                 : #ifndef _WDIRECT_DEFINED
     279                 : 
     280                 : /* also declared in direct.h */
     281                 : 
     282                 : #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC)
     283                 : #pragma push_macro("_wgetcwd")
     284                 : #pragma push_macro("_wgetdcwd")
     285                 : #pragma push_macro("_wgetdcwd_nolock")
     286                 : #undef _wgetcwd
     287                 : #undef _wgetdcwd
     288                 : #undef _wgetdcwd_nolock
     289                 : #endif
     290                 : 
     291                 : _Check_return_ _Ret_opt_z_ _CRTIMP wchar_t * __cdecl _wgetcwd(_Out_opt_cap_(_SizeInWords) wchar_t * _DstBuf, _In_ int _SizeInWords);
     292                 : _Check_return_ _Ret_opt_z_ _CRTIMP wchar_t * __cdecl _wgetdcwd(_In_ int _Drive, _Out_opt_cap_(_SizeInWords) wchar_t * _DstBuf, _In_ int _SizeInWords);
     293                 : _Check_return_ _Ret_opt_z_ wchar_t * __cdecl _wgetdcwd_nolock(_In_ int _Drive, _Out_opt_cap_(_SizeInWords) wchar_t * _DstBuf, _In_ int _SizeInWords);
     294                 : 
     295                 : #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC)
     296                 : #pragma pop_macro("_wgetcwd")
     297                 : #pragma pop_macro("_wgetdcwd")
     298                 : #pragma pop_macro("_wgetdcwd_nolock")
     299                 : #endif
     300                 : 
     301                 : _Check_return_ _CRTIMP int __cdecl _wchdir(_In_z_ const wchar_t * _Path);
     302                 : _Check_return_ _CRTIMP int __cdecl _wmkdir(_In_z_ const wchar_t * _Path);
     303                 : _Check_return_ _CRTIMP int __cdecl _wrmdir(_In_z_ const wchar_t * _Path);
     304                 : 
     305                 : #define _WDIRECT_DEFINED
     306                 : #endif
     307                 : 
     308                 : #ifndef _WIO_DEFINED
     309                 : 
     310                 : _Check_return_ _CRTIMP int __cdecl _waccess(_In_z_ const wchar_t * _Filename, _In_ int _AccessMode);
     311                 : _Check_return_wat_ _CRTIMP errno_t __cdecl _waccess_s(_In_z_ const wchar_t * _Filename, _In_ int _AccessMode);
     312                 : _Check_return_ _CRTIMP int __cdecl _wchmod(_In_z_ const wchar_t * _Filename, _In_ int _Mode);
     313                 : _Check_return_ _CRT_INSECURE_DEPRECATE(_wsopen_s) _CRTIMP int __cdecl _wcreat(_In_z_ const wchar_t * _Filename, _In_ int _PermissionMode);
     314                 : _Check_return_ _CRTIMP intptr_t __cdecl _wfindfirst32(_In_z_ const wchar_t * _Filename, _Out_ struct _wfinddata32_t * _FindData);
     315                 : _Check_return_ _CRTIMP int __cdecl _wfindnext32(_In_ intptr_t _FindHandle, _Out_ struct _wfinddata32_t * _FindData);
     316                 : _Check_return_ _CRTIMP int __cdecl _wunlink(_In_z_ const wchar_t * _Filename);
     317                 : _Check_return_ _CRTIMP int __cdecl _wrename(_In_z_ const wchar_t * _OldFilename, _In_z_ const wchar_t * _NewFilename);
     318                 : _CRTIMP errno_t __cdecl _wmktemp_s(_Inout_z_cap_(_SizeInWords) wchar_t * _TemplateName, _In_ size_t _SizeInWords);
     319                 : __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_0(errno_t, _wmktemp_s, wchar_t, _TemplateName)
     320                 : __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_0(wchar_t *, __RETURN_POLICY_DST, _CRTIMP, _wmktemp, _Inout_z_, wchar_t, _TemplateName)
     321                 : 
     322                 : _Check_return_ _CRTIMP intptr_t __cdecl _wfindfirst32i64(_In_z_ const wchar_t * _Filename, _Out_ struct _wfinddata32i64_t * _FindData);
     323                 : _Check_return_ _CRTIMP intptr_t __cdecl _wfindfirst64i32(_In_z_ const wchar_t * _Filename, _Out_ struct _wfinddata64i32_t * _FindData);
     324                 : _Check_return_ _CRTIMP intptr_t __cdecl _wfindfirst64(_In_z_ const wchar_t * _Filename, _Out_ struct _wfinddata64_t * _FindData);
     325                 : _Check_return_ _CRTIMP int __cdecl _wfindnext32i64(_In_ intptr_t _FindHandle, _Out_ struct _wfinddata32i64_t * _FindData);
     326                 : _Check_return_ _CRTIMP int __cdecl _wfindnext64i32(_In_ intptr_t _FindHandle, _Out_ struct _wfinddata64i32_t * _FindData);
     327                 : _Check_return_ _CRTIMP int __cdecl _wfindnext64(_In_ intptr_t _FindHandle, _Out_ struct _wfinddata64_t * _FindData);
     328                 : 
     329                 : _Check_return_wat_ _CRTIMP errno_t __cdecl _wsopen_s(_Out_ int * _FileHandle, _In_z_ const wchar_t * _Filename, _In_ int _OpenFlag, _In_ int _ShareFlag, _In_ int _PermissionFlag);
     330                 : 
     331                 : #if !defined(__cplusplus) || !defined(_M_IX86)
     332                 : 
     333                 : _Check_return_ _CRT_INSECURE_DEPRECATE(_wsopen_s) _CRTIMP int __cdecl _wopen(_In_z_ const wchar_t * _Filename, _In_ int _OpenFlag, ...);
     334                 : _Check_return_ _CRT_INSECURE_DEPRECATE(_wsopen_s) _CRTIMP int __cdecl _wsopen(_In_z_ const wchar_t * _Filename, _In_ int _OpenFlag, int _ShareFlag, ...);
     335                 : 
     336                 : #else
     337                 : 
     338                 : /* these function do not validate pmode; use _sopen_s */
     339                 : extern "C++" _CRT_INSECURE_DEPRECATE(_wsopen_s) _CRTIMP int __cdecl _wopen(_In_z_ const wchar_t * _Filename, _In_ int _OpenFlag, _In_ int _PermissionMode = 0);
     340                 : extern "C++" _CRT_INSECURE_DEPRECATE(_wsopen_s) _CRTIMP int __cdecl _wsopen(_In_z_ const wchar_t * _Filename, _In_ int _OpenFlag, _In_ int _ShareFlag, int _PermissionMode = 0);
     341                 : 
     342                 : #endif
     343                 : 
     344                 : #define _WIO_DEFINED
     345                 : #endif
     346                 : 
     347                 : #ifndef _WLOCALE_DEFINED
     348                 : 
     349                 : /* wide function prototypes, also declared in wchar.h  */
     350                 : 
     351                 : _Check_return_opt_ _CRTIMP wchar_t * __cdecl _wsetlocale(_In_ int _Category, _In_opt_z_ const wchar_t * _Locale);
     352                 : 
     353                 : #define _WLOCALE_DEFINED
     354                 : #endif
     355                 : 
     356                 : #ifndef _WPROCESS_DEFINED
     357                 : 
     358                 : /* also declared in process.h */
     359                 : 
     360                 : _CRTIMP intptr_t __cdecl _wexecl(_In_z_ const wchar_t * _Filename, _In_z_ const wchar_t * _ArgList, ...);
     361                 : _CRTIMP intptr_t __cdecl _wexecle(_In_z_ const wchar_t * _Filename, _In_z_ const wchar_t * _ArgList, ...);
     362                 : _CRTIMP intptr_t __cdecl _wexeclp(_In_z_ const wchar_t * _Filename, _In_z_ const wchar_t * _ArgList, ...);
     363                 : _CRTIMP intptr_t __cdecl _wexeclpe(_In_z_ const wchar_t * _Filename, _In_z_ const wchar_t * _ArgList, ...);
     364                 : _CRTIMP intptr_t __cdecl _wexecv(_In_z_ const wchar_t * _Filename, _In_z_ const wchar_t * const * _ArgList);
     365                 : _CRTIMP intptr_t __cdecl _wexecve(_In_z_ const wchar_t * _Filename, _In_z_ const wchar_t * const * _ArgList,
     366                 :         _In_opt_z_ const wchar_t * const * _Env);
     367                 : _CRTIMP intptr_t __cdecl _wexecvp(_In_z_ const wchar_t * _Filename, _In_z_ const wchar_t * const * _ArgList);
     368                 : _CRTIMP intptr_t __cdecl _wexecvpe(_In_z_ const wchar_t * _Filename, _In_z_ const wchar_t * const * _ArgList, 
     369                 :         _In_opt_z_ const wchar_t * const * _Env);
     370                 : _CRTIMP intptr_t __cdecl _wspawnl(_In_ int _Mode, _In_z_ const wchar_t * _Filename, _In_z_ const wchar_t * _ArgList, ...);
     371                 : _CRTIMP intptr_t __cdecl _wspawnle(_In_ int _Mode, _In_z_ const wchar_t * _Filename, _In_z_ const wchar_t * _ArgList, ...);
     372                 : _CRTIMP intptr_t __cdecl _wspawnlp(_In_ int _Mode, _In_z_ const wchar_t * _Filename, _In_z_ const wchar_t * _ArgList, ...);
     373                 : _CRTIMP intptr_t __cdecl _wspawnlpe(_In_ int _Mode, _In_z_ const wchar_t * _Filename, _In_z_ const wchar_t * _ArgList, ...);
     374                 : _CRTIMP intptr_t __cdecl _wspawnv(_In_ int _Mode, _In_z_ const wchar_t * _Filename, _In_z_ const wchar_t * const * _ArgList);
     375                 : _CRTIMP intptr_t __cdecl _wspawnve(_In_ int _Mode, _In_z_ const wchar_t * _Filename, _In_z_ const wchar_t * const * _ArgList,
     376                 :         _In_opt_z_ const wchar_t * const * _Env);
     377                 : _CRTIMP intptr_t __cdecl _wspawnvp(_In_ int _Mode, _In_z_ const wchar_t * _Filename, _In_z_ const wchar_t * const * _ArgList);
     378                 : _CRTIMP intptr_t __cdecl _wspawnvpe(_In_ int _Mode, _In_z_ const wchar_t * _Filename, _In_z_ const wchar_t * const * _ArgList,
     379                 :         _In_opt_z_ const wchar_t * const * _Env);
     380                 : #ifndef _CRT_WSYSTEM_DEFINED
     381                 : #define _CRT_WSYSTEM_DEFINED
     382                 : _CRTIMP int __cdecl _wsystem(_In_opt_z_ const wchar_t * _Command);
     383                 : #endif
     384                 : 
     385                 : #define _WPROCESS_DEFINED
     386                 : #endif
     387                 : 
     388                 : #ifndef _WCTYPE_INLINE_DEFINED
     389                 : 
     390                 : #undef _CRT_WCTYPE_NOINLINE
     391                 : 
     392                 : #if !defined(__cplusplus) || defined(_M_CEE_PURE) || defined(MRTDLL) || defined(_CRT_WCTYPE_NOINLINE)
     393                 : #define iswalpha(_c)    ( iswctype(_c,_ALPHA) )
     394                 : #define iswupper(_c)    ( iswctype(_c,_UPPER) )
     395                 : #define iswlower(_c)    ( iswctype(_c,_LOWER) )
     396                 : #define iswdigit(_c)    ( iswctype(_c,_DIGIT) )
     397                 : #define iswxdigit(_c)   ( iswctype(_c,_HEX) )
     398                 : #define iswspace(_c)    ( iswctype(_c,_SPACE) )
     399                 : #define iswpunct(_c)    ( iswctype(_c,_PUNCT) )
     400                 : #define iswalnum(_c)    ( iswctype(_c,_ALPHA|_DIGIT) )
     401                 : #define iswprint(_c)    ( iswctype(_c,_BLANK|_PUNCT|_ALPHA|_DIGIT) )
     402                 : #define iswgraph(_c)    ( iswctype(_c,_PUNCT|_ALPHA|_DIGIT) )
     403                 : #define iswcntrl(_c)    ( iswctype(_c,_CONTROL) )
     404                 : #define iswascii(_c)    ( (unsigned)(_c) < 0x80 )
     405                 : 
     406                 : #define _iswalpha_l(_c,_p)    ( _iswctype_l(_c,_ALPHA, _p) )
     407                 : #define _iswupper_l(_c,_p)    ( _iswctype_l(_c,_UPPER, _p) )
     408                 : #define _iswlower_l(_c,_p)    ( _iswctype_l(_c,_LOWER, _p) )
     409                 : #define _iswdigit_l(_c,_p)    ( _iswctype_l(_c,_DIGIT, _p) )
     410                 : #define _iswxdigit_l(_c,_p)   ( _iswctype_l(_c,_HEX, _p) )
     411                 : #define _iswspace_l(_c,_p)    ( _iswctype_l(_c,_SPACE, _p) )
     412                 : #define _iswpunct_l(_c,_p)    ( _iswctype_l(_c,_PUNCT, _p) )
     413                 : #define _iswalnum_l(_c,_p)    ( _iswctype_l(_c,_ALPHA|_DIGIT, _p) )
     414                 : #define _iswprint_l(_c,_p)    ( _iswctype_l(_c,_BLANK|_PUNCT|_ALPHA|_DIGIT, _p) )
     415                 : #define _iswgraph_l(_c,_p)    ( _iswctype_l(_c,_PUNCT|_ALPHA|_DIGIT, _p) )
     416                 : #define _iswcntrl_l(_c,_p)    ( _iswctype_l(_c,_CONTROL, _p) )
     417                 : #ifndef _CTYPE_DISABLE_MACROS
     418                 : #define isleadbyte(_c)  ( __PCTYPE_FUNC[(unsigned char)(_c)] & _LEADBYTE)
     419                 : #endif  /* _CTYPE_DISABLE_MACROS */
     420                 : 
     421                 : #elif   0         /* __cplusplus */
     422                 : _Check_return_ inline int iswalpha(_In_ wint_t _C) {return (iswctype(_C,_ALPHA)); }
     423                 : _Check_return_ inline int iswupper(_In_ wint_t _C) {return (iswctype(_C,_UPPER)); }
     424                 : _Check_return_ inline int iswlower(_In_ wint_t _C) {return (iswctype(_C,_LOWER)); }
     425                 : _Check_return_ inline int iswdigit(_In_ wint_t _C) {return (iswctype(_C,_DIGIT)); }
     426                 : _Check_return_ inline int iswxdigit(_In_ wint_t _C) {return (iswctype(_C,_HEX)); }
     427                 : _Check_return_ inline int iswspace(_In_ wint_t _C) {return (iswctype(_C,_SPACE)); }
     428                 : _Check_return_ inline int iswpunct(_In_ wint_t _C) {return (iswctype(_C,_PUNCT)); }
     429                 : _Check_return_ inline int iswalnum(_In_ wint_t _C) {return (iswctype(_C,_ALPHA|_DIGIT)); }
     430                 : _Check_return_ inline int iswprint(_In_ wint_t _C) {return (iswctype(_C,_BLANK|_PUNCT|_ALPHA|_DIGIT)); }
     431                 : _Check_return_ inline int iswgraph(_In_ wint_t _C) {return (iswctype(_C,_PUNCT|_ALPHA|_DIGIT)); }
     432                 : _Check_return_ inline int iswcntrl(_In_ wint_t _C) {return (iswctype(_C,_CONTROL)); }
     433                 : _Check_return_ inline int iswascii(_In_ wint_t _C) {return ((unsigned)(_C) < 0x80); }
     434                 : 
     435                 : _Check_return_ inline int __CRTDECL _iswalpha_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale) {return (_iswctype_l(_C,_ALPHA, _Locale)); }
     436                 : _Check_return_ inline int __CRTDECL _iswupper_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale) {return (_iswctype_l(_C,_UPPER, _Locale)); }
     437                 : _Check_return_ inline int __CRTDECL _iswlower_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale) {return (_iswctype_l(_C,_LOWER, _Locale)); }
     438                 : _Check_return_ inline int __CRTDECL _iswdigit_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale) {return (_iswctype_l(_C,_DIGIT, _Locale)); }
     439                 : _Check_return_ inline int __CRTDECL _iswxdigit_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale) {return(_iswctype_l(_C,_HEX, _Locale)); }
     440                 : _Check_return_ inline int __CRTDECL _iswspace_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale) {return (_iswctype_l(_C,_SPACE, _Locale)); }
     441                 : _Check_return_ inline int __CRTDECL _iswpunct_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale) {return (_iswctype_l(_C,_PUNCT, _Locale)); }
     442                 : _Check_return_ inline int __CRTDECL _iswalnum_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale) {return (_iswctype_l(_C,_ALPHA|_DIGIT, _Locale)); }
     443                 : _Check_return_ inline int __CRTDECL _iswprint_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale) {return (_iswctype_l(_C,_BLANK|_PUNCT|_ALPHA|_DIGIT, _Locale)); }
     444                 : _Check_return_ inline int __CRTDECL _iswgraph_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale) {return (_iswctype_l(_C,_PUNCT|_ALPHA|_DIGIT, _Locale)); }
     445                 : _Check_return_ inline int __CRTDECL _iswcntrl_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale) {return (_iswctype_l(_C,_CONTROL, _Locale)); }
     446                 : 
     447                 : _Check_return_ inline int isleadbyte(int _C) {return (__PCTYPE_FUNC[(unsigned char)(_C)] & _LEADBYTE); }
     448                 : #endif  /* __cplusplus */
     449                 : #define _WCTYPE_INLINE_DEFINED
     450                 : #endif  /* _WCTYPE_INLINE_DEFINED */
     451                 : 
     452                 : 
     453                 : #ifndef _POSIX_
     454                 : 
     455                 : /* define structure for returning status information */
     456                 : 
     457                 : #ifndef _INO_T_DEFINED
     458                 : typedef unsigned short _ino_t;      /* i-node number (not used on DOS) */
     459                 : #if     !__STDC__
     460                 : /* Non-ANSI name for compatibility */
     461                 : typedef unsigned short ino_t;
     462                 : #endif
     463                 : #define _INO_T_DEFINED
     464                 : #endif
     465                 : 
     466                 : #ifndef _DEV_T_DEFINED
     467                 : typedef unsigned int _dev_t;        /* device code */
     468                 : #if     !__STDC__
     469                 : /* Non-ANSI name for compatibility */
     470                 : typedef unsigned int dev_t;
     471                 : #endif
     472                 : #define _DEV_T_DEFINED
     473                 : #endif
     474                 : 
     475                 : #ifndef _OFF_T_DEFINED
     476                 : typedef long _off_t;                /* file offset value */
     477                 : #if     !__STDC__
     478                 : /* Non-ANSI name for compatibility */
     479                 : typedef long off_t;
     480                 : #endif
     481                 : #define _OFF_T_DEFINED
     482                 : #endif
     483                 : 
     484                 : #ifndef _STAT_DEFINED
     485                 : 
     486                 : struct _stat32 {
     487                 :         _dev_t     st_dev;
     488                 :         _ino_t     st_ino;
     489                 :         unsigned short st_mode;
     490                 :         short      st_nlink;
     491                 :         short      st_uid;
     492                 :         short      st_gid;
     493                 :         _dev_t     st_rdev;
     494                 :         _off_t     st_size;
     495                 :         __time32_t st_atime;
     496                 :         __time32_t st_mtime;
     497                 :         __time32_t st_ctime;
     498                 :         };
     499                 : 
     500                 : #if     !__STDC__
     501                 : /* Non-ANSI names for compatibility */
     502                 : struct stat {
     503                 :         _dev_t     st_dev;
     504                 :         _ino_t     st_ino;
     505                 :         unsigned short st_mode;
     506                 :         short      st_nlink;
     507                 :         short      st_uid;
     508                 :         short      st_gid;
     509                 :         _dev_t     st_rdev;
     510                 :         _off_t     st_size;
     511                 :         time_t st_atime;
     512                 :         time_t st_mtime;
     513                 :         time_t st_ctime;
     514                 :         };
     515                 : 
     516                 : #endif  /* __STDC__ */
     517                 : 
     518                 : struct _stat32i64 {
     519                 :         _dev_t     st_dev;
     520                 :         _ino_t     st_ino;
     521                 :         unsigned short st_mode;
     522                 :         short      st_nlink;
     523                 :         short      st_uid;
     524                 :         short      st_gid;
     525                 :         _dev_t     st_rdev;
     526                 :         __int64    st_size;
     527                 :         __time32_t st_atime;
     528                 :         __time32_t st_mtime;
     529                 :         __time32_t st_ctime;
     530                 :         };
     531                 : 
     532                 : struct _stat64i32 {
     533                 :         _dev_t     st_dev;
     534                 :         _ino_t     st_ino;
     535                 :         unsigned short st_mode;
     536                 :         short      st_nlink;
     537                 :         short      st_uid;
     538                 :         short      st_gid;
     539                 :         _dev_t     st_rdev;
     540                 :         _off_t     st_size;
     541                 :         __time64_t st_atime;
     542                 :         __time64_t st_mtime;
     543                 :         __time64_t st_ctime;
     544                 :         };
     545                 : 
     546                 : struct _stat64 {
     547                 :         _dev_t     st_dev;
     548                 :         _ino_t     st_ino;
     549                 :         unsigned short st_mode;
     550                 :         short      st_nlink;
     551                 :         short      st_uid;
     552                 :         short      st_gid;
     553                 :         _dev_t     st_rdev;
     554                 :         __int64    st_size;
     555                 :         __time64_t st_atime;
     556                 :         __time64_t st_mtime;
     557                 :         __time64_t st_ctime;
     558                 :         };
     559                 : 
     560                 : /*
     561                 :  * We have to have same name for structure and the fuction so as to do the
     562                 :  * macro magic.we need the structure name and function name the same.
     563                 :  */
     564                 : #define __stat64    _stat64
     565                 : 
     566                 : #ifdef _USE_32BIT_TIME_T
     567                 : #define _fstat      _fstat32
     568                 : #define _fstati64   _fstat32i64
     569                 : #define _stat       _stat32
     570                 : #define _stati64    _stat32i64
     571                 : #define _wstat      _wstat32
     572                 : #define _wstati64   _wstat32i64
     573                 : 
     574                 : #else
     575                 : #define _fstat      _fstat64i32
     576                 : #define _fstati64   _fstat64
     577                 : #define _stat       _stat64i32
     578                 : #define _stati64    _stat64
     579                 : #define _wstat      _wstat64i32
     580                 : #define _wstati64   _wstat64
     581                 : 
     582                 : #endif
     583                 : 
     584                 : 
     585                 : #define _STAT_DEFINED
     586                 : #endif
     587                 : 
     588                 : #ifndef _WSTAT_DEFINED
     589                 : 
     590                 : /* also declared in wchar.h */
     591                 : 
     592                 : _CRTIMP int __cdecl _wstat32(_In_z_ const wchar_t * _Name, _Out_ struct _stat32 * _Stat);
     593                 : 
     594                 : _CRTIMP int __cdecl _wstat32i64(_In_z_ const wchar_t * _Name, _Out_ struct _stat32i64 * _Stat);
     595                 : _CRTIMP int __cdecl _wstat64i32(_In_z_ const wchar_t * _Name, _Out_ struct _stat64i32 * _Stat);
     596                 : _CRTIMP int __cdecl _wstat64(_In_z_ const wchar_t * _Name, _Out_ struct _stat64 * _Stat);
     597                 : 
     598                 : #define _WSTAT_DEFINED
     599                 : #endif
     600                 : 
     601                 : #endif  /* !_POSIX_ */
     602                 : 
     603                 : 
     604                 : #ifndef _WCONIO_DEFINED
     605                 : 
     606                 : /* wide function prototypes, also declared in conio.h */
     607                 : 
     608                 : #ifndef WEOF
     609                 : #define WEOF (wint_t)(0xFFFF)
     610                 : #endif
     611                 : 
     612                 : _Check_return_wat_ _CRTIMP errno_t __cdecl _cgetws_s(_Out_cap_post_count_(_SizeInWords, *_SizeRead) wchar_t * _Buffer, size_t _SizeInWords, _Out_ size_t * _SizeRead);
     613                 : __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1(errno_t, _cgetws_s, _Deref_post_count_(*_Buffer) wchar_t, _Buffer, size_t *, _Size)
     614                 : __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_0_CGETS(wchar_t *, _CRTIMP, _cgetws, _Inout_z_, wchar_t, _Buffer)
     615                 : _Check_return_ _CRTIMP wint_t __cdecl _getwch(void);
     616                 : _Check_return_ _CRTIMP wint_t __cdecl _getwche(void);
     617                 : _Check_return_ _CRTIMP wint_t __cdecl _putwch(wchar_t _WCh);
     618                 : _Check_return_ _CRTIMP wint_t __cdecl _ungetwch(wint_t _WCh);
     619                 : _Check_return_opt_ _CRTIMP int __cdecl _cputws(_In_z_ const wchar_t * _String);
     620                 : _Check_return_opt_ _CRTIMP int __cdecl _cwprintf(_In_z_ _Printf_format_string_ const wchar_t * _Format, ...);
     621                 : _Check_return_opt_ _CRTIMP int __cdecl _cwprintf_s(_In_z_ _Printf_format_string_ const wchar_t * _Format, ...);
     622                 : _Check_return_opt_ _CRT_INSECURE_DEPRECATE(_cwscanf_s) _CRTIMP int __cdecl _cwscanf(_In_z_ _Scanf_format_string_ const wchar_t * _Format, ...);
     623                 : _Check_return_opt_ _CRT_INSECURE_DEPRECATE(_cwscanf_s_l) _CRTIMP int __cdecl _cwscanf_l(_In_z_ _Scanf_format_string_ const wchar_t * _Format, _In_opt_ _locale_t _Locale, ...);
     624                 : _Check_return_opt_ _CRTIMP int __cdecl _cwscanf_s(_In_z_ _Scanf_format_string_ const wchar_t * _Format, ...);
     625                 : _Check_return_opt_ _CRTIMP int __cdecl _cwscanf_s_l(_In_z_ _Scanf_format_string_ const wchar_t * _Format, _In_opt_ _locale_t _Locale, ...);
     626                 : _Check_return_opt_ _CRTIMP int __cdecl _vcwprintf(_In_z_ _Printf_format_string_ const wchar_t *_Format, va_list _ArgList);
     627                 : _Check_return_opt_ _CRTIMP int __cdecl _vcwprintf_s(_In_z_ _Printf_format_string_ const wchar_t *_Format, va_list _ArgList);
     628                 : 
     629                 : _Check_return_opt_ _CRTIMP int __cdecl _cwprintf_p(_In_z_ _Printf_format_string_ const wchar_t * _Format, ...);
     630                 : _Check_return_opt_ _CRTIMP int __cdecl _vcwprintf_p(_In_z_ _Printf_format_string_ const wchar_t*  _Format, va_list _ArgList);
     631                 : 
     632                 : _CRTIMP int __cdecl _cwprintf_l(_In_z_ _Printf_format_string_ const wchar_t * _Format, _In_opt_ _locale_t _Locale, ...);
     633                 : _CRTIMP int __cdecl _cwprintf_s_l(_In_z_ _Printf_format_string_ const wchar_t * _Format, _In_opt_ _locale_t _Locale, ...);
     634                 : _CRTIMP int __cdecl _vcwprintf_l(_In_z_ _Printf_format_string_ const wchar_t *_Format, _In_opt_ _locale_t _Locale, va_list _ArgList);
     635                 : _CRTIMP int __cdecl _vcwprintf_s_l(_In_z_ _Printf_format_string_ const wchar_t * _Format, _In_opt_ _locale_t _Locale, va_list _ArgList);
     636                 : _CRTIMP int __cdecl _cwprintf_p_l(_In_z_ _Printf_format_string_ const wchar_t * _Format, _In_opt_ _locale_t _Locale, ...);
     637                 : _CRTIMP int __cdecl _vcwprintf_p_l(_In_z_ _Printf_format_string_ const wchar_t * _Format, _In_opt_ _locale_t _Locale, va_list _ArgList);
     638                 : 
     639                 : _Check_return_opt_ wint_t __cdecl _putwch_nolock(wchar_t _WCh);
     640                 : _Check_return_ wint_t __cdecl _getwch_nolock(void);
     641                 : _Check_return_ wint_t __cdecl _getwche_nolock(void);
     642                 : _Check_return_opt_ wint_t __cdecl _ungetwch_nolock(wint_t _WCh);
     643                 : 
     644                 : #if !defined(_MT)
     645                 : #define _putwch()               _putwch_nolock()
     646                 : #define _getwch()               _getwch_nolock()
     647                 : #define _getwche()              _getwche_nolock()
     648                 : #define _ungetwch()             _ungetwch_nolock()
     649                 : #endif
     650                 : 
     651                 : #define _WCONIO_DEFINED
     652                 : #endif  /* _WCONIO_DEFINED */
     653                 : 
     654                 : #ifndef _WSTDIO_DEFINED
     655                 : 
     656                 : /* wide function prototypes, also declared in stdio.h  */
     657                 : 
     658                 : #ifndef WEOF
     659                 : #define WEOF (wint_t)(0xFFFF)
     660                 : #endif
     661                 : 
     662                 : #ifdef  _POSIX_
     663                 : _Check_return_ _CRTIMP FILE * __cdecl _wfsopen(_In_z_ const wchar_t * _Filename, _In_z_ const wchar_t * _Mode);
     664                 : #else
     665                 : _Check_return_ _CRTIMP FILE * __cdecl _wfsopen(_In_z_ const wchar_t * _Filename, _In_z_ const wchar_t * _Mode, _In_ int _ShFlag);
     666                 : #endif
     667                 : 
     668                 : _Check_return_opt_ _CRTIMP wint_t __cdecl fgetwc(_Inout_ FILE * _File);
     669                 : _Check_return_opt_ _CRTIMP wint_t __cdecl _fgetwchar(void);
     670                 : _Check_return_opt_ _CRTIMP wint_t __cdecl fputwc(_In_ wchar_t _Ch, _Inout_ FILE * _File);
     671                 : _Check_return_opt_ _CRTIMP wint_t __cdecl _fputwchar(_In_ wchar_t _Ch);
     672                 : _Check_return_ _CRTIMP wint_t __cdecl getwc(_Inout_ FILE * _File);
     673                 : _Check_return_ _CRTIMP wint_t __cdecl getwchar(void);
     674                 : _Check_return_opt_ _CRTIMP wint_t __cdecl putwc(_In_ wchar_t _Ch, _Inout_ FILE * _File);
     675                 : _Check_return_opt_ _CRTIMP wint_t __cdecl putwchar(_In_ wchar_t _Ch);
     676                 : _Check_return_opt_ _CRTIMP wint_t __cdecl ungetwc(_In_ wint_t _Ch, _Inout_ FILE * _File);
     677                 : 
     678                 : _Check_return_opt_ _CRTIMP wchar_t * __cdecl fgetws(_Out_z_cap_(_SizeInWords) wchar_t * _Dst, _In_ int _SizeInWords, _Inout_ FILE * _File);
     679                 : _Check_return_opt_ _CRTIMP int __cdecl fputws(_In_z_ const wchar_t * _Str, _Inout_ FILE * _File);
     680                 : _Check_return_opt_ _CRTIMP wchar_t * __cdecl _getws_s(_Out_z_cap_(_SizeInWords) wchar_t * _Str, _In_ size_t _SizeInWords);
     681                 : __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_0(wchar_t *, _getws_s, wchar_t, _String)
     682                 : __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_0(wchar_t *, __RETURN_POLICY_SAME, _CRTIMP, _getws, _Pre_notnull_ _Post_z_, wchar_t, _String)
     683                 : _Check_return_opt_ _CRTIMP int __cdecl _putws(_In_z_ const wchar_t * _Str);
     684                 : 
     685                 : _Check_return_opt_ _CRTIMP int __cdecl fwprintf(_Inout_ FILE * _File, _In_z_ _Printf_format_string_ const wchar_t * _Format, ...);
     686                 : #if __STDC_WANT_SECURE_LIB__
     687                 : _Check_return_opt_ _CRTIMP int __cdecl fwprintf_s(_Inout_ FILE * _File, _In_z_ _Printf_format_string_ const wchar_t * _Format, ...);
     688                 : #endif
     689                 : _Check_return_opt_ _CRTIMP int __cdecl wprintf(_In_z_ _Printf_format_string_ const wchar_t * _Format, ...);
     690                 : #if __STDC_WANT_SECURE_LIB__
     691                 : _Check_return_opt_ _CRTIMP int __cdecl wprintf_s(_In_z_ _Printf_format_string_ const wchar_t * _Format, ...);
     692                 : #endif
     693                 : _Check_return_ _CRTIMP int __cdecl _scwprintf(_In_z_ _Printf_format_string_ const wchar_t * _Format, ...);
     694                 : _Check_return_opt_ _CRTIMP int __cdecl vfwprintf(_Inout_ FILE * _File, _In_z_ _Printf_format_string_ const wchar_t * _Format, va_list _ArgList);
     695                 : #if __STDC_WANT_SECURE_LIB__
     696                 : _Check_return_opt_ _CRTIMP int __cdecl vfwprintf_s(_Inout_ FILE * _File, _In_z_ _Printf_format_string_ const wchar_t * _Format, va_list _ArgList);
     697                 : #endif
     698                 : _Check_return_opt_ _CRTIMP int __cdecl vwprintf(_In_z_ _Printf_format_string_ const wchar_t * _Format, va_list _ArgList);
     699                 : #if __STDC_WANT_SECURE_LIB__
     700                 : _Check_return_opt_ _CRTIMP int __cdecl vwprintf_s(_In_z_ _Printf_format_string_ const wchar_t * _Format, va_list _ArgList);
     701                 : #endif
     702                 : 
     703                 : #if __STDC_WANT_SECURE_LIB__
     704                 : _CRTIMP_ALTERNATIVE int __cdecl swprintf_s(_Out_z_cap_(_SizeInWords) wchar_t * _Dst, _In_ size_t _SizeInWords, _In_z_ _Printf_format_string_ const wchar_t * _Format, ...);
     705                 : #endif
     706                 : __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1_ARGLIST(int, swprintf_s, vswprintf_s, wchar_t, _Dest, _In_z_ _Printf_format_string_ const wchar_t *, _Format)
     707                 : #if __STDC_WANT_SECURE_LIB__
     708                 : _CRTIMP_ALTERNATIVE int __cdecl vswprintf_s(_Out_z_cap_(_SizeInWords) wchar_t * _Dst, _In_ size_t _SizeInWords, _In_z_ _Printf_format_string_ const wchar_t * _Format, va_list _ArgList);
     709                 : #endif
     710                 : __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_2(int, vswprintf_s, wchar_t, _Dest, _In_z_ _Printf_format_string_ const wchar_t *, _Format, va_list, _Args)
     711                 : 
     712                 : _Check_return_opt_ _CRTIMP int __cdecl _swprintf_c(_Out_z_cap_(_SizeInWords) wchar_t * _DstBuf, _In_ size_t _SizeInWords, _In_z_ _Printf_format_string_ const wchar_t * _Format, ...);
     713                 : _Check_return_opt_ _CRTIMP int __cdecl _vswprintf_c(_Out_z_cap_(_SizeInWords) wchar_t * _DstBuf, _In_ size_t _SizeInWords, _In_z_ _Printf_format_string_ const wchar_t * _Format, va_list _ArgList);
     714                 : 
     715                 : _Check_return_opt_ _CRTIMP_ALTERNATIVE int __cdecl _snwprintf_s(_Out_z_cap_(_DstSizeInWords) wchar_t * _DstBuf, _In_ size_t _DstSizeInWords, _In_ size_t _MaxCount, _In_z_ _Printf_format_string_ const wchar_t * _Format, ...);
     716                 : __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_2_ARGLIST(int, _snwprintf_s, _vsnwprintf_s, wchar_t, _Dest, _In_ size_t, _Count, _In_z_ _Printf_format_string_ const wchar_t *, _Format)
     717                 : _Check_return_opt_ _CRTIMP_ALTERNATIVE int __cdecl _vsnwprintf_s(_Out_z_cap_(_DstSizeInWords) wchar_t * _DstBuf, _In_ size_t _DstSizeInWords, _In_ size_t _MaxCount, _In_z_ _Printf_format_string_ const wchar_t * _Format, va_list _ArgList);
     718                 : __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_3(int, _vsnwprintf_s, wchar_t, _Dest, _In_ size_t, _Count, _In_z_ _Printf_format_string_ const wchar_t *, _Format, va_list, _Args)
     719                 : __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_ARGLIST_EX(int, __RETURN_POLICY_SAME, _CRTIMP, _snwprintf, _vsnwprintf, _Pre_notnull_ _Post_maybez_ wchar_t, _Out_cap_(_Count) _Post_maybez_, wchar_t, _Dest, _In_ size_t, _Count, _In_z_ _Printf_format_string_ const wchar_t *, _Format)
     720                 : 
     721                 : _Check_return_opt_ _CRTIMP int __cdecl _fwprintf_p(_Inout_ FILE * _File, _In_z_ _Printf_format_string_ const wchar_t * _Format, ...);
     722                 : _Check_return_opt_ _CRTIMP int __cdecl _wprintf_p(_In_z_ _Printf_format_string_ const wchar_t * _Format, ...);
     723                 : _Check_return_opt_ _CRTIMP int __cdecl _vfwprintf_p(_Inout_ FILE * _File, _In_z_ _Printf_format_string_ const wchar_t * _Format, va_list _ArgList);
     724                 : _Check_return_opt_ _CRTIMP int __cdecl _vwprintf_p(_In_z_ _Printf_format_string_ const wchar_t * _Format, va_list _ArgList);
     725                 : _Check_return_opt_ _CRTIMP int __cdecl _swprintf_p(_Out_z_cap_(_MaxCount) wchar_t * _DstBuf, _In_ size_t _MaxCount, _In_z_ _Printf_format_string_ const wchar_t * _Format, ...);
     726                 : _Check_return_opt_ _CRTIMP int __cdecl _vswprintf_p(_Out_z_cap_(_MaxCount) wchar_t * _DstBuf, _In_ size_t _MaxCount, _In_z_ _Printf_format_string_ const wchar_t * _Format, va_list _ArgList);
     727                 : _Check_return_ _CRTIMP int __cdecl _scwprintf_p(_In_z_ _Printf_format_string_ const wchar_t * _Format, ...);
     728                 : _Check_return_ _CRTIMP int __cdecl _vscwprintf_p(_In_z_ _Printf_format_string_ const wchar_t * _Format, va_list _ArgList);
     729                 : 
     730                 : _Check_return_opt_ _CRTIMP int __cdecl _wprintf_l(_In_z_ _Printf_format_string_ const wchar_t * _Format, _In_opt_ _locale_t _Locale, ...);
     731                 : _Check_return_opt_ _CRTIMP int __cdecl _wprintf_p_l(_In_z_ _Printf_format_string_ const wchar_t * _Format, _In_opt_ _locale_t _Locale, ...);
     732                 : _Check_return_opt_ _CRTIMP int __cdecl _wprintf_s_l(_In_z_ _Printf_format_string_ const wchar_t * _Format, _In_opt_ _locale_t _Locale, ...);
     733                 : _Check_return_opt_ _CRTIMP int __cdecl _vwprintf_l(_In_z_ _Printf_format_string_ const wchar_t * _Format, _In_opt_ _locale_t _Locale, va_list _ArgList);
     734                 : _Check_return_opt_ _CRTIMP int __cdecl _vwprintf_p_l(_In_z_ _Printf_format_string_ const wchar_t * _Format, _In_opt_ _locale_t _Locale, va_list _ArgList);
     735                 : _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);
     736                 : 
     737                 : _Check_return_opt_ _CRTIMP int __cdecl _fwprintf_l(_Inout_ FILE * _File, _In_z_ _Printf_format_string_ const wchar_t * _Format, _In_opt_ _locale_t _Locale, ...);
     738                 : _Check_return_opt_ _CRTIMP int __cdecl _fwprintf_p_l(_Inout_ FILE * _File, _In_z_ _Printf_format_string_ const wchar_t * _Format, _In_opt_ _locale_t _Locale, ...);
     739                 : _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, ...);
     740                 : _Check_return_opt_ _CRTIMP int __cdecl _vfwprintf_l(_Inout_ FILE * _File, _In_z_ _Printf_format_string_ const wchar_t * _Format, _In_opt_ _locale_t _Locale, va_list _ArgList);
     741                 : _Check_return_opt_ _CRTIMP int __cdecl _vfwprintf_p_l(_Inout_ FILE * _File, _In_z_ _Printf_format_string_ const wchar_t * _Format, _In_opt_ _locale_t _Locale, va_list _ArgList);
     742                 : _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);
     743                 : 
     744                 : _Check_return_opt_ _CRTIMP int __cdecl _swprintf_c_l(_Out_z_cap_(_MaxCount) wchar_t * _DstBuf, _In_ size_t _MaxCount, _In_z_ _Printf_format_string_ const wchar_t * _Format, _In_opt_ _locale_t _Locale, ...);
     745                 : _Check_return_opt_ _CRTIMP int __cdecl _swprintf_p_l(_Out_z_cap_(_MaxCount) wchar_t * _DstBuf, _In_ size_t _MaxCount, _In_z_ _Printf_format_string_ const wchar_t * _Format, _In_opt_ _locale_t _Locale, ...);
     746                 : _Check_return_opt_ _CRTIMP_ALTERNATIVE int __cdecl _swprintf_s_l(_Out_z_cap_(_DstSize) wchar_t * _DstBuf, _In_ size_t _DstSize, _In_z_ _Printf_format_string_ const wchar_t * _Format, _In_opt_ _locale_t _Locale, ...);
     747                 : _Check_return_opt_ _CRTIMP int __cdecl _vswprintf_c_l(_Out_z_cap_(_MaxCount) wchar_t * _DstBuf, _In_ size_t _MaxCount, _In_z_ _Printf_format_string_ const wchar_t * _Format, _In_opt_ _locale_t _Locale, va_list _ArgList);
     748                 : _Check_return_opt_ _CRTIMP int __cdecl _vswprintf_p_l(_Out_z_cap_(_MaxCount) wchar_t * _DstBuf, _In_ size_t _MaxCount, _In_z_ _Printf_format_string_ const wchar_t * _Format, _In_opt_ _locale_t _Locale, va_list _ArgList);
     749                 : _Check_return_opt_ _CRTIMP_ALTERNATIVE int __cdecl _vswprintf_s_l(_Out_z_cap_(_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);
     750                 : 
     751                 : _Check_return_ _CRTIMP int __cdecl _scwprintf_l(_In_z_ _Printf_format_string_ const wchar_t * _Format, _In_opt_ _locale_t _Locale, ...);
     752                 : _Check_return_ _CRTIMP int __cdecl _scwprintf_p_l(_In_z_ _Printf_format_string_ const wchar_t * _Format, _In_opt_ _locale_t _Locale, ...);
     753                 : _Check_return_ _CRTIMP int __cdecl _vscwprintf_p_l(_In_z_ _Printf_format_string_ const wchar_t * _Format, _In_opt_ _locale_t _Locale, va_list _ArgList);
     754                 : 
     755                 : _Check_return_opt_ _CRT_INSECURE_DEPRECATE(_snwprintf_s_l) _CRTIMP int __cdecl _snwprintf_l(_Out_cap_(_MaxCount) wchar_t * _DstBuf, _In_ size_t _MaxCount, _In_z_ _Printf_format_string_ const wchar_t * _Format, _In_opt_ _locale_t _Locale, ...);
     756                 : _Check_return_opt_ _CRTIMP_ALTERNATIVE int __cdecl _snwprintf_s_l(_Out_z_cap_(_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, ...);
     757                 : _Check_return_opt_ _CRT_INSECURE_DEPRECATE(_vsnwprintf_s_l) _CRTIMP int __cdecl _vsnwprintf_l(_Out_cap_(_MaxCount) wchar_t * _DstBuf, _In_ size_t _MaxCount, _In_z_ _Printf_format_string_ const wchar_t * _Format, _In_opt_ _locale_t _Locale, va_list _ArgList);
     758                 : _Check_return_opt_ _CRTIMP_ALTERNATIVE int __cdecl _vsnwprintf_s_l(_Out_z_cap_(_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);
     759                 : 
     760                 : #ifndef _CRT_NON_CONFORMING_SWPRINTFS
     761                 : 
     762                 : #define _SWPRINTFS_DEPRECATED _CRT_DEPRECATE_TEXT("swprintf has been changed to conform with the ISO C standard, adding an extra character count parameter. To use traditional Microsoft swprintf, set _CRT_NON_CONFORMING_SWPRINTFS.")
     763                 : 
     764                 : #else
     765                 : 
     766                 : #define _SWPRINTFS_DEPRECATED 
     767                 : 
     768                 : #endif /* ifndef _CRT_NON_CONFORMING_SWPRINTFS */
     769                 : 
     770                 : /* we could end up with a double deprecation, disable warnings 4141 and 4996 */
     771                 : #pragma warning(push)
     772                 : #pragma warning(disable:4141 4996)
     773                 : __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1_ARGLIST_EX(int, __RETURN_POLICY_SAME, _SWPRINTFS_DEPRECATED _CRTIMP, _swprintf, _swprintf_s, _vswprintf, vswprintf_s, _Pre_notnull_ _Post_z_, wchar_t, _Dest, _In_z_ _Printf_format_string_ const wchar_t *, _Format)
     774                 : __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_2_ARGLIST_EX(int, __RETURN_POLICY_SAME, _SWPRINTFS_DEPRECATED _CRTIMP, __swprintf_l, __vswprintf_l, _vswprintf_s_l, _Pre_notnull_ _Post_z_ wchar_t, _Out_, wchar_t, _Dest, _In_z_ _Printf_format_string_ const wchar_t *, _Format, _locale_t, _Plocinfo)
     775                 : #pragma warning(pop)
     776                 : 
     777                 : #if !defined(RC_INVOKED) && !defined(__midl)
     778                 : #include <swprintf.inl>
     779                 : #endif
     780                 : 
     781                 : #ifdef _CRT_NON_CONFORMING_SWPRINTFS
     782                 : #ifndef __cplusplus
     783                 : #define swprintf _swprintf
     784                 : #define vswprintf _vswprintf
     785                 : #define _swprintf_l __swprintf_l
     786                 : #define _vswprintf_l __vswprintf_l
     787                 : #endif
     788                 : #endif
     789                 : 
     790                 : #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC)
     791                 : #pragma push_macro("_wtempnam")
     792                 : #undef _wtempnam
     793                 : #endif
     794                 : 
     795                 : _Check_return_ _CRTIMP wchar_t * __cdecl _wtempnam(_In_opt_z_ const wchar_t * _Directory, _In_opt_z_ const wchar_t * _FilePrefix);
     796                 : 
     797                 : #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC)
     798                 : #pragma pop_macro("_wtempnam")
     799                 : #endif
     800                 : 
     801                 : _Check_return_ _CRTIMP int __cdecl _vscwprintf(_In_z_ _Printf_format_string_ const wchar_t * _Format, va_list _ArgList);
     802                 : _Check_return_ _CRTIMP int __cdecl _vscwprintf_l(_In_z_ _Printf_format_string_ const wchar_t * _Format, _In_opt_ _locale_t _Locale, va_list _ArgList);
     803                 : _Check_return_ _CRT_INSECURE_DEPRECATE(fwscanf_s) _CRTIMP int __cdecl fwscanf(_Inout_ FILE * _File, _In_z_ _Scanf_format_string_ const wchar_t * _Format, ...);
     804                 : _Check_return_opt_ _CRT_INSECURE_DEPRECATE(_fwscanf_s_l) _CRTIMP int __cdecl _fwscanf_l(_Inout_ FILE * _File, _In_z_ _Scanf_format_string_ const wchar_t * _Format, _In_opt_ _locale_t _Locale, ...);
     805                 : #if __STDC_WANT_SECURE_LIB__
     806                 : _Check_return_opt_ _CRTIMP int __cdecl fwscanf_s(_Inout_ FILE * _File, _In_z_ _Scanf_s_format_string_ const wchar_t * _Format, ...);
     807                 : #endif
     808                 : _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, ...);
     809                 : _Check_return_ _CRT_INSECURE_DEPRECATE(swscanf_s) _CRTIMP int __cdecl swscanf(_In_z_ const wchar_t * _Src, _In_z_ _Scanf_format_string_ const wchar_t * _Format, ...);
     810                 : _Check_return_opt_ _CRT_INSECURE_DEPRECATE(_swscanf_s_l) _CRTIMP int __cdecl _swscanf_l(_In_z_ const wchar_t * _Src, _In_z_ _Scanf_format_string_ const wchar_t * _Format, _In_opt_ _locale_t _Locale, ...);
     811                 : #if __STDC_WANT_SECURE_LIB__
     812                 : _Check_return_opt_ _CRTIMP_ALTERNATIVE int __cdecl swscanf_s(_In_z_ const wchar_t *_Src, _In_z_ _Scanf_s_format_string_ const wchar_t * _Format, ...);
     813                 : #endif
     814                 : _Check_return_opt_ _CRTIMP_ALTERNATIVE 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, ...);
     815                 : _Check_return_opt_ _CRT_INSECURE_DEPRECATE(_snwscanf_s) _CRTIMP int __cdecl _snwscanf(_In_count_(_MaxCount) _Pre_z_ const wchar_t * _Src, _In_ size_t _MaxCount, _In_z_ _Scanf_format_string_ const wchar_t * _Format, ...);
     816                 : _Check_return_opt_ _CRT_INSECURE_DEPRECATE(_snwscanf_s_l) _CRTIMP int __cdecl _snwscanf_l(_In_count_(_MaxCount) _Pre_z_ const wchar_t * _Src, _In_ size_t _MaxCount, _In_z_ _Scanf_format_string_ const wchar_t * _Format, _In_opt_ _locale_t _Locale, ...);
     817                 : _Check_return_opt_ _CRTIMP_ALTERNATIVE int __cdecl _snwscanf_s(_In_count_(_MaxCount) _Pre_z_ const wchar_t * _Src, _In_ size_t _MaxCount, _In_z_ _Scanf_s_format_string_ const wchar_t * _Format, ...);
     818                 : _Check_return_opt_ _CRTIMP_ALTERNATIVE int __cdecl _snwscanf_s_l(_In_count_(_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, ...);
     819                 : _Check_return_ _CRT_INSECURE_DEPRECATE(wscanf_s) _CRTIMP int __cdecl wscanf(_In_z_ _Scanf_format_string_ const wchar_t * _Format, ...);
     820                 : _Check_return_opt_ _CRT_INSECURE_DEPRECATE(_wscanf_s_l) _CRTIMP int __cdecl _wscanf_l(_In_z_ _Scanf_format_string_ const wchar_t * _Format, _In_opt_ _locale_t _Locale, ...);
     821                 : #if __STDC_WANT_SECURE_LIB__
     822                 : _Check_return_opt_ _CRTIMP_ALTERNATIVE int __cdecl wscanf_s(_In_z_ _Scanf_format_string_ const wchar_t * _Format, ...);
     823                 : #endif
     824                 : _Check_return_opt_ _CRTIMP_ALTERNATIVE int __cdecl _wscanf_s_l(_In_z_ _Scanf_format_string_ const wchar_t * _Format, _In_opt_ _locale_t _Locale, ...);
     825                 : 
     826                 : _Check_return_ _CRTIMP FILE * __cdecl _wfdopen(_In_ int _FileHandle , _In_z_ const wchar_t * _Mode);
     827                 : _Check_return_ _CRT_INSECURE_DEPRECATE(_wfopen_s) _CRTIMP FILE * __cdecl _wfopen(_In_z_ const wchar_t * _Filename, _In_z_ const wchar_t * _Mode);
     828                 : _Check_return_wat_ _CRTIMP errno_t __cdecl _wfopen_s(_Deref_out_opt_ FILE ** _File, _In_z_ const wchar_t * _Filename, _In_z_ const wchar_t * _Mode);
     829                 : _Check_return_ _CRT_INSECURE_DEPRECATE(_wfreopen_s) _CRTIMP FILE * __cdecl _wfreopen(_In_z_ const wchar_t * _Filename, _In_z_ const wchar_t * _Mode, _Inout_ FILE * _OldFile);
     830                 : _Check_return_wat_ _CRTIMP errno_t __cdecl _wfreopen_s(_Deref_out_opt_ FILE ** _File, _In_z_ const wchar_t * _Filename, _In_z_ const wchar_t * _Mode, _Inout_ FILE * _OldFile);
     831                 : 
     832                 : #ifndef _CRT_WPERROR_DEFINED
     833                 : #define _CRT_WPERROR_DEFINED
     834                 : _CRTIMP void __cdecl _wperror(_In_opt_z_ const wchar_t * _ErrMsg);
     835                 : #endif 
     836                 : _Check_return_ _CRTIMP FILE * __cdecl _wpopen(_In_z_ const wchar_t *_Command, _In_z_ const wchar_t * _Mode);
     837                 : _Check_return_ _CRTIMP int __cdecl _wremove(_In_z_ const wchar_t * _Filename);
     838                 : _Check_return_wat_ _CRTIMP errno_t __cdecl _wtmpnam_s(_Out_z_cap_(_SizeInWords) wchar_t * _DstBuf, _In_ size_t _SizeInWords);
     839                 : __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_0(errno_t, _wtmpnam_s, _Deref_post_z_ wchar_t, _Buffer)
     840                 : __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_0(wchar_t *, __RETURN_POLICY_DST, _CRTIMP, _wtmpnam, _Pre_maybenull_ _Post_z_, wchar_t, _Buffer)
     841                 : 
     842                 : _Check_return_opt_ _CRTIMP wint_t __cdecl _fgetwc_nolock(_Inout_ FILE * _File);
     843                 : _Check_return_opt_ _CRTIMP wint_t __cdecl _fputwc_nolock(_In_ wchar_t _Ch, _Inout_ FILE * _File);
     844                 : _Check_return_opt_ _CRTIMP wint_t __cdecl _ungetwc_nolock(_In_ wint_t _Ch, _Inout_ FILE * _File);
     845                 : 
     846                 : #undef _CRT_GETPUTWCHAR_NOINLINE
     847                 : 
     848                 : #if !defined(__cplusplus) || defined(_M_CEE_PURE) || defined(_CRT_GETPUTWCHAR_NOINLINE)
     849                 : #define getwchar()      fgetwc(stdin)
     850                 : #define putwchar(_c)    fputwc((_c),stdout)
     851                 : #else   /* __cplusplus */
     852                 : inline wint_t __CRTDECL getwchar()
     853                 :         {return (fgetwc(stdin)); }   /* stdin */
     854                 : inline wint_t __CRTDECL putwchar(wchar_t _C)
     855                 :         {return (fputwc(_C, stdout)); }       /* stdout */
     856                 : #endif  /* __cplusplus */
     857                 : 
     858                 : #define getwc(_stm)             fgetwc(_stm)
     859                 : #define putwc(_c,_stm)          fputwc(_c,_stm)
     860                 : #define _putwc_nolock(_c,_stm)     _fputwc_nolock(_c,_stm)
     861                 : #define _getwc_nolock(_c)          _fgetwc_nolock(_c)
     862                 : 
     863                 : #if defined(_CRT_DISABLE_PERFCRIT_LOCKS) && !defined(_DLL)
     864                 : #define fgetwc(_stm)            _getwc_nolock(_stm)
     865                 : #define fputwc(_c,_stm)         _putwc_nolock(_c,_stm)
     866                 : #define ungetwc(_c,_stm)        _ungetwc_nolock(_c,_stm)
     867                 : #endif
     868                 : 
     869                 : #define _WSTDIO_DEFINED
     870                 : #endif  /* _WSTDIO_DEFINED */
     871                 : 
     872                 : #ifndef _WSTDLIB_DEFINED
     873                 : 
     874                 : /* wide function prototypes, also declared in stdlib.h  */
     875                 : 
     876                 : _Check_return_wat_ _CRTIMP errno_t __cdecl _itow_s (_In_ int _Val, _Out_z_cap_(_SizeInWords) wchar_t * _DstBuf, _In_ size_t _SizeInWords, _In_ int _Radix);
     877                 : __DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_1(errno_t, _itow_s, _In_ int, _Value, wchar_t, _Dest, _In_ int, _Radix)
     878                 : __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_1_1(wchar_t *, __RETURN_POLICY_DST, _CRTIMP, _itow, _In_ int, _Value, _Pre_notnull_ _Post_z_, wchar_t, _Dest, _In_ int, _Radix)
     879                 : _Check_return_wat_ _CRTIMP errno_t __cdecl _ltow_s (_In_ long _Val, _Out_z_cap_(_SizeInWords) wchar_t * _DstBuf, _In_ size_t _SizeInWords, _In_ int _Radix);
     880                 : __DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_1(errno_t, _ltow_s, _In_ long, _Value, wchar_t, _Dest, _In_ int, _Radix)
     881                 : __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_1_1(wchar_t *, __RETURN_POLICY_DST, _CRTIMP, _ltow, _In_ long, _Value, _Pre_notnull_ _Post_z_, wchar_t, _Dest, _In_ int, _Radix)
     882                 : _Check_return_wat_ _CRTIMP errno_t __cdecl _ultow_s (_In_ unsigned long _Val, _Out_z_cap_(_SizeInWords) wchar_t * _DstBuf, _In_ size_t _SizeInWords, _In_ int _Radix);
     883                 : __DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_1(errno_t, _ultow_s, _In_ unsigned long, _Value, wchar_t, _Dest, _In_ int, _Radix)
     884                 : __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_1_1(wchar_t *, __RETURN_POLICY_DST, _CRTIMP, _ultow, _In_ unsigned long, _Value, _Pre_notnull_ _Post_z_, wchar_t, _Dest, _In_ int, _Radix)
     885                 : _Check_return_ _CRTIMP double __cdecl wcstod(_In_z_ const wchar_t * _Str, _Out_opt_ _Deref_post_z_ wchar_t ** _EndPtr);
     886                 : _Check_return_ _CRTIMP double __cdecl _wcstod_l(_In_z_ const wchar_t *_Str, _Out_opt_ _Deref_post_z_ wchar_t ** _EndPtr, _In_opt_ _locale_t _Locale);
     887                 : _Check_return_ _CRTIMP long   __cdecl wcstol(_In_z_ const wchar_t *_Str, _Out_opt_ _Deref_post_z_ wchar_t ** _EndPtr, int _Radix);
     888                 : _Check_return_ _CRTIMP long   __cdecl _wcstol_l(_In_z_ const wchar_t *_Str, _Out_opt_ _Deref_post_z_ wchar_t **_EndPtr, int _Radix, _In_opt_ _locale_t _Locale);
     889                 : _Check_return_ _CRTIMP unsigned long __cdecl wcstoul(_In_z_ const wchar_t *_Str, _Out_opt_ _Deref_post_z_ wchar_t ** _EndPtr, int _Radix);
     890                 : _Check_return_ _CRTIMP unsigned long __cdecl _wcstoul_l(_In_z_ const wchar_t *_Str, _Out_opt_ _Deref_post_z_ wchar_t **_EndPtr, int _Radix, _In_opt_ _locale_t _Locale);
     891                 : _Check_return_ _CRTIMP _CRT_INSECURE_DEPRECATE(_wdupenv_s) wchar_t * __cdecl _wgetenv(_In_z_ const wchar_t * _VarName);
     892                 : _Check_return_wat_ _CRTIMP errno_t __cdecl _wgetenv_s(_Out_ size_t * _ReturnSize, _Out_z_cap_(_DstSizeInWords) wchar_t * _DstBuf, _In_ size_t _DstSizeInWords, _In_z_ const wchar_t * _VarName);
     893                 : __DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_1(errno_t, _wgetenv_s, _Out_ size_t *, _ReturnSize, wchar_t, _Dest, _In_z_ const wchar_t *, _VarName)
     894                 : 
     895                 : #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC)
     896                 : #pragma push_macro("_wdupenv_s")
     897                 : #undef _wdupenv_s
     898                 : #endif
     899                 : 
     900                 : _Check_return_wat_ _CRTIMP errno_t __cdecl _wdupenv_s(_Out_ _Deref_post_opt_z_cap_(*_BufferSizeInWords) wchar_t **_Buffer, _Out_opt_ size_t *_BufferSizeInWords, _In_z_ const wchar_t *_VarName);
     901                 : 
     902                 : #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC)
     903                 : #pragma pop_macro("_wdupenv_s")
     904                 : #endif
     905                 : #ifndef _CRT_WSYSTEM_DEFINED
     906                 : #define _CRT_WSYSTEM_DEFINED
     907                 : _CRTIMP int __cdecl _wsystem(_In_opt_z_ const wchar_t * _Command);
     908                 : #endif
     909                 : _Check_return_ _CRTIMP double __cdecl _wtof(_In_z_ const wchar_t *_Str);
     910                 : _Check_return_ _CRTIMP double __cdecl _wtof_l(_In_z_ const wchar_t *_Str, _In_opt_ _locale_t _Locale);
     911                 : _Check_return_ _CRTIMP int __cdecl _wtoi(_In_z_ const wchar_t *_Str);
     912                 : _Check_return_ _CRTIMP int __cdecl _wtoi_l(_In_z_ const wchar_t *_Str, _In_opt_ _locale_t _Locale);
     913                 : _Check_return_ _CRTIMP long __cdecl _wtol(_In_z_ const wchar_t *_Str);
     914                 : _Check_return_ _CRTIMP long __cdecl _wtol_l(_In_z_ const wchar_t *_Str, _In_opt_ _locale_t _Locale);
     915                 : 
     916                 : _Check_return_wat_ _CRTIMP errno_t __cdecl _i64tow_s(_In_ __int64 _Val, _Out_z_cap_(_SizeInWords) wchar_t * _DstBuf, _In_ size_t _SizeInWords, _In_ int _Radix);
     917                 : _CRTIMP _CRT_INSECURE_DEPRECATE(_i64tow_s) wchar_t * __cdecl _i64tow(_In_ __int64 _Val, _Pre_notnull_ _Post_z_ wchar_t * _DstBuf, _In_ int _Radix);
     918                 : _Check_return_wat_ _CRTIMP errno_t __cdecl _ui64tow_s(_In_ unsigned __int64 _Val, _Out_z_cap_(_SizeInWords) wchar_t * _DstBuf, _In_ size_t _SizeInWords, _In_ int _Radix);
     919                 : _CRTIMP _CRT_INSECURE_DEPRECATE(_ui64tow_s) wchar_t * __cdecl _ui64tow(_In_ unsigned __int64 _Val, _Pre_notnull_ _Post_z_ wchar_t * _DstBuf, _In_ int _Radix);
     920                 : _Check_return_ _CRTIMP __int64   __cdecl _wtoi64(_In_z_ const wchar_t *_Str);
     921                 : _Check_return_ _CRTIMP __int64   __cdecl _wtoi64_l(_In_z_ const wchar_t *_Str, _In_opt_ _locale_t _Locale);
     922                 : _Check_return_ _CRTIMP __int64   __cdecl _wcstoi64(_In_z_ const wchar_t * _Str, _Out_opt_ _Deref_post_z_ wchar_t ** _EndPtr, _In_ int _Radix);
     923                 : _Check_return_ _CRTIMP __int64   __cdecl _wcstoi64_l(_In_z_ const wchar_t * _Str, _Out_opt_ _Deref_post_z_ wchar_t ** _EndPtr, _In_ int _Radix, _In_opt_ _locale_t _Locale);
     924                 : _Check_return_ _CRTIMP unsigned __int64  __cdecl _wcstoui64(_In_z_ const wchar_t * _Str, _Out_opt_ _Deref_post_z_ wchar_t ** _EndPtr, _In_ int _Radix);
     925                 : _Check_return_ _CRTIMP unsigned __int64  __cdecl _wcstoui64_l(_In_z_ const wchar_t *_Str , _Out_opt_ _Deref_post_z_ wchar_t ** _EndPtr, _In_ int _Radix, _In_opt_ _locale_t _Locale);
     926                 : 
     927                 : #define _WSTDLIB_DEFINED
     928                 : #endif
     929                 : 
     930                 : #ifndef _POSIX_
     931                 : 
     932                 : #ifndef _WSTDLIBP_DEFINED
     933                 : 
     934                 : /* wide function prototypes, also declared in stdlib.h  */
     935                 : 
     936                 : #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC)
     937                 : #pragma push_macro("_wfullpath")
     938                 : #undef _wfullpath
     939                 : #endif
     940                 : 
     941                 : _Check_return_ _CRTIMP wchar_t * __cdecl _wfullpath(_Out_opt_z_cap_(_SizeInWords) wchar_t * _FullPath, _In_z_ const wchar_t * _Path, _In_ size_t _SizeInWords);
     942                 : 
     943                 : #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC)
     944                 : #pragma pop_macro("_wfullpath")
     945                 : #endif
     946                 : 
     947                 : _Check_return_wat_ _CRTIMP_ALTERNATIVE errno_t __cdecl _wmakepath_s(_Out_z_cap_(_SizeInBytes) wchar_t * _PathResult, _In_ size_t _SizeInBytes, _In_opt_z_ const wchar_t * _Drive, _In_opt_z_ const wchar_t * _Dir, _In_opt_z_ const wchar_t * _Filename,
     948                 :         _In_opt_z_ const wchar_t * _Ext);        
     949                 : __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_4(errno_t, _wmakepath_s, wchar_t, _ResultPath, _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)
     950                 : __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_4(void, __RETURN_POLICY_VOID, _CRTIMP, _wmakepath, _Pre_notnull_ _Post_z_, wchar_t, _ResultPath, _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)
     951                 : #ifndef _CRT_WPERROR_DEFINED
     952                 : #define _CRT_WPERROR_DEFINED
     953                 : _CRTIMP void __cdecl _wperror(_In_opt_z_ const wchar_t * _ErrMsg);
     954                 : #endif 
     955                 : _Check_return_ _CRTIMP int    __cdecl _wputenv(_In_z_ const wchar_t * _EnvString);
     956                 : _Check_return_wat_ _CRTIMP errno_t __cdecl _wputenv_s(_In_z_ const wchar_t * _Name, _In_z_ const wchar_t * _Value);
     957                 : _CRTIMP errno_t __cdecl _wsearchenv_s(_In_z_ const wchar_t * _Filename, _In_z_ const wchar_t * _EnvVar, _Out_z_cap_(_SizeInWords) wchar_t * _ResultPath, _In_ size_t _SizeInWords);
     958                 : __DEFINE_CPP_OVERLOAD_SECURE_FUNC_2_0(errno_t, _wsearchenv_s, _In_z_ const wchar_t *, _Filename, _In_z_ const wchar_t *, _EnvVar, wchar_t, _ResultPath)
     959                 : __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_2_0(void, __RETURN_POLICY_VOID, _CRTIMP, _wsearchenv, _In_z_ const wchar_t *, _Filename, _In_z_ const wchar_t *, _EnvVar, _Pre_notnull_ _Post_z_, wchar_t, _ResultPath)
     960                 : _CRT_INSECURE_DEPRECATE(_wsplitpath_s) _CRTIMP void   __cdecl _wsplitpath(_In_z_ const wchar_t * _FullPath, _Pre_maybenull_ _Post_z_ wchar_t * _Drive, _Pre_maybenull_ _Post_z_ wchar_t * _Dir, _Pre_maybenull_ _Post_z_ wchar_t * _Filename, _Pre_maybenull_ _Post_z_ wchar_t * _Ext);
     961                 : _CRTIMP_ALTERNATIVE errno_t __cdecl _wsplitpath_s(_In_z_ const wchar_t * _FullPath, 
     962                 :                 _Out_opt_z_cap_(_DriveSize) wchar_t * _Drive, _In_ size_t _DriveSize, 
     963                 :                 _Out_opt_z_cap_(_DirSize) wchar_t * _Dir, _In_ size_t _DirSize, 
     964                 :                 _Out_opt_z_cap_(_FilenameSize) wchar_t * _Filename, _In_ size_t _FilenameSize, 
     965                 :                 _Out_opt_z_cap_(_ExtSize) wchar_t * _Ext, _In_ size_t _ExtSize);
     966                 : __DEFINE_CPP_OVERLOAD_SECURE_FUNC_SPLITPATH(errno_t, _wsplitpath_s, wchar_t, _Path)
     967                 : 
     968                 : #define _WSTDLIBP_DEFINED
     969                 : #endif
     970                 : 
     971                 : #endif  /* _POSIX_ */
     972                 : 
     973                 : 
     974                 : #ifndef _WSTRING_DEFINED
     975                 : 
     976                 : /* wide function prototypes, also declared in string.h  */
     977                 : 
     978                 : #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC)
     979                 : #pragma push_macro("_wcsdup")
     980                 : #undef _wcsdup
     981                 : #endif
     982                 : 
     983                 : _Check_return_ _CRTIMP wchar_t * __cdecl _wcsdup(_In_z_ const wchar_t * _Str);
     984                 : 
     985                 : #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC)
     986                 : #pragma pop_macro("_wcsdup")
     987                 : #endif
     988                 : 
     989                 : #if __STDC_WANT_SECURE_LIB__
     990                 : _Check_return_wat_ _CRTIMP_ALTERNATIVE errno_t __cdecl wcscat_s(_Inout_z_cap_(_DstSize) wchar_t * _Dst, _In_ rsize_t _DstSize, const wchar_t * _Src);
     991                 : #endif
     992                 : __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1(errno_t, wcscat_s, wchar_t, _Dest, _In_z_ const wchar_t *, _Source)
     993                 : __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1(wchar_t *, __RETURN_POLICY_DST, _CRTIMP, wcscat, _Pre_cap_for_(_Source) _Prepost_z_, wchar_t, _Dest, _In_z_ const wchar_t *, _Source)
     994                 : _Check_return_ _CRTIMP _CONST_RETURN wchar_t * __cdecl wcschr(_In_z_ const wchar_t * _Str, wchar_t _Ch);
     995                 : _Check_return_ _CRTIMP int __cdecl wcscmp(_In_z_ const wchar_t * _Str1, _In_z_ const wchar_t * _Str2);
     996                 : #if __STDC_WANT_SECURE_LIB__
     997                 : _Check_return_wat_ _CRTIMP_ALTERNATIVE errno_t __cdecl wcscpy_s(_Out_z_cap_(_DstSize) wchar_t * _Dst, _In_ rsize_t _DstSize, _In_z_ const wchar_t * _Src);
     998                 : #endif
     999                 : __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1(errno_t, wcscpy_s, wchar_t, _Dest, _In_z_ const wchar_t *, _Source)
    1000                 : __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1(wchar_t *, __RETURN_POLICY_DST, _CRTIMP, wcscpy, _Pre_cap_for_(_Source) _Post_z_, wchar_t, _Dest, _In_z_ const wchar_t *, _Source)
    1001                 : _Check_return_ _CRTIMP size_t __cdecl wcscspn(_In_z_ const wchar_t * _Str, _In_z_ const wchar_t * _Control);
    1002                 : _Check_return_ _CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t * _Str);
    1003                 : _Check_return_ _CRTIMP size_t __cdecl wcsnlen(_In_z_ const wchar_t * _Src, _In_ size_t _MaxCount);
    1004                 : #if __STDC_WANT_SECURE_LIB__
    1005                 : _Check_return_ static __inline size_t __CRTDECL wcsnlen_s(_In_z_ const wchar_t * _Src, _In_ size_t _MaxCount)
    1006                 : {
    1007                 :     return (_Src == NULL) ? 0 : wcsnlen(_Src, _MaxCount);
    1008                 : }
    1009                 : #endif
    1010                 : #if __STDC_WANT_SECURE_LIB__
    1011                 : _Check_return_wat_ _CRTIMP_ALTERNATIVE errno_t __cdecl wcsncat_s(_Inout_z_cap_(_DstSize) wchar_t * _Dst, _In_ rsize_t _DstSize, _In_z_ const wchar_t * _Src, _In_ rsize_t _MaxCount);
    1012                 : #endif
    1013                 : __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_2(errno_t, wcsncat_s, _Deref_prepost_z_ wchar_t, _Dest, _In_z_ const wchar_t *, _Source, _In_ size_t, _Count)
    1014                 : 
    1015                 : #pragma warning(push)
    1016                 : #pragma warning(disable:6059)
    1017                 : __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_EX(wchar_t *, __RETURN_POLICY_DST, _CRTIMP, wcsncat, wcsncat_s, _Deref_inout_z_cap_c_(_Size) wchar_t, _Inout_z_cap_(_Count), wchar_t, _Dest, _In_z_ const wchar_t *, _Source, _In_ size_t, _Count)
    1018                 : #pragma warning(pop)
    1019                 : 
    1020                 : _Check_return_ _CRTIMP int __cdecl wcsncmp(_In_z_ const wchar_t * _Str1, _In_z_ const wchar_t * _Str2, _In_ size_t _MaxCount);
    1021                 : #if __STDC_WANT_SECURE_LIB__
    1022                 : _Check_return_wat_ _CRTIMP_ALTERNATIVE errno_t __cdecl wcsncpy_s(_Out_z_cap_(_DstSize) wchar_t * _Dst, _In_ rsize_t _DstSize, _In_z_ const wchar_t * _Src, _In_ rsize_t _MaxCount);
    1023                 : #endif
    1024                 : __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_2(errno_t, wcsncpy_s, wchar_t, _Dest, _In_z_ const wchar_t *, _Source, _In_ size_t, _Count)
    1025                 : __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_EX(wchar_t *, __RETURN_POLICY_DST, _CRTIMP, wcsncpy, wcsncpy_s, _Deref_out_z_cap_c_(_Size) wchar_t, _Out_cap_(_Count) _Post_maybez_, wchar_t, _Dest, _In_z_ const wchar_t *, _Source, _In_ size_t, _Count)
    1026                 : _Check_return_ _CRTIMP _CONST_RETURN wchar_t * __cdecl wcspbrk(_In_z_ const wchar_t * _Str, _In_z_ const wchar_t * _Control);
    1027                 : _Check_return_ _CRTIMP _CONST_RETURN wchar_t * __cdecl wcsrchr(_In_z_ const wchar_t * _Str, _In_ wchar_t _Ch);
    1028                 : _Check_return_ _CRTIMP size_t __cdecl wcsspn(_In_z_ const wchar_t * _Str, _In_z_ const wchar_t * _Control);
    1029                 : _Check_return_ _CRTIMP _CONST_RETURN wchar_t * __cdecl wcsstr(_In_z_ const wchar_t * _Str, _In_z_ const wchar_t * _SubStr);
    1030                 : _Check_return_ _CRT_INSECURE_DEPRECATE(wcstok_s) _CRTIMP wchar_t * __cdecl wcstok(_Inout_opt_z_ wchar_t * _Str, _In_z_ const wchar_t * _Delim);
    1031                 : _Check_return_ _CRTIMP_ALTERNATIVE 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);
    1032                 : _Check_return_ _CRT_INSECURE_DEPRECATE(_wcserror_s) _CRTIMP wchar_t * __cdecl _wcserror(_In_ int _ErrNum);
    1033                 : _Check_return_wat_ _CRTIMP errno_t __cdecl _wcserror_s(_Out_opt_z_cap_(_SizeInWords) wchar_t * _Buf, _In_ size_t _SizeInWords, _In_ int _ErrNum);
    1034                 : __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1(errno_t, _wcserror_s, wchar_t, _Buffer, _In_ int, _Error)
    1035                 : _Check_return_ _CRT_INSECURE_DEPRECATE(__wcserror_s) _CRTIMP wchar_t * __cdecl __wcserror(_In_opt_z_ const wchar_t * _Str);
    1036                 : _Check_return_wat_ _CRTIMP errno_t __cdecl __wcserror_s(_Out_opt_z_cap_(_SizeInWords) wchar_t * _Buffer, _In_ size_t _SizeInWords, _In_z_ const wchar_t * _ErrMsg);
    1037                 : __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1(errno_t, __wcserror_s, wchar_t, _Buffer, _In_z_ const wchar_t *, _ErrorMessage)
    1038                 : 
    1039                 : _Check_return_ _CRTIMP int __cdecl _wcsicmp(_In_z_ const wchar_t * _Str1, _In_z_ const wchar_t * _Str2);
    1040                 : _Check_return_ _CRTIMP int __cdecl _wcsicmp_l(_In_z_ const wchar_t * _Str1, _In_z_ const wchar_t * _Str2, _In_opt_ _locale_t _Locale);
    1041                 : _Check_return_ _CRTIMP int __cdecl _wcsnicmp(_In_z_ const wchar_t * _Str1, _In_z_ const wchar_t * _Str2, _In_ size_t _MaxCount);
    1042                 : _Check_return_ _CRTIMP int __cdecl _wcsnicmp_l(_In_z_ const wchar_t * _Str1, _In_z_ const wchar_t * _Str2, _In_ size_t _MaxCount, _In_opt_ _locale_t _Locale);
    1043                 : _Check_return_wat_ _CRTIMP_ALTERNATIVE errno_t __cdecl _wcsnset_s(_Inout_z_cap_(_DstSizeInWords) wchar_t * _Dst, _In_ size_t _DstSizeInWords, wchar_t _Val, _In_ size_t _MaxCount);
    1044                 : __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_2(errno_t, _wcsnset_s, _Deref_prepost_z_ wchar_t, _Dst, wchar_t, _Val, _In_ size_t, _MaxCount)
    1045                 : __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_EX(wchar_t *, __RETURN_POLICY_DST, _CRTIMP, _wcsnset, _wcsnset_s, _Deref_inout_z_cap_c_(_Size) wchar_t, _Inout_z_cap_(_MaxCount), wchar_t, _Str, wchar_t, _Val, _In_ size_t, _MaxCount)
    1046                 : _CRTIMP wchar_t * __cdecl _wcsrev(_Inout_z_ wchar_t * _Str);
    1047                 : _Check_return_wat_ _CRTIMP_ALTERNATIVE errno_t __cdecl _wcsset_s(_Inout_z_cap_(_SizeInWords) wchar_t * _Str, _In_ size_t _SizeInWords, wchar_t _Val);
    1048                 : __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1(errno_t, _wcsset_s, _Deref_prepost_z_ wchar_t, _Str, wchar_t, _Val)
    1049                 : __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1_EX(wchar_t *, __RETURN_POLICY_DST, _CRTIMP, _wcsset, _wcsset_s, _Deref_inout_z_cap_c_(_Size) wchar_t, _Inout_z_, wchar_t, _Str, wchar_t, _Val)
    1050                 : 
    1051                 : _Check_return_wat_ _CRTIMP errno_t __cdecl _wcslwr_s(_Inout_z_cap_(_SizeInWords) wchar_t * _Str, _In_ size_t _SizeInWords);
    1052                 : __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_0(errno_t, _wcslwr_s, wchar_t, _String)
    1053                 : __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_0(wchar_t *, __RETURN_POLICY_DST, _CRTIMP, _wcslwr, _Inout_z_, wchar_t, _String)
    1054                 : _Check_return_wat_ _CRTIMP errno_t __cdecl _wcslwr_s_l(_Inout_z_cap_(_SizeInWords) wchar_t * _Str, _In_ size_t _SizeInWords, _In_opt_ _locale_t _Locale);
    1055                 : __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1(errno_t, _wcslwr_s_l, wchar_t, _String, _In_opt_ _locale_t, _Locale)
    1056                 : __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1_EX(wchar_t *, __RETURN_POLICY_DST, _CRTIMP, _wcslwr_l, _wcslwr_s_l, _Deref_inout_z_cap_c_(_Size) wchar_t, _Inout_z_, wchar_t, _String, _In_opt_ _locale_t, _Locale)
    1057                 : _Check_return_wat_ _CRTIMP errno_t __cdecl _wcsupr_s(_Inout_z_cap_(_Size) wchar_t * _Str, _In_ size_t _Size);
    1058                 : __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_0(errno_t, _wcsupr_s, wchar_t, _String)
    1059                 : __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_0(wchar_t *, __RETURN_POLICY_DST, _CRTIMP, _wcsupr, _Inout_z_, wchar_t, _String)
    1060                 : _Check_return_wat_ _CRTIMP errno_t __cdecl _wcsupr_s_l(_Inout_z_cap_(_Size) wchar_t * _Str, _In_ size_t _Size, _In_opt_ _locale_t _Locale);
    1061                 : __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1(errno_t, _wcsupr_s_l, _Deref_prepost_z_ wchar_t, _String, _In_opt_ _locale_t, _Locale)
    1062                 : __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1_EX(wchar_t *, __RETURN_POLICY_DST, _CRTIMP, _wcsupr_l, _wcsupr_s_l, _Deref_inout_z_cap_c_(_Size) wchar_t, _Inout_z_, wchar_t, _String, _In_opt_ _locale_t, _Locale)
    1063                 : _Check_return_opt_ _CRTIMP size_t __cdecl wcsxfrm(_Out_opt_cap_(_MaxCount) _Post_maybez_ wchar_t * _Dst, _In_z_ const wchar_t * _Src, _In_ size_t _MaxCount);
    1064                 : _Check_return_opt_ _CRTIMP size_t __cdecl _wcsxfrm_l(_Out_opt_cap_(_MaxCount) _Post_maybez_ wchar_t * _Dst, _In_z_ const wchar_t *_Src, _In_ size_t _MaxCount, _In_opt_ _locale_t _Locale);
    1065                 : _Check_return_ _CRTIMP int __cdecl wcscoll(_In_z_ const wchar_t * _Str1, _In_z_ const wchar_t * _Str2);
    1066                 : _Check_return_ _CRTIMP int __cdecl _wcscoll_l(_In_z_ const wchar_t * _Str1, _In_z_ const wchar_t * _Str2, _In_opt_ _locale_t _Locale);
    1067                 : _Check_return_ _CRTIMP int __cdecl _wcsicoll(_In_z_ const wchar_t * _Str1, _In_z_ const wchar_t * _Str2);
    1068                 : _Check_return_ _CRTIMP int __cdecl _wcsicoll_l(_In_z_ const wchar_t * _Str1, _In_z_ const wchar_t *_Str2, _In_opt_ _locale_t _Locale);
    1069                 : _Check_return_ _CRTIMP int __cdecl _wcsncoll(_In_z_ const wchar_t * _Str1, _In_z_ const wchar_t * _Str2, _In_ size_t _MaxCount);
    1070                 : _Check_return_ _CRTIMP int __cdecl _wcsncoll_l(_In_z_ const wchar_t * _Str1, _In_z_ const wchar_t * _Str2, _In_ size_t _MaxCount, _In_opt_ _locale_t _Locale);
    1071                 : _Check_return_ _CRTIMP int __cdecl _wcsnicoll(_In_z_ const wchar_t * _Str1, _In_z_ const wchar_t * _Str2, _In_ size_t _MaxCount);
    1072                 : _Check_return_ _CRTIMP int __cdecl _wcsnicoll_l(_In_z_ const wchar_t * _Str1, _In_z_ const wchar_t * _Str2, _In_ size_t _MaxCount, _In_opt_ _locale_t _Locale);
    1073                 : 
    1074                 : #ifdef  __cplusplus
    1075                 : #ifndef _CPP_WIDE_INLINES_DEFINED
    1076                 : #define _CPP_WIDE_INLINES_DEFINED
    1077                 : extern "C++" {
    1078                 : _Check_return_ inline wchar_t * __CRTDECL wcschr(_In_z_ wchar_t *_Str, wchar_t _Ch)
    1079                 :         {return ((wchar_t *)wcschr((const wchar_t *)_Str, _Ch)); }
    1080                 : _Check_return_ inline wchar_t * __CRTDECL wcspbrk(_In_z_ wchar_t *_Str, _In_z_ const wchar_t *_Control)
    1081                 :         {return ((wchar_t *)wcspbrk((const wchar_t *)_Str, _Control)); }
    1082                 : _Check_return_ inline wchar_t * __CRTDECL wcsrchr(_In_z_ wchar_t *_Str, _In_ wchar_t _Ch)
    1083                 :         {return ((wchar_t *)wcsrchr((const wchar_t *)_Str, _Ch)); }
    1084                 : _Check_return_ inline wchar_t * __CRTDECL wcsstr(_In_z_ wchar_t *_Str, _In_z_ const wchar_t *_SubStr)
    1085                 :         {return ((wchar_t *)wcsstr((const wchar_t *)_Str, _SubStr)); }
    1086                 : }
    1087                 : #endif
    1088                 : #endif
    1089                 : 
    1090                 : #if     !__STDC__
    1091                 : 
    1092                 : #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC)
    1093                 : #pragma push_macro("wcsdup")
    1094                 : #undef wcsdup
    1095                 : #endif
    1096                 : 
    1097                 : _Check_return_ _CRT_NONSTDC_DEPRECATE(_wcsdup) _CRTIMP wchar_t * __cdecl wcsdup(_In_z_ const wchar_t * _Str);
    1098                 : 
    1099                 : #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC)
    1100                 : #pragma pop_macro("wcsdup")
    1101                 : #endif
    1102                 : 
    1103                 : /* old names */
    1104                 : #define wcswcs wcsstr
    1105                 : 
    1106                 : /* prototypes for oldnames.lib functions */
    1107                 : _Check_return_ _CRT_NONSTDC_DEPRECATE(_wcsicmp) _CRTIMP int __cdecl wcsicmp(_In_z_ const wchar_t * _Str1, _In_z_ const wchar_t * _Str2);
    1108                 : _Check_return_ _CRT_NONSTDC_DEPRECATE(_wcsnicmp) _CRTIMP int __cdecl wcsnicmp(_In_z_ const wchar_t * _Str1, _In_z_ const wchar_t * _Str2, _In_ size_t _MaxCount);
    1109                 : _CRT_NONSTDC_DEPRECATE(_wcsnset) _CRTIMP wchar_t * __cdecl wcsnset(_Inout_z_cap_(_MaxCount) wchar_t * _Str, _In_ wchar_t _Val, _In_ size_t _MaxCount);
    1110                 : _CRT_NONSTDC_DEPRECATE(_wcsrev) _CRTIMP wchar_t * __cdecl wcsrev(_Inout_z_ wchar_t * _Str);
    1111                 : _CRT_NONSTDC_DEPRECATE(_wcsset) _CRTIMP wchar_t * __cdecl wcsset(_Inout_z_ wchar_t * _Str, wchar_t _Val);
    1112                 : _CRT_NONSTDC_DEPRECATE(_wcslwr) _CRTIMP wchar_t * __cdecl wcslwr(_Inout_z_ wchar_t * _Str);
    1113                 : _CRT_NONSTDC_DEPRECATE(_wcsupr) _CRTIMP wchar_t * __cdecl wcsupr(_Inout_z_ wchar_t * _Str);
    1114                 : _Check_return_ _CRT_NONSTDC_DEPRECATE(_wcsicoll) _CRTIMP int __cdecl wcsicoll(_In_z_ const wchar_t * _Str1, _In_z_ const wchar_t * _Str2);
    1115                 : 
    1116                 : #endif  /* !__STDC__ */
    1117                 : 
    1118                 : #define _WSTRING_DEFINED
    1119                 : #endif
    1120                 : 
    1121                 : #ifndef _TM_DEFINED
    1122                 : struct tm {
    1123                 :         int tm_sec;     /* seconds after the minute - [0,59] */
    1124                 :         int tm_min;     /* minutes after the hour - [0,59] */
    1125                 :         int tm_hour;    /* hours since midnight - [0,23] */
    1126                 :         int tm_mday;    /* day of the month - [1,31] */
    1127                 :         int tm_mon;     /* months since January - [0,11] */
    1128                 :         int tm_year;    /* years since 1900 */
    1129                 :         int tm_wday;    /* days since Sunday - [0,6] */
    1130                 :         int tm_yday;    /* days since January 1 - [0,365] */
    1131                 :         int tm_isdst;   /* daylight savings time flag */
    1132                 :         };
    1133                 : #define _TM_DEFINED
    1134                 : #endif
    1135                 : 
    1136                 : #ifndef _WTIME_DEFINED
    1137                 : 
    1138                 : /* wide function prototypes, also declared in time.h */
    1139                 :  
    1140                 : _CRT_INSECURE_DEPRECATE(_wasctime_s) _CRTIMP wchar_t * __cdecl _wasctime(_In_ const struct tm * _Tm);
    1141                 : _CRTIMP errno_t __cdecl _wasctime_s(_Out_cap_(_SizeInWords) _Post_count_c_(26) wchar_t *_Buf, _In_ size_t _SizeInWords, _In_ const struct tm * _Tm);
    1142                 : __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1(errno_t, _wasctime_s, _Deref_post_count_c_(26) wchar_t, _Buffer, _In_ const struct tm *, _Time)
    1143                 : 
    1144                 : _CRT_INSECURE_DEPRECATE(_wctime32_s) _CRTIMP wchar_t * __cdecl _wctime32(_In_ const __time32_t *_Time);
    1145                 : _CRTIMP errno_t __cdecl _wctime32_s(_Out_cap_(_SizeInWords) _Post_count_c_(26) wchar_t* _Buf, _In_ size_t _SizeInWords, _In_ const __time32_t * _Time);
    1146                 : __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1(errno_t, _wctime32_s, _Deref_post_count_c_(26) wchar_t, _Buffer, _In_ const __time32_t *, _Time)
    1147                 : 
    1148                 : _CRTIMP size_t __cdecl wcsftime(_Out_z_cap_(_SizeInWords) wchar_t * _Buf, _In_ size_t _SizeInWords, _In_z_ _Printf_format_string_ const wchar_t * _Format,  _In_ const struct tm * _Tm);
    1149                 : _CRTIMP size_t __cdecl _wcsftime_l(_Out_z_cap_(_SizeInWords) wchar_t * _Buf, _In_ size_t _SizeInWords, _In_z_ _Printf_format_string_ const wchar_t *_Format, _In_ const struct tm *_Tm, _In_opt_ _locale_t _Locale);
    1150                 : 
    1151                 : _CRTIMP errno_t __cdecl _wstrdate_s(_Out_cap_(_SizeInWords) _Post_count_c_(9) wchar_t * _Buf, _In_ size_t _SizeInWords);
    1152                 : __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_0(errno_t, _wstrdate_s, _Deref_post_count_c_(9) wchar_t, _Buffer)
    1153                 : __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_0(wchar_t *, __RETURN_POLICY_DST, _CRTIMP, _wstrdate, _Out_z_cap_c_(9), wchar_t, _Buffer)
    1154                 : 
    1155                 : _CRTIMP errno_t __cdecl _wstrtime_s(_Out_cap_(_SizeInWords) _Post_count_c_(9) wchar_t * _Buf, _In_ size_t _SizeInWords);
    1156                 : __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_0(errno_t, _wstrtime_s, _Deref_post_count_c_(9) wchar_t, _Buffer)
    1157                 : __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_0(wchar_t *, __RETURN_POLICY_DST, _CRTIMP, _wstrtime, _Out_z_cap_c_(9), wchar_t, _Buffer)
    1158                 : 
    1159                 : _CRT_INSECURE_DEPRECATE(_wctime64_s) _CRTIMP wchar_t * __cdecl _wctime64(_In_ const __time64_t * _Time);
    1160                 : _CRTIMP errno_t __cdecl _wctime64_s(_Out_cap_(_SizeInWords) _Post_count_c_(26) wchar_t* _Buf, _In_ size_t _SizeInWords, _In_ const __time64_t *_Time);
    1161                 : __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1(errno_t, _wctime64_s, _Deref_post_count_c_(26) wchar_t, _Buffer, _In_ const __time64_t *, _Time)
    1162                 : 
    1163                 : #if !defined(RC_INVOKED) && !defined(__midl)
    1164                 : #include <wtime.inl>
    1165                 : #endif
    1166                 : 
    1167                 : #define _WTIME_DEFINED
    1168                 : #endif
    1169                 : 
    1170                 : 
    1171                 : typedef int mbstate_t;
    1172                 : typedef wchar_t _Wint_t;
    1173                 : 
    1174                 : _CRTIMP wint_t __cdecl btowc(int);
    1175                 : _CRTIMP size_t __cdecl mbrlen(_In_opt_bytecount_(_SizeInBytes) _Pre_opt_z_ const char * _Ch, _In_ size_t _SizeInBytes,
    1176                 :                               _Out_opt_ mbstate_t * _State);
    1177                 : _CRTIMP size_t __cdecl mbrtowc(_Pre_maybenull_ _Post_z_ wchar_t * _DstCh, _In_opt_bytecount_(_SizeInBytes) _Pre_opt_z_ const char * _SrcCh,
    1178                 :                                _In_ size_t _SizeInBytes, _Out_opt_ mbstate_t * _State);
    1179                 : _CRTIMP errno_t __cdecl mbsrtowcs_s(_Out_opt_ size_t* _Retval, _Out_opt_z_cap_(_Size) wchar_t * _Dst, _In_ size_t _Size, _Inout_ _Deref_prepost_opt_valid_ const char ** _PSrc, _In_ size_t _N, _Out_opt_ mbstate_t * _State);
    1180                 : __DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_3(errno_t, mbsrtowcs_s, _Out_opt_ size_t *, _Retval, _Deref_post_z_ wchar_t, _Dest, _Inout_ _Deref_prepost_opt_valid_ const char **, _PSource, _In_ size_t, _Count, _Out_opt_ mbstate_t *, _State)
    1181                 : __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_3_SIZE(_CRTIMP, mbsrtowcs, _Pre_notnull_ _Post_z_, wchar_t, _Dest, _Inout_ _Deref_prepost_opt_valid_ const char **, _PSrc, _In_ size_t, _Count, _Inout_opt_ mbstate_t *, _State)
    1182                 : 
    1183                 : _CRTIMP errno_t __cdecl wcrtomb_s(_Out_opt_ size_t * _Retval, _Out_opt_z_bytecap_(_SizeInBytes) char * _Dst,
    1184                 :         _In_ size_t _SizeInBytes, _In_ wchar_t _Ch, _Out_opt_ mbstate_t * _State);
    1185                 : __DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_2(errno_t, wcrtomb_s, _Out_opt_ size_t *, _Retval, _Out_opt_z_bytecap_(_Size) char, _Dest, _In_ wchar_t, _Source, _Out_opt_ mbstate_t *, _State)
    1186                 : __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_2_SIZE(_CRTIMP, wcrtomb, _Pre_maybenull_ _Post_z_, char, _Dest, _In_ wchar_t, _Source, _Out_opt_ mbstate_t *, _State)
    1187                 : _CRTIMP errno_t __cdecl wcsrtombs_s(_Out_opt_ size_t * _Retval, _Out_opt_bytecap_post_bytecount_(_SizeInBytes, *_Retval) char * _Dst,
    1188                 :         _In_ size_t _SizeInBytes, _Inout_ _Deref_prepost_z_ const wchar_t ** _Src, _In_ size_t _Size, _Out_opt_ mbstate_t * _State);
    1189                 : __DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_3(errno_t, wcsrtombs_s, _Out_opt_ size_t *, _Retval, _Out_opt_z_bytecap_(_Size) char, _Dest, _Inout_ _Deref_prepost_z_ const wchar_t **, _PSrc, _In_ size_t, _Count, _Out_opt_ mbstate_t *, _State)
    1190                 : __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_3_SIZE(_CRTIMP, wcsrtombs, _Pre_maybenull_ _Post_z_, char, _Dest, _Inout_ _Deref_prepost_z_ const wchar_t **, _PSource, _In_ size_t, _Count, _Out_opt_ mbstate_t *, _State)
    1191                 : _CRTIMP int __cdecl wctob(_In_ wint_t _WCh);
    1192                 : 
    1193                 : #ifndef __midl
    1194                 : 
    1195                 : /* memcpy and memmove are defined just for use in wmemcpy and wmemmove */
    1196                 : #if     defined(_M_IA64)
    1197                 :                 _CRT_INSECURE_DEPRECATE_MEMORY(memmove_s) void *  __cdecl memmove(_Out_opt_bytecapcount_(_Size) void * _Dst, _In_opt_bytecount_(_Size) const void * _Src, _In_ size_t _Size);
    1198                 : #else
    1199                 : _CRTIMP _CRT_INSECURE_DEPRECATE_MEMORY(memmove_s) void *  __cdecl memmove(_Out_opt_bytecapcount_(_Size) void * _Dst, _In_opt_bytecount_(_Size) const void * _Src, _In_ size_t _Size);
    1200                 : #endif
    1201                 : _CRT_INSECURE_DEPRECATE_MEMORY(memcpy_s) void *  __cdecl memcpy(_Out_opt_bytecapcount_(_Size) void * _Dst, _In_opt_bytecount_(_Size) const void * _Src, _In_ size_t _Size);
    1202                 : #if __STDC_WANT_SECURE_LIB__
    1203                 : _CRTIMP errno_t __cdecl memcpy_s(_Out_opt_bytecap_post_bytecount_(_DstSize, _MaxCount) void * _Dst, _In_ rsize_t _DstSize, _In_opt_bytecount_(_MaxCount) const void * _Src, _In_ rsize_t _MaxCount);
    1204                 : _CRTIMP errno_t __cdecl memmove_s(_Out_opt_bytecap_post_bytecount_(_DstSize, _MaxCount) void * _Dst, _In_ rsize_t _DstSize, _In_opt_bytecount_(_MaxCount) const void * _Src, _In_ rsize_t _MaxCount);
    1205                 : #endif
    1206                 : __inline int __CRTDECL fwide(_In_opt_ FILE * _F, int _M)
    1207                 :         {(void)_F; return (_M); }
    1208                 : __inline int __CRTDECL mbsinit(_In_opt_ const mbstate_t *_P)
    1209                 :         {return (_P == NULL || *_P == 0); }
    1210                 : __inline _CONST_RETURN wchar_t * __CRTDECL wmemchr(_In_count_(_N) const wchar_t *_S, _In_ wchar_t _C, _In_ size_t _N)
    1211               0 :         {for (; 0 < _N; ++_S, --_N)

    1212               0 :                 if (*_S == _C)

    1213               0 :                         return (_CONST_RETURN wchar_t *)(_S);

    1214               0 :         return (0); }

    1215                 : __inline int __CRTDECL wmemcmp(_In_count_(_N) const wchar_t *_S1, _In_count_(_N) const wchar_t *_S2, _In_ size_t _N)
    1216               0 :         {for (; 0 < _N; ++_S1, ++_S2, --_N)

    1217               0 :                 if (*_S1 != *_S2)

    1218               0 :                         return (*_S1 < *_S2 ? -1 : +1);

    1219               0 :         return (0); }

    1220                 : 
    1221                 : __inline _CRT_INSECURE_DEPRECATE_MEMORY(wmemcpy_s) wchar_t * __CRTDECL wmemcpy(_Out_opt_cap_(_N) wchar_t *_S1, _In_opt_count_(_N) const wchar_t *_S2, _In_ size_t _N)
    1222                 :         {
    1223                 : #pragma warning( push )
    1224                 : #pragma warning( disable : 4996 6386 )
    1225                 :             return (wchar_t *)memcpy(_S1, _S2, _N*sizeof(wchar_t));
    1226                 : #pragma warning( pop )
    1227                 :         }
    1228                 : 
    1229                 : #if __STDC_WANT_SECURE_LIB__
    1230                 : __inline errno_t __CRTDECL wmemcpy_s(_Out_opt_cap_post_count_(_N1, _N) wchar_t *_S1, _In_ rsize_t _N1, _In_opt_count_(_N) const wchar_t *_S2, rsize_t _N)
    1231               0 :         {

    1232                 : #pragma warning( push )
    1233                 : #pragma warning( disable : 6386 )
    1234               0 :             return memcpy_s(_S1, _N1*sizeof(wchar_t), _S2, _N*sizeof(wchar_t));

    1235               0 :         }

    1236                 : #pragma warning( pop )
    1237                 : #endif
    1238                 : 
    1239                 : __inline _CRT_INSECURE_DEPRECATE_MEMORY(wmemmove_s) wchar_t * __CRTDECL wmemmove(_Out_opt_capcount_(_N) wchar_t *_S1, _In_opt_count_(_N) const wchar_t *_S2, _In_ size_t _N)
    1240                 :         {
    1241                 : #pragma warning( push )
    1242                 : #pragma warning( disable : 4996 6386 )
    1243                 : #pragma warning( disable : 6387)
    1244                 :                         /* prefast noise VSW 493303 */
    1245                 :             return (wchar_t *)memmove(_S1, _S2, _N*sizeof(wchar_t));
    1246                 : #pragma warning( pop )
    1247                 :         }
    1248                 : 
    1249                 : #if __STDC_WANT_SECURE_LIB__
    1250                 : __inline errno_t __CRTDECL wmemmove_s(_Out_opt_cap_post_count_(_N1, _N) wchar_t *_S1, _In_ rsize_t _N1, _In_opt_count_(_N) const wchar_t *_S2, _In_ rsize_t _N)
    1251               0 :         {

    1252                 : #pragma warning( push )
    1253                 : #pragma warning( disable : 6386 )
    1254               0 :             return memmove_s(_S1, _N1*sizeof(wchar_t), _S2, _N*sizeof(wchar_t));

    1255                 : #pragma warning( pop )
    1256               0 :         }

    1257                 : #endif
    1258                 : 
    1259                 : __inline wchar_t * __CRTDECL wmemset(_Out_capcount_(_N) wchar_t *_S, _In_ wchar_t _C, _In_ size_t _N)
    1260               0 :         {

    1261               0 :             wchar_t *_Su = _S;

    1262               0 :             for (; 0 < _N; ++_Su, --_N)

    1263                 :             {
    1264               0 :                 *_Su = _C;

    1265               0 :             }

    1266               0 :             return (_S);

    1267               0 :         }

    1268                 : 
    1269                 : #ifdef __cplusplus
    1270                 : extern "C++" {
    1271                 : inline wchar_t * __CRTDECL wmemchr(_In_count_(_N) wchar_t *_S, _In_ wchar_t _C, _In_ size_t _N)
    1272                 :         { return (wchar_t *)wmemchr((const wchar_t *)_S, _C, _N); }
    1273                 : }
    1274                 : #endif
    1275                 : #endif
    1276                 : 
    1277                 : #ifdef  __cplusplus
    1278                 : }       /* end of extern "C" */
    1279                 : #endif
    1280                 : 
    1281                 : #ifdef  _MSC_VER
    1282                 : #pragma pack(pop)
    1283                 : #endif  /* _MSC_VER */
    1284                 : 
    1285                 : #endif  /* _INC_WCHAR */
    1286                 : 
    1287                 : 

Generated by: LCOV version 1.7