xref: /php-src/ext/random/random_arginfo.h (revision f2e199e8)
1 /* This is a generated file, edit the .stub.php file instead.
2  * Stub hash: 35cb16abb3392bd257a43cc675cad4f5af5549c1 */
3 
4 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_lcg_value, 0, 0, IS_DOUBLE, 0)
5 ZEND_END_ARG_INFO()
6 
7 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mt_srand, 0, 0, IS_VOID, 0)
8 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, seed, IS_LONG, 1, "null")
9 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_LONG, 0, "MT_RAND_MT19937")
10 ZEND_END_ARG_INFO()
11 
12 #define arginfo_srand arginfo_mt_srand
13 
14 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_rand, 0, 0, IS_LONG, 0)
15 	ZEND_ARG_TYPE_INFO(0, min, IS_LONG, 0)
16 	ZEND_ARG_TYPE_INFO(0, max, IS_LONG, 0)
17 ZEND_END_ARG_INFO()
18 
19 #define arginfo_mt_rand arginfo_rand
20 
21 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mt_getrandmax, 0, 0, IS_LONG, 0)
22 ZEND_END_ARG_INFO()
23 
24 #define arginfo_getrandmax arginfo_mt_getrandmax
25 
26 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_random_bytes, 0, 1, IS_STRING, 0)
27 	ZEND_ARG_TYPE_INFO(0, length, IS_LONG, 0)
28 ZEND_END_ARG_INFO()
29 
30 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_random_int, 0, 2, IS_LONG, 0)
31 	ZEND_ARG_TYPE_INFO(0, min, IS_LONG, 0)
32 	ZEND_ARG_TYPE_INFO(0, max, IS_LONG, 0)
33 ZEND_END_ARG_INFO()
34 
35 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Random_Engine_Mt19937___construct, 0, 0, 0)
36 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, seed, IS_LONG, 1, "null")
37 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_LONG, 0, "MT_RAND_MT19937")
38 ZEND_END_ARG_INFO()
39 
40 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Random_Engine_Mt19937_generate, 0, 0, IS_STRING, 0)
41 ZEND_END_ARG_INFO()
42 
43 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Random_Engine_Mt19937___serialize, 0, 0, IS_ARRAY, 0)
44 ZEND_END_ARG_INFO()
45 
46 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Random_Engine_Mt19937___unserialize, 0, 1, IS_VOID, 0)
47 	ZEND_ARG_TYPE_INFO(0, data, IS_ARRAY, 0)
48 ZEND_END_ARG_INFO()
49 
50 #define arginfo_class_Random_Engine_Mt19937___debugInfo arginfo_class_Random_Engine_Mt19937___serialize
51 
52 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Random_Engine_PcgOneseq128XslRr64___construct, 0, 0, 0)
53 	ZEND_ARG_TYPE_MASK(0, seed, MAY_BE_STRING|MAY_BE_LONG|MAY_BE_NULL, "null")
54 ZEND_END_ARG_INFO()
55 
56 #define arginfo_class_Random_Engine_PcgOneseq128XslRr64_generate arginfo_class_Random_Engine_Mt19937_generate
57 
58 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Random_Engine_PcgOneseq128XslRr64_jump, 0, 1, IS_VOID, 0)
59 	ZEND_ARG_TYPE_INFO(0, advance, IS_LONG, 0)
60 ZEND_END_ARG_INFO()
61 
62 #define arginfo_class_Random_Engine_PcgOneseq128XslRr64___serialize arginfo_class_Random_Engine_Mt19937___serialize
63 
64 #define arginfo_class_Random_Engine_PcgOneseq128XslRr64___unserialize arginfo_class_Random_Engine_Mt19937___unserialize
65 
66 #define arginfo_class_Random_Engine_PcgOneseq128XslRr64___debugInfo arginfo_class_Random_Engine_Mt19937___serialize
67 
68 #define arginfo_class_Random_Engine_Xoshiro256StarStar___construct arginfo_class_Random_Engine_PcgOneseq128XslRr64___construct
69 
70 #define arginfo_class_Random_Engine_Xoshiro256StarStar_generate arginfo_class_Random_Engine_Mt19937_generate
71 
72 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Random_Engine_Xoshiro256StarStar_jump, 0, 0, IS_VOID, 0)
73 ZEND_END_ARG_INFO()
74 
75 #define arginfo_class_Random_Engine_Xoshiro256StarStar_jumpLong arginfo_class_Random_Engine_Xoshiro256StarStar_jump
76 
77 #define arginfo_class_Random_Engine_Xoshiro256StarStar___serialize arginfo_class_Random_Engine_Mt19937___serialize
78 
79 #define arginfo_class_Random_Engine_Xoshiro256StarStar___unserialize arginfo_class_Random_Engine_Mt19937___unserialize
80 
81 #define arginfo_class_Random_Engine_Xoshiro256StarStar___debugInfo arginfo_class_Random_Engine_Mt19937___serialize
82 
83 #define arginfo_class_Random_Engine_Secure_generate arginfo_class_Random_Engine_Mt19937_generate
84 
85 #define arginfo_class_Random_Engine_generate arginfo_class_Random_Engine_Mt19937_generate
86 
87 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Random_Randomizer___construct, 0, 0, 0)
88 	ZEND_ARG_OBJ_INFO_WITH_DEFAULT_VALUE(0, engine, Random\\Engine, 1, "null")
89 ZEND_END_ARG_INFO()
90 
91 #define arginfo_class_Random_Randomizer_nextInt arginfo_mt_getrandmax
92 
93 #define arginfo_class_Random_Randomizer_nextFloat arginfo_lcg_value
94 
95 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Random_Randomizer_getFloat, 0, 2, IS_DOUBLE, 0)
96 	ZEND_ARG_TYPE_INFO(0, min, IS_DOUBLE, 0)
97 	ZEND_ARG_TYPE_INFO(0, max, IS_DOUBLE, 0)
98 	ZEND_ARG_OBJ_INFO_WITH_DEFAULT_VALUE(0, boundary, Random\\IntervalBoundary, 0, "Random\\IntervalBoundary::ClosedOpen")
99 ZEND_END_ARG_INFO()
100 
101 #define arginfo_class_Random_Randomizer_getInt arginfo_random_int
102 
103 #define arginfo_class_Random_Randomizer_getBytes arginfo_random_bytes
104 
105 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Random_Randomizer_getBytesFromString, 0, 2, IS_STRING, 0)
106 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
107 	ZEND_ARG_TYPE_INFO(0, length, IS_LONG, 0)
108 ZEND_END_ARG_INFO()
109 
110 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Random_Randomizer_shuffleArray, 0, 1, IS_ARRAY, 0)
111 	ZEND_ARG_TYPE_INFO(0, array, IS_ARRAY, 0)
112 ZEND_END_ARG_INFO()
113 
114 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Random_Randomizer_shuffleBytes, 0, 1, IS_STRING, 0)
115 	ZEND_ARG_TYPE_INFO(0, bytes, IS_STRING, 0)
116 ZEND_END_ARG_INFO()
117 
118 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Random_Randomizer_pickArrayKeys, 0, 2, IS_ARRAY, 0)
119 	ZEND_ARG_TYPE_INFO(0, array, IS_ARRAY, 0)
120 	ZEND_ARG_TYPE_INFO(0, num, IS_LONG, 0)
121 ZEND_END_ARG_INFO()
122 
123 #define arginfo_class_Random_Randomizer___serialize arginfo_class_Random_Engine_Mt19937___serialize
124 
125 #define arginfo_class_Random_Randomizer___unserialize arginfo_class_Random_Engine_Mt19937___unserialize
126 
127 ZEND_FUNCTION(lcg_value);
128 ZEND_FUNCTION(mt_srand);
129 ZEND_FUNCTION(rand);
130 ZEND_FUNCTION(mt_rand);
131 ZEND_FUNCTION(mt_getrandmax);
132 ZEND_FUNCTION(random_bytes);
133 ZEND_FUNCTION(random_int);
134 ZEND_METHOD(Random_Engine_Mt19937, __construct);
135 ZEND_METHOD(Random_Engine_Mt19937, generate);
136 ZEND_METHOD(Random_Engine_Mt19937, __serialize);
137 ZEND_METHOD(Random_Engine_Mt19937, __unserialize);
138 ZEND_METHOD(Random_Engine_Mt19937, __debugInfo);
139 ZEND_METHOD(Random_Engine_PcgOneseq128XslRr64, __construct);
140 ZEND_METHOD(Random_Engine_PcgOneseq128XslRr64, jump);
141 ZEND_METHOD(Random_Engine_Xoshiro256StarStar, __construct);
142 ZEND_METHOD(Random_Engine_Xoshiro256StarStar, jump);
143 ZEND_METHOD(Random_Engine_Xoshiro256StarStar, jumpLong);
144 ZEND_METHOD(Random_Randomizer, __construct);
145 ZEND_METHOD(Random_Randomizer, nextInt);
146 ZEND_METHOD(Random_Randomizer, nextFloat);
147 ZEND_METHOD(Random_Randomizer, getFloat);
148 ZEND_METHOD(Random_Randomizer, getInt);
149 ZEND_METHOD(Random_Randomizer, getBytes);
150 ZEND_METHOD(Random_Randomizer, getBytesFromString);
151 ZEND_METHOD(Random_Randomizer, shuffleArray);
152 ZEND_METHOD(Random_Randomizer, shuffleBytes);
153 ZEND_METHOD(Random_Randomizer, pickArrayKeys);
154 ZEND_METHOD(Random_Randomizer, __serialize);
155 ZEND_METHOD(Random_Randomizer, __unserialize);
156 
157 static const zend_function_entry ext_functions[] = {
158 	ZEND_FE(lcg_value, arginfo_lcg_value)
159 	ZEND_FE(mt_srand, arginfo_mt_srand)
160 	ZEND_RAW_FENTRY("srand", zif_mt_srand, arginfo_srand, 0, NULL, NULL)
161 	ZEND_FE(rand, arginfo_rand)
162 	ZEND_FE(mt_rand, arginfo_mt_rand)
163 	ZEND_FE(mt_getrandmax, arginfo_mt_getrandmax)
164 	ZEND_RAW_FENTRY("getrandmax", zif_mt_getrandmax, arginfo_getrandmax, 0, NULL, NULL)
165 	ZEND_FE(random_bytes, arginfo_random_bytes)
166 	ZEND_FE(random_int, arginfo_random_int)
167 	ZEND_FE_END
168 };
169 
170 static const zend_function_entry class_Random_Engine_Mt19937_methods[] = {
171 	ZEND_ME(Random_Engine_Mt19937, __construct, arginfo_class_Random_Engine_Mt19937___construct, ZEND_ACC_PUBLIC)
172 	ZEND_ME(Random_Engine_Mt19937, generate, arginfo_class_Random_Engine_Mt19937_generate, ZEND_ACC_PUBLIC)
173 	ZEND_ME(Random_Engine_Mt19937, __serialize, arginfo_class_Random_Engine_Mt19937___serialize, ZEND_ACC_PUBLIC)
174 	ZEND_ME(Random_Engine_Mt19937, __unserialize, arginfo_class_Random_Engine_Mt19937___unserialize, ZEND_ACC_PUBLIC)
175 	ZEND_ME(Random_Engine_Mt19937, __debugInfo, arginfo_class_Random_Engine_Mt19937___debugInfo, ZEND_ACC_PUBLIC)
176 	ZEND_FE_END
177 };
178 
179 static const zend_function_entry class_Random_Engine_PcgOneseq128XslRr64_methods[] = {
180 	ZEND_ME(Random_Engine_PcgOneseq128XslRr64, __construct, arginfo_class_Random_Engine_PcgOneseq128XslRr64___construct, ZEND_ACC_PUBLIC)
181 	ZEND_RAW_FENTRY("generate", zim_Random_Engine_Mt19937_generate, arginfo_class_Random_Engine_PcgOneseq128XslRr64_generate, ZEND_ACC_PUBLIC, NULL, NULL)
182 	ZEND_ME(Random_Engine_PcgOneseq128XslRr64, jump, arginfo_class_Random_Engine_PcgOneseq128XslRr64_jump, ZEND_ACC_PUBLIC)
183 	ZEND_RAW_FENTRY("__serialize", zim_Random_Engine_Mt19937___serialize, arginfo_class_Random_Engine_PcgOneseq128XslRr64___serialize, ZEND_ACC_PUBLIC, NULL, NULL)
184 	ZEND_RAW_FENTRY("__unserialize", zim_Random_Engine_Mt19937___unserialize, arginfo_class_Random_Engine_PcgOneseq128XslRr64___unserialize, ZEND_ACC_PUBLIC, NULL, NULL)
185 	ZEND_RAW_FENTRY("__debugInfo", zim_Random_Engine_Mt19937___debugInfo, arginfo_class_Random_Engine_PcgOneseq128XslRr64___debugInfo, ZEND_ACC_PUBLIC, NULL, NULL)
186 	ZEND_FE_END
187 };
188 
189 static const zend_function_entry class_Random_Engine_Xoshiro256StarStar_methods[] = {
190 	ZEND_ME(Random_Engine_Xoshiro256StarStar, __construct, arginfo_class_Random_Engine_Xoshiro256StarStar___construct, ZEND_ACC_PUBLIC)
191 	ZEND_RAW_FENTRY("generate", zim_Random_Engine_Mt19937_generate, arginfo_class_Random_Engine_Xoshiro256StarStar_generate, ZEND_ACC_PUBLIC, NULL, NULL)
192 	ZEND_ME(Random_Engine_Xoshiro256StarStar, jump, arginfo_class_Random_Engine_Xoshiro256StarStar_jump, ZEND_ACC_PUBLIC)
193 	ZEND_ME(Random_Engine_Xoshiro256StarStar, jumpLong, arginfo_class_Random_Engine_Xoshiro256StarStar_jumpLong, ZEND_ACC_PUBLIC)
194 	ZEND_RAW_FENTRY("__serialize", zim_Random_Engine_Mt19937___serialize, arginfo_class_Random_Engine_Xoshiro256StarStar___serialize, ZEND_ACC_PUBLIC, NULL, NULL)
195 	ZEND_RAW_FENTRY("__unserialize", zim_Random_Engine_Mt19937___unserialize, arginfo_class_Random_Engine_Xoshiro256StarStar___unserialize, ZEND_ACC_PUBLIC, NULL, NULL)
196 	ZEND_RAW_FENTRY("__debugInfo", zim_Random_Engine_Mt19937___debugInfo, arginfo_class_Random_Engine_Xoshiro256StarStar___debugInfo, ZEND_ACC_PUBLIC, NULL, NULL)
197 	ZEND_FE_END
198 };
199 
200 static const zend_function_entry class_Random_Engine_Secure_methods[] = {
201 	ZEND_RAW_FENTRY("generate", zim_Random_Engine_Mt19937_generate, arginfo_class_Random_Engine_Secure_generate, ZEND_ACC_PUBLIC, NULL, NULL)
202 	ZEND_FE_END
203 };
204 
205 static const zend_function_entry class_Random_Engine_methods[] = {
206 	ZEND_RAW_FENTRY("generate", NULL, arginfo_class_Random_Engine_generate, ZEND_ACC_PUBLIC|ZEND_ACC_ABSTRACT, NULL, NULL)
207 	ZEND_FE_END
208 };
209 
210 static const zend_function_entry class_Random_CryptoSafeEngine_methods[] = {
211 	ZEND_FE_END
212 };
213 
214 static const zend_function_entry class_Random_Randomizer_methods[] = {
215 	ZEND_ME(Random_Randomizer, __construct, arginfo_class_Random_Randomizer___construct, ZEND_ACC_PUBLIC)
216 	ZEND_ME(Random_Randomizer, nextInt, arginfo_class_Random_Randomizer_nextInt, ZEND_ACC_PUBLIC)
217 	ZEND_ME(Random_Randomizer, nextFloat, arginfo_class_Random_Randomizer_nextFloat, ZEND_ACC_PUBLIC)
218 	ZEND_ME(Random_Randomizer, getFloat, arginfo_class_Random_Randomizer_getFloat, ZEND_ACC_PUBLIC)
219 	ZEND_ME(Random_Randomizer, getInt, arginfo_class_Random_Randomizer_getInt, ZEND_ACC_PUBLIC)
220 	ZEND_ME(Random_Randomizer, getBytes, arginfo_class_Random_Randomizer_getBytes, ZEND_ACC_PUBLIC)
221 	ZEND_ME(Random_Randomizer, getBytesFromString, arginfo_class_Random_Randomizer_getBytesFromString, ZEND_ACC_PUBLIC)
222 	ZEND_ME(Random_Randomizer, shuffleArray, arginfo_class_Random_Randomizer_shuffleArray, ZEND_ACC_PUBLIC)
223 	ZEND_ME(Random_Randomizer, shuffleBytes, arginfo_class_Random_Randomizer_shuffleBytes, ZEND_ACC_PUBLIC)
224 	ZEND_ME(Random_Randomizer, pickArrayKeys, arginfo_class_Random_Randomizer_pickArrayKeys, ZEND_ACC_PUBLIC)
225 	ZEND_ME(Random_Randomizer, __serialize, arginfo_class_Random_Randomizer___serialize, ZEND_ACC_PUBLIC)
226 	ZEND_ME(Random_Randomizer, __unserialize, arginfo_class_Random_Randomizer___unserialize, ZEND_ACC_PUBLIC)
227 	ZEND_FE_END
228 };
229 
230 static const zend_function_entry class_Random_IntervalBoundary_methods[] = {
231 	ZEND_FE_END
232 };
233 
234 static const zend_function_entry class_Random_RandomError_methods[] = {
235 	ZEND_FE_END
236 };
237 
238 static const zend_function_entry class_Random_BrokenRandomEngineError_methods[] = {
239 	ZEND_FE_END
240 };
241 
242 static const zend_function_entry class_Random_RandomException_methods[] = {
243 	ZEND_FE_END
244 };
245 
register_random_symbols(int module_number)246 static void register_random_symbols(int module_number)
247 {
248 	REGISTER_LONG_CONSTANT("MT_RAND_MT19937", MT_RAND_MT19937, CONST_PERSISTENT);
249 	REGISTER_LONG_CONSTANT("MT_RAND_PHP", MT_RAND_PHP, CONST_PERSISTENT | CONST_DEPRECATED);
250 }
251 
register_class_Random_Engine_Mt19937(zend_class_entry * class_entry_Random_Engine)252 static zend_class_entry *register_class_Random_Engine_Mt19937(zend_class_entry *class_entry_Random_Engine)
253 {
254 	zend_class_entry ce, *class_entry;
255 
256 	INIT_NS_CLASS_ENTRY(ce, "Random\\Engine", "Mt19937", class_Random_Engine_Mt19937_methods);
257 	class_entry = zend_register_internal_class_ex(&ce, NULL);
258 	class_entry->ce_flags |= ZEND_ACC_FINAL|ZEND_ACC_NO_DYNAMIC_PROPERTIES;
259 	zend_class_implements(class_entry, 1, class_entry_Random_Engine);
260 
261 	return class_entry;
262 }
263 
register_class_Random_Engine_PcgOneseq128XslRr64(zend_class_entry * class_entry_Random_Engine)264 static zend_class_entry *register_class_Random_Engine_PcgOneseq128XslRr64(zend_class_entry *class_entry_Random_Engine)
265 {
266 	zend_class_entry ce, *class_entry;
267 
268 	INIT_NS_CLASS_ENTRY(ce, "Random\\Engine", "PcgOneseq128XslRr64", class_Random_Engine_PcgOneseq128XslRr64_methods);
269 	class_entry = zend_register_internal_class_ex(&ce, NULL);
270 	class_entry->ce_flags |= ZEND_ACC_FINAL|ZEND_ACC_NO_DYNAMIC_PROPERTIES;
271 	zend_class_implements(class_entry, 1, class_entry_Random_Engine);
272 
273 	return class_entry;
274 }
275 
register_class_Random_Engine_Xoshiro256StarStar(zend_class_entry * class_entry_Random_Engine)276 static zend_class_entry *register_class_Random_Engine_Xoshiro256StarStar(zend_class_entry *class_entry_Random_Engine)
277 {
278 	zend_class_entry ce, *class_entry;
279 
280 	INIT_NS_CLASS_ENTRY(ce, "Random\\Engine", "Xoshiro256StarStar", class_Random_Engine_Xoshiro256StarStar_methods);
281 	class_entry = zend_register_internal_class_ex(&ce, NULL);
282 	class_entry->ce_flags |= ZEND_ACC_FINAL|ZEND_ACC_NO_DYNAMIC_PROPERTIES;
283 	zend_class_implements(class_entry, 1, class_entry_Random_Engine);
284 
285 	return class_entry;
286 }
287 
register_class_Random_Engine_Secure(zend_class_entry * class_entry_Random_CryptoSafeEngine)288 static zend_class_entry *register_class_Random_Engine_Secure(zend_class_entry *class_entry_Random_CryptoSafeEngine)
289 {
290 	zend_class_entry ce, *class_entry;
291 
292 	INIT_NS_CLASS_ENTRY(ce, "Random\\Engine", "Secure", class_Random_Engine_Secure_methods);
293 	class_entry = zend_register_internal_class_ex(&ce, NULL);
294 	class_entry->ce_flags |= ZEND_ACC_FINAL|ZEND_ACC_NO_DYNAMIC_PROPERTIES|ZEND_ACC_NOT_SERIALIZABLE;
295 	zend_class_implements(class_entry, 1, class_entry_Random_CryptoSafeEngine);
296 
297 	return class_entry;
298 }
299 
register_class_Random_Engine(void)300 static zend_class_entry *register_class_Random_Engine(void)
301 {
302 	zend_class_entry ce, *class_entry;
303 
304 	INIT_NS_CLASS_ENTRY(ce, "Random", "Engine", class_Random_Engine_methods);
305 	class_entry = zend_register_internal_interface(&ce);
306 
307 	return class_entry;
308 }
309 
register_class_Random_CryptoSafeEngine(zend_class_entry * class_entry_Random_Engine)310 static zend_class_entry *register_class_Random_CryptoSafeEngine(zend_class_entry *class_entry_Random_Engine)
311 {
312 	zend_class_entry ce, *class_entry;
313 
314 	INIT_NS_CLASS_ENTRY(ce, "Random", "CryptoSafeEngine", class_Random_CryptoSafeEngine_methods);
315 	class_entry = zend_register_internal_interface(&ce);
316 	zend_class_implements(class_entry, 1, class_entry_Random_Engine);
317 
318 	return class_entry;
319 }
320 
register_class_Random_Randomizer(void)321 static zend_class_entry *register_class_Random_Randomizer(void)
322 {
323 	zend_class_entry ce, *class_entry;
324 
325 	INIT_NS_CLASS_ENTRY(ce, "Random", "Randomizer", class_Random_Randomizer_methods);
326 	class_entry = zend_register_internal_class_ex(&ce, NULL);
327 	class_entry->ce_flags |= ZEND_ACC_FINAL|ZEND_ACC_NO_DYNAMIC_PROPERTIES;
328 
329 	zval property_engine_default_value;
330 	ZVAL_UNDEF(&property_engine_default_value);
331 	zend_string *property_engine_name = zend_string_init("engine", sizeof("engine") - 1, 1);
332 	zend_string *property_engine_class_Random_Engine = zend_string_init("Random\\Engine", sizeof("Random\\Engine")-1, 1);
333 	zend_declare_typed_property(class_entry, property_engine_name, &property_engine_default_value, ZEND_ACC_PUBLIC|ZEND_ACC_READONLY, NULL, (zend_type) ZEND_TYPE_INIT_CLASS(property_engine_class_Random_Engine, 0, 0));
334 	zend_string_release(property_engine_name);
335 
336 	return class_entry;
337 }
338 
register_class_Random_IntervalBoundary(void)339 static zend_class_entry *register_class_Random_IntervalBoundary(void)
340 {
341 	zend_class_entry *class_entry = zend_register_internal_enum("Random\\IntervalBoundary", IS_UNDEF, class_Random_IntervalBoundary_methods);
342 
343 	zend_enum_add_case_cstr(class_entry, "ClosedOpen", NULL);
344 
345 	zend_enum_add_case_cstr(class_entry, "ClosedClosed", NULL);
346 
347 	zend_enum_add_case_cstr(class_entry, "OpenClosed", NULL);
348 
349 	zend_enum_add_case_cstr(class_entry, "OpenOpen", NULL);
350 
351 	return class_entry;
352 }
353 
register_class_Random_RandomError(zend_class_entry * class_entry_Error)354 static zend_class_entry *register_class_Random_RandomError(zend_class_entry *class_entry_Error)
355 {
356 	zend_class_entry ce, *class_entry;
357 
358 	INIT_NS_CLASS_ENTRY(ce, "Random", "RandomError", class_Random_RandomError_methods);
359 	class_entry = zend_register_internal_class_ex(&ce, class_entry_Error);
360 	class_entry->ce_flags |= ZEND_ACC_NO_DYNAMIC_PROPERTIES;
361 
362 	return class_entry;
363 }
364 
register_class_Random_BrokenRandomEngineError(zend_class_entry * class_entry_Random_RandomError)365 static zend_class_entry *register_class_Random_BrokenRandomEngineError(zend_class_entry *class_entry_Random_RandomError)
366 {
367 	zend_class_entry ce, *class_entry;
368 
369 	INIT_NS_CLASS_ENTRY(ce, "Random", "BrokenRandomEngineError", class_Random_BrokenRandomEngineError_methods);
370 	class_entry = zend_register_internal_class_ex(&ce, class_entry_Random_RandomError);
371 	class_entry->ce_flags |= ZEND_ACC_NO_DYNAMIC_PROPERTIES;
372 
373 	return class_entry;
374 }
375 
register_class_Random_RandomException(zend_class_entry * class_entry_Exception)376 static zend_class_entry *register_class_Random_RandomException(zend_class_entry *class_entry_Exception)
377 {
378 	zend_class_entry ce, *class_entry;
379 
380 	INIT_NS_CLASS_ENTRY(ce, "Random", "RandomException", class_Random_RandomException_methods);
381 	class_entry = zend_register_internal_class_ex(&ce, class_entry_Exception);
382 	class_entry->ce_flags |= ZEND_ACC_NO_DYNAMIC_PROPERTIES;
383 
384 	return class_entry;
385 }
386