1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 #ifndef _@GUARD_PREFIX@_UCHAR_H
24
25 #if __GNUC__ >= 3
26 @PRAGMA_SYSTEM_HEADER@
27 #endif
28 @PRAGMA_COLUMNS@
29
30 #if @HAVE_UCHAR_H@
31 # @INCLUDE_NEXT@ @NEXT_UCHAR_H@
32 #endif
33
34
35 #include <stdint.h>
36
37
38 #include <wchar.h>
39
40
41
42 #ifndef _GL_ATTRIBUTE_PURE
43 # if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) || defined __clang__
44 # define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
45 # else
46 # define _GL_ATTRIBUTE_PURE
47 # endif
48 #endif
49
50
51
52
53 #if !(@HAVE_UCHAR_H@ || (defined __cplusplus && @CXX_HAS_UCHAR_TYPES@))
54
55
56
57
58 typedef uint_least16_t char16_t;
59
60 #elif @GNULIBHEADERS_OVERRIDE_CHAR16_T@
61
62 typedef uint_least16_t gl_char16_t;
63 # define char16_t gl_char16_t
64
65 #endif
66
67 #if !(@HAVE_UCHAR_H@ || (defined __cplusplus && @CXX_HAS_UCHAR_TYPES@))
68
69
70
71
72 typedef uint_least32_t char32_t;
73
74 #elif @GNULIBHEADERS_OVERRIDE_CHAR32_T@
75
76 typedef uint_least32_t gl_char32_t;
77 # define char32_t gl_char32_t
78
79 #endif
80
81
82 #if @SMALL_WCHAR_T@
83 # define _GL_LARGE_CHAR32_T 1
84 #endif
85
86
87
88 #if @GNULIB_BTOC32@
89 _GL_FUNCDECL_SYS (btoc32, wint_t, (int c) _GL_ATTRIBUTE_PURE);
90 _GL_CXXALIAS_SYS (btoc32, wint_t, (int c));
91 _GL_CXXALIASWARN (btoc32);
92 #endif
93
94
95
96 #if @GNULIB_C32ISALNUM@
97 _GL_FUNCDECL_SYS (c32isalnum, int, (wint_t wc));
98 _GL_CXXALIAS_SYS (c32isalnum, int, (wint_t wc));
99 _GL_CXXALIASWARN (c32isalnum);
100 #endif
101 #if @GNULIB_C32ISALPHA@
102 _GL_FUNCDECL_SYS (c32isalpha, int, (wint_t wc));
103 _GL_CXXALIAS_SYS (c32isalpha, int, (wint_t wc));
104 _GL_CXXALIASWARN (c32isalpha);
105 #endif
106 #if @GNULIB_C32ISBLANK@
107 _GL_FUNCDECL_SYS (c32isblank, int, (wint_t wc));
108 _GL_CXXALIAS_SYS (c32isblank, int, (wint_t wc));
109 _GL_CXXALIASWARN (c32isblank);
110 #endif
111 #if @GNULIB_C32ISCNTRL@
112 _GL_FUNCDECL_SYS (c32iscntrl, int, (wint_t wc));
113 _GL_CXXALIAS_SYS (c32iscntrl, int, (wint_t wc));
114 _GL_CXXALIASWARN (c32iscntrl);
115 #endif
116 #if @GNULIB_C32ISDIGIT@
117 _GL_FUNCDECL_SYS (c32isdigit, int, (wint_t wc));
118 _GL_CXXALIAS_SYS (c32isdigit, int, (wint_t wc));
119 _GL_CXXALIASWARN (c32isdigit);
120 #endif
121 #if @GNULIB_C32ISGRAPH@
122 _GL_FUNCDECL_SYS (c32isgraph, int, (wint_t wc));
123 _GL_CXXALIAS_SYS (c32isgraph, int, (wint_t wc));
124 _GL_CXXALIASWARN (c32isgraph);
125 #endif
126 #if @GNULIB_C32ISLOWER@
127 _GL_FUNCDECL_SYS (c32islower, int, (wint_t wc));
128 _GL_CXXALIAS_SYS (c32islower, int, (wint_t wc));
129 _GL_CXXALIASWARN (c32islower);
130 #endif
131 #if @GNULIB_C32ISPRINT@
132 _GL_FUNCDECL_SYS (c32isprint, int, (wint_t wc));
133 _GL_CXXALIAS_SYS (c32isprint, int, (wint_t wc));
134 _GL_CXXALIASWARN (c32isprint);
135 #endif
136 #if @GNULIB_C32ISPUNCT@
137 _GL_FUNCDECL_SYS (c32ispunct, int, (wint_t wc));
138 _GL_CXXALIAS_SYS (c32ispunct, int, (wint_t wc));
139 _GL_CXXALIASWARN (c32ispunct);
140 #endif
141 #if @GNULIB_C32ISSPACE@
142 _GL_FUNCDECL_SYS (c32isspace, int, (wint_t wc));
143 _GL_CXXALIAS_SYS (c32isspace, int, (wint_t wc));
144 _GL_CXXALIASWARN (c32isspace);
145 #endif
146 #if @GNULIB_C32ISUPPER@
147 _GL_FUNCDECL_SYS (c32isupper, int, (wint_t wc));
148 _GL_CXXALIAS_SYS (c32isupper, int, (wint_t wc));
149 _GL_CXXALIASWARN (c32isupper);
150 #endif
151 #if @GNULIB_C32ISXDIGIT@
152 _GL_FUNCDECL_SYS (c32isxdigit, int, (wint_t wc));
153 _GL_CXXALIAS_SYS (c32isxdigit, int, (wint_t wc));
154 _GL_CXXALIASWARN (c32isxdigit);
155 #endif
156
157
158
159 #if @GNULIB_C32RTOMB@
160 # if @REPLACE_C32RTOMB@
161 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
162 # undef c32rtomb
163 # define c32rtomb rpl_c32rtomb
164 # endif
165 _GL_FUNCDECL_RPL (c32rtomb, size_t, (char *s, char32_t wc, mbstate_t *ps));
166 _GL_CXXALIAS_RPL (c32rtomb, size_t, (char *s, char32_t wc, mbstate_t *ps));
167 # else
168 # if !@HAVE_C32RTOMB@
169 _GL_FUNCDECL_SYS (c32rtomb, size_t, (char *s, char32_t wc, mbstate_t *ps));
170 # endif
171 _GL_CXXALIAS_SYS (c32rtomb, size_t, (char *s, char32_t wc, mbstate_t *ps));
172 # endif
173 _GL_CXXALIASWARN (c32rtomb);
174 #elif defined GNULIB_POSIXCHECK
175 # undef c32rtomb
176 # if HAVE_RAW_DECL_C32RTOMB
177 _GL_WARN_ON_USE (mbrtoc32, "c32rtomb is not portable - "
178 "use gnulib module c32rtomb for portability");
179 # endif
180 #endif
181
182
183
184 #if @GNULIB_C32SNRTOMBS@
185 _GL_FUNCDECL_SYS (c32snrtombs, size_t,
186 (char *dest, const char32_t **srcp, size_t srclen, size_t len,
187 mbstate_t *ps)
188 _GL_ARG_NONNULL ((2)));
189 _GL_CXXALIAS_SYS (c32snrtombs, size_t,
190 (char *dest, const char32_t **srcp, size_t srclen, size_t len,
191 mbstate_t *ps));
192 _GL_CXXALIASWARN (c32snrtombs);
193 #endif
194
195
196
197 #if @GNULIB_C32SRTOMBS@
198 _GL_FUNCDECL_SYS (c32srtombs, size_t,
199 (char *dest, const char32_t **srcp, size_t len, mbstate_t *ps)
200 _GL_ARG_NONNULL ((2)));
201 _GL_CXXALIAS_SYS (c32srtombs, size_t,
202 (char *dest, const char32_t **srcp, size_t len,
203 mbstate_t *ps));
204 _GL_CXXALIASWARN (c32srtombs);
205 #endif
206
207
208
209 #if @GNULIB_C32STOMBS@
210 _GL_FUNCDECL_SYS (c32stombs, size_t,
211 (char *dest, const char32_t *src, size_t len)
212 _GL_ARG_NONNULL ((2)));
213 _GL_CXXALIAS_SYS (c32stombs, size_t,
214 (char *dest, const char32_t *src, size_t len));
215 _GL_CXXALIASWARN (c32stombs);
216 #endif
217
218
219
220
221
222 #if @GNULIB_C32TOB@
223 _GL_FUNCDECL_SYS (c32tob, int, (wint_t wc));
224 _GL_CXXALIAS_SYS (c32tob, int, (wint_t wc));
225 _GL_CXXALIASWARN (c32tob);
226 #endif
227
228
229
230 #if @GNULIB_MBRTOC32@
231 # if @REPLACE_MBRTOC32@
232 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
233 # undef mbrtoc32
234 # define mbrtoc32 rpl_mbrtoc32
235 # endif
236 _GL_FUNCDECL_RPL (mbrtoc32, size_t,
237 (char32_t *pc, const char *s, size_t n, mbstate_t *ps));
238 _GL_CXXALIAS_RPL (mbrtoc32, size_t,
239 (char32_t *pc, const char *s, size_t n, mbstate_t *ps));
240 # else
241 # if !@HAVE_MBRTOC32@
242 _GL_FUNCDECL_SYS (mbrtoc32, size_t,
243 (char32_t *pc, const char *s, size_t n, mbstate_t *ps));
244 # endif
245 _GL_CXXALIAS_SYS (mbrtoc32, size_t,
246 (char32_t *pc, const char *s, size_t n, mbstate_t *ps));
247 # endif
248 _GL_CXXALIASWARN (mbrtoc32);
249 #elif defined GNULIB_POSIXCHECK
250 # undef mbrtoc32
251 # if HAVE_RAW_DECL_MBRTOC32
252 _GL_WARN_ON_USE (mbrtoc32, "mbrtoc32 is not portable - "
253 "use gnulib module mbrtoc32 for portability");
254 # endif
255 #endif
256
257
258
259 #if @GNULIB_MBSNRTOC32S@
260 _GL_FUNCDECL_SYS (mbsnrtoc32s, size_t,
261 (char32_t *dest, const char **srcp, size_t srclen, size_t len,
262 mbstate_t *ps)
263 _GL_ARG_NONNULL ((2)));
264 _GL_CXXALIAS_SYS (mbsnrtoc32s, size_t,
265 (char32_t *dest, const char **srcp, size_t srclen, size_t len,
266 mbstate_t *ps));
267 _GL_CXXALIASWARN (mbsnrtoc32s);
268 #endif
269
270
271
272 #if @GNULIB_MBSRTOC32S@
273 _GL_FUNCDECL_SYS (mbsrtoc32s, size_t,
274 (char32_t *dest, const char **srcp, size_t len, mbstate_t *ps)
275 _GL_ARG_NONNULL ((2)));
276 _GL_CXXALIAS_SYS (mbsrtoc32s, size_t,
277 (char32_t *dest, const char **srcp, size_t len,
278 mbstate_t *ps));
279 _GL_CXXALIASWARN (mbsrtoc32s);
280 #endif
281
282
283
284 #if @GNULIB_MBSTOC32S@
285 _GL_FUNCDECL_SYS (mbstoc32s, size_t,
286 (char32_t *dest, const char *src, size_t len)
287 _GL_ARG_NONNULL ((2)));
288 _GL_CXXALIAS_SYS (mbstoc32s, size_t,
289 (char32_t *dest, const char *src, size_t len));
290 _GL_CXXALIASWARN (mbstoc32s);
291 #endif
292
293
294 #endif