xref: /php-src/ext/snmp/snmp_arginfo.h (revision f2e199e8)
1 /* This is a generated file, edit the .stub.php file instead.
2  * Stub hash: 449ae0af39f24f3e5696b88a30d2a440628c409b */
3 
4 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_snmpget, 0, 3, IS_MIXED, 0)
5 	ZEND_ARG_TYPE_INFO(0, hostname, IS_STRING, 0)
6 	ZEND_ARG_TYPE_INFO(0, community, IS_STRING, 0)
7 	ZEND_ARG_TYPE_MASK(0, object_id, MAY_BE_ARRAY|MAY_BE_STRING, NULL)
8 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, timeout, IS_LONG, 0, "-1")
9 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, retries, IS_LONG, 0, "-1")
10 ZEND_END_ARG_INFO()
11 
12 #define arginfo_snmpgetnext arginfo_snmpget
13 
14 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_snmpwalk, 0, 3, MAY_BE_ARRAY|MAY_BE_FALSE)
15 	ZEND_ARG_TYPE_INFO(0, hostname, IS_STRING, 0)
16 	ZEND_ARG_TYPE_INFO(0, community, IS_STRING, 0)
17 	ZEND_ARG_TYPE_MASK(0, object_id, MAY_BE_ARRAY|MAY_BE_STRING, NULL)
18 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, timeout, IS_LONG, 0, "-1")
19 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, retries, IS_LONG, 0, "-1")
20 ZEND_END_ARG_INFO()
21 
22 #define arginfo_snmprealwalk arginfo_snmpwalk
23 
24 #define arginfo_snmpwalkoid arginfo_snmpwalk
25 
26 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_snmpset, 0, 5, _IS_BOOL, 0)
27 	ZEND_ARG_TYPE_INFO(0, hostname, IS_STRING, 0)
28 	ZEND_ARG_TYPE_INFO(0, community, IS_STRING, 0)
29 	ZEND_ARG_TYPE_MASK(0, object_id, MAY_BE_ARRAY|MAY_BE_STRING, NULL)
30 	ZEND_ARG_TYPE_MASK(0, type, MAY_BE_ARRAY|MAY_BE_STRING, NULL)
31 	ZEND_ARG_TYPE_MASK(0, value, MAY_BE_ARRAY|MAY_BE_STRING, NULL)
32 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, timeout, IS_LONG, 0, "-1")
33 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, retries, IS_LONG, 0, "-1")
34 ZEND_END_ARG_INFO()
35 
36 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_snmp_get_quick_print, 0, 0, _IS_BOOL, 0)
37 ZEND_END_ARG_INFO()
38 
39 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_snmp_set_quick_print, 0, 1, IS_TRUE, 0)
40 	ZEND_ARG_TYPE_INFO(0, enable, _IS_BOOL, 0)
41 ZEND_END_ARG_INFO()
42 
43 #define arginfo_snmp_set_enum_print arginfo_snmp_set_quick_print
44 
45 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_snmp_set_oid_output_format, 0, 1, IS_TRUE, 0)
46 	ZEND_ARG_TYPE_INFO(0, format, IS_LONG, 0)
47 ZEND_END_ARG_INFO()
48 
49 #define arginfo_snmp_set_oid_numeric_print arginfo_snmp_set_oid_output_format
50 
51 #define arginfo_snmp2_get arginfo_snmpget
52 
53 #define arginfo_snmp2_getnext arginfo_snmpget
54 
55 #define arginfo_snmp2_walk arginfo_snmpwalk
56 
57 #define arginfo_snmp2_real_walk arginfo_snmpwalk
58 
59 #define arginfo_snmp2_set arginfo_snmpset
60 
61 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_snmp3_get, 0, 8, IS_MIXED, 0)
62 	ZEND_ARG_TYPE_INFO(0, hostname, IS_STRING, 0)
63 	ZEND_ARG_TYPE_INFO(0, security_name, IS_STRING, 0)
64 	ZEND_ARG_TYPE_INFO(0, security_level, IS_STRING, 0)
65 	ZEND_ARG_TYPE_INFO(0, auth_protocol, IS_STRING, 0)
66 	ZEND_ARG_TYPE_INFO(0, auth_passphrase, IS_STRING, 0)
67 	ZEND_ARG_TYPE_INFO(0, privacy_protocol, IS_STRING, 0)
68 	ZEND_ARG_TYPE_INFO(0, privacy_passphrase, IS_STRING, 0)
69 	ZEND_ARG_TYPE_MASK(0, object_id, MAY_BE_ARRAY|MAY_BE_STRING, NULL)
70 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, timeout, IS_LONG, 0, "-1")
71 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, retries, IS_LONG, 0, "-1")
72 ZEND_END_ARG_INFO()
73 
74 #define arginfo_snmp3_getnext arginfo_snmp3_get
75 
76 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_snmp3_walk, 0, 8, MAY_BE_ARRAY|MAY_BE_FALSE)
77 	ZEND_ARG_TYPE_INFO(0, hostname, IS_STRING, 0)
78 	ZEND_ARG_TYPE_INFO(0, security_name, IS_STRING, 0)
79 	ZEND_ARG_TYPE_INFO(0, security_level, IS_STRING, 0)
80 	ZEND_ARG_TYPE_INFO(0, auth_protocol, IS_STRING, 0)
81 	ZEND_ARG_TYPE_INFO(0, auth_passphrase, IS_STRING, 0)
82 	ZEND_ARG_TYPE_INFO(0, privacy_protocol, IS_STRING, 0)
83 	ZEND_ARG_TYPE_INFO(0, privacy_passphrase, IS_STRING, 0)
84 	ZEND_ARG_TYPE_MASK(0, object_id, MAY_BE_ARRAY|MAY_BE_STRING, NULL)
85 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, timeout, IS_LONG, 0, "-1")
86 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, retries, IS_LONG, 0, "-1")
87 ZEND_END_ARG_INFO()
88 
89 #define arginfo_snmp3_real_walk arginfo_snmp3_walk
90 
91 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_snmp3_set, 0, 10, _IS_BOOL, 0)
92 	ZEND_ARG_TYPE_INFO(0, hostname, IS_STRING, 0)
93 	ZEND_ARG_TYPE_INFO(0, security_name, IS_STRING, 0)
94 	ZEND_ARG_TYPE_INFO(0, security_level, IS_STRING, 0)
95 	ZEND_ARG_TYPE_INFO(0, auth_protocol, IS_STRING, 0)
96 	ZEND_ARG_TYPE_INFO(0, auth_passphrase, IS_STRING, 0)
97 	ZEND_ARG_TYPE_INFO(0, privacy_protocol, IS_STRING, 0)
98 	ZEND_ARG_TYPE_INFO(0, privacy_passphrase, IS_STRING, 0)
99 	ZEND_ARG_TYPE_MASK(0, object_id, MAY_BE_ARRAY|MAY_BE_STRING, NULL)
100 	ZEND_ARG_TYPE_MASK(0, type, MAY_BE_ARRAY|MAY_BE_STRING, NULL)
101 	ZEND_ARG_TYPE_MASK(0, value, MAY_BE_ARRAY|MAY_BE_STRING, NULL)
102 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, timeout, IS_LONG, 0, "-1")
103 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, retries, IS_LONG, 0, "-1")
104 ZEND_END_ARG_INFO()
105 
106 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_snmp_set_valueretrieval, 0, 1, IS_TRUE, 0)
107 	ZEND_ARG_TYPE_INFO(0, method, IS_LONG, 0)
108 ZEND_END_ARG_INFO()
109 
110 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_snmp_get_valueretrieval, 0, 0, IS_LONG, 0)
111 ZEND_END_ARG_INFO()
112 
113 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_snmp_read_mib, 0, 1, _IS_BOOL, 0)
114 	ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
115 ZEND_END_ARG_INFO()
116 
117 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SNMP___construct, 0, 0, 3)
118 	ZEND_ARG_TYPE_INFO(0, version, IS_LONG, 0)
119 	ZEND_ARG_TYPE_INFO(0, hostname, IS_STRING, 0)
120 	ZEND_ARG_TYPE_INFO(0, community, IS_STRING, 0)
121 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, timeout, IS_LONG, 0, "-1")
122 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, retries, IS_LONG, 0, "-1")
123 ZEND_END_ARG_INFO()
124 
125 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SNMP_close, 0, 0, _IS_BOOL, 0)
126 ZEND_END_ARG_INFO()
127 
128 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SNMP_setSecurity, 0, 1, _IS_BOOL, 0)
129 	ZEND_ARG_TYPE_INFO(0, securityLevel, IS_STRING, 0)
130 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, authProtocol, IS_STRING, 0, "\"\"")
131 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, authPassphrase, IS_STRING, 0, "\"\"")
132 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, privacyProtocol, IS_STRING, 0, "\"\"")
133 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, privacyPassphrase, IS_STRING, 0, "\"\"")
134 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, contextName, IS_STRING, 0, "\"\"")
135 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, contextEngineId, IS_STRING, 0, "\"\"")
136 ZEND_END_ARG_INFO()
137 
138 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SNMP_get, 0, 1, IS_MIXED, 0)
139 	ZEND_ARG_TYPE_MASK(0, objectId, MAY_BE_ARRAY|MAY_BE_STRING, NULL)
140 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, preserveKeys, _IS_BOOL, 0, "false")
141 ZEND_END_ARG_INFO()
142 
143 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SNMP_getnext, 0, 1, IS_MIXED, 0)
144 	ZEND_ARG_TYPE_MASK(0, objectId, MAY_BE_ARRAY|MAY_BE_STRING, NULL)
145 ZEND_END_ARG_INFO()
146 
147 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_MASK_EX(arginfo_class_SNMP_walk, 0, 1, MAY_BE_ARRAY|MAY_BE_FALSE)
148 	ZEND_ARG_TYPE_MASK(0, objectId, MAY_BE_ARRAY|MAY_BE_STRING, NULL)
149 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, suffixAsKey, _IS_BOOL, 0, "false")
150 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, maxRepetitions, IS_LONG, 0, "-1")
151 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, nonRepeaters, IS_LONG, 0, "-1")
152 ZEND_END_ARG_INFO()
153 
154 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SNMP_set, 0, 3, _IS_BOOL, 0)
155 	ZEND_ARG_TYPE_MASK(0, objectId, MAY_BE_ARRAY|MAY_BE_STRING, NULL)
156 	ZEND_ARG_TYPE_MASK(0, type, MAY_BE_ARRAY|MAY_BE_STRING, NULL)
157 	ZEND_ARG_TYPE_MASK(0, value, MAY_BE_ARRAY|MAY_BE_STRING, NULL)
158 ZEND_END_ARG_INFO()
159 
160 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SNMP_getErrno, 0, 0, IS_LONG, 0)
161 ZEND_END_ARG_INFO()
162 
163 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SNMP_getError, 0, 0, IS_STRING, 0)
164 ZEND_END_ARG_INFO()
165 
166 ZEND_FUNCTION(snmpget);
167 ZEND_FUNCTION(snmpgetnext);
168 ZEND_FUNCTION(snmpwalk);
169 ZEND_FUNCTION(snmprealwalk);
170 ZEND_FUNCTION(snmpset);
171 ZEND_FUNCTION(snmp_get_quick_print);
172 ZEND_FUNCTION(snmp_set_quick_print);
173 ZEND_FUNCTION(snmp_set_enum_print);
174 ZEND_FUNCTION(snmp_set_oid_output_format);
175 ZEND_FUNCTION(snmp2_get);
176 ZEND_FUNCTION(snmp2_getnext);
177 ZEND_FUNCTION(snmp2_walk);
178 ZEND_FUNCTION(snmp2_real_walk);
179 ZEND_FUNCTION(snmp2_set);
180 ZEND_FUNCTION(snmp3_get);
181 ZEND_FUNCTION(snmp3_getnext);
182 ZEND_FUNCTION(snmp3_walk);
183 ZEND_FUNCTION(snmp3_real_walk);
184 ZEND_FUNCTION(snmp3_set);
185 ZEND_FUNCTION(snmp_set_valueretrieval);
186 ZEND_FUNCTION(snmp_get_valueretrieval);
187 ZEND_FUNCTION(snmp_read_mib);
188 ZEND_METHOD(SNMP, __construct);
189 ZEND_METHOD(SNMP, close);
190 ZEND_METHOD(SNMP, setSecurity);
191 ZEND_METHOD(SNMP, get);
192 ZEND_METHOD(SNMP, getnext);
193 ZEND_METHOD(SNMP, walk);
194 ZEND_METHOD(SNMP, set);
195 ZEND_METHOD(SNMP, getErrno);
196 ZEND_METHOD(SNMP, getError);
197 
198 static const zend_function_entry ext_functions[] = {
199 	ZEND_FE(snmpget, arginfo_snmpget)
200 	ZEND_FE(snmpgetnext, arginfo_snmpgetnext)
201 	ZEND_FE(snmpwalk, arginfo_snmpwalk)
202 	ZEND_FE(snmprealwalk, arginfo_snmprealwalk)
203 	ZEND_RAW_FENTRY("snmpwalkoid", zif_snmprealwalk, arginfo_snmpwalkoid, 0, NULL, NULL)
204 	ZEND_FE(snmpset, arginfo_snmpset)
205 	ZEND_FE(snmp_get_quick_print, arginfo_snmp_get_quick_print)
206 	ZEND_FE(snmp_set_quick_print, arginfo_snmp_set_quick_print)
207 	ZEND_FE(snmp_set_enum_print, arginfo_snmp_set_enum_print)
208 	ZEND_FE(snmp_set_oid_output_format, arginfo_snmp_set_oid_output_format)
209 	ZEND_RAW_FENTRY("snmp_set_oid_numeric_print", zif_snmp_set_oid_output_format, arginfo_snmp_set_oid_numeric_print, 0, NULL, NULL)
210 	ZEND_FE(snmp2_get, arginfo_snmp2_get)
211 	ZEND_FE(snmp2_getnext, arginfo_snmp2_getnext)
212 	ZEND_FE(snmp2_walk, arginfo_snmp2_walk)
213 	ZEND_FE(snmp2_real_walk, arginfo_snmp2_real_walk)
214 	ZEND_FE(snmp2_set, arginfo_snmp2_set)
215 	ZEND_FE(snmp3_get, arginfo_snmp3_get)
216 	ZEND_FE(snmp3_getnext, arginfo_snmp3_getnext)
217 	ZEND_FE(snmp3_walk, arginfo_snmp3_walk)
218 	ZEND_FE(snmp3_real_walk, arginfo_snmp3_real_walk)
219 	ZEND_FE(snmp3_set, arginfo_snmp3_set)
220 	ZEND_FE(snmp_set_valueretrieval, arginfo_snmp_set_valueretrieval)
221 	ZEND_FE(snmp_get_valueretrieval, arginfo_snmp_get_valueretrieval)
222 	ZEND_FE(snmp_read_mib, arginfo_snmp_read_mib)
223 	ZEND_FE_END
224 };
225 
226 static const zend_function_entry class_SNMP_methods[] = {
227 	ZEND_ME(SNMP, __construct, arginfo_class_SNMP___construct, ZEND_ACC_PUBLIC)
228 	ZEND_ME(SNMP, close, arginfo_class_SNMP_close, ZEND_ACC_PUBLIC)
229 	ZEND_ME(SNMP, setSecurity, arginfo_class_SNMP_setSecurity, ZEND_ACC_PUBLIC)
230 	ZEND_ME(SNMP, get, arginfo_class_SNMP_get, ZEND_ACC_PUBLIC)
231 	ZEND_ME(SNMP, getnext, arginfo_class_SNMP_getnext, ZEND_ACC_PUBLIC)
232 	ZEND_ME(SNMP, walk, arginfo_class_SNMP_walk, ZEND_ACC_PUBLIC)
233 	ZEND_ME(SNMP, set, arginfo_class_SNMP_set, ZEND_ACC_PUBLIC)
234 	ZEND_ME(SNMP, getErrno, arginfo_class_SNMP_getErrno, ZEND_ACC_PUBLIC)
235 	ZEND_ME(SNMP, getError, arginfo_class_SNMP_getError, ZEND_ACC_PUBLIC)
236 	ZEND_FE_END
237 };
238 
239 static const zend_function_entry class_SNMPException_methods[] = {
240 	ZEND_FE_END
241 };
242 
register_snmp_symbols(int module_number)243 static void register_snmp_symbols(int module_number)
244 {
245 	REGISTER_LONG_CONSTANT("SNMP_OID_OUTPUT_SUFFIX", NETSNMP_OID_OUTPUT_SUFFIX, CONST_PERSISTENT);
246 	REGISTER_LONG_CONSTANT("SNMP_OID_OUTPUT_MODULE", NETSNMP_OID_OUTPUT_MODULE, CONST_PERSISTENT);
247 	REGISTER_LONG_CONSTANT("SNMP_OID_OUTPUT_FULL", NETSNMP_OID_OUTPUT_FULL, CONST_PERSISTENT);
248 	REGISTER_LONG_CONSTANT("SNMP_OID_OUTPUT_NUMERIC", NETSNMP_OID_OUTPUT_NUMERIC, CONST_PERSISTENT);
249 	REGISTER_LONG_CONSTANT("SNMP_OID_OUTPUT_UCD", NETSNMP_OID_OUTPUT_UCD, CONST_PERSISTENT);
250 	REGISTER_LONG_CONSTANT("SNMP_OID_OUTPUT_NONE", NETSNMP_OID_OUTPUT_NONE, CONST_PERSISTENT);
251 	REGISTER_LONG_CONSTANT("SNMP_VALUE_LIBRARY", SNMP_VALUE_LIBRARY, CONST_PERSISTENT);
252 	REGISTER_LONG_CONSTANT("SNMP_VALUE_PLAIN", SNMP_VALUE_PLAIN, CONST_PERSISTENT);
253 	REGISTER_LONG_CONSTANT("SNMP_VALUE_OBJECT", SNMP_VALUE_OBJECT, CONST_PERSISTENT);
254 	REGISTER_LONG_CONSTANT("SNMP_BIT_STR", ASN_BIT_STR, CONST_PERSISTENT);
255 	REGISTER_LONG_CONSTANT("SNMP_OCTET_STR", ASN_OCTET_STR, CONST_PERSISTENT);
256 	REGISTER_LONG_CONSTANT("SNMP_OPAQUE", ASN_OPAQUE, CONST_PERSISTENT);
257 	REGISTER_LONG_CONSTANT("SNMP_NULL", ASN_NULL, CONST_PERSISTENT);
258 	REGISTER_LONG_CONSTANT("SNMP_OBJECT_ID", ASN_OBJECT_ID, CONST_PERSISTENT);
259 	REGISTER_LONG_CONSTANT("SNMP_IPADDRESS", ASN_IPADDRESS, CONST_PERSISTENT);
260 	REGISTER_LONG_CONSTANT("SNMP_COUNTER", ASN_GAUGE, CONST_PERSISTENT);
261 	REGISTER_LONG_CONSTANT("SNMP_UNSIGNED", ASN_UNSIGNED, CONST_PERSISTENT);
262 	REGISTER_LONG_CONSTANT("SNMP_TIMETICKS", ASN_TIMETICKS, CONST_PERSISTENT);
263 	REGISTER_LONG_CONSTANT("SNMP_UINTEGER", ASN_UINTEGER, CONST_PERSISTENT);
264 	REGISTER_LONG_CONSTANT("SNMP_INTEGER", ASN_INTEGER, CONST_PERSISTENT);
265 	REGISTER_LONG_CONSTANT("SNMP_COUNTER64", ASN_COUNTER64, CONST_PERSISTENT);
266 }
267 
register_class_SNMP(void)268 static zend_class_entry *register_class_SNMP(void)
269 {
270 	zend_class_entry ce, *class_entry;
271 
272 	INIT_CLASS_ENTRY(ce, "SNMP", class_SNMP_methods);
273 	class_entry = zend_register_internal_class_ex(&ce, NULL);
274 
275 	zval const_VERSION_1_value;
276 	ZVAL_LONG(&const_VERSION_1_value, SNMP_VERSION_1);
277 	zend_string *const_VERSION_1_name = zend_string_init_interned("VERSION_1", sizeof("VERSION_1") - 1, 1);
278 	zend_declare_typed_class_constant(class_entry, const_VERSION_1_name, &const_VERSION_1_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
279 	zend_string_release(const_VERSION_1_name);
280 
281 	zval const_VERSION_2c_value;
282 	ZVAL_LONG(&const_VERSION_2c_value, SNMP_VERSION_2c);
283 	zend_string *const_VERSION_2c_name = zend_string_init_interned("VERSION_2c", sizeof("VERSION_2c") - 1, 1);
284 	zend_declare_typed_class_constant(class_entry, const_VERSION_2c_name, &const_VERSION_2c_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
285 	zend_string_release(const_VERSION_2c_name);
286 
287 	zval const_VERSION_2C_value;
288 	ZVAL_LONG(&const_VERSION_2C_value, SNMP_VERSION_2c);
289 	zend_string *const_VERSION_2C_name = zend_string_init_interned("VERSION_2C", sizeof("VERSION_2C") - 1, 1);
290 	zend_declare_typed_class_constant(class_entry, const_VERSION_2C_name, &const_VERSION_2C_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
291 	zend_string_release(const_VERSION_2C_name);
292 
293 	zval const_VERSION_3_value;
294 	ZVAL_LONG(&const_VERSION_3_value, SNMP_VERSION_3);
295 	zend_string *const_VERSION_3_name = zend_string_init_interned("VERSION_3", sizeof("VERSION_3") - 1, 1);
296 	zend_declare_typed_class_constant(class_entry, const_VERSION_3_name, &const_VERSION_3_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
297 	zend_string_release(const_VERSION_3_name);
298 
299 	zval const_ERRNO_NOERROR_value;
300 	ZVAL_LONG(&const_ERRNO_NOERROR_value, PHP_SNMP_ERRNO_NOERROR);
301 	zend_string *const_ERRNO_NOERROR_name = zend_string_init_interned("ERRNO_NOERROR", sizeof("ERRNO_NOERROR") - 1, 1);
302 	zend_declare_typed_class_constant(class_entry, const_ERRNO_NOERROR_name, &const_ERRNO_NOERROR_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
303 	zend_string_release(const_ERRNO_NOERROR_name);
304 
305 	zval const_ERRNO_ANY_value;
306 	ZVAL_LONG(&const_ERRNO_ANY_value, PHP_SNMP_ERRNO_ANY);
307 	zend_string *const_ERRNO_ANY_name = zend_string_init_interned("ERRNO_ANY", sizeof("ERRNO_ANY") - 1, 1);
308 	zend_declare_typed_class_constant(class_entry, const_ERRNO_ANY_name, &const_ERRNO_ANY_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
309 	zend_string_release(const_ERRNO_ANY_name);
310 
311 	zval const_ERRNO_GENERIC_value;
312 	ZVAL_LONG(&const_ERRNO_GENERIC_value, PHP_SNMP_ERRNO_GENERIC);
313 	zend_string *const_ERRNO_GENERIC_name = zend_string_init_interned("ERRNO_GENERIC", sizeof("ERRNO_GENERIC") - 1, 1);
314 	zend_declare_typed_class_constant(class_entry, const_ERRNO_GENERIC_name, &const_ERRNO_GENERIC_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
315 	zend_string_release(const_ERRNO_GENERIC_name);
316 
317 	zval const_ERRNO_TIMEOUT_value;
318 	ZVAL_LONG(&const_ERRNO_TIMEOUT_value, PHP_SNMP_ERRNO_TIMEOUT);
319 	zend_string *const_ERRNO_TIMEOUT_name = zend_string_init_interned("ERRNO_TIMEOUT", sizeof("ERRNO_TIMEOUT") - 1, 1);
320 	zend_declare_typed_class_constant(class_entry, const_ERRNO_TIMEOUT_name, &const_ERRNO_TIMEOUT_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
321 	zend_string_release(const_ERRNO_TIMEOUT_name);
322 
323 	zval const_ERRNO_ERROR_IN_REPLY_value;
324 	ZVAL_LONG(&const_ERRNO_ERROR_IN_REPLY_value, PHP_SNMP_ERRNO_ERROR_IN_REPLY);
325 	zend_string *const_ERRNO_ERROR_IN_REPLY_name = zend_string_init_interned("ERRNO_ERROR_IN_REPLY", sizeof("ERRNO_ERROR_IN_REPLY") - 1, 1);
326 	zend_declare_typed_class_constant(class_entry, const_ERRNO_ERROR_IN_REPLY_name, &const_ERRNO_ERROR_IN_REPLY_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
327 	zend_string_release(const_ERRNO_ERROR_IN_REPLY_name);
328 
329 	zval const_ERRNO_OID_NOT_INCREASING_value;
330 	ZVAL_LONG(&const_ERRNO_OID_NOT_INCREASING_value, PHP_SNMP_ERRNO_OID_NOT_INCREASING);
331 	zend_string *const_ERRNO_OID_NOT_INCREASING_name = zend_string_init_interned("ERRNO_OID_NOT_INCREASING", sizeof("ERRNO_OID_NOT_INCREASING") - 1, 1);
332 	zend_declare_typed_class_constant(class_entry, const_ERRNO_OID_NOT_INCREASING_name, &const_ERRNO_OID_NOT_INCREASING_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
333 	zend_string_release(const_ERRNO_OID_NOT_INCREASING_name);
334 
335 	zval const_ERRNO_OID_PARSING_ERROR_value;
336 	ZVAL_LONG(&const_ERRNO_OID_PARSING_ERROR_value, PHP_SNMP_ERRNO_OID_PARSING_ERROR);
337 	zend_string *const_ERRNO_OID_PARSING_ERROR_name = zend_string_init_interned("ERRNO_OID_PARSING_ERROR", sizeof("ERRNO_OID_PARSING_ERROR") - 1, 1);
338 	zend_declare_typed_class_constant(class_entry, const_ERRNO_OID_PARSING_ERROR_name, &const_ERRNO_OID_PARSING_ERROR_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
339 	zend_string_release(const_ERRNO_OID_PARSING_ERROR_name);
340 
341 	zval const_ERRNO_MULTIPLE_SET_QUERIES_value;
342 	ZVAL_LONG(&const_ERRNO_MULTIPLE_SET_QUERIES_value, PHP_SNMP_ERRNO_MULTIPLE_SET_QUERIES);
343 	zend_string *const_ERRNO_MULTIPLE_SET_QUERIES_name = zend_string_init_interned("ERRNO_MULTIPLE_SET_QUERIES", sizeof("ERRNO_MULTIPLE_SET_QUERIES") - 1, 1);
344 	zend_declare_typed_class_constant(class_entry, const_ERRNO_MULTIPLE_SET_QUERIES_name, &const_ERRNO_MULTIPLE_SET_QUERIES_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
345 	zend_string_release(const_ERRNO_MULTIPLE_SET_QUERIES_name);
346 
347 	zval property_info_default_value;
348 	ZVAL_UNDEF(&property_info_default_value);
349 	zend_string *property_info_name = zend_string_init("info", sizeof("info") - 1, 1);
350 	zend_declare_typed_property(class_entry, property_info_name, &property_info_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_ARRAY));
351 	zend_string_release(property_info_name);
352 
353 	zval property_max_oids_default_value;
354 	ZVAL_UNDEF(&property_max_oids_default_value);
355 	zend_string *property_max_oids_name = zend_string_init("max_oids", sizeof("max_oids") - 1, 1);
356 	zend_declare_typed_property(class_entry, property_max_oids_name, &property_max_oids_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG|MAY_BE_NULL));
357 	zend_string_release(property_max_oids_name);
358 
359 	zval property_valueretrieval_default_value;
360 	ZVAL_UNDEF(&property_valueretrieval_default_value);
361 	zend_string *property_valueretrieval_name = zend_string_init("valueretrieval", sizeof("valueretrieval") - 1, 1);
362 	zend_declare_typed_property(class_entry, property_valueretrieval_name, &property_valueretrieval_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
363 	zend_string_release(property_valueretrieval_name);
364 
365 	zval property_quick_print_default_value;
366 	ZVAL_UNDEF(&property_quick_print_default_value);
367 	zend_string *property_quick_print_name = zend_string_init("quick_print", sizeof("quick_print") - 1, 1);
368 	zend_declare_typed_property(class_entry, property_quick_print_name, &property_quick_print_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_BOOL));
369 	zend_string_release(property_quick_print_name);
370 
371 	zval property_enum_print_default_value;
372 	ZVAL_UNDEF(&property_enum_print_default_value);
373 	zend_string *property_enum_print_name = zend_string_init("enum_print", sizeof("enum_print") - 1, 1);
374 	zend_declare_typed_property(class_entry, property_enum_print_name, &property_enum_print_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_BOOL));
375 	zend_string_release(property_enum_print_name);
376 
377 	zval property_oid_output_format_default_value;
378 	ZVAL_UNDEF(&property_oid_output_format_default_value);
379 	zend_string *property_oid_output_format_name = zend_string_init("oid_output_format", sizeof("oid_output_format") - 1, 1);
380 	zend_declare_typed_property(class_entry, property_oid_output_format_name, &property_oid_output_format_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
381 	zend_string_release(property_oid_output_format_name);
382 
383 	zval property_oid_increasing_check_default_value;
384 	ZVAL_UNDEF(&property_oid_increasing_check_default_value);
385 	zend_string *property_oid_increasing_check_name = zend_string_init("oid_increasing_check", sizeof("oid_increasing_check") - 1, 1);
386 	zend_declare_typed_property(class_entry, property_oid_increasing_check_name, &property_oid_increasing_check_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_BOOL));
387 	zend_string_release(property_oid_increasing_check_name);
388 
389 	zval property_exceptions_enabled_default_value;
390 	ZVAL_UNDEF(&property_exceptions_enabled_default_value);
391 	zend_string *property_exceptions_enabled_name = zend_string_init("exceptions_enabled", sizeof("exceptions_enabled") - 1, 1);
392 	zend_declare_typed_property(class_entry, property_exceptions_enabled_name, &property_exceptions_enabled_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
393 	zend_string_release(property_exceptions_enabled_name);
394 
395 	return class_entry;
396 }
397 
register_class_SNMPException(zend_class_entry * class_entry_RuntimeException)398 static zend_class_entry *register_class_SNMPException(zend_class_entry *class_entry_RuntimeException)
399 {
400 	zend_class_entry ce, *class_entry;
401 
402 	INIT_CLASS_ENTRY(ce, "SNMPException", class_SNMPException_methods);
403 	class_entry = zend_register_internal_class_ex(&ce, class_entry_RuntimeException);
404 
405 	return class_entry;
406 }
407