xref: /titanic_50/usr/src/lib/libast/common/features/wchar (revision 4445fffbbb1ea25fd0e9ea68b9380dd7a6709025)
1set	prototyped
2lib	mbstowcs,wctomb,wcrtomb,wcslen,wcstombs,wcwidth stdlib.h stdio.h wchar.h
3lib	towlower,towupper stdlib.h stdio.h wchar.h
4typ	mbstate_t stdlib.h stdio.h wchar.h
5nxt	wchar
6
7run{
8cat <<!
9	#ifndef _SFSTDIO_H
10	#include <ast_common.h>
11	#include <stdio.h>
12	#endif
13	#if _hdr_wchar && defined(_nxt_wchar)
14	#include $_nxt_wchar	/* the native wchar.h */
15	#endif
16	#if _hdr_wctype
17	#include <wctype.h>
18	#endif
19
20	#ifndef WEOF
21	#define WEOF		(-1)
22	#endif
23
24	#undef	fgetwc
25	#undef	fgetws
26	#undef	fputwc
27	#undef	fputws
28	#undef	getwc
29	#undef	getwchar
30	#undef	getws
31	#undef	putwc
32	#undef	putwchar
33	#undef	ungetwc
34
35	#define fgetwc		_ast_fgetwc
36	#define fgetws		_ast_fgetws
37	#define fputwc		_ast_fputwc
38	#define fputws		_ast_fputws
39	#define fwide		_ast_fwide
40	#define fwprintf	_ast_fwprintf
41	#define fwscanf		_ast_fwscanf
42	#define getwc		_ast_getwc
43	#define getwchar	_ast_getwchar
44	#define getws		_ast_getws
45	#define putwc		_ast_putwc
46	#define putwchar	_ast_putwchar
47	#define swprintf	_ast_swprintf
48	#define swscanf		_ast_swscanf
49	#define ungetwc		_ast_ungetwc
50	#define vfwprintf	_ast_vfwprintf
51	#define vfwscanf	_ast_vfwscanf
52	#define vswprintf	_ast_vswprintf
53	#define vswscanf	_ast_vswscanf
54	#define vwprintf	_ast_vwprintf
55	#define vwscanf		_ast_vwscanf
56	#define wprintf		_ast_wprintf
57	#define wscanf		_ast_wscanf
58
59	#if !_typ_mbstate_t
60	#undef	_typ_mbstate_t
61	#define _typ_mbstate_t	1
62	typedef char mbstate_t;
63	#endif
64
65	#if _BLD_ast && defined(__EXPORT__)
66	#define extern		__EXPORT__
67	#endif
68
69	#if !_lib_mbstowcs
70	extern size_t		mbstowcs(wchar_t*, const char*, size_t);
71	#endif
72	#if !_lib_wctomb
73	extern int		wctomb(char*, wchar_t);
74	#endif
75	#if !_lib_wcrtomb
76	extern size_t		wcrtomb(char*, wchar_t, mbstate_t*);
77	#endif
78	#if !_lib_wcslen
79	extern size_t		wcslen(const wchar_t*);
80	#endif
81	#if !_lib_wcstombs
82	extern size_t		wcstombs(char*, const wchar_t*, size_t);
83	#endif
84
85	extern int		fwprintf(FILE*, const wchar_t*, ...);
86	extern int		fwscanf(FILE*, const wchar_t*, ...);
87	extern wint_t		fgetwc(FILE*);
88	extern wchar_t*		fgetws(wchar_t*, int, FILE*);
89	extern wint_t		fputwc(wchar_t, FILE*);
90	extern int		fputws(const wchar_t*, FILE*);
91	extern int		fwide(FILE*, int);
92	extern wint_t		getwc(FILE*);
93	extern wint_t		getwchar(void);
94	extern wchar_t*		getws(wchar_t*);
95	extern wint_t		putwc(wchar_t, FILE*);
96	extern wint_t		putwchar(wchar_t);
97	extern int		swprintf(wchar_t*, size_t, const wchar_t*, ...);
98	extern int		swscanf(const wchar_t*, const wchar_t*, ...);
99	extern wint_t		ungetwc(wint_t, FILE*);
100	extern int		vfwprintf(FILE*, const wchar_t*, va_list);
101	extern int		vfwscanf(FILE*, const wchar_t*, va_list);
102	extern int		vwprintf(const wchar_t*, va_list);
103	extern int		vwscanf(const wchar_t*, va_list);
104	extern int		vswprintf(wchar_t*, size_t, const wchar_t*, va_list);
105	extern int		vswscanf(const wchar_t*, const wchar_t*, va_list);
106	extern int		wprintf(const wchar_t*, ...);
107	extern int		wscanf(const wchar_t*, ...);
108
109	#undef	extern
110!
111}end
112