1 /* This is a generated file, edit the .stub.php file instead.
2 * Stub hash: b91206482b5119ce6d7c899e9599acfa2e06ec2a */
3
4 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_variant_set, 0, 2, IS_VOID, 0)
5 ZEND_ARG_OBJ_INFO(0, variant, variant, 0)
6 ZEND_ARG_TYPE_INFO(0, value, IS_MIXED, 0)
7 ZEND_END_ARG_INFO()
8
9 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_variant_add, 0, 2, variant, 0)
10 ZEND_ARG_TYPE_INFO(0, left, IS_MIXED, 0)
11 ZEND_ARG_TYPE_INFO(0, right, IS_MIXED, 0)
12 ZEND_END_ARG_INFO()
13
14 #define arginfo_variant_cat arginfo_variant_add
15
16 #define arginfo_variant_sub arginfo_variant_add
17
18 #define arginfo_variant_mul arginfo_variant_add
19
20 #define arginfo_variant_and arginfo_variant_add
21
22 #define arginfo_variant_div arginfo_variant_add
23
24 #define arginfo_variant_eqv arginfo_variant_add
25
26 #define arginfo_variant_idiv arginfo_variant_add
27
28 #define arginfo_variant_imp arginfo_variant_add
29
30 #define arginfo_variant_mod arginfo_variant_add
31
32 #define arginfo_variant_or arginfo_variant_add
33
34 #define arginfo_variant_pow arginfo_variant_add
35
36 #define arginfo_variant_xor arginfo_variant_add
37
38 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_variant_abs, 0, 1, variant, 0)
39 ZEND_ARG_TYPE_INFO(0, value, IS_MIXED, 0)
40 ZEND_END_ARG_INFO()
41
42 #define arginfo_variant_fix arginfo_variant_abs
43
44 #define arginfo_variant_int arginfo_variant_abs
45
46 #define arginfo_variant_neg arginfo_variant_abs
47
48 #define arginfo_variant_not arginfo_variant_abs
49
50 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_variant_round, 0, 2, variant, 1)
51 ZEND_ARG_TYPE_INFO(0, value, IS_MIXED, 0)
52 ZEND_ARG_TYPE_INFO(0, decimals, IS_LONG, 0)
53 ZEND_END_ARG_INFO()
54
55 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_variant_cmp, 0, 2, IS_LONG, 0)
56 ZEND_ARG_TYPE_INFO(0, left, IS_MIXED, 0)
57 ZEND_ARG_TYPE_INFO(0, right, IS_MIXED, 0)
58 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, locale_id, IS_LONG, 0, "LOCALE_SYSTEM_DEFAULT")
59 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "0")
60 ZEND_END_ARG_INFO()
61
62 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_variant_date_to_timestamp, 0, 1, IS_LONG, 1)
63 ZEND_ARG_OBJ_INFO(0, variant, variant, 0)
64 ZEND_END_ARG_INFO()
65
66 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_variant_date_from_timestamp, 0, 1, variant, 0)
67 ZEND_ARG_TYPE_INFO(0, timestamp, IS_LONG, 0)
68 ZEND_END_ARG_INFO()
69
70 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_variant_get_type, 0, 1, IS_LONG, 0)
71 ZEND_ARG_OBJ_INFO(0, variant, variant, 0)
72 ZEND_END_ARG_INFO()
73
74 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_variant_set_type, 0, 2, IS_VOID, 0)
75 ZEND_ARG_OBJ_INFO(0, variant, variant, 0)
76 ZEND_ARG_TYPE_INFO(0, type, IS_LONG, 0)
77 ZEND_END_ARG_INFO()
78
79 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_variant_cast, 0, 2, variant, 0)
80 ZEND_ARG_OBJ_INFO(0, variant, variant, 0)
81 ZEND_ARG_TYPE_INFO(0, type, IS_LONG, 0)
82 ZEND_END_ARG_INFO()
83
84 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_com_get_active_object, 0, 1, variant, 0)
85 ZEND_ARG_TYPE_INFO(0, prog_id, IS_STRING, 0)
86 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, codepage, IS_LONG, 1, "null")
87 ZEND_END_ARG_INFO()
88
89 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_com_create_guid, 0, 0, MAY_BE_STRING|MAY_BE_FALSE)
90 ZEND_END_ARG_INFO()
91
92 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_com_event_sink, 0, 2, _IS_BOOL, 0)
93 ZEND_ARG_OBJ_INFO(0, variant, variant, 0)
94 ZEND_ARG_TYPE_INFO(0, sink_object, IS_OBJECT, 0)
95 ZEND_ARG_TYPE_MASK(0, sink_interface, MAY_BE_ARRAY|MAY_BE_STRING|MAY_BE_NULL, "null")
96 ZEND_END_ARG_INFO()
97
98 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_com_print_typeinfo, 0, 1, _IS_BOOL, 0)
99 ZEND_ARG_OBJ_TYPE_MASK(0, variant, variant, MAY_BE_STRING, NULL)
100 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, dispatch_interface, IS_STRING, 1, "null")
101 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, display_sink, _IS_BOOL, 0, "false")
102 ZEND_END_ARG_INFO()
103
104 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_com_message_pump, 0, 0, _IS_BOOL, 0)
105 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, timeout_milliseconds, IS_LONG, 0, "0")
106 ZEND_END_ARG_INFO()
107
108 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_com_load_typelib, 0, 1, _IS_BOOL, 0)
109 ZEND_ARG_TYPE_INFO(0, typelib, IS_STRING, 0)
110 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, case_insensitive, _IS_BOOL, 0, "true")
111 ZEND_END_ARG_INFO()
112
113 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_variant___construct, 0, 0, 0)
114 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, value, IS_MIXED, 0, "null")
115 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, type, IS_LONG, 0, "VT_EMPTY")
116 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, codepage, IS_LONG, 0, "CP_ACP")
117 ZEND_END_ARG_INFO()
118
119 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_com___construct, 0, 0, 1)
120 ZEND_ARG_TYPE_INFO(0, module_name, IS_STRING, 0)
121 ZEND_ARG_TYPE_MASK(0, server_name, MAY_BE_ARRAY|MAY_BE_STRING|MAY_BE_NULL, "null")
122 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, codepage, IS_LONG, 0, "CP_ACP")
123 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, typelib, IS_STRING, 0, "\"\"")
124 ZEND_END_ARG_INFO()
125
126 #if HAVE_MSCOREE_H
127 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_dotnet___construct, 0, 0, 2)
128 ZEND_ARG_TYPE_INFO(0, assembly_name, IS_STRING, 0)
129 ZEND_ARG_TYPE_INFO(0, datatype_name, IS_STRING, 0)
130 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, codepage, IS_LONG, 0, "CP_ACP")
131 ZEND_END_ARG_INFO()
132 #endif
133
134
135 ZEND_FUNCTION(variant_set);
136 ZEND_FUNCTION(variant_add);
137 ZEND_FUNCTION(variant_cat);
138 ZEND_FUNCTION(variant_sub);
139 ZEND_FUNCTION(variant_mul);
140 ZEND_FUNCTION(variant_and);
141 ZEND_FUNCTION(variant_div);
142 ZEND_FUNCTION(variant_eqv);
143 ZEND_FUNCTION(variant_idiv);
144 ZEND_FUNCTION(variant_imp);
145 ZEND_FUNCTION(variant_mod);
146 ZEND_FUNCTION(variant_or);
147 ZEND_FUNCTION(variant_pow);
148 ZEND_FUNCTION(variant_xor);
149 ZEND_FUNCTION(variant_abs);
150 ZEND_FUNCTION(variant_fix);
151 ZEND_FUNCTION(variant_int);
152 ZEND_FUNCTION(variant_neg);
153 ZEND_FUNCTION(variant_not);
154 ZEND_FUNCTION(variant_round);
155 ZEND_FUNCTION(variant_cmp);
156 ZEND_FUNCTION(variant_date_to_timestamp);
157 ZEND_FUNCTION(variant_date_from_timestamp);
158 ZEND_FUNCTION(variant_get_type);
159 ZEND_FUNCTION(variant_set_type);
160 ZEND_FUNCTION(variant_cast);
161 ZEND_FUNCTION(com_get_active_object);
162 ZEND_FUNCTION(com_create_guid);
163 ZEND_FUNCTION(com_event_sink);
164 ZEND_FUNCTION(com_print_typeinfo);
165 ZEND_FUNCTION(com_message_pump);
166 ZEND_FUNCTION(com_load_typelib);
167 ZEND_METHOD(variant, __construct);
168 ZEND_METHOD(com, __construct);
169 #if HAVE_MSCOREE_H
170 ZEND_METHOD(dotnet, __construct);
171 #endif
172
173
174 static const zend_function_entry ext_functions[] = {
175 ZEND_FE(variant_set, arginfo_variant_set)
176 ZEND_FE(variant_add, arginfo_variant_add)
177 ZEND_FE(variant_cat, arginfo_variant_cat)
178 ZEND_FE(variant_sub, arginfo_variant_sub)
179 ZEND_FE(variant_mul, arginfo_variant_mul)
180 ZEND_FE(variant_and, arginfo_variant_and)
181 ZEND_FE(variant_div, arginfo_variant_div)
182 ZEND_FE(variant_eqv, arginfo_variant_eqv)
183 ZEND_FE(variant_idiv, arginfo_variant_idiv)
184 ZEND_FE(variant_imp, arginfo_variant_imp)
185 ZEND_FE(variant_mod, arginfo_variant_mod)
186 ZEND_FE(variant_or, arginfo_variant_or)
187 ZEND_FE(variant_pow, arginfo_variant_pow)
188 ZEND_FE(variant_xor, arginfo_variant_xor)
189 ZEND_FE(variant_abs, arginfo_variant_abs)
190 ZEND_FE(variant_fix, arginfo_variant_fix)
191 ZEND_FE(variant_int, arginfo_variant_int)
192 ZEND_FE(variant_neg, arginfo_variant_neg)
193 ZEND_FE(variant_not, arginfo_variant_not)
194 ZEND_FE(variant_round, arginfo_variant_round)
195 ZEND_FE(variant_cmp, arginfo_variant_cmp)
196 ZEND_FE(variant_date_to_timestamp, arginfo_variant_date_to_timestamp)
197 ZEND_FE(variant_date_from_timestamp, arginfo_variant_date_from_timestamp)
198 ZEND_FE(variant_get_type, arginfo_variant_get_type)
199 ZEND_FE(variant_set_type, arginfo_variant_set_type)
200 ZEND_FE(variant_cast, arginfo_variant_cast)
201 ZEND_FE(com_get_active_object, arginfo_com_get_active_object)
202 ZEND_FE(com_create_guid, arginfo_com_create_guid)
203 ZEND_FE(com_event_sink, arginfo_com_event_sink)
204 ZEND_FE(com_print_typeinfo, arginfo_com_print_typeinfo)
205 ZEND_FE(com_message_pump, arginfo_com_message_pump)
206 ZEND_FE(com_load_typelib, arginfo_com_load_typelib)
207 ZEND_FE_END
208 };
209
210
211 static const zend_function_entry class_variant_methods[] = {
212 ZEND_ME(variant, __construct, arginfo_class_variant___construct, ZEND_ACC_PUBLIC)
213 ZEND_FE_END
214 };
215
216
217 static const zend_function_entry class_com_methods[] = {
218 ZEND_ME(com, __construct, arginfo_class_com___construct, ZEND_ACC_PUBLIC)
219 ZEND_FE_END
220 };
221
222
223 #if HAVE_MSCOREE_H
224 static const zend_function_entry class_dotnet_methods[] = {
225 ZEND_ME(dotnet, __construct, arginfo_class_dotnet___construct, ZEND_ACC_PUBLIC)
226 ZEND_FE_END
227 };
228 #endif
229
230
231 static const zend_function_entry class_com_safearray_proxy_methods[] = {
232 ZEND_FE_END
233 };
234
235
236 static const zend_function_entry class_com_exception_methods[] = {
237 ZEND_FE_END
238 };
239
register_com_extension_symbols(int module_number)240 static void register_com_extension_symbols(int module_number)
241 {
242 REGISTER_LONG_CONSTANT("CLSCTX_INPROC_SERVER", CLSCTX_INPROC_SERVER, CONST_PERSISTENT);
243 REGISTER_LONG_CONSTANT("CLSCTX_INPROC_HANDLER", CLSCTX_INPROC_HANDLER, CONST_PERSISTENT);
244 REGISTER_LONG_CONSTANT("CLSCTX_LOCAL_SERVER", CLSCTX_LOCAL_SERVER, CONST_PERSISTENT);
245 REGISTER_LONG_CONSTANT("CLSCTX_REMOTE_SERVER", CLSCTX_REMOTE_SERVER, CONST_PERSISTENT);
246 REGISTER_LONG_CONSTANT("CLSCTX_SERVER", CLSCTX_SERVER, CONST_PERSISTENT);
247 REGISTER_LONG_CONSTANT("CLSCTX_ALL", CLSCTX_ALL, CONST_PERSISTENT);
248 REGISTER_LONG_CONSTANT("VT_NULL", VT_NULL, CONST_PERSISTENT);
249 REGISTER_LONG_CONSTANT("VT_EMPTY", VT_EMPTY, CONST_PERSISTENT);
250 REGISTER_LONG_CONSTANT("VT_UI1", VT_UI1, CONST_PERSISTENT);
251 REGISTER_LONG_CONSTANT("VT_I1", VT_I1, CONST_PERSISTENT);
252 REGISTER_LONG_CONSTANT("VT_UI2", VT_UI2, CONST_PERSISTENT);
253 REGISTER_LONG_CONSTANT("VT_I2", VT_I2, CONST_PERSISTENT);
254 REGISTER_LONG_CONSTANT("VT_UI4", VT_UI4, CONST_PERSISTENT);
255 REGISTER_LONG_CONSTANT("VT_I4", VT_I4, CONST_PERSISTENT);
256 REGISTER_LONG_CONSTANT("VT_R4", VT_R4, CONST_PERSISTENT);
257 REGISTER_LONG_CONSTANT("VT_R8", VT_R8, CONST_PERSISTENT);
258 REGISTER_LONG_CONSTANT("VT_BOOL", VT_BOOL, CONST_PERSISTENT);
259 REGISTER_LONG_CONSTANT("VT_ERROR", VT_ERROR, CONST_PERSISTENT);
260 REGISTER_LONG_CONSTANT("VT_CY", VT_CY, CONST_PERSISTENT);
261 REGISTER_LONG_CONSTANT("VT_DATE", VT_DATE, CONST_PERSISTENT);
262 REGISTER_LONG_CONSTANT("VT_BSTR", VT_BSTR, CONST_PERSISTENT);
263 REGISTER_LONG_CONSTANT("VT_DECIMAL", VT_DECIMAL, CONST_PERSISTENT);
264 REGISTER_LONG_CONSTANT("VT_UNKNOWN", VT_UNKNOWN, CONST_PERSISTENT);
265 REGISTER_LONG_CONSTANT("VT_DISPATCH", VT_DISPATCH, CONST_PERSISTENT);
266 REGISTER_LONG_CONSTANT("VT_VARIANT", VT_VARIANT, CONST_PERSISTENT);
267 REGISTER_LONG_CONSTANT("VT_INT", VT_INT, CONST_PERSISTENT);
268 REGISTER_LONG_CONSTANT("VT_UINT", VT_UINT, CONST_PERSISTENT);
269 REGISTER_LONG_CONSTANT("VT_ARRAY", VT_ARRAY, CONST_PERSISTENT);
270 REGISTER_LONG_CONSTANT("VT_BYREF", VT_BYREF, CONST_PERSISTENT);
271 REGISTER_LONG_CONSTANT("CP_ACP", CP_ACP, CONST_PERSISTENT);
272 REGISTER_LONG_CONSTANT("CP_MACCP", CP_MACCP, CONST_PERSISTENT);
273 REGISTER_LONG_CONSTANT("CP_OEMCP", CP_OEMCP, CONST_PERSISTENT);
274 REGISTER_LONG_CONSTANT("CP_UTF7", CP_UTF7, CONST_PERSISTENT);
275 REGISTER_LONG_CONSTANT("CP_UTF8", CP_UTF8, CONST_PERSISTENT);
276 REGISTER_LONG_CONSTANT("CP_SYMBOL", CP_SYMBOL, CONST_PERSISTENT);
277 REGISTER_LONG_CONSTANT("CP_THREAD_ACP", CP_THREAD_ACP, CONST_PERSISTENT);
278 REGISTER_LONG_CONSTANT("VARCMP_LT", VARCMP_LT, CONST_PERSISTENT);
279 REGISTER_LONG_CONSTANT("VARCMP_EQ", VARCMP_EQ, CONST_PERSISTENT);
280 REGISTER_LONG_CONSTANT("VARCMP_GT", VARCMP_GT, CONST_PERSISTENT);
281 REGISTER_LONG_CONSTANT("VARCMP_NULL", VARCMP_NULL, CONST_PERSISTENT);
282 REGISTER_LONG_CONSTANT("LOCALE_SYSTEM_DEFAULT", LOCALE_SYSTEM_DEFAULT, CONST_PERSISTENT);
283 REGISTER_LONG_CONSTANT("LOCALE_NEUTRAL", LOCALE_NEUTRAL, CONST_PERSISTENT);
284 REGISTER_LONG_CONSTANT("NORM_IGNORECASE", NORM_IGNORECASE, CONST_PERSISTENT);
285 REGISTER_LONG_CONSTANT("NORM_IGNORENONSPACE", NORM_IGNORENONSPACE, CONST_PERSISTENT);
286 REGISTER_LONG_CONSTANT("NORM_IGNORESYMBOLS", NORM_IGNORESYMBOLS, CONST_PERSISTENT);
287 REGISTER_LONG_CONSTANT("NORM_IGNOREWIDTH", NORM_IGNOREWIDTH, CONST_PERSISTENT);
288 REGISTER_LONG_CONSTANT("NORM_IGNOREKANATYPE", NORM_IGNOREKANATYPE, CONST_PERSISTENT);
289 #if defined(NORM_IGNOREKASHIDA)
290 REGISTER_LONG_CONSTANT("NORM_IGNOREKASHIDA", NORM_IGNOREKASHIDA, CONST_PERSISTENT);
291 #endif
292 REGISTER_LONG_CONSTANT("DISP_E_DIVBYZERO", PHP_DISP_E_DIVBYZERO, CONST_PERSISTENT);
293 REGISTER_LONG_CONSTANT("DISP_E_OVERFLOW", PHP_DISP_E_OVERFLOW, CONST_PERSISTENT);
294 REGISTER_LONG_CONSTANT("DISP_E_BADINDEX", PHP_DISP_E_BADINDEX, CONST_PERSISTENT);
295 REGISTER_LONG_CONSTANT("DISP_E_PARAMNOTFOUND", PHP_DISP_E_PARAMNOTFOUND, CONST_PERSISTENT);
296 REGISTER_LONG_CONSTANT("MK_E_UNAVAILABLE", PHP_MK_E_UNAVAILABLE, CONST_PERSISTENT);
297 #if SIZEOF_ZEND_LONG == 8
298 REGISTER_LONG_CONSTANT("VT_UI8", VT_UI8, CONST_PERSISTENT);
299 #endif
300 #if SIZEOF_ZEND_LONG == 8
301 REGISTER_LONG_CONSTANT("VT_I8", VT_I8, CONST_PERSISTENT);
302 #endif
303 }
304
register_class_variant(void)305 static zend_class_entry *register_class_variant(void)
306 {
307 zend_class_entry ce, *class_entry;
308
309 INIT_CLASS_ENTRY(ce, "variant", class_variant_methods);
310 class_entry = zend_register_internal_class_ex(&ce, NULL);
311 class_entry->ce_flags |= ZEND_ACC_NOT_SERIALIZABLE;
312
313 return class_entry;
314 }
315
register_class_com(zend_class_entry * class_entry_variant)316 static zend_class_entry *register_class_com(zend_class_entry *class_entry_variant)
317 {
318 zend_class_entry ce, *class_entry;
319
320 INIT_CLASS_ENTRY(ce, "com", class_com_methods);
321 class_entry = zend_register_internal_class_ex(&ce, class_entry_variant);
322
323 return class_entry;
324 }
325
326 #if HAVE_MSCOREE_H
register_class_dotnet(zend_class_entry * class_entry_variant)327 static zend_class_entry *register_class_dotnet(zend_class_entry *class_entry_variant)
328 {
329 zend_class_entry ce, *class_entry;
330
331 INIT_CLASS_ENTRY(ce, "dotnet", class_dotnet_methods);
332 class_entry = zend_register_internal_class_ex(&ce, class_entry_variant);
333
334 return class_entry;
335 }
336 #endif
337
register_class_com_safearray_proxy(void)338 static zend_class_entry *register_class_com_safearray_proxy(void)
339 {
340 zend_class_entry ce, *class_entry;
341
342 INIT_CLASS_ENTRY(ce, "com_safearray_proxy", class_com_safearray_proxy_methods);
343 class_entry = zend_register_internal_class_ex(&ce, NULL);
344 class_entry->ce_flags |= ZEND_ACC_FINAL;
345
346 return class_entry;
347 }
348
register_class_com_exception(zend_class_entry * class_entry_Exception)349 static zend_class_entry *register_class_com_exception(zend_class_entry *class_entry_Exception)
350 {
351 zend_class_entry ce, *class_entry;
352
353 INIT_CLASS_ENTRY(ce, "com_exception", class_com_exception_methods);
354 class_entry = zend_register_internal_class_ex(&ce, class_entry_Exception);
355 class_entry->ce_flags |= ZEND_ACC_FINAL;
356
357 return class_entry;
358 }
359