xref: /PHP-8.3/ext/mbstring/mbstring_arginfo.h (revision d8ef868b)
1 /* This is a generated file, edit the .stub.php file instead.
2  * Stub hash: ff85f7aa54b972002d6f9d733dc52328c7b79c1d */
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 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mb_detect_encoding, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
122 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
123 	ZEND_ARG_TYPE_MASK(0, encodings, MAY_BE_ARRAY|MAY_BE_STRING|MAY_BE_NULL, "null")
124 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, strict, _IS_BOOL, 0, "false")
125 ZEND_END_ARG_INFO()
126 
127 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_list_encodings, 0, 0, IS_ARRAY, 0)
128 ZEND_END_ARG_INFO()
129 
130 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_encoding_aliases, 0, 1, IS_ARRAY, 0)
131 	ZEND_ARG_TYPE_INFO(0, encoding, IS_STRING, 0)
132 ZEND_END_ARG_INFO()
133 
134 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_encode_mimeheader, 0, 1, IS_STRING, 0)
135 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
136 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, charset, IS_STRING, 1, "null")
137 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, transfer_encoding, IS_STRING, 1, "null")
138 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, newline, IS_STRING, 0, "\"\\r\\n\"")
139 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, indent, IS_LONG, 0, "0")
140 ZEND_END_ARG_INFO()
141 
142 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_decode_mimeheader, 0, 1, IS_STRING, 0)
143 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
144 ZEND_END_ARG_INFO()
145 
146 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_convert_kana, 0, 1, IS_STRING, 0)
147 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
148 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_STRING, 0, "\"KV\"")
149 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, encoding, IS_STRING, 1, "null")
150 ZEND_END_ARG_INFO()
151 
152 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mb_convert_variables, 0, 3, MAY_BE_STRING|MAY_BE_FALSE)
153 	ZEND_ARG_TYPE_INFO(0, to_encoding, IS_STRING, 0)
154 	ZEND_ARG_TYPE_MASK(0, from_encoding, MAY_BE_ARRAY|MAY_BE_STRING, NULL)
155 	ZEND_ARG_TYPE_INFO(1, var, IS_MIXED, 0)
156 	ZEND_ARG_VARIADIC_TYPE_INFO(1, vars, IS_MIXED, 0)
157 ZEND_END_ARG_INFO()
158 
159 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_encode_numericentity, 0, 2, IS_STRING, 0)
160 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
161 	ZEND_ARG_TYPE_INFO(0, map, IS_ARRAY, 0)
162 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, encoding, IS_STRING, 1, "null")
163 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, hex, _IS_BOOL, 0, "false")
164 ZEND_END_ARG_INFO()
165 
166 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_decode_numericentity, 0, 2, IS_STRING, 0)
167 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
168 	ZEND_ARG_TYPE_INFO(0, map, IS_ARRAY, 0)
169 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, encoding, IS_STRING, 1, "null")
170 ZEND_END_ARG_INFO()
171 
172 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_send_mail, 0, 3, _IS_BOOL, 0)
173 	ZEND_ARG_TYPE_INFO(0, to, IS_STRING, 0)
174 	ZEND_ARG_TYPE_INFO(0, subject, IS_STRING, 0)
175 	ZEND_ARG_TYPE_INFO(0, message, IS_STRING, 0)
176 	ZEND_ARG_TYPE_MASK(0, additional_headers, MAY_BE_ARRAY|MAY_BE_STRING, "[]")
177 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, additional_params, IS_STRING, 1, "null")
178 ZEND_END_ARG_INFO()
179 
180 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)
181 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, type, IS_STRING, 0, "\"all\"")
182 ZEND_END_ARG_INFO()
183 
184 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_check_encoding, 0, 0, _IS_BOOL, 0)
185 	ZEND_ARG_TYPE_MASK(0, value, MAY_BE_ARRAY|MAY_BE_STRING|MAY_BE_NULL, "null")
186 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, encoding, IS_STRING, 1, "null")
187 ZEND_END_ARG_INFO()
188 
189 #define arginfo_mb_scrub arginfo_mb_strtoupper
190 
191 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mb_ord, 0, 1, MAY_BE_LONG|MAY_BE_FALSE)
192 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
193 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, encoding, IS_STRING, 1, "null")
194 ZEND_END_ARG_INFO()
195 
196 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mb_chr, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
197 	ZEND_ARG_TYPE_INFO(0, codepoint, IS_LONG, 0)
198 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, encoding, IS_STRING, 1, "null")
199 ZEND_END_ARG_INFO()
200 
201 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_str_pad, 0, 2, IS_STRING, 0)
202 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
203 	ZEND_ARG_TYPE_INFO(0, length, IS_LONG, 0)
204 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, pad_string, IS_STRING, 0, "\" \"")
205 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, pad_type, IS_LONG, 0, "STR_PAD_RIGHT")
206 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, encoding, IS_STRING, 1, "null")
207 ZEND_END_ARG_INFO()
208 
209 #if defined(HAVE_MBREGEX)
210 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mb_regex_encoding, 0, 0, MAY_BE_STRING|MAY_BE_BOOL)
211 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, encoding, IS_STRING, 1, "null")
212 ZEND_END_ARG_INFO()
213 #endif
214 
215 #if defined(HAVE_MBREGEX)
216 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_ereg, 0, 2, _IS_BOOL, 0)
217 	ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0)
218 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
219 	ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, matches, "null")
220 ZEND_END_ARG_INFO()
221 #endif
222 
223 #if defined(HAVE_MBREGEX)
224 #define arginfo_mb_eregi arginfo_mb_ereg
225 #endif
226 
227 #if defined(HAVE_MBREGEX)
228 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mb_ereg_replace, 0, 3, MAY_BE_STRING|MAY_BE_FALSE|MAY_BE_NULL)
229 	ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0)
230 	ZEND_ARG_TYPE_INFO(0, replacement, IS_STRING, 0)
231 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
232 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_STRING, 1, "null")
233 ZEND_END_ARG_INFO()
234 #endif
235 
236 #if defined(HAVE_MBREGEX)
237 #define arginfo_mb_eregi_replace arginfo_mb_ereg_replace
238 #endif
239 
240 #if defined(HAVE_MBREGEX)
241 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mb_ereg_replace_callback, 0, 3, MAY_BE_STRING|MAY_BE_FALSE|MAY_BE_NULL)
242 	ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0)
243 	ZEND_ARG_TYPE_INFO(0, callback, IS_CALLABLE, 0)
244 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
245 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_STRING, 1, "null")
246 ZEND_END_ARG_INFO()
247 #endif
248 
249 #if defined(HAVE_MBREGEX)
250 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mb_split, 0, 2, MAY_BE_ARRAY|MAY_BE_FALSE)
251 	ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0)
252 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
253 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, limit, IS_LONG, 0, "-1")
254 ZEND_END_ARG_INFO()
255 #endif
256 
257 #if defined(HAVE_MBREGEX)
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 #endif
264 
265 #if defined(HAVE_MBREGEX)
266 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_ereg_search, 0, 0, _IS_BOOL, 0)
267 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, pattern, IS_STRING, 1, "null")
268 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_STRING, 1, "null")
269 ZEND_END_ARG_INFO()
270 #endif
271 
272 #if defined(HAVE_MBREGEX)
273 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mb_ereg_search_pos, 0, 0, MAY_BE_ARRAY|MAY_BE_FALSE)
274 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, pattern, IS_STRING, 1, "null")
275 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_STRING, 1, "null")
276 ZEND_END_ARG_INFO()
277 #endif
278 
279 #if defined(HAVE_MBREGEX)
280 #define arginfo_mb_ereg_search_regs arginfo_mb_ereg_search_pos
281 #endif
282 
283 #if defined(HAVE_MBREGEX)
284 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_ereg_search_init, 0, 1, _IS_BOOL, 0)
285 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
286 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, pattern, IS_STRING, 1, "null")
287 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_STRING, 1, "null")
288 ZEND_END_ARG_INFO()
289 #endif
290 
291 #if defined(HAVE_MBREGEX)
292 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mb_ereg_search_getregs, 0, 0, MAY_BE_ARRAY|MAY_BE_FALSE)
293 ZEND_END_ARG_INFO()
294 #endif
295 
296 #if defined(HAVE_MBREGEX)
297 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_ereg_search_getpos, 0, 0, IS_LONG, 0)
298 ZEND_END_ARG_INFO()
299 #endif
300 
301 #if defined(HAVE_MBREGEX)
302 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_ereg_search_setpos, 0, 1, _IS_BOOL, 0)
303 	ZEND_ARG_TYPE_INFO(0, offset, IS_LONG, 0)
304 ZEND_END_ARG_INFO()
305 #endif
306 
307 #if defined(HAVE_MBREGEX)
308 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_regex_set_options, 0, 0, IS_STRING, 0)
309 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_STRING, 1, "null")
310 ZEND_END_ARG_INFO()
311 #endif
312 
313 
314 ZEND_FUNCTION(mb_language);
315 ZEND_FUNCTION(mb_internal_encoding);
316 ZEND_FUNCTION(mb_http_input);
317 ZEND_FUNCTION(mb_http_output);
318 ZEND_FUNCTION(mb_detect_order);
319 ZEND_FUNCTION(mb_substitute_character);
320 ZEND_FUNCTION(mb_preferred_mime_name);
321 ZEND_FUNCTION(mb_parse_str);
322 ZEND_FUNCTION(mb_output_handler);
323 ZEND_FUNCTION(mb_str_split);
324 ZEND_FUNCTION(mb_strlen);
325 ZEND_FUNCTION(mb_strpos);
326 ZEND_FUNCTION(mb_strrpos);
327 ZEND_FUNCTION(mb_stripos);
328 ZEND_FUNCTION(mb_strripos);
329 ZEND_FUNCTION(mb_strstr);
330 ZEND_FUNCTION(mb_strrchr);
331 ZEND_FUNCTION(mb_stristr);
332 ZEND_FUNCTION(mb_strrichr);
333 ZEND_FUNCTION(mb_substr_count);
334 ZEND_FUNCTION(mb_substr);
335 ZEND_FUNCTION(mb_strcut);
336 ZEND_FUNCTION(mb_strwidth);
337 ZEND_FUNCTION(mb_strimwidth);
338 ZEND_FUNCTION(mb_convert_encoding);
339 ZEND_FUNCTION(mb_convert_case);
340 ZEND_FUNCTION(mb_strtoupper);
341 ZEND_FUNCTION(mb_strtolower);
342 ZEND_FUNCTION(mb_detect_encoding);
343 ZEND_FUNCTION(mb_list_encodings);
344 ZEND_FUNCTION(mb_encoding_aliases);
345 ZEND_FUNCTION(mb_encode_mimeheader);
346 ZEND_FUNCTION(mb_decode_mimeheader);
347 ZEND_FUNCTION(mb_convert_kana);
348 ZEND_FUNCTION(mb_convert_variables);
349 ZEND_FUNCTION(mb_encode_numericentity);
350 ZEND_FUNCTION(mb_decode_numericentity);
351 ZEND_FUNCTION(mb_send_mail);
352 ZEND_FUNCTION(mb_get_info);
353 ZEND_FUNCTION(mb_check_encoding);
354 ZEND_FUNCTION(mb_scrub);
355 ZEND_FUNCTION(mb_ord);
356 ZEND_FUNCTION(mb_chr);
357 ZEND_FUNCTION(mb_str_pad);
358 #if defined(HAVE_MBREGEX)
359 ZEND_FUNCTION(mb_regex_encoding);
360 #endif
361 #if defined(HAVE_MBREGEX)
362 ZEND_FUNCTION(mb_ereg);
363 #endif
364 #if defined(HAVE_MBREGEX)
365 ZEND_FUNCTION(mb_eregi);
366 #endif
367 #if defined(HAVE_MBREGEX)
368 ZEND_FUNCTION(mb_ereg_replace);
369 #endif
370 #if defined(HAVE_MBREGEX)
371 ZEND_FUNCTION(mb_eregi_replace);
372 #endif
373 #if defined(HAVE_MBREGEX)
374 ZEND_FUNCTION(mb_ereg_replace_callback);
375 #endif
376 #if defined(HAVE_MBREGEX)
377 ZEND_FUNCTION(mb_split);
378 #endif
379 #if defined(HAVE_MBREGEX)
380 ZEND_FUNCTION(mb_ereg_match);
381 #endif
382 #if defined(HAVE_MBREGEX)
383 ZEND_FUNCTION(mb_ereg_search);
384 #endif
385 #if defined(HAVE_MBREGEX)
386 ZEND_FUNCTION(mb_ereg_search_pos);
387 #endif
388 #if defined(HAVE_MBREGEX)
389 ZEND_FUNCTION(mb_ereg_search_regs);
390 #endif
391 #if defined(HAVE_MBREGEX)
392 ZEND_FUNCTION(mb_ereg_search_init);
393 #endif
394 #if defined(HAVE_MBREGEX)
395 ZEND_FUNCTION(mb_ereg_search_getregs);
396 #endif
397 #if defined(HAVE_MBREGEX)
398 ZEND_FUNCTION(mb_ereg_search_getpos);
399 #endif
400 #if defined(HAVE_MBREGEX)
401 ZEND_FUNCTION(mb_ereg_search_setpos);
402 #endif
403 #if defined(HAVE_MBREGEX)
404 ZEND_FUNCTION(mb_regex_set_options);
405 #endif
406 
407 
408 static const zend_function_entry ext_functions[] = {
409 	ZEND_FE(mb_language, arginfo_mb_language)
410 	ZEND_FE(mb_internal_encoding, arginfo_mb_internal_encoding)
411 	ZEND_FE(mb_http_input, arginfo_mb_http_input)
412 	ZEND_FE(mb_http_output, arginfo_mb_http_output)
413 	ZEND_FE(mb_detect_order, arginfo_mb_detect_order)
414 	ZEND_FE(mb_substitute_character, arginfo_mb_substitute_character)
415 	ZEND_FE(mb_preferred_mime_name, arginfo_mb_preferred_mime_name)
416 	ZEND_FE(mb_parse_str, arginfo_mb_parse_str)
417 	ZEND_FE(mb_output_handler, arginfo_mb_output_handler)
418 	ZEND_FE(mb_str_split, arginfo_mb_str_split)
419 	ZEND_FE(mb_strlen, arginfo_mb_strlen)
420 	ZEND_FE(mb_strpos, arginfo_mb_strpos)
421 	ZEND_FE(mb_strrpos, arginfo_mb_strrpos)
422 	ZEND_FE(mb_stripos, arginfo_mb_stripos)
423 	ZEND_FE(mb_strripos, arginfo_mb_strripos)
424 	ZEND_FE(mb_strstr, arginfo_mb_strstr)
425 	ZEND_FE(mb_strrchr, arginfo_mb_strrchr)
426 	ZEND_FE(mb_stristr, arginfo_mb_stristr)
427 	ZEND_FE(mb_strrichr, arginfo_mb_strrichr)
428 	ZEND_FE(mb_substr_count, arginfo_mb_substr_count)
429 	ZEND_FE(mb_substr, arginfo_mb_substr)
430 	ZEND_FE(mb_strcut, arginfo_mb_strcut)
431 	ZEND_FE(mb_strwidth, arginfo_mb_strwidth)
432 	ZEND_FE(mb_strimwidth, arginfo_mb_strimwidth)
433 	ZEND_FE(mb_convert_encoding, arginfo_mb_convert_encoding)
434 	ZEND_FE(mb_convert_case, arginfo_mb_convert_case)
435 	ZEND_FE(mb_strtoupper, arginfo_mb_strtoupper)
436 	ZEND_FE(mb_strtolower, arginfo_mb_strtolower)
437 	ZEND_FE(mb_detect_encoding, arginfo_mb_detect_encoding)
438 	ZEND_FE(mb_list_encodings, arginfo_mb_list_encodings)
439 	ZEND_FE(mb_encoding_aliases, arginfo_mb_encoding_aliases)
440 	ZEND_FE(mb_encode_mimeheader, arginfo_mb_encode_mimeheader)
441 	ZEND_FE(mb_decode_mimeheader, arginfo_mb_decode_mimeheader)
442 	ZEND_FE(mb_convert_kana, arginfo_mb_convert_kana)
443 	ZEND_FE(mb_convert_variables, arginfo_mb_convert_variables)
444 	ZEND_FE(mb_encode_numericentity, arginfo_mb_encode_numericentity)
445 	ZEND_FE(mb_decode_numericentity, arginfo_mb_decode_numericentity)
446 	ZEND_FE(mb_send_mail, arginfo_mb_send_mail)
447 	ZEND_FE(mb_get_info, arginfo_mb_get_info)
448 	ZEND_FE(mb_check_encoding, arginfo_mb_check_encoding)
449 	ZEND_FE(mb_scrub, arginfo_mb_scrub)
450 	ZEND_FE(mb_ord, arginfo_mb_ord)
451 	ZEND_FE(mb_chr, arginfo_mb_chr)
452 	ZEND_FE(mb_str_pad, arginfo_mb_str_pad)
453 #if defined(HAVE_MBREGEX)
454 	ZEND_FE(mb_regex_encoding, arginfo_mb_regex_encoding)
455 #endif
456 #if defined(HAVE_MBREGEX)
457 	ZEND_FE(mb_ereg, arginfo_mb_ereg)
458 #endif
459 #if defined(HAVE_MBREGEX)
460 	ZEND_FE(mb_eregi, arginfo_mb_eregi)
461 #endif
462 #if defined(HAVE_MBREGEX)
463 	ZEND_FE(mb_ereg_replace, arginfo_mb_ereg_replace)
464 #endif
465 #if defined(HAVE_MBREGEX)
466 	ZEND_FE(mb_eregi_replace, arginfo_mb_eregi_replace)
467 #endif
468 #if defined(HAVE_MBREGEX)
469 	ZEND_FE(mb_ereg_replace_callback, arginfo_mb_ereg_replace_callback)
470 #endif
471 #if defined(HAVE_MBREGEX)
472 	ZEND_FE(mb_split, arginfo_mb_split)
473 #endif
474 #if defined(HAVE_MBREGEX)
475 	ZEND_FE(mb_ereg_match, arginfo_mb_ereg_match)
476 #endif
477 #if defined(HAVE_MBREGEX)
478 	ZEND_FE(mb_ereg_search, arginfo_mb_ereg_search)
479 #endif
480 #if defined(HAVE_MBREGEX)
481 	ZEND_FE(mb_ereg_search_pos, arginfo_mb_ereg_search_pos)
482 #endif
483 #if defined(HAVE_MBREGEX)
484 	ZEND_FE(mb_ereg_search_regs, arginfo_mb_ereg_search_regs)
485 #endif
486 #if defined(HAVE_MBREGEX)
487 	ZEND_FE(mb_ereg_search_init, arginfo_mb_ereg_search_init)
488 #endif
489 #if defined(HAVE_MBREGEX)
490 	ZEND_FE(mb_ereg_search_getregs, arginfo_mb_ereg_search_getregs)
491 #endif
492 #if defined(HAVE_MBREGEX)
493 	ZEND_FE(mb_ereg_search_getpos, arginfo_mb_ereg_search_getpos)
494 #endif
495 #if defined(HAVE_MBREGEX)
496 	ZEND_FE(mb_ereg_search_setpos, arginfo_mb_ereg_search_setpos)
497 #endif
498 #if defined(HAVE_MBREGEX)
499 	ZEND_FE(mb_regex_set_options, arginfo_mb_regex_set_options)
500 #endif
501 	ZEND_FE_END
502 };
503 
register_mbstring_symbols(int module_number)504 static void register_mbstring_symbols(int module_number)
505 {
506 #if defined(HAVE_MBREGEX)
507 	REGISTER_STRING_CONSTANT("MB_ONIGURUMA_VERSION", php_mb_oniguruma_version, CONST_PERSISTENT);
508 #endif
509 	REGISTER_LONG_CONSTANT("MB_CASE_UPPER", PHP_UNICODE_CASE_UPPER, CONST_PERSISTENT);
510 	REGISTER_LONG_CONSTANT("MB_CASE_LOWER", PHP_UNICODE_CASE_LOWER, CONST_PERSISTENT);
511 	REGISTER_LONG_CONSTANT("MB_CASE_TITLE", PHP_UNICODE_CASE_TITLE, CONST_PERSISTENT);
512 	REGISTER_LONG_CONSTANT("MB_CASE_FOLD", PHP_UNICODE_CASE_FOLD, CONST_PERSISTENT);
513 	REGISTER_LONG_CONSTANT("MB_CASE_UPPER_SIMPLE", PHP_UNICODE_CASE_UPPER_SIMPLE, CONST_PERSISTENT);
514 	REGISTER_LONG_CONSTANT("MB_CASE_LOWER_SIMPLE", PHP_UNICODE_CASE_LOWER_SIMPLE, CONST_PERSISTENT);
515 	REGISTER_LONG_CONSTANT("MB_CASE_TITLE_SIMPLE", PHP_UNICODE_CASE_TITLE_SIMPLE, CONST_PERSISTENT);
516 	REGISTER_LONG_CONSTANT("MB_CASE_FOLD_SIMPLE", PHP_UNICODE_CASE_FOLD_SIMPLE, CONST_PERSISTENT);
517 }
518