set prototyped
lib mbstowcs,wctomb,wcrtomb,wcslen,wcstombs,wcwidth stdlib.h stdio.h wchar.h
lib towlower,towupper stdlib.h stdio.h wchar.h
typ mbstate_t stdlib.h stdio.h wchar.h
nxt wchar
run{
cat <<!
#ifndef _SFSTDIO_H
#include <ast_common.h>
#include <stdio.h>
#endif
#if _hdr_wchar && defined(_nxt_wchar)
#include $_nxt_wchar /* the native wchar.h */
#endif
#if _hdr_wctype
#include <wctype.h>
#endif
#ifndef WEOF
#define WEOF (-1)
#endif
#undef fgetwc
#undef fgetws
#undef fputwc
#undef fputws
#undef getwc
#undef getwchar
#undef getws
#undef putwc
#undef putwchar
#undef ungetwc
#define fgetwc _ast_fgetwc
#define fgetws _ast_fgetws
#define fputwc _ast_fputwc
#define fputws _ast_fputws
#define fwide _ast_fwide
#define fwprintf _ast_fwprintf
#define fwscanf _ast_fwscanf
#define getwc _ast_getwc
#define getwchar _ast_getwchar
#define getws _ast_getws
#define putwc _ast_putwc
#define putwchar _ast_putwchar
#define swprintf _ast_swprintf
#define swscanf _ast_swscanf
#define ungetwc _ast_ungetwc
#define vfwprintf _ast_vfwprintf
#define vfwscanf _ast_vfwscanf
#define vswprintf _ast_vswprintf
#define vswscanf _ast_vswscanf
#define vwprintf _ast_vwprintf
#define vwscanf _ast_vwscanf
#define wprintf _ast_wprintf
#define wscanf _ast_wscanf
#if !_typ_mbstate_t
#undef _typ_mbstate_t
#define _typ_mbstate_t 1
typedef char mbstate_t;
#endif
#if _BLD_ast && defined(__EXPORT__)
#define extern __EXPORT__
#endif
#if !_lib_mbstowcs
extern size_t mbstowcs(wchar_t*, const char*, size_t);
#endif
#if !_lib_wctomb
extern int wctomb(char*, wchar_t);
#endif
#if !_lib_wcrtomb
extern size_t wcrtomb(char*, wchar_t, mbstate_t*);
#endif
#if !_lib_wcslen
extern size_t wcslen(const wchar_t*);
#endif
#if !_lib_wcstombs
extern size_t wcstombs(char*, const wchar_t*, size_t);
#endif
extern int fwprintf(FILE*, const wchar_t*, ...);
extern int fwscanf(FILE*, const wchar_t*, ...);
extern wint_t fgetwc(FILE*);
extern wchar_t* fgetws(wchar_t*, int, FILE*);
extern wint_t fputwc(wchar_t, FILE*);
extern int fputws(const wchar_t*, FILE*);
extern int fwide(FILE*, int);
extern wint_t getwc(FILE*);
extern wint_t getwchar(void);
extern wchar_t* getws(wchar_t*);
extern wint_t putwc(wchar_t, FILE*);
extern wint_t putwchar(wchar_t);
extern int swprintf(wchar_t*, size_t, const wchar_t*, ...);
extern int swscanf(const wchar_t*, const wchar_t*, ...);
extern wint_t ungetwc(wint_t, FILE*);
extern int vfwprintf(FILE*, const wchar_t*, va_list);
extern int vfwscanf(FILE*, const wchar_t*, va_list);
extern int vwprintf(const wchar_t*, va_list);
extern int vwscanf(const wchar_t*, va_list);
extern int vswprintf(wchar_t*, size_t, const wchar_t*, va_list);
extern int vswscanf(const wchar_t*, const wchar_t*, va_list);
extern int wprintf(const wchar_t*, ...);
extern int wscanf(const wchar_t*, ...);
#undef extern
!
}end