]> pd.if.org Git - pdclib.old/blobdiff - includes/wchar.h
PDCLIB-2 #ifdef guard surrounding WEOF
[pdclib.old] / includes / wchar.h
index 1b4142b24dd821f3a6e07e43ce0934cda42df21d..83d880b16a9c1091b5dc1c06e3bd127357365eff 100644 (file)
-// ----------------------------------------------------------------------------
-// $Id$
-// ----------------------------------------------------------------------------
-// Public Domain C Library - http://pdclib.sourceforge.net
-// This code is Public Domain. Use, modify, and redistribute at will.
-// ----------------------------------------------------------------------------
-// TODO
-// ----------------------------------------------------------------------------
-
-#ifndef __WCHAR_H
-#define __WCHAR_H __WCHAR_H
-
-// TODO
-
-#endif // __WCHAR_H
+/* 7. <wchar.h>\r
+\r
+   This file is part of the Public Domain C Library (PDCLib).\r
+   Permission is granted to use, modify, and / or redistribute at will.\r
+*/\r
+\r
+\r
+#ifndef _PDCLIB_WCHAR_H\r
+#define _PDCLIB_WCHAR_H\r
+#include <_PDCLIB_int.h>\r
+_PDCLIB_BEGIN_EXTERN_C\r
+\r
+#ifndef _PDCLIB_SIZE_T_DEFINED\r
+#define _PDCLIB_SIZE_T_DEFINED _PDCLIB_SIZE_T_DEFINED\r
+typedef _PDCLIB_size_t size_t;\r
+#endif\r
+\r
+#ifndef __cplusplus\r
+#ifndef _PDCLIB_WCHAR_T_DEFINED\r
+#define _PDCLIB_WCHAR_T_DEFINED _PDCLIB_WCHAR_T_DEFINED\r
+typedef _PDCLIB_wchar_t wchar_t;\r
+#endif\r
+#endif\r
+\r
+#ifndef _PDCLIB_WINT_T_DEFINED\r
+#define _PDCLIB_WINT_T_DEFINED _PDCLIB_WINT_T_DEFINED\r
+typedef _PDCLIB_wint_t wint_t;\r
+#endif\r
+\r
+#ifndef _PDCLIB_MBSTATE_T_DEFINED\r
+#define _PDCLIB_MBSTATE_T_DEFINED _PDCLIB_MBSTATE_T_DEFINED\r
+typedef _PDCLIB_mbstate_t mbstate_t;\r
+#endif\r
+\r
+struct tm;\r
+\r
+#ifndef _PDCLIB_NULL_DEFINED\r
+#define _PDCLIB_NULL_DEFINED _PDCLIB_NULL_DEFINED\r
+#define NULL _PDCLIB_NULL\r
+#endif\r
+\r
+#ifndef _PDCLIB_WCHAR_MIN_MAX_DEFINED\r
+#define _PDCLIB_WCHAR_MIN_MAX_DEFINED\r
+#define WCHAR_MIN _PDCLIB_WCHAR_MIN\r
+#define WCHAR_MAX _PDCLIB_WCHAR_MAX\r
+#endif\r
+\r
+#ifndef _WEOF\r
+#define WEOF ((wint_t) -1)\r
+#endif\r
+\r
+/* Wide character string handling */\r
+wchar_t *wcscpy(wchar_t *_PDCLIB_restrict s1, const wchar_t *_PDCLIB_restrict s2);\r
+wchar_t *wcsncpy(wchar_t *_PDCLIB_restrict s1, const wchar_t *_PDCLIB_restrict s2, size_t n);\r
+wchar_t *wmemcpy(wchar_t *_PDCLIB_restrict s1, const wchar_t *_PDCLIB_restrict s2, size_t n);\r
+wchar_t *wmemmove(wchar_t *s1, const wchar_t *s2, size_t n);\r
+wchar_t *wcscat(wchar_t *_PDCLIB_restrict s1, const wchar_t *_PDCLIB_restrict s2);\r
+wchar_t *wcsncat(wchar_t *_PDCLIB_restrict s1, const wchar_t *_PDCLIB_restrict s2, size_t n);\r
+int wcscmp(const wchar_t *s1, const wchar_t *s2);\r
+int wcscoll(const wchar_t *s1, const wchar_t *s2);\r
+int wcsncmp(const wchar_t *s1, const wchar_t *s2, size_t n);\r
+size_t wcsxfrm(wchar_t *_PDCLIB_restrict s1, const wchar_t *_PDCLIB_restrict s2, size_t n);\r
+int wmemcmp(const wchar_t *s1, const wchar_t *s2, size_t n);\r
+wchar_t *wcschr(const wchar_t *s, wchar_t c);\r
+size_t wcscspn(const wchar_t *s1, const wchar_t *s2);\r
+wchar_t *wcspbrk(const wchar_t *s1, const wchar_t *s2);\r
+wchar_t *wcsrchr(const wchar_t *s, wchar_t c);\r
+size_t wcsspn(const wchar_t *s1, const wchar_t *s2);\r
+wchar_t *wcsstr(const wchar_t *s1, const wchar_t *s2);\r
+wchar_t *wcstok(wchar_t *_PDCLIB_restrict s1, const wchar_t *_PDCLIB_restrict s2, wchar_t **_PDCLIB_restrict ptr);\r
+wchar_t *wmemchr(const wchar_t *s, wchar_t c, size_t n); \r
+size_t wcslen(const wchar_t *s);\r
+wchar_t *wmemset(wchar_t *s, wchar_t c, size_t n);\r
+\r
+#if 0\r
+size_t wcsftime(wchar_t *_PDCLIB_restrict s, size_t maxsize, const wchar_t *_PDCLIB_restrict format, const struct tm *_PDCLIB_restrict timeptr);\r
+#endif\r
+\r
+/* Wide character I/O */\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(_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(_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, _PDCLIB_file_t *stream);\r
+wint_t putwchar(wchar_t c);\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
+double wcstod(const wchar_t *_PDCLIB_restrict nptr, wchar_t **_PDCLIB_restrict endptr);\r
+float wcstof(const wchar_t *_PDCLIB_restrict nptr, wchar_t **_PDCLIB_restrict endptr);\r
+long double wcstold(const wchar_t *_PDCLIB_restrict nptr, wchar_t **_PDCLIB_restrict endptr);\r
+#endif\r
+long int wcstol(const wchar_t *_PDCLIB_restrict nptr, wchar_t **_PDCLIB_restrict endptr, int base);\r
+long long int wcstoll(const wchar_t *_PDCLIB_restrict nptr, wchar_t **_PDCLIB_restrict endptr, int base);\r
+unsigned long int wcstoul(const wchar_t *_PDCLIB_restrict nptr, wchar_t **_PDCLIB_restrict endptr, int base);\r
+unsigned long long int wcstoull(const wchar_t *_PDCLIB_restrict nptr, wchar_t **_PDCLIB_restrict endptr, int base);\r
+\r
+/* Character set conversion */\r
+wint_t btowc(int c);\r
+int wctob(wint_t c);\r
+int mbsinit(const mbstate_t *ps);\r
+size_t mbrlen(const char *_PDCLIB_restrict s, size_t n, mbstate_t *_PDCLIB_restrict ps);\r
+size_t mbrtowc(wchar_t *_PDCLIB_restrict pwc, const char *_PDCLIB_restrict s, size_t n, mbstate_t *_PDCLIB_restrict ps);\r
+size_t wcrtomb(char *_PDCLIB_restrict s, wchar_t wc, mbstate_t *_PDCLIB_restrict ps);\r
+size_t mbsrtowcs(wchar_t *_PDCLIB_restrict dst, const char **_PDCLIB_restrict src, size_t len, mbstate_t *_PDCLIB_restrict ps);\r
+size_t wcsrtombs(char *_PDCLIB_restrict dst, const wchar_t **_PDCLIB_restrict src, size_t len, mbstate_t *_PDCLIB_restrict ps);\r
+\r
+_PDCLIB_END_EXTERN_C\r
+#endif\r