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);
int wprintf (const wchar_t *, ...);
int fwprintf (FILE *, const wchar_t *, ...);
-int swprintf (wchar_t *, const wchar_t *, ...);
+int swprintf (wchar_t *, size_t, const wchar_t *, ...);
int vwprintf (const wchar_t *, va_list);
int vfwprintf (FILE *, const wchar_t *, va_list);
-int vswprintf (wchar_t *, const wchar_t *, va_list);
+int vswprintf (wchar_t *, size_t, const wchar_t *, va_list);
int wscanf (const wchar_t *, ...);
int fwscanf (FILE *, const 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);