1#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42 2type wchar_t 3type wint_t 4# if !defined ISO99 && !defined ISO11 && !defined POSIX2008 5type wctype_t 6# endif 7type mbstate_t 8# if !defined ISO99 && !defined ISO11 9type FILE 10# else 11# define FILE __FILE 12# endif 13type size_t 14# if defined XOPEN2K8 || defined POSIX2008 15type locale_t 16# endif 17tag {struct tm} 18 19function wint_t btowc (int) 20function int fwprintf (FILE*, const wchar_t*, ...) 21function int fwscanf (FILE*, const wchar_t*, ...) 22# if !defined ISO99 && !defined ISO11 && !defined POSIX2008 23function int iswalnum (wint_t) 24function int iswalpha (wint_t) 25function int iswcntrl (wint_t) 26function int iswdigit (wint_t) 27function int iswgraph (wint_t) 28function int iswlower (wint_t) 29function int iswprint (wint_t) 30function int iswpunct (wint_t) 31function int iswspace (wint_t) 32function int iswupper (wint_t) 33function int iswxdigit (wint_t) 34function int iswctype (wint_t, wctype_t) 35# endif 36function wint_t fgetwc (FILE*) 37function {wchar_t*} fgetws (wchar_t*, int, FILE*) 38function wint_t fputwc (wchar_t, FILE*) 39function int fputws (const wchar_t*, FILE*) 40function int fwide (FILE*, int) 41function wint_t getwc (FILE*) 42function wint_t getwchar (void) 43function int mbsinit (const mbstate_t*) 44function size_t mbrlen (const char*, size_t, mbstate_t*) 45function size_t mbrtowc (wchar_t*, const char*, size_t, mbstate_t*) 46# if defined XOPEN2K8 || defined POSIX2008 47function size_t mbsnrtowcs (wchar_t*, const char**, size_t, size_t, mbstate_t*) 48# endif 49function size_t mbsrtowcs (wchar_t*, const char**, size_t, mbstate_t*) 50# if defined XOPEN2K8 || defined POSIX2008 51function {FILE*} open_wmemstream (wchar_t**, size_t*) 52# endif 53function wint_t putwc (wchar_t, FILE*) 54function wint_t putwchar (wchar_t) 55function int swprintf (wchar_t*, size_t, const wchar_t*, ...) 56function int swscanf (const wchar_t*, const wchar_t*, ...) 57# if !defined ISO99 && !defined ISO11 && !defined POSIX2008 58function wint_t towlower (wint_t) 59function wint_t towupper (wint_t) 60# endif 61function wint_t ungetwc (wint_t, FILE*) 62function int vfwprintf (FILE*, const wchar_t*, __gnuc_va_list) 63# ifndef UNIX98 64function int vfwscanf (FILE*, const wchar_t*, __gnuc_va_list) 65# endif 66function int vwprintf (const wchar_t*, __gnuc_va_list) 67# ifndef UNIX98 68function int vwscanf (const wchar_t*, __gnuc_va_list) 69# endif 70function int vswprintf (wchar_t*, size_t, const wchar_t*, __gnuc_va_list) 71# ifndef UNIX98 72function int vswscanf (const wchar_t*, const wchar_t*, __gnuc_va_list) 73# endif 74# if defined XOPEN2K8 || defined POSIX2008 75function {wchar_t*} wcpcpy (wchar_t*, const wchar_t*) 76function {wchar_t*} wcpncpy (wchar_t*, const wchar_t*, size_t) 77# endif 78function size_t wcrtomb (char*, wchar_t, mbstate_t*) 79# if defined XOPEN2K8 || defined POSIX2008 80function int wcscasecmp (const wchar_t*, const wchar_t*) 81function int wcscasecmp_l (const wchar_t*, const wchar_t*, locale_t) 82# endif 83function {wchar_t*} wcscat (wchar_t*, const wchar_t*) 84function {wchar_t*} wcschr (const wchar_t*, wchar_t) 85function int wcscmp (const wchar_t*, const wchar_t*) 86function int wcscoll (const wchar_t*, const wchar_t*) 87# if defined XOPEN2K8 || defined POSIX2008 88function int wcscoll_l (const wchar_t*, const wchar_t*, locale_t) 89# endif 90function {wchar_t*} wcscpy (wchar_t*, const wchar_t*) 91function size_t wcscspn (const wchar_t*, const wchar_t*) 92# if defined XOPEN2K8 || defined POSIX2008 93function {wchar_t*} wcsdup (const wchar_t*) 94# endif 95function size_t wcsftime (wchar_t*, size_t, const wchar_t*, const struct tm*) 96function size_t wcslen (const wchar_t*) 97# if defined XOPEN2K8 || defined POSIX2008 98function int wcsncasecmp (const wchar_t*, const wchar_t*, size_t) 99function int wcsncasecmp_l (const wchar_t*, const wchar_t*, size_t, locale_t) 100# endif 101function {wchar_t*} wcsncat (wchar_t*, const wchar_t*, size_t) 102function int wcsncmp (const wchar_t*, const wchar_t*, size_t) 103function {wchar_t*} wcsncpy (wchar_t*, const wchar_t*, size_t) 104# if defined XOPEN2K8 || defined POSIX2008 105function size_t wcsnlen (const wchar_t*, size_t) 106function size_t wcsnrtombs (char*, const wchar_t**, size_t, size_t, mbstate_t*) 107# endif 108function {wchar_t*} wcspbrk (const wchar_t*, const wchar_t*) 109function {wchar_t*} wcsrchr (const wchar_t*, wchar_t) 110function size_t wcsrtombs (char*, const wchar_t**, size_t, mbstate_t*) 111function size_t wcsspn (const wchar_t*, const wchar_t*) 112function {wchar_t*} wcsstr (const wchar_t*, const wchar_t*) 113function double wcstod (const wchar_t*, wchar_t**) 114# ifndef UNIX98 115function float wcstof (const wchar_t*, wchar_t**) 116function {long double} wcstold (const wchar_t*, wchar_t**) 117# endif 118function {wchar_t*} wcstok (wchar_t*, const wchar_t*, wchar_t**) 119function {long int} wcstol (const wchar_t*, wchar_t**, int) 120# ifndef UNIX98 121function {long long int} wcstoll (const wchar_t*, wchar_t**, int) 122# endif 123function {unsigned long int} wcstoul (const wchar_t*, wchar_t**, int) 124# ifndef UNIX98 125function {unsigned long long int} wcstoull (const wchar_t*, wchar_t**, int) 126# endif 127# if defined UNIX98 || defined XOPEN2K 128function {wchar_t*} wcswcs (const wchar_t*, const wchar_t*) 129# endif 130# if !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008 131function int wcswidth (const wchar_t*, size_t) 132# endif 133function size_t wcsxfrm (wchar_t*, const wchar_t*, size_t) 134# if defined XOPEN2K8 || defined POSIX2008 135function size_t wcsxfrm_l (wchar_t*, const wchar_t*, size_t, locale_t) 136# endif 137function int wctob (wint_t) 138# if !defined ISO99 && !defined ISO11 && !defined POSIX2008 139function wctype_t wctype (const char*) 140function int wcwidth (wchar_t) 141# endif 142function {wchar_t*} wmemchr (const wchar_t*, wchar_t, size_t) 143function int wmemcmp (const wchar_t*, const wchar_t*, size_t) 144function {wchar_t*} wmemcpy (wchar_t*, const wchar_t*, size_t) 145function {wchar_t*} wmemmove (wchar_t*, const wchar_t*, size_t) 146function {wchar_t*} wmemset (wchar_t*, wchar_t, size_t) 147function int wprintf (const wchar_t*, ...) 148function int wscanf (const wchar_t*, ...) 149 150macro-int-constant WCHAR_MIN {promoted:wchar_t} 151macro-int-constant WCHAR_MAX {promoted:wchar_t} >= 127 152macro-constant WEOF {wint_t} 153macro-constant NULL == 0 154 155#if !defined ISO && !defined ISO99 && !defined ISO11 156allow-header ctype.h 157allow-header stdio.h 158allow-header stdarg.h 159allow-header stdlib.h 160allow-header string.h 161allow-header stddef.h 162allow-header time.h 163#endif 164 165allow wcs[abcdefghijklmnopqrstuvwxyz]* 166#if !defined ISO && !defined ISO99 && !defined ISO11 167allow *_t 168#endif 169#endif 170