#include <bits/alltypes.h>
+#include <bits/wchar.h>
+
#undef NULL
#ifdef __cplusplus
#define NULL 0
#define NULL ((void*)0)
#endif
-#undef WCHAR_MIN
-#undef WCHAR_MAX
-#define WCHAR_MIN (-1-0x7fffffff)
-#define WCHAR_MAX (0x7fffffff)
-
#undef WEOF
#define WEOF (-1)
-
typedef struct
{
unsigned __opaque1, __opaque2;
int wcscmp (const wchar_t *, const wchar_t *);
int wcsncmp (const wchar_t *, const wchar_t *, size_t);
+int wcscoll(const wchar_t *, const wchar_t *);
size_t wcsxfrm (wchar_t *, const wchar_t *, size_t n);
wchar_t *wcschr (const wchar_t *, wchar_t);
#undef iswdigit
+#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
+ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
+FILE *open_wmemstream(wchar_t **, size_t *);
+size_t mbsnrtowcs(wchar_t *, const char **, size_t, size_t, mbstate_t *);
+size_t wcsnrtombs(char *, const wchar_t **, size_t, size_t, mbstate_t *);
+#endif
+
#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
int wcwidth (wchar_t);
int wcswidth (const wchar_t *, size_t);