Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. /**
  2.  * This file has no copyright assigned and is placed in the Public Domain.
  3.  * This file is part of the w64 mingw-runtime package.
  4.  * No warranty is given; refer to the file DISCLAIMER within this package.
  5.  */
  6. #ifndef _INC_WCHAR
  7. #define _INC_WCHAR
  8.  
  9. #include <_mingw.h>
  10.  
  11. #pragma pack(push,_CRT_PACKING)
  12.  
  13. #ifdef __cplusplus
  14. extern "C" {
  15. #endif
  16.  
  17. #define WCHAR_MIN 0
  18. #define WCHAR_MAX ((wchar_t) -1) /* UINT16_MAX */
  19.  
  20. #ifndef __GNUC_VA_LIST
  21. #define __GNUC_VA_LIST
  22.   typedef __builtin_va_list __gnuc_va_list;
  23. #endif
  24.  
  25. #ifndef _VA_LIST_DEFINED
  26. #define _VA_LIST_DEFINED
  27.   typedef __gnuc_va_list va_list;
  28. #endif
  29.  
  30. #ifndef WEOF
  31. #define WEOF (wint_t)(0xFFFF)
  32. #endif
  33.  
  34. #ifndef _FILE_DEFINED
  35.   struct _iobuf {
  36.     char *_ptr;
  37.     int _cnt;
  38.     char *_base;
  39.     int _flag;
  40.     int _file;
  41.     int _charbuf;
  42.     int _bufsiz;
  43.     char *_tmpfname;
  44.   };
  45.   typedef struct _iobuf FILE;
  46. #define _FILE_DEFINED
  47. #endif
  48.  
  49. #ifndef _STDIO_DEFINED
  50. #ifdef _WIN64
  51.   _CRTIMP FILE *__cdecl __iob_func(void);
  52. #else
  53. #ifdef _MSVCRT_
  54. extern FILE _iob[];     /* A pointer to an array of FILE */
  55. #define __iob_func()    (_iob)
  56. #else
  57. extern FILE (*_imp___iob)[];    /* A pointer to an array of FILE */
  58. #define __iob_func()    (*_imp___iob)
  59. #define _iob __iob_func()
  60. #endif
  61. #endif
  62.  
  63. #define _iob __iob_func()
  64. #endif
  65.  
  66. #ifndef _STDSTREAM_DEFINED
  67. #define stdin (&__iob_func()[0])
  68. #define stdout (&__iob_func()[1])
  69. #define stderr (&__iob_func()[2])
  70. #define _STDSTREAM_DEFINED
  71. #endif
  72.  
  73. #ifndef _FSIZE_T_DEFINED
  74.   typedef unsigned long _fsize_t;
  75. #define _FSIZE_T_DEFINED
  76. #endif
  77.  
  78. #ifndef _WFINDDATA_T_DEFINED
  79.   struct _wfinddata32_t {
  80.     unsigned attrib;
  81.     __time32_t time_create;
  82.     __time32_t time_access;
  83.     __time32_t time_write;
  84.     _fsize_t size;
  85.     wchar_t name[260];
  86.   };
  87.  
  88. /* #if _INTEGRAL_MAX_BITS >= 64 */
  89.  
  90.   struct _wfinddata32i64_t {
  91.     unsigned attrib;
  92.     __time32_t time_create;
  93.     __time32_t time_access;
  94.     __time32_t time_write;
  95.     __int64 size;
  96.     wchar_t name[260];
  97.   };
  98.  
  99.   struct _wfinddata64i32_t {
  100.     unsigned attrib;
  101.     __time64_t time_create;
  102.     __time64_t time_access;
  103.     __time64_t time_write;
  104.     _fsize_t size;
  105.     wchar_t name[260];
  106.   };
  107.  
  108.   struct _wfinddata64_t {
  109.     unsigned attrib;
  110.     __time64_t time_create;
  111.     __time64_t time_access;
  112.     __time64_t time_write;
  113.     __int64 size;
  114.     wchar_t name[260];
  115.   };
  116. /* #endif */
  117.  
  118. #ifdef _USE_32BIT_TIME_T
  119. #define _wfinddata_t _wfinddata32_t
  120. #define _wfinddatai64_t _wfinddata32i64_t
  121.  
  122. #define _wfindfirst _wfindfirst32
  123. #define _wfindnext _wfindnext32
  124. #define _wfindfirsti64 _wfindfirst32i64
  125. #define _wfindnexti64 _wfindnext32i64
  126. #else
  127. #define _wfinddata_t _wfinddata64i32_t
  128. #define _wfinddatai64_t _wfinddata64_t
  129.  
  130. #define _wfindfirst _wfindfirst64i32
  131. #define _wfindnext _wfindnext64i32
  132. #define _wfindfirsti64 _wfindfirst64
  133. #define _wfindnexti64 _wfindnext64
  134. #endif
  135.  
  136. #define _WFINDDATA_T_DEFINED
  137. #endif
  138.  
  139. #ifndef NULL
  140. #ifdef __cplusplus
  141. #define NULL 0
  142. #else
  143. #define NULL ((void *)0)
  144. #endif
  145. #endif
  146.  
  147. #ifndef _CONST_RETURN
  148. #define _CONST_RETURN
  149. #endif
  150.  
  151. #define _WConst_return _CONST_RETURN
  152.  
  153. #ifndef _CRT_CTYPEDATA_DEFINED
  154. #define _CRT_CTYPEDATA_DEFINED
  155. #ifndef _CTYPE_DISABLE_MACROS
  156.  
  157. #ifndef __PCTYPE_FUNC
  158. #define __PCTYPE_FUNC __pctype_func()
  159. #ifdef _MSVCRT_
  160. #define __pctype_func() (_pctype)
  161. #else
  162. #define __pctype_func() (*_imp___pctype)
  163. #endif
  164. #endif
  165.  
  166. #ifndef _pctype
  167. #ifdef _MSVCRT_
  168.   extern unsigned short *_pctype;
  169. #else
  170.   extern unsigned short **_imp___pctype;
  171. #define _pctype (*_imp___pctype)
  172. #endif
  173. #endif
  174. #endif
  175. #endif
  176.  
  177. #ifndef _CRT_WCTYPEDATA_DEFINED
  178. #define _CRT_WCTYPEDATA_DEFINED
  179. #ifndef _CTYPE_DISABLE_MACROS
  180. #ifndef _wctype
  181. #ifdef _MSVCRT_
  182.   extern unsigned short *_wctype;
  183. #else
  184.   extern unsigned short **_imp___wctype;
  185. #define _wctype (*_imp___wctype)
  186. #endif
  187. #endif
  188.  
  189. #ifdef _MSVCRT_
  190. #define __pwctype_func() (_pwctype)
  191. #else
  192. #define __pwctype_func() (*_imp___pwctype)
  193. #endif
  194.  
  195. #ifndef _pwctype
  196. #ifdef _MSVCRT_
  197.   extern unsigned short *_pwctype;
  198. #else
  199.   extern unsigned short **_imp___pwctype;
  200. #define _pwctype (*_imp___pwctype)
  201. #endif
  202. #endif
  203.  
  204. #endif
  205. #endif
  206.  
  207. #define _UPPER 0x1
  208. #define _LOWER 0x2
  209. #define _DIGIT 0x4
  210. #define _SPACE 0x8
  211.  
  212. #define _PUNCT 0x10
  213. #define _CONTROL 0x20
  214. #define _BLANK 0x40
  215. #define _HEX 0x80
  216.  
  217. #define _LEADBYTE 0x8000
  218. #define _ALPHA (0x0100|_UPPER|_LOWER)
  219.  
  220. #ifndef _WCTYPE_DEFINED
  221. #define _WCTYPE_DEFINED
  222.  
  223.   int __cdecl iswalpha(wint_t _C);
  224.   _CRTIMP int __cdecl _iswalpha_l(wint_t _C,_locale_t _Locale);
  225.   int __cdecl iswupper(wint_t _C);
  226.   _CRTIMP int __cdecl _iswupper_l(wint_t _C,_locale_t _Locale);
  227.   int __cdecl iswlower(wint_t _C);
  228.   _CRTIMP int __cdecl _iswlower_l(wint_t _C,_locale_t _Locale);
  229.   int __cdecl iswdigit(wint_t _C);
  230.   _CRTIMP int __cdecl _iswdigit_l(wint_t _C,_locale_t _Locale);
  231.   int __cdecl iswxdigit(wint_t _C);
  232.   _CRTIMP int __cdecl _iswxdigit_l(wint_t _C,_locale_t _Locale);
  233.   int __cdecl iswspace(wint_t _C);
  234.   _CRTIMP int __cdecl _iswspace_l(wint_t _C,_locale_t _Locale);
  235.   int __cdecl iswpunct(wint_t _C);
  236.   _CRTIMP int __cdecl _iswpunct_l(wint_t _C,_locale_t _Locale);
  237.   int __cdecl iswalnum(wint_t _C);
  238.   _CRTIMP int __cdecl _iswalnum_l(wint_t _C,_locale_t _Locale);
  239.   int __cdecl iswprint(wint_t _C);
  240.   _CRTIMP int __cdecl _iswprint_l(wint_t _C,_locale_t _Locale);
  241.   int __cdecl iswgraph(wint_t _C);
  242.   _CRTIMP int __cdecl _iswgraph_l(wint_t _C,_locale_t _Locale);
  243.   int __cdecl iswcntrl(wint_t _C);
  244.   _CRTIMP int __cdecl _iswcntrl_l(wint_t _C,_locale_t _Locale);
  245.   int __cdecl iswascii(wint_t _C);
  246.   int __cdecl isleadbyte(int _C);
  247.   _CRTIMP int __cdecl _isleadbyte_l(int _C,_locale_t _Locale);
  248.   wint_t __cdecl towupper(wint_t _C);
  249.   _CRTIMP wint_t __cdecl _towupper_l(wint_t _C,_locale_t _Locale);
  250.   wint_t __cdecl towlower(wint_t _C);
  251.   _CRTIMP wint_t __cdecl _towlower_l(wint_t _C,_locale_t _Locale);
  252.   int __cdecl iswctype(wint_t _C,wctype_t _Type);
  253.   _CRTIMP int __cdecl _iswctype_l(wint_t _C,wctype_t _Type,_locale_t _Locale);
  254.   _CRTIMP int __cdecl __iswcsymf(wint_t _C);
  255.   _CRTIMP int __cdecl _iswcsymf_l(wint_t _C,_locale_t _Locale);
  256.   _CRTIMP int __cdecl __iswcsym(wint_t _C);
  257.   _CRTIMP int __cdecl _iswcsym_l(wint_t _C,_locale_t _Locale);
  258.   int __cdecl is_wctype(wint_t _C,wctype_t _Type);
  259. #endif
  260.  
  261. #ifndef _WDIRECT_DEFINED
  262. #define _WDIRECT_DEFINED
  263.  
  264.   _CRTIMP wchar_t *__cdecl _wgetcwd(wchar_t *_DstBuf,int _SizeInWords);
  265.   _CRTIMP wchar_t *__cdecl _wgetdcwd(int _Drive,wchar_t *_DstBuf,int _SizeInWords);
  266.   wchar_t *__cdecl _wgetdcwd_nolock(int _Drive,wchar_t *_DstBuf,int _SizeInWords);
  267.   _CRTIMP int __cdecl _wchdir(const wchar_t *_Path);
  268.   _CRTIMP int __cdecl _wmkdir(const wchar_t *_Path);
  269.   _CRTIMP int __cdecl _wrmdir(const wchar_t *_Path);
  270. #endif
  271.  
  272. #ifndef _WIO_DEFINED
  273. #define _WIO_DEFINED
  274.  
  275.   _CRTIMP int __cdecl _waccess(const wchar_t *_Filename,int _AccessMode);
  276.   _CRTIMP int __cdecl _wchmod(const wchar_t *_Filename,int _Mode);
  277.   _CRTIMP int __cdecl _wcreat(const wchar_t *_Filename,int _PermissionMode);
  278.   _CRTIMP intptr_t __cdecl _wfindfirst32(const wchar_t *_Filename,struct _wfinddata32_t *_FindData);
  279.   _CRTIMP int __cdecl _wfindnext32(intptr_t _FindHandle,struct _wfinddata32_t *_FindData);
  280.   _CRTIMP int __cdecl _wunlink(const wchar_t *_Filename);
  281.   _CRTIMP int __cdecl _wrename(const wchar_t *_NewFilename,const wchar_t *_OldFilename);
  282.   _CRTIMP wchar_t *__cdecl _wmktemp(wchar_t *_TemplateName);
  283. #if _INTEGRAL_MAX_BITS >= 64
  284.   _CRTIMP intptr_t __cdecl _wfindfirst32i64(const wchar_t *_Filename,struct _wfinddata32i64_t *_FindData);
  285.   intptr_t __cdecl _wfindfirst64i32(const wchar_t *_Filename,struct _wfinddata64i32_t *_FindData);
  286.   _CRTIMP intptr_t __cdecl _wfindfirst64(const wchar_t *_Filename,struct _wfinddata64_t *_FindData);
  287.   _CRTIMP int __cdecl _wfindnext32i64(intptr_t _FindHandle,struct _wfinddata32i64_t *_FindData);
  288.   int __cdecl _wfindnext64i32(intptr_t _FindHandle,struct _wfinddata64i32_t *_FindData);
  289.   _CRTIMP int __cdecl _wfindnext64(intptr_t _FindHandle,struct _wfinddata64_t *_FindData);
  290. #endif
  291.   _CRTIMP errno_t __cdecl _wsopen_s(int *_FileHandle,const wchar_t *_Filename,int _OpenFlag,int _ShareFlag,int _PermissionFlag);
  292. #if !defined(__cplusplus) || !(defined(_X86_) && !defined(__x86_64))
  293.   _CRTIMP int __cdecl _wopen(const wchar_t *_Filename,int _OpenFlag,...);
  294.   _CRTIMP int __cdecl _wsopen(const wchar_t *_Filename,int _OpenFlag,int _ShareFlag,...);
  295. #else
  296.   extern "C++" _CRTIMP int __cdecl _wopen(const wchar_t *_Filename,int _OpenFlag,int _PermissionMode = 0);
  297.   extern "C++" _CRTIMP int __cdecl _wsopen(const wchar_t *_Filename,int _OpenFlag,int _ShareFlag,int _PermissionMode = 0);
  298. #endif
  299. #endif
  300.  
  301. #ifndef _WLOCALE_DEFINED
  302. #define _WLOCALE_DEFINED
  303.   _CRTIMP wchar_t *__cdecl _wsetlocale(int _Category,const wchar_t *_Locale);
  304. #endif
  305.  
  306. #ifndef _WPROCESS_DEFINED
  307. #define _WPROCESS_DEFINED
  308.  
  309.   _CRTIMP intptr_t __cdecl _wexecl(const wchar_t *_Filename,const wchar_t *_ArgList,...);
  310.   _CRTIMP intptr_t __cdecl _wexecle(const wchar_t *_Filename,const wchar_t *_ArgList,...);
  311.   _CRTIMP intptr_t __cdecl _wexeclp(const wchar_t *_Filename,const wchar_t *_ArgList,...);
  312.   _CRTIMP intptr_t __cdecl _wexeclpe(const wchar_t *_Filename,const wchar_t *_ArgList,...);
  313.   _CRTIMP intptr_t __cdecl _wexecv(const wchar_t *_Filename,const wchar_t *const *_ArgList);
  314.   _CRTIMP intptr_t __cdecl _wexecve(const wchar_t *_Filename,const wchar_t *const *_ArgList,const wchar_t *const *_Env);
  315.   _CRTIMP intptr_t __cdecl _wexecvp(const wchar_t *_Filename,const wchar_t *const *_ArgList);
  316.   _CRTIMP intptr_t __cdecl _wexecvpe(const wchar_t *_Filename,const wchar_t *const *_ArgList,const wchar_t *const *_Env);
  317.   _CRTIMP intptr_t __cdecl _wspawnl(int _Mode,const wchar_t *_Filename,const wchar_t *_ArgList,...);
  318.   _CRTIMP intptr_t __cdecl _wspawnle(int _Mode,const wchar_t *_Filename,const wchar_t *_ArgList,...);
  319.   _CRTIMP intptr_t __cdecl _wspawnlp(int _Mode,const wchar_t *_Filename,const wchar_t *_ArgList,...);
  320.   _CRTIMP intptr_t __cdecl _wspawnlpe(int _Mode,const wchar_t *_Filename,const wchar_t *_ArgList,...);
  321.   _CRTIMP intptr_t __cdecl _wspawnv(int _Mode,const wchar_t *_Filename,const wchar_t *const *_ArgList);
  322.   _CRTIMP intptr_t __cdecl _wspawnve(int _Mode,const wchar_t *_Filename,const wchar_t *const *_ArgList,const wchar_t *const *_Env);
  323.   _CRTIMP intptr_t __cdecl _wspawnvp(int _Mode,const wchar_t *_Filename,const wchar_t *const *_ArgList);
  324.   _CRTIMP intptr_t __cdecl _wspawnvpe(int _Mode,const wchar_t *_Filename,const wchar_t *const *_ArgList,const wchar_t *const *_Env);
  325. #ifndef _CRT_WSYSTEM_DEFINED
  326. #define _CRT_WSYSTEM_DEFINED
  327.   _CRTIMP int __cdecl _wsystem(const wchar_t *_Command);
  328. #endif
  329. #endif
  330.  
  331. #ifndef _WCTYPE_INLINE_DEFINED
  332. #undef _CRT_WCTYPE_NOINLINE
  333. #if !defined(__cplusplus) || defined(_CRT_WCTYPE_NOINLINE)
  334. #define iswalpha(_c) (iswctype(_c,_ALPHA))
  335. #define iswupper(_c) (iswctype(_c,_UPPER))
  336. #define iswlower(_c) (iswctype(_c,_LOWER))
  337. #define iswdigit(_c) (iswctype(_c,_DIGIT))
  338. #define iswxdigit(_c) (iswctype(_c,_HEX))
  339. #define iswspace(_c) (iswctype(_c,_SPACE))
  340. #define iswpunct(_c) (iswctype(_c,_PUNCT))
  341. #define iswalnum(_c) (iswctype(_c,_ALPHA|_DIGIT))
  342. #define iswprint(_c) (iswctype(_c,_BLANK|_PUNCT|_ALPHA|_DIGIT))
  343. #define iswgraph(_c) (iswctype(_c,_PUNCT|_ALPHA|_DIGIT))
  344. #define iswcntrl(_c) (iswctype(_c,_CONTROL))
  345. #define iswascii(_c) ((unsigned)(_c) < 0x80)
  346.  
  347. #define _iswalpha_l(_c,_p) (_iswctype_l(_c,_ALPHA,_p))
  348. #define _iswupper_l(_c,_p) (_iswctype_l(_c,_UPPER,_p))
  349. #define _iswlower_l(_c,_p) (_iswctype_l(_c,_LOWER,_p))
  350. #define _iswdigit_l(_c,_p) (_iswctype_l(_c,_DIGIT,_p))
  351. #define _iswxdigit_l(_c,_p) (_iswctype_l(_c,_HEX,_p))
  352. #define _iswspace_l(_c,_p) (_iswctype_l(_c,_SPACE,_p))
  353. #define _iswpunct_l(_c,_p) (_iswctype_l(_c,_PUNCT,_p))
  354. #define _iswalnum_l(_c,_p) (_iswctype_l(_c,_ALPHA|_DIGIT,_p))
  355. #define _iswprint_l(_c,_p) (_iswctype_l(_c,_BLANK|_PUNCT|_ALPHA|_DIGIT,_p))
  356. #define _iswgraph_l(_c,_p) (_iswctype_l(_c,_PUNCT|_ALPHA|_DIGIT,_p))
  357. #define _iswcntrl_l(_c,_p) (_iswctype_l(_c,_CONTROL,_p))
  358. #ifndef _CTYPE_DISABLE_MACROS
  359. #define isleadbyte(_c) (__PCTYPE_FUNC[(unsigned char)(_c)] & _LEADBYTE)
  360. #endif
  361. #endif
  362. #define _WCTYPE_INLINE_DEFINED
  363. #endif
  364.  
  365. #if !defined(_POSIX_) || defined(__GNUC__)
  366. #ifndef _INO_T_DEFINED
  367. #define _INO_T_DEFINED
  368.   typedef unsigned short _ino_t;
  369. #ifndef NO_OLDNAMES
  370.   typedef unsigned short ino_t;
  371. #endif
  372. #endif
  373.  
  374. #ifndef _DEV_T_DEFINED
  375. #define _DEV_T_DEFINED
  376.   typedef unsigned int _dev_t;
  377. #ifndef NO_OLDNAMES
  378.   typedef unsigned int dev_t;
  379. #endif
  380. #endif
  381.  
  382. #ifndef _OFF_T_DEFINED
  383. #define _OFF_T_DEFINED
  384. #ifndef _OFF_T_
  385. #define _OFF_T_
  386.   typedef long _off_t;
  387. #if !defined(NO_OLDNAMES) || defined(_POSIX)
  388.   typedef long off_t;
  389. #endif
  390. #endif
  391. #endif
  392.  
  393. #ifndef _OFF64_T_DEFINED
  394. #define _OFF64_T_DEFINED
  395.   typedef long long _off64_t;
  396. #if !defined(NO_OLDNAMES) || defined(_POSIX)
  397.   typedef long long off64_t;
  398. #endif
  399. #endif
  400.  
  401. #ifndef _STAT_DEFINED
  402. #define _STAT_DEFINED
  403.  
  404. #ifdef _USE_32BIT_TIME_T
  405. #ifdef WIN64
  406. #define _fstat _fstat32
  407. #define _stat _stat32
  408. #define _wstat _wstat32
  409. #else
  410. #define _fstat32 _fstat
  411. #define _stat32 _stat
  412. #define _wstat32 _wstat
  413. #endif
  414. #define _fstati64 _fstat32i64
  415. #define _stati64 _stat32i64
  416. #define _wstati64 _wstat32i64
  417. #else
  418. #define _fstat _fstat64i32
  419. #define _fstati64 _fstat64
  420. #define _stat _stat64i32
  421. #define _stati64 _stat64
  422. #define _wstat _wstat64i32
  423. #define _wstati64 _wstat64
  424. #endif
  425.  
  426.   struct _stat32 {
  427.     _dev_t st_dev;
  428.     _ino_t st_ino;
  429.     unsigned short st_mode;
  430.     short st_nlink;
  431.     short st_uid;
  432.     short st_gid;
  433.     _dev_t st_rdev;
  434.     _off_t st_size;
  435.     __time32_t st_atime;
  436.     __time32_t st_mtime;
  437.     __time32_t st_ctime;
  438.   };
  439.  
  440. #ifndef NO_OLDNAMES
  441.   struct stat {
  442.     _dev_t st_dev;
  443.     _ino_t st_ino;
  444.     unsigned short st_mode;
  445.     short st_nlink;
  446.     short st_uid;
  447.     short st_gid;
  448.     _dev_t st_rdev;
  449.     _off_t st_size;
  450.     time_t st_atime;
  451.     time_t st_mtime;
  452.     time_t st_ctime;
  453.   };
  454. #endif
  455.  
  456. #if _INTEGRAL_MAX_BITS >= 64
  457.  
  458.   struct _stat32i64 {
  459.     _dev_t st_dev;
  460.     _ino_t st_ino;
  461.     unsigned short st_mode;
  462.     short st_nlink;
  463.     short st_uid;
  464.     short st_gid;
  465.     _dev_t st_rdev;
  466.     __int64 st_size;
  467.     __time32_t st_atime;
  468.     __time32_t st_mtime;
  469.     __time32_t st_ctime;
  470.   };
  471.  
  472.   struct _stat64i32 {
  473.     _dev_t st_dev;
  474.     _ino_t st_ino;
  475.     unsigned short st_mode;
  476.     short st_nlink;
  477.     short st_uid;
  478.     short st_gid;
  479.     _dev_t st_rdev;
  480.     _off_t st_size;
  481.     __time64_t st_atime;
  482.     __time64_t st_mtime;
  483.     __time64_t st_ctime;
  484.   };
  485.  
  486.   struct _stat64 {
  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.     __int64 st_size;
  495.     __time64_t st_atime;
  496.     __time64_t st_mtime;
  497.     __time64_t st_ctime;
  498.   };
  499. #endif
  500.  
  501. #define __stat64 _stat64
  502.  
  503. #endif
  504.  
  505. #ifndef _WSTAT_DEFINED
  506. #define _WSTAT_DEFINED
  507.  
  508.   _CRTIMP int __cdecl _wstat32(const wchar_t *_Name,struct _stat32 *_Stat);
  509. #if _INTEGRAL_MAX_BITS >= 64
  510.   _CRTIMP int __cdecl _wstat32i64(const wchar_t *_Name,struct _stat32i64 *_Stat);
  511.   int __cdecl _wstat64i32(const wchar_t *_Name,struct _stat64i32 *_Stat);
  512.   _CRTIMP int __cdecl _wstat64(const wchar_t *_Name,struct _stat64 *_Stat);
  513. #endif
  514. #endif
  515. #endif
  516.  
  517. #ifndef _WCONIO_DEFINED
  518. #define _WCONIO_DEFINED
  519.  
  520. #ifndef WEOF
  521. #define WEOF (wint_t)(0xFFFF)
  522. #endif
  523.  
  524.   _CRTIMP wchar_t *_cgetws(wchar_t *_Buffer);
  525.   _CRTIMP wint_t __cdecl _getwch(void);
  526.   _CRTIMP wint_t __cdecl _getwche(void);
  527.   _CRTIMP wint_t __cdecl _putwch(wchar_t _WCh);
  528.   _CRTIMP wint_t __cdecl _ungetwch(wint_t _WCh);
  529.   _CRTIMP int __cdecl _cputws(const wchar_t *_String);
  530.   _CRTIMP int __cdecl _cwprintf(const wchar_t *_Format,...);
  531.   _CRTIMP int __cdecl _cwscanf(const wchar_t *_Format,...);
  532.   _CRTIMP int __cdecl _cwscanf_l(const wchar_t *_Format,_locale_t _Locale,...);
  533.   _CRTIMP int __cdecl _vcwprintf(const wchar_t *_Format,va_list _ArgList);
  534.   _CRTIMP int __cdecl _cwprintf_p(const wchar_t *_Format,...);
  535.   _CRTIMP int __cdecl _vcwprintf_p(const wchar_t *_Format,va_list _ArgList);
  536.  
  537.   _CRTIMP int __cdecl _cwprintf_l(const wchar_t *_Format,_locale_t _Locale,...);
  538.   _CRTIMP int __cdecl _vcwprintf_l(const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
  539.   _CRTIMP int __cdecl _cwprintf_p_l(const wchar_t *_Format,_locale_t _Locale,...);
  540.   _CRTIMP int __cdecl _vcwprintf_p_l(const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
  541.   wint_t __cdecl _putwch_nolock(wchar_t _WCh);
  542.   wint_t __cdecl _getwch_nolock(void);
  543.   wint_t __cdecl _getwche_nolock(void);
  544.   wint_t __cdecl _ungetwch_nolock(wint_t _WCh);
  545. #endif
  546.  
  547. #ifndef _WSTDIO_DEFINED
  548. #define _WSTDIO_DEFINED
  549.  
  550. #ifndef WEOF
  551. #define WEOF (wint_t)(0xFFFF)
  552. #endif
  553.  
  554. #ifdef _POSIX_
  555.   _CRTIMP FILE *__cdecl _wfsopen(const wchar_t *_Filename,const wchar_t *_Mode);
  556. #else
  557.   _CRTIMP FILE *__cdecl _wfsopen(const wchar_t *_Filename,const wchar_t *_Mode,int _ShFlag);
  558. #endif
  559.  
  560.   wint_t __cdecl fgetwc(FILE *_File);
  561.   _CRTIMP wint_t __cdecl _fgetwchar(void);
  562.   wint_t __cdecl fputwc(wchar_t _Ch,FILE *_File);
  563.   _CRTIMP wint_t __cdecl _fputwchar(wchar_t _Ch);
  564.   wint_t __cdecl getwc(FILE *_File);
  565.   wint_t __cdecl getwchar(void);
  566.   wint_t __cdecl putwc(wchar_t _Ch,FILE *_File);
  567.   wint_t __cdecl putwchar(wchar_t _Ch);
  568.   wint_t __cdecl ungetwc(wint_t _Ch,FILE *_File);
  569.   wchar_t *__cdecl fgetws(wchar_t *_Dst,int _SizeInWords,FILE *_File);
  570.   int __cdecl fputws(const wchar_t *_Str,FILE *_File);
  571.   _CRTIMP wchar_t *__cdecl _getws(wchar_t *_String);
  572.   _CRTIMP int __cdecl _putws(const wchar_t *_Str);
  573.   int __cdecl fwprintf(FILE *_File,const wchar_t *_Format,...);
  574.   int __cdecl wprintf(const wchar_t *_Format,...);
  575.   _CRTIMP int __cdecl _scwprintf(const wchar_t *_Format,...);
  576.   int __cdecl vfwprintf(FILE *_File,const wchar_t *_Format,va_list _ArgList);
  577.   int __cdecl vwprintf(const wchar_t *_Format,va_list _ArgList);
  578.   _CRTIMP int __cdecl swprintf(wchar_t*, const wchar_t*, ...);
  579.   _CRTIMP int __cdecl vswprintf(wchar_t*, const wchar_t*,va_list);
  580.   _CRTIMP int __cdecl _swprintf_c(wchar_t *_DstBuf,size_t _SizeInWords,const wchar_t *_Format,...);
  581.   _CRTIMP int __cdecl _vswprintf_c(wchar_t *_DstBuf,size_t _SizeInWords,const wchar_t *_Format,va_list _ArgList);
  582.   _CRTIMP int __cdecl _snwprintf(wchar_t *_Dest,size_t _Count,const wchar_t *_Format,...);
  583.   _CRTIMP int __cdecl _vsnwprintf(wchar_t *_Dest,size_t _Count,const wchar_t *_Format,va_list _Args);
  584. #ifndef __NO_ISOCEXT  /* externs in libmingwex.a */
  585.   int __cdecl snwprintf (wchar_t *s, size_t n, const wchar_t * format, ...);
  586.   __CRT_INLINE int __cdecl vsnwprintf (wchar_t *s, size_t n, const wchar_t *format, va_list arg) { return _vsnwprintf(s,n,format,arg); }
  587.   int __cdecl vwscanf (const wchar_t *, va_list);
  588.   int __cdecl vfwscanf (FILE *,const wchar_t *,va_list);
  589.   int __cdecl vswscanf (const wchar_t *,const wchar_t *,va_list);
  590. #endif
  591.   _CRTIMP int __cdecl _fwprintf_p(FILE *_File,const wchar_t *_Format,...);
  592.   _CRTIMP int __cdecl _wprintf_p(const wchar_t *_Format,...);
  593.   _CRTIMP int __cdecl _vfwprintf_p(FILE *_File,const wchar_t *_Format,va_list _ArgList);
  594.   _CRTIMP int __cdecl _vwprintf_p(const wchar_t *_Format,va_list _ArgList);
  595.   _CRTIMP int __cdecl _swprintf_p(wchar_t *_DstBuf,size_t _MaxCount,const wchar_t *_Format,...);
  596.   _CRTIMP int __cdecl _vswprintf_p(wchar_t *_DstBuf,size_t _MaxCount,const wchar_t *_Format,va_list _ArgList);
  597.   _CRTIMP int __cdecl _scwprintf_p(const wchar_t *_Format,...);
  598.   _CRTIMP int __cdecl _vscwprintf_p(const wchar_t *_Format,va_list _ArgList);
  599.   _CRTIMP int __cdecl _wprintf_l(const wchar_t *_Format,_locale_t _Locale,...);
  600.   _CRTIMP int __cdecl _wprintf_p_l(const wchar_t *_Format,_locale_t _Locale,...);
  601.   _CRTIMP int __cdecl _vwprintf_l(const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
  602.   _CRTIMP int __cdecl _vwprintf_p_l(const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
  603.   _CRTIMP int __cdecl _fwprintf_l(FILE *_File,const wchar_t *_Format,_locale_t _Locale,...);
  604.   _CRTIMP int __cdecl _fwprintf_p_l(FILE *_File,const wchar_t *_Format,_locale_t _Locale,...);
  605.   _CRTIMP int __cdecl _vfwprintf_l(FILE *_File,const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
  606.   _CRTIMP int __cdecl _vfwprintf_p_l(FILE *_File,const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
  607.   _CRTIMP int __cdecl _swprintf_c_l(wchar_t *_DstBuf,size_t _MaxCount,const wchar_t *_Format,_locale_t _Locale,...);
  608.   _CRTIMP int __cdecl _swprintf_p_l(wchar_t *_DstBuf,size_t _MaxCount,const wchar_t *_Format,_locale_t _Locale,...);
  609.   _CRTIMP int __cdecl _vswprintf_c_l(wchar_t *_DstBuf,size_t _MaxCount,const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
  610.   _CRTIMP int __cdecl _vswprintf_p_l(wchar_t *_DstBuf,size_t _MaxCount,const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
  611.   _CRTIMP int __cdecl _scwprintf_l(const wchar_t *_Format,_locale_t _Locale,...);
  612.   _CRTIMP int __cdecl _scwprintf_p_l(const wchar_t *_Format,_locale_t _Locale,...);
  613.   _CRTIMP int __cdecl _vscwprintf_p_l(const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
  614.   _CRTIMP int __cdecl _snwprintf_l(wchar_t *_DstBuf,size_t _MaxCount,const wchar_t *_Format,_locale_t _Locale,...);
  615.   _CRTIMP int __cdecl _vsnwprintf_l(wchar_t *_DstBuf,size_t _MaxCount,const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
  616.   _CRTIMP int __cdecl _swprintf(wchar_t *_Dest,const wchar_t *_Format,...);
  617.   _CRTIMP int __cdecl _vswprintf(wchar_t *_Dest,const wchar_t *_Format,va_list _Args);
  618.   _CRTIMP int __cdecl __swprintf_l(wchar_t *_Dest,const wchar_t *_Format,_locale_t _Plocinfo,...);
  619.   _CRTIMP int __cdecl __vswprintf_l(wchar_t *_Dest,const wchar_t *_Format,_locale_t _Plocinfo,va_list _Args);
  620. #ifndef RC_INVOKED
  621. #include <vadefs.h>
  622. #endif
  623.  
  624. #ifdef _CRT_NON_CONFORMING_SWPRINTFS
  625. #ifndef __cplusplus
  626. #define swprintf _swprintf
  627. #define vswprintf _vswprintf
  628. #define _swprintf_l __swprintf_l
  629. #define _vswprintf_l __vswprintf_l
  630. #endif
  631. #endif
  632.  
  633.   _CRTIMP wchar_t *__cdecl _wtempnam(const wchar_t *_Directory,const wchar_t *_FilePrefix);
  634.   _CRTIMP int __cdecl _vscwprintf(const wchar_t *_Format,va_list _ArgList);
  635.   _CRTIMP int __cdecl _vscwprintf_l(const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
  636.   int __cdecl fwscanf(FILE *_File,const wchar_t *_Format,...);
  637.   _CRTIMP int __cdecl _fwscanf_l(FILE *_File,const wchar_t *_Format,_locale_t _Locale,...);
  638.   int __cdecl swscanf(const wchar_t *_Src,const wchar_t *_Format,...);
  639.   _CRTIMP int __cdecl _swscanf_l(const wchar_t *_Src,const wchar_t *_Format,_locale_t _Locale,...);
  640.   _CRTIMP int __cdecl _snwscanf(const wchar_t *_Src,size_t _MaxCount,const wchar_t *_Format,...);
  641.   _CRTIMP int __cdecl _snwscanf_l(const wchar_t *_Src,size_t _MaxCount,const wchar_t *_Format,_locale_t _Locale,...);
  642.   int __cdecl wscanf(const wchar_t *_Format,...);
  643.   _CRTIMP int __cdecl _wscanf_l(const wchar_t *_Format,_locale_t _Locale,...);
  644.   _CRTIMP FILE *__cdecl _wfdopen(int _FileHandle ,const wchar_t *_Mode);
  645.   _CRTIMP FILE *__cdecl _wfopen(const wchar_t *_Filename,const wchar_t *_Mode);
  646.   _CRTIMP FILE *__cdecl _wfreopen(const wchar_t *_Filename,const wchar_t *_Mode,FILE *_OldFile);
  647.  
  648. #ifndef _CRT_WPERROR_DEFINED
  649. #define _CRT_WPERROR_DEFINED
  650.   _CRTIMP void __cdecl _wperror(const wchar_t *_ErrMsg);
  651. #endif
  652.   _CRTIMP FILE *__cdecl _wpopen(const wchar_t *_Command,const wchar_t *_Mode);
  653. #if !defined(NO_OLDNAMES) && !defined(wpopen)
  654. #define wpopen  _wpopen
  655. #endif
  656.   _CRTIMP int __cdecl _wremove(const wchar_t *_Filename);
  657.   _CRTIMP wchar_t *__cdecl _wtmpnam(wchar_t *_Buffer);
  658.   _CRTIMP wint_t __cdecl _fgetwc_nolock(FILE *_File);
  659.   _CRTIMP wint_t __cdecl _fputwc_nolock(wchar_t _Ch,FILE *_File);
  660.   _CRTIMP wint_t __cdecl _ungetwc_nolock(wint_t _Ch,FILE *_File);
  661.  
  662. #undef _CRT_GETPUTWCHAR_NOINLINE
  663.  
  664. #if !defined(__cplusplus) || defined(_CRT_GETPUTWCHAR_NOINLINE)
  665. #define getwchar() fgetwc(stdin)
  666. #define putwchar(_c) fputwc((_c),stdout)
  667. #else
  668.   __CRT_INLINE wint_t __cdecl getwchar() {return (fgetwc(stdin)); }
  669.   __CRT_INLINE wint_t __cdecl putwchar(wchar_t _C) {return (fputwc(_C,stdout)); }
  670. #endif
  671.  
  672. #define getwc(_stm) fgetwc(_stm)
  673. #define putwc(_c,_stm) fputwc(_c,_stm)
  674. #define _putwc_nolock(_c,_stm) _fputwc_nolock(_c,_stm)
  675. #define _getwc_nolock(_c) _fgetwc_nolock(_c)
  676. #endif
  677.  
  678. #ifndef _WSTDLIB_DEFINED
  679. #define _WSTDLIB_DEFINED
  680.  
  681.   _CRTIMP wchar_t *__cdecl _itow(int _Value,wchar_t *_Dest,int _Radix);
  682.   _CRTIMP wchar_t *__cdecl _ltow(long _Value,wchar_t *_Dest,int _Radix);
  683.   _CRTIMP wchar_t *__cdecl _ultow(unsigned long _Value,wchar_t *_Dest,int _Radix);
  684.   double __cdecl wcstod(const wchar_t *_Str,wchar_t **_EndPtr);
  685.   _CRTIMP double __cdecl _wcstod_l(const wchar_t *_Str,wchar_t **_EndPtr,_locale_t _Locale);
  686.   float __cdecl wcstof( const wchar_t *nptr, wchar_t **endptr);
  687. #if !defined __NO_ISOCEXT /* in libmingwex.a */
  688.   float __cdecl wcstof (const wchar_t * __restrict__, wchar_t ** __restrict__);
  689.   long double __cdecl wcstold (const wchar_t * __restrict__, wchar_t ** __restrict__);
  690. #endif /* __NO_ISOCEXT */
  691.   long __cdecl wcstol(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix);
  692.   _CRTIMP long __cdecl _wcstol_l(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix,_locale_t _Locale);
  693.   unsigned long __cdecl wcstoul(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix);
  694.   _CRTIMP unsigned long __cdecl _wcstoul_l(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix,_locale_t _Locale);
  695.   _CRTIMP wchar_t *__cdecl _wgetenv(const wchar_t *_VarName);
  696. #ifndef _CRT_WSYSTEM_DEFINED
  697. #define _CRT_WSYSTEM_DEFINED
  698.   _CRTIMP int __cdecl _wsystem(const wchar_t *_Command);
  699. #endif
  700.   _CRTIMP double __cdecl _wtof(const wchar_t *_Str);
  701.   _CRTIMP double __cdecl _wtof_l(const wchar_t *_Str,_locale_t _Locale);
  702.   _CRTIMP int __cdecl _wtoi(const wchar_t *_Str);
  703.   _CRTIMP int __cdecl _wtoi_l(const wchar_t *_Str,_locale_t _Locale);
  704.   _CRTIMP long __cdecl _wtol(const wchar_t *_Str);
  705.   _CRTIMP long __cdecl _wtol_l(const wchar_t *_Str,_locale_t _Locale);
  706.  
  707. #if _INTEGRAL_MAX_BITS >= 64
  708.   _CRTIMP wchar_t *__cdecl _i64tow(__int64 _Val,wchar_t *_DstBuf,int _Radix);
  709.   _CRTIMP wchar_t *__cdecl _ui64tow(unsigned __int64 _Val,wchar_t *_DstBuf,int _Radix);
  710.   _CRTIMP __int64 __cdecl _wtoi64(const wchar_t *_Str);
  711.   _CRTIMP __int64 __cdecl _wtoi64_l(const wchar_t *_Str,_locale_t _Locale);
  712.   _CRTIMP __int64 __cdecl _wcstoi64(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix);
  713.   _CRTIMP __int64 __cdecl _wcstoi64_l(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix,_locale_t _Locale);
  714.   _CRTIMP unsigned __int64 __cdecl _wcstoui64(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix);
  715.   _CRTIMP unsigned __int64 __cdecl _wcstoui64_l(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix,_locale_t _Locale);
  716. #endif
  717. #endif
  718.  
  719. #ifndef _POSIX_
  720. #ifndef _WSTDLIBP_DEFINED
  721. #define _WSTDLIBP_DEFINED
  722.   _CRTIMP wchar_t *__cdecl _wfullpath(wchar_t *_FullPath,const wchar_t *_Path,size_t _SizeInWords);
  723.   _CRTIMP void __cdecl _wmakepath(wchar_t *_ResultPath,const wchar_t *_Drive,const wchar_t *_Dir,const wchar_t *_Filename,const wchar_t *_Ext);
  724. #ifndef _CRT_WPERROR_DEFINED
  725. #define _CRT_WPERROR_DEFINED
  726.   _CRTIMP void __cdecl _wperror(const wchar_t *_ErrMsg);
  727. #endif
  728.   _CRTIMP int __cdecl _wputenv(const wchar_t *_EnvString);
  729.   _CRTIMP void __cdecl _wsearchenv(const wchar_t *_Filename,const wchar_t *_EnvVar,wchar_t *_ResultPath);
  730.   _CRTIMP void __cdecl _wsplitpath(const wchar_t *_FullPath,wchar_t *_Drive,wchar_t *_Dir,wchar_t *_Filename,wchar_t *_Ext);
  731. #endif
  732. #endif
  733.  
  734. #ifndef _WSTRING_DEFINED
  735. #define _WSTRING_DEFINED
  736.   _CRTIMP wchar_t *__cdecl _wcsdup(const wchar_t *_Str);
  737.   wchar_t *__cdecl wcscat(wchar_t *_Dest,const wchar_t *_Source);
  738.   _CONST_RETURN wchar_t *__cdecl wcschr(const wchar_t *_Str,wchar_t _Ch);
  739.   int __cdecl wcscmp(const wchar_t *_Str1,const wchar_t *_Str2);
  740.   wchar_t *__cdecl wcscpy(wchar_t *_Dest,const wchar_t *_Source);
  741.   size_t __cdecl wcscspn(const wchar_t *_Str,const wchar_t *_Control);
  742.   size_t __cdecl wcslen(const wchar_t *_Str);
  743.   size_t __cdecl wcsnlen(const wchar_t *_Src,size_t _MaxCount);
  744.   wchar_t *__cdecl wcsncat(wchar_t *_Dest,const wchar_t *_Source,size_t _Count);
  745.   int __cdecl wcsncmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount);
  746.   wchar_t *__cdecl wcsncpy(wchar_t *_Dest,const wchar_t *_Source,size_t _Count);
  747.   _CONST_RETURN wchar_t *__cdecl wcspbrk(const wchar_t *_Str,const wchar_t *_Control);
  748.   _CONST_RETURN wchar_t *__cdecl wcsrchr(const wchar_t *_Str,wchar_t _Ch);
  749.   size_t __cdecl wcsspn(const wchar_t *_Str,const wchar_t *_Control);
  750.   _CONST_RETURN wchar_t *__cdecl wcsstr(const wchar_t *_Str,const wchar_t *_SubStr);
  751.   wchar_t *__cdecl wcstok(wchar_t *_Str,const wchar_t *_Delim);
  752.   _CRTIMP wchar_t *__cdecl _wcserror(int _ErrNum);
  753.   _CRTIMP wchar_t *__cdecl __wcserror(const wchar_t *_Str);
  754.   _CRTIMP int __cdecl _wcsicmp(const wchar_t *_Str1,const wchar_t *_Str2);
  755.   _CRTIMP int __cdecl _wcsicmp_l(const wchar_t *_Str1,const wchar_t *_Str2,_locale_t _Locale);
  756.   _CRTIMP int __cdecl _wcsnicmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount);
  757.   _CRTIMP int __cdecl _wcsnicmp_l(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount,_locale_t _Locale);
  758.   _CRTIMP wchar_t *__cdecl _wcsnset(wchar_t *_Str,wchar_t _Val,size_t _MaxCount);
  759.   _CRTIMP wchar_t *__cdecl _wcsrev(wchar_t *_Str);
  760.   _CRTIMP wchar_t *__cdecl _wcsset(wchar_t *_Str,wchar_t _Val);
  761.   _CRTIMP wchar_t *__cdecl _wcslwr(wchar_t *_String);
  762.   _CRTIMP wchar_t *_wcslwr_l(wchar_t *_String,_locale_t _Locale);
  763.   _CRTIMP wchar_t *__cdecl _wcsupr(wchar_t *_String);
  764.   _CRTIMP wchar_t *_wcsupr_l(wchar_t *_String,_locale_t _Locale);
  765.   size_t __cdecl wcsxfrm(wchar_t *_Dst,const wchar_t *_Src,size_t _MaxCount);
  766.   _CRTIMP size_t __cdecl _wcsxfrm_l(wchar_t *_Dst,const wchar_t *_Src,size_t _MaxCount,_locale_t _Locale);
  767.   int __cdecl wcscoll(const wchar_t *_Str1,const wchar_t *_Str2);
  768.   _CRTIMP int __cdecl _wcscoll_l(const wchar_t *_Str1,const wchar_t *_Str2,_locale_t _Locale);
  769.   _CRTIMP int __cdecl _wcsicoll(const wchar_t *_Str1,const wchar_t *_Str2);
  770.   _CRTIMP int __cdecl _wcsicoll_l(const wchar_t *_Str1,const wchar_t *_Str2,_locale_t _Locale);
  771.   _CRTIMP int __cdecl _wcsncoll(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount);
  772.   _CRTIMP int __cdecl _wcsncoll_l(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount,_locale_t _Locale);
  773.   _CRTIMP int __cdecl _wcsnicoll(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount);
  774.   _CRTIMP int __cdecl _wcsnicoll_l(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount,_locale_t _Locale);
  775.  
  776. #ifndef NO_OLDNAMES
  777.   wchar_t *__cdecl wcsdup(const wchar_t *_Str);
  778. #define wcswcs wcsstr
  779.   int __cdecl wcsicmp(const wchar_t *_Str1,const wchar_t *_Str2);
  780.   int __cdecl wcsnicmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount);
  781.   wchar_t *__cdecl wcsnset(wchar_t *_Str,wchar_t _Val,size_t _MaxCount);
  782.   wchar_t *__cdecl wcsrev(wchar_t *_Str);
  783.   wchar_t *__cdecl wcsset(wchar_t *_Str,wchar_t _Val);
  784.   wchar_t *__cdecl wcslwr(wchar_t *_Str);
  785.   wchar_t *__cdecl wcsupr(wchar_t *_Str);
  786.   int __cdecl wcsicoll(const wchar_t *_Str1,const wchar_t *_Str2);
  787. #endif
  788. #endif
  789.  
  790. #ifndef _TM_DEFINED
  791. #define _TM_DEFINED
  792.   struct tm {
  793.     int tm_sec;
  794.     int tm_min;
  795.     int tm_hour;
  796.     int tm_mday;
  797.     int tm_mon;
  798.     int tm_year;
  799.     int tm_wday;
  800.     int tm_yday;
  801.     int tm_isdst;
  802.   };
  803. #endif
  804.  
  805. #ifndef _WTIME_DEFINED
  806. #define _WTIME_DEFINED
  807.  
  808.   _CRTIMP wchar_t *__cdecl _wasctime(const struct tm *_Tm);
  809.   _CRTIMP wchar_t *__cdecl _wctime32(const __time32_t *_Time);
  810.   size_t __cdecl wcsftime(wchar_t *_Buf,size_t _SizeInWords,const wchar_t *_Format,const struct tm *_Tm);
  811.   _CRTIMP size_t __cdecl _wcsftime_l(wchar_t *_Buf,size_t _SizeInWords,const wchar_t *_Format,const struct tm *_Tm,_locale_t _Locale);
  812.   _CRTIMP wchar_t *__cdecl _wstrdate(wchar_t *_Buffer);
  813.   _CRTIMP wchar_t *__cdecl _wstrtime(wchar_t *_Buffer);
  814. #if _INTEGRAL_MAX_BITS >= 64
  815.   _CRTIMP wchar_t *__cdecl _wctime64(const __time64_t *_Time);
  816. #endif
  817.  
  818. #if !defined (RC_INVOKED) && !defined (_INC_WTIME_INL)
  819. #define _INC_WTIME_INL
  820. #ifdef _USE_32BIT_TIME_T
  821. __CRT_INLINE wchar_t *__cdecl _wctime(const time_t *_Time) { return _wctime32(_Time); }
  822. #else
  823. __CRT_INLINE wchar_t *__cdecl _wctime(const time_t *_Time) { return _wctime64(_Time); }
  824. #endif
  825. #endif
  826. #endif
  827.  
  828.   typedef int mbstate_t;
  829.   typedef wchar_t _Wint_t;
  830.  
  831.   wint_t __cdecl btowc(int);
  832.   size_t __cdecl mbrlen(const char *_Ch,size_t _SizeInBytes,mbstate_t *_State);
  833.   size_t __cdecl mbrtowc(wchar_t *_DstCh,const char *_SrcCh,size_t _SizeInBytes,mbstate_t *_State);
  834.   size_t __cdecl mbsrtowcs(wchar_t *_Dest,const char **_PSrc,size_t _Count,mbstate_t *_State);
  835.   size_t __cdecl wcrtomb(char *_Dest,wchar_t _Source,mbstate_t *_State);
  836.   size_t __cdecl wcsrtombs(char *_Dest,const wchar_t **_PSource,size_t _Count,mbstate_t *_State);
  837.   int __cdecl wctob(wint_t _WCh);
  838.  
  839. #ifndef __NO_ISOCEXT /* these need static lib libmingwex.a */
  840.   wchar_t *__cdecl wmemset(wchar_t *s, wchar_t c, size_t n);
  841.   _CONST_RETURN wchar_t *__cdecl wmemchr(const wchar_t *s, wchar_t c, size_t n);
  842.   int wmemcmp(const wchar_t *s1, const wchar_t *s2,size_t n);
  843.   wchar_t *__cdecl wmemcpy(wchar_t *s1,const wchar_t *s2,size_t n);
  844.   wchar_t *__cdecl wmemmove(wchar_t *s1, const wchar_t *s2, size_t n);
  845.   long long __cdecl wcstoll(const wchar_t *nptr,wchar_t **endptr, int base);
  846.   unsigned long long __cdecl wcstoull(const wchar_t *nptr,wchar_t **endptr, int base);
  847. #endif /* __NO_ISOCEXT */
  848.  
  849.   void *__cdecl memmove(void *_Dst,const void *_Src,size_t _MaxCount);
  850.   void *__cdecl memcpy(void *_Dst,const void *_Src,size_t _MaxCount);
  851.   __CRT_INLINE int __cdecl fwide(FILE *_F,int _M) { (void)_F; return (_M); }
  852.   __CRT_INLINE int __cdecl mbsinit(const mbstate_t *_P) { return (!_P || *_P==0); }
  853.   __CRT_INLINE _CONST_RETURN wchar_t *__cdecl wmemchr(const wchar_t *_S,wchar_t _C,size_t _N) { for (;0<_N;++_S,--_N) if (*_S==_C) return (_CONST_RETURN wchar_t *)(_S); return (0); }
  854.   __CRT_INLINE int __cdecl wmemcmp(const wchar_t *_S1,const wchar_t *_S2,size_t _N) { for (; 0 < _N; ++_S1,++_S2,--_N) if (*_S1!=*_S2) return (*_S1 < *_S2 ? -1 : +1); return (0); }
  855.   __CRT_INLINE wchar_t *__cdecl wmemcpy(wchar_t *_S1,const wchar_t *_S2,size_t _N) { return (wchar_t *)memcpy(_S1,_S2,_N*sizeof(wchar_t)); }
  856.   __CRT_INLINE wchar_t *__cdecl wmemmove(wchar_t *_S1,const wchar_t *_S2,size_t _N) { return (wchar_t *)memmove(_S1,_S2,_N*sizeof(wchar_t)); }
  857.   __CRT_INLINE wchar_t *__cdecl wmemset(wchar_t *_S,wchar_t _C,size_t _N) {
  858.     wchar_t *_Su = _S;
  859.     for (;0<_N;++_Su,--_N) {
  860.       *_Su = _C;
  861.     }
  862.     return (_S);
  863.   }
  864. #ifdef __cplusplus
  865. }
  866. #endif
  867.  
  868. #pragma pack(pop)
  869.  
  870. #include <sec_api/wchar_s.h>
  871. #endif
  872.