X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=blobdiff_plain;f=include%2Fwchar.h;h=d8738818c77ffe1e0672ffe9bf49535e63bae06a;hp=c3d8b045440a696bfc437b86f83ee182900d2b92;hb=1ab59de81e94e7802f85d314a709f8350a0e9b65;hpb=1461e027579c16a6bd95a264d9a1db75a4c3fa74 diff --git a/include/wchar.h b/include/wchar.h index c3d8b045..d8738818 100644 --- a/include/wchar.h +++ b/include/wchar.h @@ -5,50 +5,54 @@ extern "C" { #endif +#include + #define __NEED_FILE #define __NEED_va_list #define __NEED_size_t #define __NEED_wchar_t #define __NEED_wint_t +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) +#define __NEED_locale_t +#endif + #if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) #define __NEED_wctype_t #endif #include -#undef NULL -#ifdef __cplusplus -#define NULL 0 +#if L'\0'-1 > 0 +#define WCHAR_MAX (0xffffffffu+L'\0') +#define WCHAR_MIN (0+L'\0') #else -#define NULL ((void*)0) +#define WCHAR_MAX (0x7fffffff+L'\0') +#define WCHAR_MIN (-1-0x7fffffff+L'\0') #endif -#undef WCHAR_MIN -#undef WCHAR_MAX -#define WCHAR_MIN (-1-0x7fffffff) -#define WCHAR_MAX (0x7fffffff) +#define NULL 0L #undef WEOF #define WEOF (-1) - typedef struct { unsigned __opaque1, __opaque2; } mbstate_t; -wchar_t *wcscpy (wchar_t *, const wchar_t *); -wchar_t *wcsncpy (wchar_t *, const wchar_t *, size_t); +wchar_t *wcscpy (wchar_t *__restrict, const wchar_t *__restrict); +wchar_t *wcsncpy (wchar_t *__restrict, const wchar_t *__restrict, size_t); -wchar_t *wcscat (wchar_t *, const wchar_t *); -wchar_t *wcsncat (wchar_t *, const wchar_t *, size_t); +wchar_t *wcscat (wchar_t *__restrict, const wchar_t *__restrict); +wchar_t *wcsncat (wchar_t *__restrict, const wchar_t *__restrict, size_t); 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); +size_t wcsxfrm (wchar_t *__restrict, const wchar_t *__restrict, size_t n); wchar_t *wcschr (const wchar_t *, wchar_t); wchar_t *wcsrchr (const wchar_t *, wchar_t); @@ -57,16 +61,16 @@ size_t wcscspn (const wchar_t *, const wchar_t *); size_t wcsspn (const wchar_t *, const wchar_t *); wchar_t *wcspbrk (const wchar_t *, const wchar_t *); -wchar_t *wcstok (wchar_t *, const wchar_t *, wchar_t **); +wchar_t *wcstok (wchar_t *__restrict, const wchar_t *__restrict, wchar_t **__restrict); size_t wcslen (const wchar_t *); -wchar_t *wcsstr (const wchar_t *, const wchar_t *); +wchar_t *wcsstr (const wchar_t *__restrict, const wchar_t *__restrict); wchar_t *wcswcs (const wchar_t *, const wchar_t *); wchar_t *wmemchr (const wchar_t *, wchar_t, size_t); int wmemcmp (const wchar_t *, const wchar_t *, size_t); -wchar_t *wmemcpy (wchar_t *, const wchar_t *, size_t); +wchar_t *wmemcpy (wchar_t *__restrict, const wchar_t *__restrict, size_t); wchar_t *wmemmove (wchar_t *, const wchar_t *, size_t); wchar_t *wmemset (wchar_t *, wchar_t, size_t); @@ -74,44 +78,44 @@ wint_t btowc (int); int wctob (wint_t); int mbsinit (const mbstate_t *); -size_t mbrtowc (wchar_t *, const char *, size_t, mbstate_t *); -size_t wcrtomb (char *, wchar_t, mbstate_t *); +size_t mbrtowc (wchar_t *__restrict, const char *__restrict, size_t, mbstate_t *__restrict); +size_t wcrtomb (char *__restrict, wchar_t, mbstate_t *__restrict); -size_t mbrlen (const char *, size_t, mbstate_t *); +size_t mbrlen (const char *__restrict, size_t, mbstate_t *__restrict); -size_t mbsrtowcs (wchar_t *, const char **, size_t, mbstate_t *); -size_t wcsrtombs (char *, const wchar_t **, size_t, mbstate_t *); +size_t mbsrtowcs (wchar_t *__restrict, const char **__restrict, size_t, mbstate_t *__restrict); +size_t wcsrtombs (char *__restrict, const wchar_t **__restrict, size_t, mbstate_t *__restrict); -float wcstof (const wchar_t *, wchar_t **); -double wcstod (const wchar_t *, wchar_t **); -long double wcstold (const wchar_t *, wchar_t **); +float wcstof (const wchar_t *__restrict, wchar_t **__restrict); +double wcstod (const wchar_t *__restrict, wchar_t **__restrict); +long double wcstold (const wchar_t *__restrict, wchar_t **__restrict); -long wcstol (const wchar_t *, wchar_t **, int); -unsigned long wcstoul (const wchar_t *, wchar_t **, int); +long wcstol (const wchar_t *__restrict, wchar_t **__restrict, int); +unsigned long wcstoul (const wchar_t *__restrict, wchar_t **__restrict, int); -long long wcstoll (const wchar_t *, wchar_t **, int); -unsigned long long wcstoull (const wchar_t *, wchar_t **, int); +long long wcstoll (const wchar_t *__restrict, wchar_t **__restrict, int); +unsigned long long wcstoull (const wchar_t *__restrict, wchar_t **__restrict, int); int fwide (FILE *, int); -int wprintf (const wchar_t *, ...); -int fwprintf (FILE *, const wchar_t *, ...); -int swprintf (wchar_t *, size_t, const wchar_t *, ...); +int wprintf (const wchar_t *__restrict, ...); +int fwprintf (FILE *__restrict, const wchar_t *__restrict, ...); +int swprintf (wchar_t *__restrict, size_t, const wchar_t *__restrict, ...); -int vwprintf (const wchar_t *, va_list); -int vfwprintf (FILE *, const wchar_t *, va_list); -int vswprintf (wchar_t *, size_t, const wchar_t *, va_list); +int vwprintf (const wchar_t *__restrict, va_list); +int vfwprintf (FILE *__restrict, const wchar_t *__restrict, va_list); +int vswprintf (wchar_t *__restrict, size_t, const wchar_t *__restrict, va_list); -int wscanf (const wchar_t *, ...); -int fwscanf (FILE *, const wchar_t *, ...); -int swscanf (const wchar_t *, const wchar_t *, ...); +int wscanf (const wchar_t *__restrict, ...); +int fwscanf (FILE *__restrict, const wchar_t *__restrict, ...); +int swscanf (const wchar_t *__restrict, const wchar_t *__restrict, ...); -int vwscanf (const wchar_t *, va_list); -int vfwscanf (FILE *, const wchar_t *, va_list); -int vswscanf (const wchar_t *, const wchar_t *, va_list); +int vwscanf (const wchar_t *__restrict, va_list); +int vfwscanf (FILE *__restrict, const wchar_t *__restrict, va_list); +int vswscanf (const wchar_t *__restrict, const wchar_t *__restrict, va_list); wint_t fgetwc (FILE *); wint_t getwc (FILE *); @@ -121,21 +125,31 @@ wint_t fputwc (wchar_t, FILE *); wint_t putwc (wchar_t, FILE *); wint_t putwchar (wchar_t); -wchar_t *fgetws (wchar_t *, int, FILE *); -int fputws (const wchar_t *, FILE *); +wchar_t *fgetws (wchar_t *__restrict, int, FILE *__restrict); +int fputws (const wchar_t *__restrict, FILE *__restrict); wint_t ungetwc (wint_t, FILE *); struct tm; -size_t wcsftime (wchar_t *, size_t, const wchar_t *, const struct tm *); +size_t wcsftime (wchar_t *__restrict, size_t, const wchar_t *__restrict, const struct tm *__restrict); #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 *); +size_t mbsnrtowcs(wchar_t *__restrict, const char **__restrict, size_t, size_t, mbstate_t *__restrict); +size_t wcsnrtombs(char *__restrict, const wchar_t **__restrict, size_t, size_t, mbstate_t *__restrict); +wchar_t *wcsdup(const wchar_t *); +size_t wcsnlen (const wchar_t *, size_t); +wchar_t *wcpcpy (wchar_t *__restrict, const wchar_t *__restrict); +wchar_t *wcpncpy (wchar_t *__restrict, const wchar_t *__restrict, size_t); +int wcscasecmp(const wchar_t *, const wchar_t *); +int wcscasecmp_l(const wchar_t *, const wchar_t *, locale_t); +int wcsncasecmp(const wchar_t *, const wchar_t *, size_t); +int wcsncasecmp_l(const wchar_t *, const wchar_t *, size_t, locale_t); +int wcscoll_l(const wchar_t *, const wchar_t *, locale_t); +size_t wcsxfrm_l(wchar_t *__restrict, const wchar_t *__restrict, size_t n, locale_t); #endif #if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)