xref: /aosp_15_r20/prebuilts/build-tools/sysroots/i686-unknown-linux-musl/include/wchar.h (revision cda5da8d549138a6648c5ee6d7a49cf8f4a657be)
1*cda5da8dSAndroid Build Coastguard Worker #ifndef _WCHAR_H
2*cda5da8dSAndroid Build Coastguard Worker #define _WCHAR_H
3*cda5da8dSAndroid Build Coastguard Worker 
4*cda5da8dSAndroid Build Coastguard Worker #ifdef __cplusplus
5*cda5da8dSAndroid Build Coastguard Worker extern "C" {
6*cda5da8dSAndroid Build Coastguard Worker #endif
7*cda5da8dSAndroid Build Coastguard Worker 
8*cda5da8dSAndroid Build Coastguard Worker #include <features.h>
9*cda5da8dSAndroid Build Coastguard Worker 
10*cda5da8dSAndroid Build Coastguard Worker #define __NEED_FILE
11*cda5da8dSAndroid Build Coastguard Worker #define __NEED___isoc_va_list
12*cda5da8dSAndroid Build Coastguard Worker #define __NEED_size_t
13*cda5da8dSAndroid Build Coastguard Worker #define __NEED_wchar_t
14*cda5da8dSAndroid Build Coastguard Worker #define __NEED_wint_t
15*cda5da8dSAndroid Build Coastguard Worker #define __NEED_mbstate_t
16*cda5da8dSAndroid Build Coastguard Worker 
17*cda5da8dSAndroid Build Coastguard Worker #if __STDC_VERSION__ < 201112L
18*cda5da8dSAndroid Build Coastguard Worker #define __NEED_struct__IO_FILE
19*cda5da8dSAndroid Build Coastguard Worker #endif
20*cda5da8dSAndroid Build Coastguard Worker 
21*cda5da8dSAndroid Build Coastguard Worker #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
22*cda5da8dSAndroid Build Coastguard Worker  || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
23*cda5da8dSAndroid Build Coastguard Worker #define __NEED_locale_t
24*cda5da8dSAndroid Build Coastguard Worker #define __NEED_va_list
25*cda5da8dSAndroid Build Coastguard Worker #endif
26*cda5da8dSAndroid Build Coastguard Worker 
27*cda5da8dSAndroid Build Coastguard Worker #if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
28*cda5da8dSAndroid Build Coastguard Worker #define __NEED_wctype_t
29*cda5da8dSAndroid Build Coastguard Worker #endif
30*cda5da8dSAndroid Build Coastguard Worker 
31*cda5da8dSAndroid Build Coastguard Worker #include <bits/alltypes.h>
32*cda5da8dSAndroid Build Coastguard Worker 
33*cda5da8dSAndroid Build Coastguard Worker #if L'\0'-1 > 0
34*cda5da8dSAndroid Build Coastguard Worker #define WCHAR_MAX (0xffffffffu+L'\0')
35*cda5da8dSAndroid Build Coastguard Worker #define WCHAR_MIN (0+L'\0')
36*cda5da8dSAndroid Build Coastguard Worker #else
37*cda5da8dSAndroid Build Coastguard Worker #define WCHAR_MAX (0x7fffffff+L'\0')
38*cda5da8dSAndroid Build Coastguard Worker #define WCHAR_MIN (-1-0x7fffffff+L'\0')
39*cda5da8dSAndroid Build Coastguard Worker #endif
40*cda5da8dSAndroid Build Coastguard Worker 
41*cda5da8dSAndroid Build Coastguard Worker #if __cplusplus >= 201103L
42*cda5da8dSAndroid Build Coastguard Worker #define NULL nullptr
43*cda5da8dSAndroid Build Coastguard Worker #elif defined(__cplusplus)
44*cda5da8dSAndroid Build Coastguard Worker #define NULL 0L
45*cda5da8dSAndroid Build Coastguard Worker #else
46*cda5da8dSAndroid Build Coastguard Worker #define NULL ((void*)0)
47*cda5da8dSAndroid Build Coastguard Worker #endif
48*cda5da8dSAndroid Build Coastguard Worker 
49*cda5da8dSAndroid Build Coastguard Worker #undef WEOF
50*cda5da8dSAndroid Build Coastguard Worker #define WEOF 0xffffffffU
51*cda5da8dSAndroid Build Coastguard Worker 
52*cda5da8dSAndroid Build Coastguard Worker wchar_t *wcscpy (wchar_t *__restrict, const wchar_t *__restrict);
53*cda5da8dSAndroid Build Coastguard Worker wchar_t *wcsncpy (wchar_t *__restrict, const wchar_t *__restrict, size_t);
54*cda5da8dSAndroid Build Coastguard Worker 
55*cda5da8dSAndroid Build Coastguard Worker wchar_t *wcscat (wchar_t *__restrict, const wchar_t *__restrict);
56*cda5da8dSAndroid Build Coastguard Worker wchar_t *wcsncat (wchar_t *__restrict, const wchar_t *__restrict, size_t);
57*cda5da8dSAndroid Build Coastguard Worker 
58*cda5da8dSAndroid Build Coastguard Worker int wcscmp (const wchar_t *, const wchar_t *);
59*cda5da8dSAndroid Build Coastguard Worker int wcsncmp (const wchar_t *, const wchar_t *, size_t);
60*cda5da8dSAndroid Build Coastguard Worker 
61*cda5da8dSAndroid Build Coastguard Worker int wcscoll(const wchar_t *, const wchar_t *);
62*cda5da8dSAndroid Build Coastguard Worker size_t wcsxfrm (wchar_t *__restrict, const wchar_t *__restrict, size_t);
63*cda5da8dSAndroid Build Coastguard Worker 
64*cda5da8dSAndroid Build Coastguard Worker wchar_t *wcschr (const wchar_t *, wchar_t);
65*cda5da8dSAndroid Build Coastguard Worker wchar_t *wcsrchr (const wchar_t *, wchar_t);
66*cda5da8dSAndroid Build Coastguard Worker 
67*cda5da8dSAndroid Build Coastguard Worker size_t wcscspn (const wchar_t *, const wchar_t *);
68*cda5da8dSAndroid Build Coastguard Worker size_t wcsspn (const wchar_t *, const wchar_t *);
69*cda5da8dSAndroid Build Coastguard Worker wchar_t *wcspbrk (const wchar_t *, const wchar_t *);
70*cda5da8dSAndroid Build Coastguard Worker 
71*cda5da8dSAndroid Build Coastguard Worker wchar_t *wcstok (wchar_t *__restrict, const wchar_t *__restrict, wchar_t **__restrict);
72*cda5da8dSAndroid Build Coastguard Worker 
73*cda5da8dSAndroid Build Coastguard Worker size_t wcslen (const wchar_t *);
74*cda5da8dSAndroid Build Coastguard Worker 
75*cda5da8dSAndroid Build Coastguard Worker wchar_t *wcsstr (const wchar_t *__restrict, const wchar_t *__restrict);
76*cda5da8dSAndroid Build Coastguard Worker wchar_t *wcswcs (const wchar_t *, const wchar_t *);
77*cda5da8dSAndroid Build Coastguard Worker 
78*cda5da8dSAndroid Build Coastguard Worker wchar_t *wmemchr (const wchar_t *, wchar_t, size_t);
79*cda5da8dSAndroid Build Coastguard Worker int wmemcmp (const wchar_t *, const wchar_t *, size_t);
80*cda5da8dSAndroid Build Coastguard Worker wchar_t *wmemcpy (wchar_t *__restrict, const wchar_t *__restrict, size_t);
81*cda5da8dSAndroid Build Coastguard Worker wchar_t *wmemmove (wchar_t *, const wchar_t *, size_t);
82*cda5da8dSAndroid Build Coastguard Worker wchar_t *wmemset (wchar_t *, wchar_t, size_t);
83*cda5da8dSAndroid Build Coastguard Worker 
84*cda5da8dSAndroid Build Coastguard Worker wint_t btowc (int);
85*cda5da8dSAndroid Build Coastguard Worker int wctob (wint_t);
86*cda5da8dSAndroid Build Coastguard Worker 
87*cda5da8dSAndroid Build Coastguard Worker int mbsinit (const mbstate_t *);
88*cda5da8dSAndroid Build Coastguard Worker size_t mbrtowc (wchar_t *__restrict, const char *__restrict, size_t, mbstate_t *__restrict);
89*cda5da8dSAndroid Build Coastguard Worker size_t wcrtomb (char *__restrict, wchar_t, mbstate_t *__restrict);
90*cda5da8dSAndroid Build Coastguard Worker 
91*cda5da8dSAndroid Build Coastguard Worker size_t mbrlen (const char *__restrict, size_t, mbstate_t *__restrict);
92*cda5da8dSAndroid Build Coastguard Worker 
93*cda5da8dSAndroid Build Coastguard Worker size_t mbsrtowcs (wchar_t *__restrict, const char **__restrict, size_t, mbstate_t *__restrict);
94*cda5da8dSAndroid Build Coastguard Worker size_t wcsrtombs (char *__restrict, const wchar_t **__restrict, size_t, mbstate_t *__restrict);
95*cda5da8dSAndroid Build Coastguard Worker 
96*cda5da8dSAndroid Build Coastguard Worker float wcstof (const wchar_t *__restrict, wchar_t **__restrict);
97*cda5da8dSAndroid Build Coastguard Worker double wcstod (const wchar_t *__restrict, wchar_t **__restrict);
98*cda5da8dSAndroid Build Coastguard Worker long double wcstold (const wchar_t *__restrict, wchar_t **__restrict);
99*cda5da8dSAndroid Build Coastguard Worker 
100*cda5da8dSAndroid Build Coastguard Worker long wcstol (const wchar_t *__restrict, wchar_t **__restrict, int);
101*cda5da8dSAndroid Build Coastguard Worker unsigned long wcstoul (const wchar_t *__restrict, wchar_t **__restrict, int);
102*cda5da8dSAndroid Build Coastguard Worker 
103*cda5da8dSAndroid Build Coastguard Worker long long wcstoll (const wchar_t *__restrict, wchar_t **__restrict, int);
104*cda5da8dSAndroid Build Coastguard Worker unsigned long long wcstoull (const wchar_t *__restrict, wchar_t **__restrict, int);
105*cda5da8dSAndroid Build Coastguard Worker 
106*cda5da8dSAndroid Build Coastguard Worker 
107*cda5da8dSAndroid Build Coastguard Worker 
108*cda5da8dSAndroid Build Coastguard Worker int fwide (FILE *, int);
109*cda5da8dSAndroid Build Coastguard Worker 
110*cda5da8dSAndroid Build Coastguard Worker 
111*cda5da8dSAndroid Build Coastguard Worker int wprintf (const wchar_t *__restrict, ...);
112*cda5da8dSAndroid Build Coastguard Worker int fwprintf (FILE *__restrict, const wchar_t *__restrict, ...);
113*cda5da8dSAndroid Build Coastguard Worker int swprintf (wchar_t *__restrict, size_t, const wchar_t *__restrict, ...);
114*cda5da8dSAndroid Build Coastguard Worker 
115*cda5da8dSAndroid Build Coastguard Worker int vwprintf (const wchar_t *__restrict, __isoc_va_list);
116*cda5da8dSAndroid Build Coastguard Worker int vfwprintf (FILE *__restrict, const wchar_t *__restrict, __isoc_va_list);
117*cda5da8dSAndroid Build Coastguard Worker int vswprintf (wchar_t *__restrict, size_t, const wchar_t *__restrict, __isoc_va_list);
118*cda5da8dSAndroid Build Coastguard Worker 
119*cda5da8dSAndroid Build Coastguard Worker int wscanf (const wchar_t *__restrict, ...);
120*cda5da8dSAndroid Build Coastguard Worker int fwscanf (FILE *__restrict, const wchar_t *__restrict, ...);
121*cda5da8dSAndroid Build Coastguard Worker int swscanf (const wchar_t *__restrict, const wchar_t *__restrict, ...);
122*cda5da8dSAndroid Build Coastguard Worker 
123*cda5da8dSAndroid Build Coastguard Worker int vwscanf (const wchar_t *__restrict, __isoc_va_list);
124*cda5da8dSAndroid Build Coastguard Worker int vfwscanf (FILE *__restrict, const wchar_t *__restrict, __isoc_va_list);
125*cda5da8dSAndroid Build Coastguard Worker int vswscanf (const wchar_t *__restrict, const wchar_t *__restrict, __isoc_va_list);
126*cda5da8dSAndroid Build Coastguard Worker 
127*cda5da8dSAndroid Build Coastguard Worker wint_t fgetwc (FILE *);
128*cda5da8dSAndroid Build Coastguard Worker wint_t getwc (FILE *);
129*cda5da8dSAndroid Build Coastguard Worker wint_t getwchar (void);
130*cda5da8dSAndroid Build Coastguard Worker 
131*cda5da8dSAndroid Build Coastguard Worker wint_t fputwc (wchar_t, FILE *);
132*cda5da8dSAndroid Build Coastguard Worker wint_t putwc (wchar_t, FILE *);
133*cda5da8dSAndroid Build Coastguard Worker wint_t putwchar (wchar_t);
134*cda5da8dSAndroid Build Coastguard Worker 
135*cda5da8dSAndroid Build Coastguard Worker wchar_t *fgetws (wchar_t *__restrict, int, FILE *__restrict);
136*cda5da8dSAndroid Build Coastguard Worker int fputws (const wchar_t *__restrict, FILE *__restrict);
137*cda5da8dSAndroid Build Coastguard Worker 
138*cda5da8dSAndroid Build Coastguard Worker wint_t ungetwc (wint_t, FILE *);
139*cda5da8dSAndroid Build Coastguard Worker 
140*cda5da8dSAndroid Build Coastguard Worker struct tm;
141*cda5da8dSAndroid Build Coastguard Worker size_t wcsftime (wchar_t *__restrict, size_t, const wchar_t *__restrict, const struct tm *__restrict);
142*cda5da8dSAndroid Build Coastguard Worker 
143*cda5da8dSAndroid Build Coastguard Worker #undef iswdigit
144*cda5da8dSAndroid Build Coastguard Worker 
145*cda5da8dSAndroid Build Coastguard Worker #if defined(_GNU_SOURCE)
146*cda5da8dSAndroid Build Coastguard Worker wint_t fgetwc_unlocked (FILE *);
147*cda5da8dSAndroid Build Coastguard Worker wint_t getwc_unlocked (FILE *);
148*cda5da8dSAndroid Build Coastguard Worker wint_t getwchar_unlocked (void);
149*cda5da8dSAndroid Build Coastguard Worker wint_t fputwc_unlocked (wchar_t, FILE *);
150*cda5da8dSAndroid Build Coastguard Worker wint_t putwc_unlocked (wchar_t, FILE *);
151*cda5da8dSAndroid Build Coastguard Worker wint_t putwchar_unlocked (wchar_t);
152*cda5da8dSAndroid Build Coastguard Worker wchar_t *fgetws_unlocked (wchar_t *__restrict, int, FILE *__restrict);
153*cda5da8dSAndroid Build Coastguard Worker int fputws_unlocked (const wchar_t *__restrict, FILE *__restrict);
154*cda5da8dSAndroid Build Coastguard Worker #endif
155*cda5da8dSAndroid Build Coastguard Worker 
156*cda5da8dSAndroid Build Coastguard Worker #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
157*cda5da8dSAndroid Build Coastguard Worker size_t wcsftime_l (wchar_t *__restrict, size_t, const wchar_t *__restrict, const struct tm *__restrict, locale_t);
158*cda5da8dSAndroid Build Coastguard Worker #endif
159*cda5da8dSAndroid Build Coastguard Worker 
160*cda5da8dSAndroid Build Coastguard Worker #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
161*cda5da8dSAndroid Build Coastguard Worker  || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)  || defined(_BSD_SOURCE)
162*cda5da8dSAndroid Build Coastguard Worker FILE *open_wmemstream(wchar_t **, size_t *);
163*cda5da8dSAndroid Build Coastguard Worker size_t mbsnrtowcs(wchar_t *__restrict, const char **__restrict, size_t, size_t, mbstate_t *__restrict);
164*cda5da8dSAndroid Build Coastguard Worker size_t wcsnrtombs(char *__restrict, const wchar_t **__restrict, size_t, size_t, mbstate_t *__restrict);
165*cda5da8dSAndroid Build Coastguard Worker wchar_t *wcsdup(const wchar_t *);
166*cda5da8dSAndroid Build Coastguard Worker size_t wcsnlen (const wchar_t *, size_t);
167*cda5da8dSAndroid Build Coastguard Worker wchar_t *wcpcpy (wchar_t *__restrict, const wchar_t *__restrict);
168*cda5da8dSAndroid Build Coastguard Worker wchar_t *wcpncpy (wchar_t *__restrict, const wchar_t *__restrict, size_t);
169*cda5da8dSAndroid Build Coastguard Worker int wcscasecmp(const wchar_t *, const wchar_t *);
170*cda5da8dSAndroid Build Coastguard Worker int wcscasecmp_l(const wchar_t *, const wchar_t *, locale_t);
171*cda5da8dSAndroid Build Coastguard Worker int wcsncasecmp(const wchar_t *, const wchar_t *, size_t);
172*cda5da8dSAndroid Build Coastguard Worker int wcsncasecmp_l(const wchar_t *, const wchar_t *, size_t, locale_t);
173*cda5da8dSAndroid Build Coastguard Worker int wcscoll_l(const wchar_t *, const wchar_t *, locale_t);
174*cda5da8dSAndroid Build Coastguard Worker size_t wcsxfrm_l(wchar_t *__restrict, const wchar_t *__restrict, size_t, locale_t);
175*cda5da8dSAndroid Build Coastguard Worker #endif
176*cda5da8dSAndroid Build Coastguard Worker 
177*cda5da8dSAndroid Build Coastguard Worker #if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
178*cda5da8dSAndroid Build Coastguard Worker int wcwidth (wchar_t);
179*cda5da8dSAndroid Build Coastguard Worker int wcswidth (const wchar_t *, size_t);
180*cda5da8dSAndroid Build Coastguard Worker int       iswalnum(wint_t);
181*cda5da8dSAndroid Build Coastguard Worker int       iswalpha(wint_t);
182*cda5da8dSAndroid Build Coastguard Worker int       iswblank(wint_t);
183*cda5da8dSAndroid Build Coastguard Worker int       iswcntrl(wint_t);
184*cda5da8dSAndroid Build Coastguard Worker int       iswdigit(wint_t);
185*cda5da8dSAndroid Build Coastguard Worker int       iswgraph(wint_t);
186*cda5da8dSAndroid Build Coastguard Worker int       iswlower(wint_t);
187*cda5da8dSAndroid Build Coastguard Worker int       iswprint(wint_t);
188*cda5da8dSAndroid Build Coastguard Worker int       iswpunct(wint_t);
189*cda5da8dSAndroid Build Coastguard Worker int       iswspace(wint_t);
190*cda5da8dSAndroid Build Coastguard Worker int       iswupper(wint_t);
191*cda5da8dSAndroid Build Coastguard Worker int       iswxdigit(wint_t);
192*cda5da8dSAndroid Build Coastguard Worker int       iswctype(wint_t, wctype_t);
193*cda5da8dSAndroid Build Coastguard Worker wint_t    towlower(wint_t);
194*cda5da8dSAndroid Build Coastguard Worker wint_t    towupper(wint_t);
195*cda5da8dSAndroid Build Coastguard Worker wctype_t  wctype(const char *);
196*cda5da8dSAndroid Build Coastguard Worker 
197*cda5da8dSAndroid Build Coastguard Worker #ifndef __cplusplus
198*cda5da8dSAndroid Build Coastguard Worker #undef iswdigit
199*cda5da8dSAndroid Build Coastguard Worker #define iswdigit(a) (0 ? iswdigit(a) : ((unsigned)(a)-'0') < 10)
200*cda5da8dSAndroid Build Coastguard Worker #endif
201*cda5da8dSAndroid Build Coastguard Worker #endif
202*cda5da8dSAndroid Build Coastguard Worker 
203*cda5da8dSAndroid Build Coastguard Worker #ifdef __cplusplus
204*cda5da8dSAndroid Build Coastguard Worker }
205*cda5da8dSAndroid Build Coastguard Worker #endif
206*cda5da8dSAndroid Build Coastguard Worker 
207*cda5da8dSAndroid Build Coastguard Worker #endif
208