add inet_pton (and inet_ntop) functional tests
[libc-test] / src / api / wchar.c
1 #include <wchar.h>
2 #define T(t) (t*)0;
3 #define F(t,n) {t *y = &x.n;}
4 #define C(n) switch(n){case n:;}
5 static void f()
6 {
7 #ifdef _POSIX_C_SOURCE
8 T(FILE)
9 T(locale_t)
10 T(va_list)
11 #endif
12 T(mbstate_t)
13 T(size_t)
14 T(wchar_t)
15 T(wint_t)
16 C(WCHAR_MAX)
17 C(WCHAR_MIN)
18 C(WEOF)
19 {void *x=NULL;}
20 {wint_t(*p)(void) = getwchar;}
21 {size_t(*p)(const char*restrict,size_t,mbstate_t*restrict) = mbrlen;}
22 {size_t(*p)(wchar_t*restrict,const char*restrict,size_t,mbstate_t*restrict) = mbrtowc;}
23 {int(*p)(const mbstate_t*) = mbsinit;}
24 {size_t(*p)(wchar_t*restrict,const char**restrict,size_t,mbstate_t*restrict) = mbsrtowcs;}
25 {wint_t(*p)(wchar_t) = putwchar;}
26 {size_t(*p)(char*restrict,wchar_t,mbstate_t*restrict) = wcrtomb;}
27 {wchar_t*(*p)(wchar_t*restrict,const wchar_t*restrict) = wcscat;}
28 {wchar_t*(*p)(const wchar_t*,wchar_t) = wcschr;}
29 {int(*p)(const wchar_t*,const wchar_t*) = wcscmp;}
30 {int(*p)(const wchar_t*,const wchar_t*) = wcscoll;}
31 {wchar_t*(*p)(wchar_t*restrict,const wchar_t*restrict) = wcscpy;}
32 {size_t(*p)(const wchar_t*,const wchar_t*) = wcscspn;}
33 {size_t(*p)(wchar_t*restrict,size_t,const wchar_t*restrict,const struct tm*restrict) = wcsftime;}
34 {size_t(*p)(const wchar_t*) = wcslen;}
35 {wchar_t*(*p)(wchar_t*restrict,const wchar_t*restrict,size_t) = wcsncat;}
36 {int(*p)(const wchar_t*,const wchar_t*,size_t) = wcsncmp;}
37 {wchar_t*(*p)(wchar_t*restrict,const wchar_t*restrict,size_t) = wcsncpy;}
38 {wchar_t*(*p)(const wchar_t*,const wchar_t*) = wcspbrk;}
39 {wchar_t*(*p)(const wchar_t*,wchar_t) = wcsrchr;}
40 {size_t(*p)(char*restrict,const wchar_t**restrict,size_t,mbstate_t*restrict) = wcsrtombs;}
41 {size_t(*p)(const wchar_t*,const wchar_t*) = wcsspn;}
42 {wchar_t*(*p)(const wchar_t*restrict,const wchar_t*restrict) = wcsstr;}
43 {double(*p)(const wchar_t*restrict,wchar_t**restrict) = wcstod;}
44 {float(*p)(const wchar_t*restrict,wchar_t**restrict) = wcstof;}
45 {wchar_t*(*p)(wchar_t*restrict,const wchar_t*restrict,wchar_t**restrict) = wcstok;}
46 {long(*p)(const wchar_t*restrict,wchar_t**restrict,int) = wcstol;}
47 {long double(*p)(const wchar_t*restrict,wchar_t**restrict) = wcstold;}
48 {long long(*p)(const wchar_t*restrict,wchar_t**restrict,int) = wcstoll;}
49 {unsigned long(*p)(const wchar_t*restrict,wchar_t**restrict,int) = wcstoul;}
50 {unsigned long long(*p)(const wchar_t*restrict,wchar_t**restrict,int) = wcstoull;}
51 {size_t(*p)(wchar_t*restrict,const wchar_t*restrict,size_t) = wcsxfrm;}
52 {wchar_t*(*p)(const wchar_t*,wchar_t,size_t) = wmemchr;}
53 {int(*p)(const wchar_t*,const wchar_t*,size_t) = wmemcmp;}
54 {wchar_t*(*p)(wchar_t*restrict,const wchar_t*restrict,size_t) = wmemcpy;}
55 {wchar_t*(*p)(wchar_t*,const wchar_t*,size_t) = wmemmove;}
56 {wchar_t*(*p)(wchar_t*,wchar_t,size_t) = wmemset;}
57 #ifdef _POSIX_C_SOURCE
58 {size_t(*p)(wchar_t*restrict,const char**restrict,size_t,size_t,mbstate_t*restrict) = mbsnrtowcs;}
59 {FILE*(*p)(wchar_t**,size_t*) = open_wmemstream;}
60 {wchar_t*(*p)(wchar_t*restrict,const wchar_t*restrict) = wcpcpy;}
61 {wchar_t*(*p)(wchar_t*restrict,const wchar_t*restrict,size_t) = wcpncpy;}
62 {int(*p)(const wchar_t*,const wchar_t*) = wcscasecmp;}
63 {int(*p)(const wchar_t*,const wchar_t*,locale_t) = wcscasecmp_l;}
64 {int(*p)(const wchar_t*,const wchar_t*,locale_t) = wcscoll_l;}
65 {wchar_t*(*p)(const wchar_t*) = wcsdup;}
66 {int(*p)(const wchar_t*,const wchar_t*,size_t) = wcsncasecmp;}
67 {int(*p)(const wchar_t*,const wchar_t*,size_t,locale_t) = wcsncasecmp_l;}
68 {size_t(*p)(const wchar_t*,size_t) = wcsnlen;}
69 {size_t(*p)(char*restrict,const wchar_t**restrict,size_t,size_t,mbstate_t*restrict) = wcsnrtombs;}
70 {size_t(*p)(wchar_t*restrict,const wchar_t*restrict,size_t,locale_t) = wcsxfrm_l;}
71 #endif
72 #ifdef _XOPEN_SOURCE
73 {int(*p)(const wchar_t*,size_t) = wcswidth;}
74 {int(*p)(wchar_t) = wcwidth;}
75 #endif
76 }