| #ifndef SYSROOT_WCHAR_H_ |
| #define SYSROOT_WCHAR_H_ |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| #include <features.h> |
| |
| #include <bits/null.h> |
| |
| #define __NEED_FILE |
| #define __NEED___isoc_va_list |
| #define __NEED_size_t |
| #define __NEED_wchar_t |
| #define __NEED_wint_t |
| #define __NEED_mbstate_t |
| |
| #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \ |
| defined(_GNU_SOURCE) || defined(_BSD_SOURCE) |
| #define __NEED_va_list |
| #endif |
| |
| #if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) |
| #define __NEED_wctype_t |
| #endif |
| |
| #include <bits/alltypes.h> |
| |
| #ifndef WCHAR_MAX |
| #define WCHAR_MAX __WCHAR_MAX__ |
| #endif |
| |
| #ifndef WCHAR_MIN |
| #if defined(__WCHAR_MIN__) |
| #define WCHAR_MIN __WCHAR_MIN__ |
| #else // defined(__WCHAR_MIN__) |
| #if defined(__WCHAR_UNSIGNED__) |
| #define WCHAR_MIN (L'\0' + 0) |
| #else |
| #define WCHAR_MIN (-WCHAR_MAX - 1) |
| #endif // defined (__WCHAR_UNSIGNED) |
| #endif // defined(__WCHAR_MIN__) |
| #endif |
| |
| #undef WEOF |
| #define WEOF 0xffffffffU |
| |
| 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* __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* __restrict, const wchar_t* __restrict, size_t n); |
| |
| wchar_t* wcschr(const wchar_t*, wchar_t); |
| wchar_t* wcsrchr(const wchar_t*, wchar_t); |
| |
| 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* __restrict, const wchar_t* __restrict, wchar_t** __restrict); |
| |
| size_t wcslen(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* __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); |
| |
| wint_t btowc(int); |
| int wctob(wint_t); |
| |
| int mbsinit(const 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* __restrict, size_t, mbstate_t* __restrict); |
| |
| 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* __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* __restrict, wchar_t** __restrict, int); |
| unsigned long wcstoul(const wchar_t* __restrict, wchar_t** __restrict, 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* __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* __restrict, __isoc_va_list); |
| int vfwprintf(FILE* __restrict, const wchar_t* __restrict, __isoc_va_list); |
| int vswprintf(wchar_t* __restrict, size_t, const wchar_t* __restrict, __isoc_va_list); |
| |
| 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* __restrict, __isoc_va_list); |
| int vfwscanf(FILE* __restrict, const wchar_t* __restrict, __isoc_va_list); |
| int vswscanf(const wchar_t* __restrict, const wchar_t* __restrict, __isoc_va_list); |
| |
| wint_t fgetwc(FILE*); |
| wint_t getwc(FILE*); |
| wint_t getwchar(void); |
| |
| wint_t fputwc(wchar_t, FILE*); |
| wint_t putwc(wchar_t, FILE*); |
| wint_t putwchar(wchar_t); |
| |
| 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* __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) || defined(_BSD_SOURCE) |
| FILE* open_wmemstream(wchar_t**, size_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 wcsncasecmp(const wchar_t*, const wchar_t*, size_t); |
| #endif |
| |
| #if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) |
| int wcwidth(wchar_t); |
| int wcswidth(const wchar_t*, size_t); |
| int iswalnum(wint_t); |
| int iswalpha(wint_t); |
| int iswblank(wint_t); |
| int iswcntrl(wint_t); |
| int iswdigit(wint_t); |
| int iswgraph(wint_t); |
| int iswlower(wint_t); |
| int iswprint(wint_t); |
| int iswpunct(wint_t); |
| int iswspace(wint_t); |
| int iswupper(wint_t); |
| int iswxdigit(wint_t); |
| int iswctype(wint_t, wctype_t); |
| wint_t towlower(wint_t); |
| wint_t towupper(wint_t); |
| wctype_t wctype(const char*); |
| |
| #ifndef __cplusplus |
| #undef iswdigit |
| #define iswdigit(a) (0 ? iswdigit(a) : ((unsigned)(a) - '0') < 10) |
| #endif |
| #endif |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif // SYSROOT_WCHAR_H_ |