\r
#ifndef _PDCLIB_MBSTATE_T_DEFINED\r
#define _PDCLIB_MBSTATE_T_DEFINED _PDCLIB_MBSTATE_T_DEFINED\r
-typedef struct _PDCLIB_mbstate_t mbstate_t;\r
+typedef _PDCLIB_mbstate_t mbstate_t;\r
#endif\r
\r
struct tm;\r
#endif\r
\r
/* Wide character I/O */\r
-int fwprintf(struct _PDCLIB_file_t *_PDCLIB_restrict stream, const wchar_t *_PDCLIB_restrict format, ...);\r
-int fwscanf(struct _PDCLIB_file_t *_PDCLIB_restrict stream, const wchar_t *_PDCLIB_restrict format, ...);\r
+int fwprintf(_PDCLIB_file_t *_PDCLIB_restrict stream, const wchar_t *_PDCLIB_restrict format, ...);\r
+int fwscanf(_PDCLIB_file_t *_PDCLIB_restrict stream, const wchar_t *_PDCLIB_restrict format, ...);\r
int swprintf(wchar_t *_PDCLIB_restrict s, size_t n, const wchar_t *_PDCLIB_restrict format, ...);\r
int swscanf(const wchar_t *_PDCLIB_restrict s, const wchar_t *_PDCLIB_restrict format, ...);\r
-int vfwprintf(struct _PDCLIB_file_t *_PDCLIB_restrict stream, const wchar_t *_PDCLIB_restrict format, _PDCLIB_va_list arg);\r
-int vfwscanf(struct _PDCLIB_file_t *_PDCLIB_restrict stream, const wchar_t *_PDCLIB_restrict format, _PDCLIB_va_list arg);\r
+int vfwprintf(_PDCLIB_file_t *_PDCLIB_restrict stream, const wchar_t *_PDCLIB_restrict format, _PDCLIB_va_list arg);\r
+int vfwscanf(_PDCLIB_file_t *_PDCLIB_restrict stream, const wchar_t *_PDCLIB_restrict format, _PDCLIB_va_list arg);\r
int vswprintf(wchar_t *_PDCLIB_restrict s, size_t n, const wchar_t *_PDCLIB_restrict format, _PDCLIB_va_list arg);\r
int vswscanf(const wchar_t *_PDCLIB_restrict s, const wchar_t *_PDCLIB_restrict format, _PDCLIB_va_list arg);\r
int vwprintf(const wchar_t *_PDCLIB_restrict format, _PDCLIB_va_list arg);\r
int vwscanf(const wchar_t *_PDCLIB_restrict format, _PDCLIB_va_list arg);\r
int wprintf(const wchar_t *_PDCLIB_restrict format, ...);\r
int wscanf(const wchar_t *_PDCLIB_restrict format, ...);\r
-wint_t fgetwc(struct _PDCLIB_file_t *stream);\r
-wchar_t *fgetws(wchar_t *_PDCLIB_restrict s, int n, struct _PDCLIB_file_t *_PDCLIB_restrict stream);\r
-wint_t fputwc(wchar_t c, struct _PDCLIB_file_t *stream);\r
-int fputws(const wchar_t *_PDCLIB_restrict s, struct _PDCLIB_file_t *_PDCLIB_restrict stream);\r
-int fwide(struct _PDCLIB_file_t *stream, int mode);\r
-wint_t getwc(struct _PDCLIB_file_t *stream);\r
+wint_t fgetwc(_PDCLIB_file_t *stream);\r
+wchar_t *fgetws(wchar_t *_PDCLIB_restrict s, int n, _PDCLIB_file_t *_PDCLIB_restrict stream);\r
+wint_t fputwc(wchar_t c, _PDCLIB_file_t *stream);\r
+int fputws(const wchar_t *_PDCLIB_restrict s, _PDCLIB_file_t *_PDCLIB_restrict stream);\r
+int fwide(_PDCLIB_file_t *stream, int mode);\r
+wint_t getwc(_PDCLIB_file_t *stream);\r
wint_t getwchar(void);\r
-wint_t putwc(wchar_t c, struct _PDCLIB_file_t *stream);\r
+wint_t putwc(wchar_t c, _PDCLIB_file_t *stream);\r
wint_t putwchar(wchar_t c);\r
-wint_t ungetwc(wint_t c, struct _PDCLIB_file_t *stream);\r
+wint_t ungetwc(wint_t c, _PDCLIB_file_t *stream);\r
+\r
+#if _PDCLIB_GNU_SOURCE\r
+wint_t getwc_unlocked(_PDCLIB_file_t *stream);\r
+wint_t getwchar_unlocked(void);\r
+wint_t fgetwc_unlocked(_PDCLIB_file_t *stream);\r
+wint_t fputwc_unlocked(wchar_t wc, _PDCLIB_file_t *stream);\r
+wint_t putwc_unlocked(wchar_t wc, _PDCLIB_file_t *stream);\r
+wint_t putwchar_unlocked(wchar_t wc);\r
+wchar_t *fgetws_unlocked(wchar_t *ws, int n, _PDCLIB_file_t *stream);\r
+int fputws_unlocked(const wchar_t *ws, _PDCLIB_file_t *stream);\r
+#endif\r
\r
/* Wide character <-> Numeric conversions */\r
#if 0\r