]> pd.if.org Git - pdclib.old/blobdiff - includes/wchar.h
PDCLIB-2 PDCLIB-12: Move _PDCLIB_mbstate_t to _PDCLIB_encoding.h, the new home for...
[pdclib.old] / includes / wchar.h
index a98abdbdea20ba7aa1f2d5397c304c44ca68516b..e3d8e4924d548b0c99ac138088015f39cd1b38d3 100644 (file)
@@ -7,7 +7,8 @@
 \r
 #ifndef _PDCLIB_WCHAR_H\r
 #define _PDCLIB_WCHAR_H\r
-#include <_PDCLIB_int.h>\r
+#include <_PDCLIB_io.h>\r
+#include <_PDCLIB_encoding.h>\r
 _PDCLIB_BEGIN_EXTERN_C\r
 /* This is VASTLY incomplete. Functions being implemented as required by other\r
    portions of the library\r
@@ -78,28 +79,39 @@ size_t wcsftime(wchar_t *_PDCLIB_restrict s, size_t maxsize, const wchar_t *_PDC
 #endif\r
 \r
 /* Wide character I/O */\r
-int fwprintf(FILE *_PDCLIB_restrict stream, const wchar_t *_PDCLIB_restrict format, ...);\r
-int fwscanf(FILE *_PDCLIB_restrict stream, const wchar_t *_PDCLIB_restrict format, ...);\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 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(FILE *_PDCLIB_restrict stream, const wchar_t *_PDCLIB_restrict format, va_list arg);\r
-int vfwscanf(FILE *_PDCLIB_restrict stream, const wchar_t *_PDCLIB_restrict format, va_list arg);\r
-int vswprintf(wchar_t *_PDCLIB_restrict s, size_t n, const wchar_t *_PDCLIB_restrict format, va_list arg);\r
-int vswscanf(const wchar_t *_PDCLIB_restrict s, const wchar_t *_PDCLIB_restrict format, va_list arg);\r
-int vwprintf(const wchar_t *_PDCLIB_restrict format, va_list arg);\r
-int vwscanf(const wchar_t *_PDCLIB_restrict format, va_list arg);\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 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(FILE *stream);\r
-wchar_t *fgetws(wchar_t *_PDCLIB_restrict s, int n, FILE *_PDCLIB_restrict stream);\r
-wint_t fputwc(wchar_t c, FILE *stream);\r
-int fputws(const wchar_t *_PDCLIB_restrict s, FILE *_PDCLIB_restrict stream);\r
-int fwide(FILE *stream, int mode);\r
-wint_t getwc(FILE *stream);\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 getwchar(void);\r
-wint_t putwc(wchar_t c, FILE *stream);\r
+wint_t putwc(wchar_t c, struct _PDCLIB_file_t *stream);\r
 wint_t putwchar(wchar_t c);\r
-wint_t ungetwc(wint_t c, FILE *stream);\r
+wint_t ungetwc(wint_t c, struct _PDCLIB_file_t *stream);\r
+\r
+#if _PDCLIB_GNU_SOURCE\r
+wint_t getwc_unlocked(struct _PDCLIB_file_t *stream);\r
+wint_t getwchar_unlocked(void);\r
+wint_t fgetwc_unlocked(struct _PDCLIB_file_t *stream);\r
+wint_t fputwc_unlocked(wchar_t wc, struct _PDCLIB_file_t *stream);\r
+wint_t putwc_unlocked(wchar_t wc, struct _PDCLIB_file_t *stream);\r
+wint_t putwchar_unlocked(wchar_t wc);\r
+wchar_t *fgetws_unlocked(wchar_t *ws, int n, struct _PDCLIB_file_t *stream);\r
+int fputws_unlocked(const wchar_t *ws, struct _PDCLIB_file_t *stream);\r
+#endif\r
 \r
 /* Wide character <-> Numeric conversions */\r
 #if 0\r