xref: /PHP-8.4/ext/mbstring/mbstring_arginfo.h (revision 5dd05756)
1 /* This is a generated file, edit the .stub.php file instead.
2  * Stub hash: 03c07f68bea7d7b96e6dc11f180f45663b859ed3 */
3 
4 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mb_language, 0, 0, MAY_BE_STRING|MAY_BE_BOOL)
5 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, language, IS_STRING, 1, "null")
6 ZEND_END_ARG_INFO()
7 
8 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mb_internal_encoding, 0, 0, MAY_BE_STRING|MAY_BE_BOOL)
9 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, encoding, IS_STRING, 1, "null")
10 ZEND_END_ARG_INFO()
11 
12 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mb_http_input, 0, 0, MAY_BE_ARRAY|MAY_BE_STRING|MAY_BE_FALSE)
13 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, type, IS_STRING, 1, "null")
14 ZEND_END_ARG_INFO()
15 
16 #define arginfo_mb_http_output arginfo_mb_internal_encoding
17 
18 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mb_detect_order, 0, 0, MAY_BE_ARRAY|MAY_BE_BOOL)
19 	ZEND_ARG_TYPE_MASK(0, encoding, MAY_BE_ARRAY|MAY_BE_STRING|MAY_BE_NULL, "null")
20 ZEND_END_ARG_INFO()
21 
22 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mb_substitute_character, 0, 0, MAY_BE_STRING|MAY_BE_LONG|MAY_BE_BOOL)
23 	ZEND_ARG_TYPE_MASK(0, substitute_character, MAY_BE_STRING|MAY_BE_LONG|MAY_BE_NULL, "null")
24 ZEND_END_ARG_INFO()
25 
26 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mb_preferred_mime_name, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
27 	ZEND_ARG_TYPE_INFO(0, encoding, IS_STRING, 0)
28 ZEND_END_ARG_INFO()
29 
30 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_parse_str, 0, 2, _IS_BOOL, 0)
31 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
32 	ZEND_ARG_INFO(1, result)
33 ZEND_END_ARG_INFO()
34 
35 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_output_handler, 0, 2, IS_STRING, 0)
36 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
37 	ZEND_ARG_TYPE_INFO(0, status, IS_LONG, 0)
38 ZEND_END_ARG_INFO()
39 
40 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_str_split, 0, 1, IS_ARRAY, 0)
41 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
42 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, length, IS_LONG, 0, "1")
43 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, encoding, IS_STRING, 1, "null")
44 ZEND_END_ARG_INFO()
45 
46 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_strlen, 0, 1, IS_LONG, 0)
47 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
48 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, encoding, IS_STRING, 1, "null")
49 ZEND_END_ARG_INFO()
50 
51 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mb_strpos, 0, 2, MAY_BE_LONG|MAY_BE_FALSE)
52 	ZEND_ARG_TYPE_INFO(0, haystack, IS_STRING, 0)
53 	ZEND_ARG_TYPE_INFO(0, needle, IS_STRING, 0)
54 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, offset, IS_LONG, 0, "0")
55 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, encoding, IS_STRING, 1, "null")
56 ZEND_END_ARG_INFO()
57 
58 #define arginfo_mb_strrpos arginfo_mb_strpos
59 
60 #define arginfo_mb_stripos arginfo_mb_strpos
61 
62 #define arginfo_mb_strripos arginfo_mb_strpos
63 
64 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mb_strstr, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
65 	ZEND_ARG_TYPE_INFO(0, haystack, IS_STRING, 0)
66 	ZEND_ARG_TYPE_INFO(0, needle, IS_STRING, 0)
67 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, before_needle, _IS_BOOL, 0, "false")
68 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, encoding, IS_STRING, 1, "null")
69 ZEND_END_ARG_INFO()
70 
71 #define arginfo_mb_strrchr arginfo_mb_strstr
72 
73 #define arginfo_mb_stristr arginfo_mb_strstr
74 
75 #define arginfo_mb_strrichr arginfo_mb_strstr
76 
77 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_substr_count, 0, 2, IS_LONG, 0)
78 	ZEND_ARG_TYPE_INFO(0, haystack, IS_STRING, 0)
79 	ZEND_ARG_TYPE_INFO(0, needle, IS_STRING, 0)
80 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, encoding, IS_STRING, 1, "null")
81 ZEND_END_ARG_INFO()
82 
83 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_substr, 0, 2, IS_STRING, 0)
84 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
85 	ZEND_ARG_TYPE_INFO(0, start, IS_LONG, 0)
86 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, length, IS_LONG, 1, "null")
87 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, encoding, IS_STRING, 1, "null")
88 ZEND_END_ARG_INFO()
89 
90 #define arginfo_mb_strcut arginfo_mb_substr
91 
92 #define arginfo_mb_strwidth arginfo_mb_strlen
93 
94 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_strimwidth, 0, 3, IS_STRING, 0)
95 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
96 	ZEND_ARG_TYPE_INFO(0, start, IS_LONG, 0)
97 	ZEND_ARG_TYPE_INFO(0, width, IS_LONG, 0)
98 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, trim_marker, IS_STRING, 0, "\"\"")
99 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, encoding, IS_STRING, 1, "null")
100 ZEND_END_ARG_INFO()
101 
102 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mb_convert_encoding, 0, 2, MAY_BE_ARRAY|MAY_BE_STRING|MAY_BE_FALSE)
103 	ZEND_ARG_TYPE_MASK(0, string, MAY_BE_ARRAY|MAY_BE_STRING, NULL)
104 	ZEND_ARG_TYPE_INFO(0, to_encoding, IS_STRING, 0)
105 	ZEND_ARG_TYPE_MASK(0, from_encoding, MAY_BE_ARRAY|MAY_BE_STRING|MAY_BE_NULL, "null")
106 ZEND_END_ARG_INFO()
107 
108 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_convert_case, 0, 2, IS_STRING, 0)
109 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
110 	ZEND_ARG_TYPE_INFO(0, mode, IS_LONG, 0)
111 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, encoding, IS_STRING, 1, "null")
112 ZEND_END_ARG_INFO()
113 
114 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_strtoupper, 0, 1, IS_STRING, 0)
115 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
116 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, encoding, IS_STRING, 1, "null")
117 ZEND_END_ARG_INFO()
118 
119 #define arginfo_mb_strtolower arginfo_mb_strtoupper
120 
121 #define arginfo_mb_ucfirst arginfo_mb_strtoupper
122 
123 #define arginfo_mb_lcfirst arginfo_mb_strtoupper
124 
125 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_trim, 0, 1, IS_STRING, 0)
126 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
127 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, characters, IS_STRING, 1, "null")
128 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, encoding, IS_STRING, 1, "null")
129 ZEND_END_ARG_INFO()
130 
131 #define arginfo_mb_ltrim arginfo_mb_trim
132 
133 #define arginfo_mb_rtrim arginfo_mb_trim
134 
135 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mb_detect_encoding, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
136 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
137 	ZEND_ARG_TYPE_MASK(0, encodings, MAY_BE_ARRAY|MAY_BE_STRING|MAY_BE_NULL, "null")
138 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, strict, _IS_BOOL, 0, "false")
139 ZEND_END_ARG_INFO()
140 
141 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_list_encodings, 0, 0, IS_ARRAY, 0)
142 ZEND_END_ARG_INFO()
143 
144 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_encoding_aliases, 0, 1, IS_ARRAY, 0)
145 	ZEND_ARG_TYPE_INFO(0, encoding, IS_STRING, 0)
146 ZEND_END_ARG_INFO()
147 
148 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_encode_mimeheader, 0, 1, IS_STRING, 0)
149 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
150 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, charset, IS_STRING, 1, "null")
151 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, transfer_encoding, IS_STRING, 1, "null")
152 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, newline, IS_STRING, 0, "\"\\r\\n\"")
153 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, indent, IS_LONG, 0, "0")
154 ZEND_END_ARG_INFO()
155 
156 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_decode_mimeheader, 0, 1, IS_STRING, 0)
157 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
158 ZEND_END_ARG_INFO()
159 
160 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_convert_kana, 0, 1, IS_STRING, 0)
161 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
162 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_STRING, 0, "\"KV\"")
163 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, encoding, IS_STRING, 1, "null")
164 ZEND_END_ARG_INFO()
165 
166 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mb_convert_variables, 0, 3, MAY_BE_STRING|MAY_BE_FALSE)
167 	ZEND_ARG_TYPE_INFO(0, to_encoding, IS_STRING, 0)
168 	ZEND_ARG_TYPE_MASK(0, from_encoding, MAY_BE_ARRAY|MAY_BE_STRING, NULL)
169 	ZEND_ARG_TYPE_INFO(1, var, IS_MIXED, 0)
170 	ZEND_ARG_VARIADIC_TYPE_INFO(1, vars, IS_MIXED, 0)
171 ZEND_END_ARG_INFO()
172 
173 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_encode_numericentity, 0, 2, IS_STRING, 0)
174 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
175 	ZEND_ARG_TYPE_INFO(0, map, IS_ARRAY, 0)
176 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, encoding, IS_STRING, 1, "null")
177 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, hex, _IS_BOOL, 0, "false")
178 ZEND_END_ARG_INFO()
179 
180 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_decode_numericentity, 0, 2, IS_STRING, 0)
181 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
182 	ZEND_ARG_TYPE_INFO(0, map, IS_ARRAY, 0)
183 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, encoding, IS_STRING, 1, "null")
184 ZEND_END_ARG_INFO()
185 
186 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_send_mail, 0, 3, _IS_BOOL, 0)
187 	ZEND_ARG_TYPE_INFO(0, to, IS_STRING, 0)
188 	ZEND_ARG_TYPE_INFO(0, subject, IS_STRING, 0)
189 	ZEND_ARG_TYPE_INFO(0, message, IS_STRING, 0)
190 	ZEND_ARG_TYPE_MASK(0, additional_headers, MAY_BE_ARRAY|MAY_BE_STRING, "[]")
191 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, additional_params, IS_STRING, 1, "null")
192 ZEND_END_ARG_INFO()
193 
194 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mb_get_info, 0, 0, MAY_BE_ARRAY|MAY_BE_STRING|MAY_BE_LONG|MAY_BE_FALSE|MAY_BE_NULL)
195 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, type, IS_STRING, 0, "\"all\"")
196 ZEND_END_ARG_INFO()
197 
198 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_check_encoding, 0, 0, _IS_BOOL, 0)
199 	ZEND_ARG_TYPE_MASK(0, value, MAY_BE_ARRAY|MAY_BE_STRING|MAY_BE_NULL, "null")
200 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, encoding, IS_STRING, 1, "null")
201 ZEND_END_ARG_INFO()
202 
203 #define arginfo_mb_scrub arginfo_mb_strtoupper
204 
205 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mb_ord, 0, 1, MAY_BE_LONG|MAY_BE_FALSE)
206 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
207 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, encoding, IS_STRING, 1, "null")
208 ZEND_END_ARG_INFO()
209 
210 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mb_chr, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
211 	ZEND_ARG_TYPE_INFO(0, codepoint, IS_LONG, 0)
212 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, encoding, IS_STRING, 1, "null")
213 ZEND_END_ARG_INFO()
214 
215 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_str_pad, 0, 2, IS_STRING, 0)
216 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
217 	ZEND_ARG_TYPE_INFO(0, length, IS_LONG, 0)
218 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, pad_string, IS_STRING, 0, "\" \"")
219 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, pad_type, IS_LONG, 0, "STR_PAD_RIGHT")
220 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, encoding, IS_STRING, 1, "null")
221 ZEND_END_ARG_INFO()
222 
223 #if defined(HAVE_MBREGEX)
224 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mb_regex_encoding, 0, 0, MAY_BE_STRING|MAY_BE_BOOL)
225 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, encoding, IS_STRING, 1, "null")
226 ZEND_END_ARG_INFO()
227 
228 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_ereg, 0, 2, _IS_BOOL, 0)
229 	ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0)
230 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
231 	ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, matches, "null")
232 ZEND_END_ARG_INFO()
233 
234 #define arginfo_mb_eregi arginfo_mb_ereg
235 
236 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mb_ereg_replace, 0, 3, MAY_BE_STRING|MAY_BE_FALSE|MAY_BE_NULL)
237 	ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0)
238 	ZEND_ARG_TYPE_INFO(0, replacement, IS_STRING, 0)
239 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
240 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_STRING, 1, "null")
241 ZEND_END_ARG_INFO()
242 
243 #define arginfo_mb_eregi_replace arginfo_mb_ereg_replace
244 
245 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mb_ereg_replace_callback, 0, 3, MAY_BE_STRING|MAY_BE_FALSE|MAY_BE_NULL)
246 	ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0)
247 	ZEND_ARG_TYPE_INFO(0, callback, IS_CALLABLE, 0)
248 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
249 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_STRING, 1, "null")
250 ZEND_END_ARG_INFO()
251 
252 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mb_split, 0, 2, MAY_BE_ARRAY|MAY_BE_FALSE)
253 	ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0)
254 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
255 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, limit, IS_LONG, 0, "-1")
256 ZEND_END_ARG_INFO()
257 
258 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_ereg_match, 0, 2, _IS_BOOL, 0)
259 	ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0)
260 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
261 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_STRING, 1, "null")
262 ZEND_END_ARG_INFO()
263 
264 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_ereg_search, 0, 0, _IS_BOOL, 0)
265 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, pattern, IS_STRING, 1, "null")
266 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_STRING, 1, "null")
267 ZEND_END_ARG_INFO()
268 
269 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mb_ereg_search_pos, 0, 0, MAY_BE_ARRAY|MAY_BE_FALSE)
270 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, pattern, IS_STRING, 1, "null")
271 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_STRING, 1, "null")
272 ZEND_END_ARG_INFO()
273 
274 #define arginfo_mb_ereg_search_regs arginfo_mb_ereg_search_pos
275 
276 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_ereg_search_init, 0, 1, _IS_BOOL, 0)
277 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
278 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, pattern, IS_STRING, 1, "null")
279 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_STRING, 1, "null")
280 ZEND_END_ARG_INFO()
281 
282 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mb_ereg_search_getregs, 0, 0, MAY_BE_ARRAY|MAY_BE_FALSE)
283 ZEND_END_ARG_INFO()
284 
285 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_ereg_search_getpos, 0, 0, IS_LONG, 0)
286 ZEND_END_ARG_INFO()
287 
288 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_ereg_search_setpos, 0, 1, _IS_BOOL, 0)
289 	ZEND_ARG_TYPE_INFO(0, offset, IS_LONG, 0)
290 ZEND_END_ARG_INFO()
291 
292 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_regex_set_options, 0, 0, IS_STRING, 0)
293 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_STRING, 1, "null")
294 ZEND_END_ARG_INFO()
295 #endif
296 
297 ZEND_FUNCTION(mb_language);
298 ZEND_FUNCTION(mb_internal_encoding);
299 ZEND_FUNCTION(mb_http_input);
300 ZEND_FUNCTION(mb_http_output);
301 ZEND_FUNCTION(mb_detect_order);
302 ZEND_FUNCTION(mb_substitute_character);
303 ZEND_FUNCTION(mb_preferred_mime_name);
304 ZEND_FUNCTION(mb_parse_str);
305 ZEND_FUNCTION(mb_output_handler);
306 ZEND_FUNCTION(mb_str_split);
307 ZEND_FUNCTION(mb_strlen);
308 ZEND_FUNCTION(mb_strpos);
309 ZEND_FUNCTION(mb_strrpos);
310 ZEND_FUNCTION(mb_stripos);
311 ZEND_FUNCTION(mb_strripos);
312 ZEND_FUNCTION(mb_strstr);
313 ZEND_FUNCTION(mb_strrchr);
314 ZEND_FUNCTION(mb_stristr);
315 ZEND_FUNCTION(mb_strrichr);
316 ZEND_FUNCTION(mb_substr_count);
317 ZEND_FUNCTION(mb_substr);
318 ZEND_FUNCTION(mb_strcut);
319 ZEND_FUNCTION(mb_strwidth);
320 ZEND_FUNCTION(mb_strimwidth);
321 ZEND_FUNCTION(mb_convert_encoding);
322 ZEND_FUNCTION(mb_convert_case);
323 ZEND_FUNCTION(mb_strtoupper);
324 ZEND_FUNCTION(mb_strtolower);
325 ZEND_FUNCTION(mb_ucfirst);
326 ZEND_FUNCTION(mb_lcfirst);
327 ZEND_FUNCTION(mb_trim);
328 ZEND_FUNCTION(mb_ltrim);
329 ZEND_FUNCTION(mb_rtrim);
330 ZEND_FUNCTION(mb_detect_encoding);
331 ZEND_FUNCTION(mb_list_encodings);
332 ZEND_FUNCTION(mb_encoding_aliases);
333 ZEND_FUNCTION(mb_encode_mimeheader);
334 ZEND_FUNCTION(mb_decode_mimeheader);
335 ZEND_FUNCTION(mb_convert_kana);
336 ZEND_FUNCTION(mb_convert_variables);
337 ZEND_FUNCTION(mb_encode_numericentity);
338 ZEND_FUNCTION(mb_decode_numericentity);
339 ZEND_FUNCTION(mb_send_mail);
340 ZEND_FUNCTION(mb_get_info);
341 ZEND_FUNCTION(mb_check_encoding);
342 ZEND_FUNCTION(mb_scrub);
343 ZEND_FUNCTION(mb_ord);
344 ZEND_FUNCTION(mb_chr);
345 ZEND_FUNCTION(mb_str_pad);
346 #if defined(HAVE_MBREGEX)
347 ZEND_FUNCTION(mb_regex_encoding);
348 ZEND_FUNCTION(mb_ereg);
349 ZEND_FUNCTION(mb_eregi);
350 ZEND_FUNCTION(mb_ereg_replace);
351 ZEND_FUNCTION(mb_eregi_replace);
352 ZEND_FUNCTION(mb_ereg_replace_callback);
353 ZEND_FUNCTION(mb_split);
354 ZEND_FUNCTION(mb_ereg_match);
355 ZEND_FUNCTION(mb_ereg_search);
356 ZEND_FUNCTION(mb_ereg_search_pos);
357 ZEND_FUNCTION(mb_ereg_search_regs);
358 ZEND_FUNCTION(mb_ereg_search_init);
359 ZEND_FUNCTION(mb_ereg_search_getregs);
360 ZEND_FUNCTION(mb_ereg_search_getpos);
361 ZEND_FUNCTION(mb_ereg_search_setpos);
362 ZEND_FUNCTION(mb_regex_set_options);
363 #endif
364 
365 static const zend_function_entry ext_functions[] = {
366 	ZEND_FE(mb_language, arginfo_mb_language)
367 	ZEND_FE(mb_internal_encoding, arginfo_mb_internal_encoding)
368 	ZEND_FE(mb_http_input, arginfo_mb_http_input)
369 	ZEND_FE(mb_http_output, arginfo_mb_http_output)
370 	ZEND_FE(mb_detect_order, arginfo_mb_detect_order)
371 	ZEND_FE(mb_substitute_character, arginfo_mb_substitute_character)
372 	ZEND_FE(mb_preferred_mime_name, arginfo_mb_preferred_mime_name)
373 	ZEND_FE(mb_parse_str, arginfo_mb_parse_str)
374 	ZEND_FE(mb_output_handler, arginfo_mb_output_handler)
375 	ZEND_FE(mb_str_split, arginfo_mb_str_split)
376 	ZEND_FE(mb_strlen, arginfo_mb_strlen)
377 	ZEND_FE(mb_strpos, arginfo_mb_strpos)
378 	ZEND_FE(mb_strrpos, arginfo_mb_strrpos)
379 	ZEND_FE(mb_stripos, arginfo_mb_stripos)
380 	ZEND_FE(mb_strripos, arginfo_mb_strripos)
381 	ZEND_FE(mb_strstr, arginfo_mb_strstr)
382 	ZEND_FE(mb_strrchr, arginfo_mb_strrchr)
383 	ZEND_FE(mb_stristr, arginfo_mb_stristr)
384 	ZEND_FE(mb_strrichr, arginfo_mb_strrichr)
385 	ZEND_FE(mb_substr_count, arginfo_mb_substr_count)
386 	ZEND_FE(mb_substr, arginfo_mb_substr)
387 	ZEND_FE(mb_strcut, arginfo_mb_strcut)
388 	ZEND_FE(mb_strwidth, arginfo_mb_strwidth)
389 	ZEND_FE(mb_strimwidth, arginfo_mb_strimwidth)
390 	ZEND_FE(mb_convert_encoding, arginfo_mb_convert_encoding)
391 	ZEND_FE(mb_convert_case, arginfo_mb_convert_case)
392 	ZEND_FE(mb_strtoupper, arginfo_mb_strtoupper)
393 	ZEND_FE(mb_strtolower, arginfo_mb_strtolower)
394 	ZEND_FE(mb_ucfirst, arginfo_mb_ucfirst)
395 	ZEND_FE(mb_lcfirst, arginfo_mb_lcfirst)
396 	ZEND_FE(mb_trim, arginfo_mb_trim)
397 	ZEND_FE(mb_ltrim, arginfo_mb_ltrim)
398 	ZEND_FE(mb_rtrim, arginfo_mb_rtrim)
399 	ZEND_FE(mb_detect_encoding, arginfo_mb_detect_encoding)
400 	ZEND_FE(mb_list_encodings, arginfo_mb_list_encodings)
401 	ZEND_FE(mb_encoding_aliases, arginfo_mb_encoding_aliases)
402 	ZEND_FE(mb_encode_mimeheader, arginfo_mb_encode_mimeheader)
403 	ZEND_FE(mb_decode_mimeheader, arginfo_mb_decode_mimeheader)
404 	ZEND_FE(mb_convert_kana, arginfo_mb_convert_kana)
405 	ZEND_FE(mb_convert_variables, arginfo_mb_convert_variables)
406 	ZEND_FE(mb_encode_numericentity, arginfo_mb_encode_numericentity)
407 	ZEND_FE(mb_decode_numericentity, arginfo_mb_decode_numericentity)
408 	ZEND_FE(mb_send_mail, arginfo_mb_send_mail)
409 	ZEND_FE(mb_get_info, arginfo_mb_get_info)
410 	ZEND_FE(mb_check_encoding, arginfo_mb_check_encoding)
411 	ZEND_FE(mb_scrub, arginfo_mb_scrub)
412 	ZEND_FE(mb_ord, arginfo_mb_ord)
413 	ZEND_FE(mb_chr, arginfo_mb_chr)
414 	ZEND_FE(mb_str_pad, arginfo_mb_str_pad)
415 #if defined(HAVE_MBREGEX)
416 	ZEND_FE(mb_regex_encoding, arginfo_mb_regex_encoding)
417 	ZEND_FE(mb_ereg, arginfo_mb_ereg)
418 	ZEND_FE(mb_eregi, arginfo_mb_eregi)
419 	ZEND_FE(mb_ereg_replace, arginfo_mb_ereg_replace)
420 	ZEND_FE(mb_eregi_replace, arginfo_mb_eregi_replace)
421 	ZEND_FE(mb_ereg_replace_callback, arginfo_mb_ereg_replace_callback)
422 	ZEND_FE(mb_split, arginfo_mb_split)
423 	ZEND_FE(mb_ereg_match, arginfo_mb_ereg_match)
424 	ZEND_FE(mb_ereg_search, arginfo_mb_ereg_search)
425 	ZEND_FE(mb_ereg_search_pos, arginfo_mb_ereg_search_pos)
426 	ZEND_FE(mb_ereg_search_regs, arginfo_mb_ereg_search_regs)
427 	ZEND_FE(mb_ereg_search_init, arginfo_mb_ereg_search_init)
428 	ZEND_FE(mb_ereg_search_getregs, arginfo_mb_ereg_search_getregs)
429 	ZEND_FE(mb_ereg_search_getpos, arginfo_mb_ereg_search_getpos)
430 	ZEND_FE(mb_ereg_search_setpos, arginfo_mb_ereg_search_setpos)
431 	ZEND_FE(mb_regex_set_options, arginfo_mb_regex_set_options)
432 #endif
433 	ZEND_FE_END
434 };
435 
register_mbstring_symbols(int module_number)436 static void register_mbstring_symbols(int module_number)
437 {
438 #if defined(HAVE_MBREGEX)
439 	REGISTER_STRING_CONSTANT("MB_ONIGURUMA_VERSION", php_mb_oniguruma_version, CONST_PERSISTENT);
440 #endif
441 	REGISTER_LONG_CONSTANT("MB_CASE_UPPER", PHP_UNICODE_CASE_UPPER, CONST_PERSISTENT);
442 	REGISTER_LONG_CONSTANT("MB_CASE_LOWER", PHP_UNICODE_CASE_LOWER, CONST_PERSISTENT);
443 	REGISTER_LONG_CONSTANT("MB_CASE_TITLE", PHP_UNICODE_CASE_TITLE, CONST_PERSISTENT);
444 	REGISTER_LONG_CONSTANT("MB_CASE_FOLD", PHP_UNICODE_CASE_FOLD, CONST_PERSISTENT);
445 	REGISTER_LONG_CONSTANT("MB_CASE_UPPER_SIMPLE", PHP_UNICODE_CASE_UPPER_SIMPLE, CONST_PERSISTENT);
446 	REGISTER_LONG_CONSTANT("MB_CASE_LOWER_SIMPLE", PHP_UNICODE_CASE_LOWER_SIMPLE, CONST_PERSISTENT);
447 	REGISTER_LONG_CONSTANT("MB_CASE_TITLE_SIMPLE", PHP_UNICODE_CASE_TITLE_SIMPLE, CONST_PERSISTENT);
448 	REGISTER_LONG_CONSTANT("MB_CASE_FOLD_SIMPLE", PHP_UNICODE_CASE_FOLD_SIMPLE, CONST_PERSISTENT);
449 }
450