X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=includes%2Fwchar.h;h=83d880b16a9c1091b5dc1c06e3bd127357365eff;hb=3862b03514c94f37966f61693619e6483ead6045;hp=a98abdbdea20ba7aa1f2d5397c304c44ca68516b;hpb=e3c5fcf35a4e2c7b649a0c554d4f757561256a01;p=pdclib.old diff --git a/includes/wchar.h b/includes/wchar.h index a98abdb..83d880b 100644 --- a/includes/wchar.h +++ b/includes/wchar.h @@ -9,9 +9,6 @@ #define _PDCLIB_WCHAR_H #include <_PDCLIB_int.h> _PDCLIB_BEGIN_EXTERN_C -/* This is VASTLY incomplete. Functions being implemented as required by other - portions of the library - */ #ifndef _PDCLIB_SIZE_T_DEFINED #define _PDCLIB_SIZE_T_DEFINED _PDCLIB_SIZE_T_DEFINED @@ -48,7 +45,9 @@ struct tm; #define WCHAR_MAX _PDCLIB_WCHAR_MAX #endif +#ifndef _WEOF #define WEOF ((wint_t) -1) +#endif /* Wide character string handling */ wchar_t *wcscpy(wchar_t *_PDCLIB_restrict s1, const wchar_t *_PDCLIB_restrict s2); @@ -78,28 +77,39 @@ size_t wcsftime(wchar_t *_PDCLIB_restrict s, size_t maxsize, const wchar_t *_PDC #endif /* Wide character I/O */ -int fwprintf(FILE *_PDCLIB_restrict stream, const wchar_t *_PDCLIB_restrict format, ...); -int fwscanf(FILE *_PDCLIB_restrict stream, const wchar_t *_PDCLIB_restrict format, ...); +int fwprintf(_PDCLIB_file_t *_PDCLIB_restrict stream, const wchar_t *_PDCLIB_restrict format, ...); +int fwscanf(_PDCLIB_file_t *_PDCLIB_restrict stream, const wchar_t *_PDCLIB_restrict format, ...); int swprintf(wchar_t *_PDCLIB_restrict s, size_t n, const wchar_t *_PDCLIB_restrict format, ...); int swscanf(const wchar_t *_PDCLIB_restrict s, const wchar_t *_PDCLIB_restrict format, ...); -int vfwprintf(FILE *_PDCLIB_restrict stream, const wchar_t *_PDCLIB_restrict format, va_list arg); -int vfwscanf(FILE *_PDCLIB_restrict stream, const wchar_t *_PDCLIB_restrict format, va_list arg); -int vswprintf(wchar_t *_PDCLIB_restrict s, size_t n, const wchar_t *_PDCLIB_restrict format, va_list arg); -int vswscanf(const wchar_t *_PDCLIB_restrict s, const wchar_t *_PDCLIB_restrict format, va_list arg); -int vwprintf(const wchar_t *_PDCLIB_restrict format, va_list arg); -int vwscanf(const wchar_t *_PDCLIB_restrict format, va_list arg); +int vfwprintf(_PDCLIB_file_t *_PDCLIB_restrict stream, const wchar_t *_PDCLIB_restrict format, _PDCLIB_va_list arg); +int vfwscanf(_PDCLIB_file_t *_PDCLIB_restrict stream, const wchar_t *_PDCLIB_restrict format, _PDCLIB_va_list arg); +int vswprintf(wchar_t *_PDCLIB_restrict s, size_t n, const wchar_t *_PDCLIB_restrict format, _PDCLIB_va_list arg); +int vswscanf(const wchar_t *_PDCLIB_restrict s, const wchar_t *_PDCLIB_restrict format, _PDCLIB_va_list arg); +int vwprintf(const wchar_t *_PDCLIB_restrict format, _PDCLIB_va_list arg); +int vwscanf(const wchar_t *_PDCLIB_restrict format, _PDCLIB_va_list arg); int wprintf(const wchar_t *_PDCLIB_restrict format, ...); int wscanf(const wchar_t *_PDCLIB_restrict format, ...); -wint_t fgetwc(FILE *stream); -wchar_t *fgetws(wchar_t *_PDCLIB_restrict s, int n, FILE *_PDCLIB_restrict stream); -wint_t fputwc(wchar_t c, FILE *stream); -int fputws(const wchar_t *_PDCLIB_restrict s, FILE *_PDCLIB_restrict stream); -int fwide(FILE *stream, int mode); -wint_t getwc(FILE *stream); +wint_t fgetwc(_PDCLIB_file_t *stream); +wchar_t *fgetws(wchar_t *_PDCLIB_restrict s, int n, _PDCLIB_file_t *_PDCLIB_restrict stream); +wint_t fputwc(wchar_t c, _PDCLIB_file_t *stream); +int fputws(const wchar_t *_PDCLIB_restrict s, _PDCLIB_file_t *_PDCLIB_restrict stream); +int fwide(_PDCLIB_file_t *stream, int mode); +wint_t getwc(_PDCLIB_file_t *stream); wint_t getwchar(void); -wint_t putwc(wchar_t c, FILE *stream); +wint_t putwc(wchar_t c, _PDCLIB_file_t *stream); wint_t putwchar(wchar_t c); -wint_t ungetwc(wint_t c, FILE *stream); +wint_t ungetwc(wint_t c, _PDCLIB_file_t *stream); + +#if _PDCLIB_GNU_SOURCE +wint_t getwc_unlocked(_PDCLIB_file_t *stream); +wint_t getwchar_unlocked(void); +wint_t fgetwc_unlocked(_PDCLIB_file_t *stream); +wint_t fputwc_unlocked(wchar_t wc, _PDCLIB_file_t *stream); +wint_t putwc_unlocked(wchar_t wc, _PDCLIB_file_t *stream); +wint_t putwchar_unlocked(wchar_t wc); +wchar_t *fgetws_unlocked(wchar_t *ws, int n, _PDCLIB_file_t *stream); +int fputws_unlocked(const wchar_t *ws, _PDCLIB_file_t *stream); +#endif /* Wide character <-> Numeric conversions */ #if 0