xref: /PHP-8.1/ext/ldap/ldap_arginfo.h (revision 6a47831e)
1 /* This is a generated file, edit the .stub.php file instead.
2  * Stub hash: 9f90cc4f751725c503bf4afd2b6c5e5b4e0379c8 */
3 
4 #if defined(HAVE_ORALDAP)
5 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_ldap_connect, 0, 0, LDAP\\Connection, MAY_BE_FALSE)
6 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, uri, IS_STRING, 1, "null")
7 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, port, IS_LONG, 0, "389")
8 	ZEND_ARG_TYPE_INFO(0, wallet, IS_STRING, 0)
9 	ZEND_ARG_TYPE_INFO(0, password, IS_STRING, 0)
10 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, auth_mode, IS_LONG, 0, "GSLC_SSL_NO_AUTH")
11 ZEND_END_ARG_INFO()
12 #endif
13 
14 #if !(defined(HAVE_ORALDAP))
15 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_ldap_connect, 0, 0, LDAP\\Connection, MAY_BE_FALSE)
16 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, uri, IS_STRING, 1, "null")
17 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, port, IS_LONG, 0, "389")
18 ZEND_END_ARG_INFO()
19 #endif
20 
21 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_unbind, 0, 1, _IS_BOOL, 0)
22 	ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
23 ZEND_END_ARG_INFO()
24 
25 #define arginfo_ldap_close arginfo_ldap_unbind
26 
27 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_bind, 0, 1, _IS_BOOL, 0)
28 	ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
29 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, dn, IS_STRING, 1, "null")
30 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, password, IS_STRING, 1, "null")
31 ZEND_END_ARG_INFO()
32 
33 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_ldap_bind_ext, 0, 1, LDAP\\Result, MAY_BE_FALSE)
34 	ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
35 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, dn, IS_STRING, 1, "null")
36 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, password, IS_STRING, 1, "null")
37 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, controls, IS_ARRAY, 1, "null")
38 ZEND_END_ARG_INFO()
39 
40 #if defined(HAVE_LDAP_SASL)
41 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_sasl_bind, 0, 1, _IS_BOOL, 0)
42 	ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
43 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, dn, IS_STRING, 1, "null")
44 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, password, IS_STRING, 1, "null")
45 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mech, IS_STRING, 1, "null")
46 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, realm, IS_STRING, 1, "null")
47 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, authc_id, IS_STRING, 1, "null")
48 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, authz_id, IS_STRING, 1, "null")
49 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, props, IS_STRING, 1, "null")
50 ZEND_END_ARG_INFO()
51 #endif
52 
53 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_ldap_read, 0, 3, LDAP\\Result, MAY_BE_ARRAY|MAY_BE_FALSE)
54 	ZEND_ARG_INFO(0, ldap)
55 	ZEND_ARG_TYPE_MASK(0, base, MAY_BE_ARRAY|MAY_BE_STRING, NULL)
56 	ZEND_ARG_TYPE_MASK(0, filter, MAY_BE_ARRAY|MAY_BE_STRING, NULL)
57 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, attributes, IS_ARRAY, 0, "[]")
58 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, attributes_only, IS_LONG, 0, "0")
59 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, sizelimit, IS_LONG, 0, "-1")
60 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, timelimit, IS_LONG, 0, "-1")
61 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, deref, IS_LONG, 0, "LDAP_DEREF_NEVER")
62 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, controls, IS_ARRAY, 1, "null")
63 ZEND_END_ARG_INFO()
64 
65 #define arginfo_ldap_list arginfo_ldap_read
66 
67 #define arginfo_ldap_search arginfo_ldap_read
68 
69 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_free_result, 0, 1, _IS_BOOL, 0)
70 	ZEND_ARG_OBJ_INFO(0, result, LDAP\\Result, 0)
71 ZEND_END_ARG_INFO()
72 
73 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_count_entries, 0, 2, IS_LONG, 0)
74 	ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
75 	ZEND_ARG_OBJ_INFO(0, result, LDAP\\Result, 0)
76 ZEND_END_ARG_INFO()
77 
78 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_ldap_first_entry, 0, 2, LDAP\\ResultEntry, MAY_BE_FALSE)
79 	ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
80 	ZEND_ARG_OBJ_INFO(0, result, LDAP\\Result, 0)
81 ZEND_END_ARG_INFO()
82 
83 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_ldap_next_entry, 0, 2, LDAP\\ResultEntry, MAY_BE_FALSE)
84 	ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
85 	ZEND_ARG_OBJ_INFO(0, entry, LDAP\\ResultEntry, 0)
86 ZEND_END_ARG_INFO()
87 
88 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_ldap_get_entries, 0, 2, MAY_BE_ARRAY|MAY_BE_FALSE)
89 	ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
90 	ZEND_ARG_OBJ_INFO(0, result, LDAP\\Result, 0)
91 ZEND_END_ARG_INFO()
92 
93 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_ldap_first_attribute, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
94 	ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
95 	ZEND_ARG_OBJ_INFO(0, entry, LDAP\\ResultEntry, 0)
96 ZEND_END_ARG_INFO()
97 
98 #define arginfo_ldap_next_attribute arginfo_ldap_first_attribute
99 
100 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_get_attributes, 0, 2, IS_ARRAY, 0)
101 	ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
102 	ZEND_ARG_OBJ_INFO(0, entry, LDAP\\ResultEntry, 0)
103 ZEND_END_ARG_INFO()
104 
105 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_ldap_get_values_len, 0, 3, MAY_BE_ARRAY|MAY_BE_FALSE)
106 	ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
107 	ZEND_ARG_OBJ_INFO(0, entry, LDAP\\ResultEntry, 0)
108 	ZEND_ARG_TYPE_INFO(0, attribute, IS_STRING, 0)
109 ZEND_END_ARG_INFO()
110 
111 #define arginfo_ldap_get_values arginfo_ldap_get_values_len
112 
113 #define arginfo_ldap_get_dn arginfo_ldap_first_attribute
114 
115 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_ldap_explode_dn, 0, 2, MAY_BE_ARRAY|MAY_BE_FALSE)
116 	ZEND_ARG_TYPE_INFO(0, dn, IS_STRING, 0)
117 	ZEND_ARG_TYPE_INFO(0, with_attrib, IS_LONG, 0)
118 ZEND_END_ARG_INFO()
119 
120 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_ldap_dn2ufn, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
121 	ZEND_ARG_TYPE_INFO(0, dn, IS_STRING, 0)
122 ZEND_END_ARG_INFO()
123 
124 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_add, 0, 3, _IS_BOOL, 0)
125 	ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
126 	ZEND_ARG_TYPE_INFO(0, dn, IS_STRING, 0)
127 	ZEND_ARG_TYPE_INFO(0, entry, IS_ARRAY, 0)
128 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, controls, IS_ARRAY, 1, "null")
129 ZEND_END_ARG_INFO()
130 
131 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_ldap_add_ext, 0, 3, LDAP\\Result, MAY_BE_FALSE)
132 	ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
133 	ZEND_ARG_TYPE_INFO(0, dn, IS_STRING, 0)
134 	ZEND_ARG_TYPE_INFO(0, entry, IS_ARRAY, 0)
135 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, controls, IS_ARRAY, 1, "null")
136 ZEND_END_ARG_INFO()
137 
138 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_delete, 0, 2, _IS_BOOL, 0)
139 	ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
140 	ZEND_ARG_TYPE_INFO(0, dn, IS_STRING, 0)
141 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, controls, IS_ARRAY, 1, "null")
142 ZEND_END_ARG_INFO()
143 
144 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_ldap_delete_ext, 0, 2, LDAP\\Result, MAY_BE_FALSE)
145 	ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
146 	ZEND_ARG_TYPE_INFO(0, dn, IS_STRING, 0)
147 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, controls, IS_ARRAY, 1, "null")
148 ZEND_END_ARG_INFO()
149 
150 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_modify_batch, 0, 3, _IS_BOOL, 0)
151 	ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
152 	ZEND_ARG_TYPE_INFO(0, dn, IS_STRING, 0)
153 	ZEND_ARG_TYPE_INFO(0, modifications_info, IS_ARRAY, 0)
154 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, controls, IS_ARRAY, 1, "null")
155 ZEND_END_ARG_INFO()
156 
157 #define arginfo_ldap_mod_add arginfo_ldap_add
158 
159 #define arginfo_ldap_mod_add_ext arginfo_ldap_add_ext
160 
161 #define arginfo_ldap_mod_replace arginfo_ldap_add
162 
163 #define arginfo_ldap_modify arginfo_ldap_add
164 
165 #define arginfo_ldap_mod_replace_ext arginfo_ldap_add_ext
166 
167 #define arginfo_ldap_mod_del arginfo_ldap_add
168 
169 #define arginfo_ldap_mod_del_ext arginfo_ldap_add_ext
170 
171 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_errno, 0, 1, IS_LONG, 0)
172 	ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
173 ZEND_END_ARG_INFO()
174 
175 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_error, 0, 1, IS_STRING, 0)
176 	ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
177 ZEND_END_ARG_INFO()
178 
179 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_err2str, 0, 1, IS_STRING, 0)
180 	ZEND_ARG_TYPE_INFO(0, errno, IS_LONG, 0)
181 ZEND_END_ARG_INFO()
182 
183 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_ldap_compare, 0, 4, MAY_BE_BOOL|MAY_BE_LONG)
184 	ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
185 	ZEND_ARG_TYPE_INFO(0, dn, IS_STRING, 0)
186 	ZEND_ARG_TYPE_INFO(0, attribute, IS_STRING, 0)
187 	ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
188 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, controls, IS_ARRAY, 1, "null")
189 ZEND_END_ARG_INFO()
190 
191 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
192 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_rename, 0, 5, _IS_BOOL, 0)
193 	ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
194 	ZEND_ARG_TYPE_INFO(0, dn, IS_STRING, 0)
195 	ZEND_ARG_TYPE_INFO(0, new_rdn, IS_STRING, 0)
196 	ZEND_ARG_TYPE_INFO(0, new_parent, IS_STRING, 0)
197 	ZEND_ARG_TYPE_INFO(0, delete_old_rdn, _IS_BOOL, 0)
198 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, controls, IS_ARRAY, 1, "null")
199 ZEND_END_ARG_INFO()
200 #endif
201 
202 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
203 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_ldap_rename_ext, 0, 5, LDAP\\Result, MAY_BE_FALSE)
204 	ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
205 	ZEND_ARG_TYPE_INFO(0, dn, IS_STRING, 0)
206 	ZEND_ARG_TYPE_INFO(0, new_rdn, IS_STRING, 0)
207 	ZEND_ARG_TYPE_INFO(0, new_parent, IS_STRING, 0)
208 	ZEND_ARG_TYPE_INFO(0, delete_old_rdn, _IS_BOOL, 0)
209 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, controls, IS_ARRAY, 1, "null")
210 ZEND_END_ARG_INFO()
211 #endif
212 
213 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
214 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_get_option, 0, 2, _IS_BOOL, 0)
215 	ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
216 	ZEND_ARG_TYPE_INFO(0, option, IS_LONG, 0)
217 	ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, value, "null")
218 ZEND_END_ARG_INFO()
219 #endif
220 
221 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
222 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_set_option, 0, 3, _IS_BOOL, 0)
223 	ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 1)
224 	ZEND_ARG_TYPE_INFO(0, option, IS_LONG, 0)
225 	ZEND_ARG_INFO(0, value)
226 ZEND_END_ARG_INFO()
227 #endif
228 
229 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
230 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_count_references, 0, 2, IS_LONG, 0)
231 	ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
232 	ZEND_ARG_OBJ_INFO(0, result, LDAP\\Result, 0)
233 ZEND_END_ARG_INFO()
234 #endif
235 
236 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
237 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_ldap_first_reference, 0, 2, LDAP\\ResultEntry, MAY_BE_FALSE)
238 	ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
239 	ZEND_ARG_OBJ_INFO(0, result, LDAP\\Result, 0)
240 ZEND_END_ARG_INFO()
241 #endif
242 
243 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
244 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_ldap_next_reference, 0, 2, LDAP\\ResultEntry, MAY_BE_FALSE)
245 	ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
246 	ZEND_ARG_OBJ_INFO(0, entry, LDAP\\ResultEntry, 0)
247 ZEND_END_ARG_INFO()
248 #endif
249 
250 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP) && defined(HAVE_LDAP_PARSE_REFERENCE)
251 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_parse_reference, 0, 3, _IS_BOOL, 0)
252 	ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
253 	ZEND_ARG_OBJ_INFO(0, entry, LDAP\\ResultEntry, 0)
254 	ZEND_ARG_INFO(1, referrals)
255 ZEND_END_ARG_INFO()
256 #endif
257 
258 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP) && defined(HAVE_LDAP_PARSE_RESULT)
259 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_parse_result, 0, 3, _IS_BOOL, 0)
260 	ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
261 	ZEND_ARG_OBJ_INFO(0, result, LDAP\\Result, 0)
262 	ZEND_ARG_INFO(1, error_code)
263 	ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, matched_dn, "null")
264 	ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, error_message, "null")
265 	ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, referrals, "null")
266 	ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, controls, "null")
267 ZEND_END_ARG_INFO()
268 #endif
269 
270 #if defined(LDAP_API_FEATURE_X_OPENLDAP) && defined(HAVE_3ARG_SETREBINDPROC)
271 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_set_rebind_proc, 0, 2, _IS_BOOL, 0)
272 	ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
273 	ZEND_ARG_TYPE_INFO(0, callback, IS_CALLABLE, 1)
274 ZEND_END_ARG_INFO()
275 #endif
276 
277 #if defined(HAVE_LDAP_START_TLS_S)
278 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_start_tls, 0, 1, _IS_BOOL, 0)
279 	ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
280 ZEND_END_ARG_INFO()
281 #endif
282 
283 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_escape, 0, 1, IS_STRING, 0)
284 	ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
285 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, ignore, IS_STRING, 0, "\"\"")
286 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "0")
287 ZEND_END_ARG_INFO()
288 
289 #if defined(STR_TRANSLATION)
290 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_ldap_t61_to_8859, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
291 	ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
292 ZEND_END_ARG_INFO()
293 #endif
294 
295 #if defined(STR_TRANSLATION)
296 #define arginfo_ldap_8859_to_t61 arginfo_ldap_t61_to_8859
297 #endif
298 
299 #if defined(HAVE_LDAP_EXTENDED_OPERATION_S)
300 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_ldap_exop, 0, 2, LDAP\\Result, MAY_BE_BOOL)
301 	ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
302 	ZEND_ARG_TYPE_INFO(0, request_oid, IS_STRING, 0)
303 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, request_data, IS_STRING, 1, "null")
304 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, controls, IS_ARRAY, 1, "NULL")
305 	ZEND_ARG_INFO(1, response_data)
306 	ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, response_oid, "null")
307 ZEND_END_ARG_INFO()
308 #endif
309 
310 #if defined(HAVE_LDAP_PASSWD)
311 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_ldap_exop_passwd, 0, 1, MAY_BE_STRING|MAY_BE_BOOL)
312 	ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
313 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, user, IS_STRING, 0, "\"\"")
314 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, old_password, IS_STRING, 0, "\"\"")
315 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, new_password, IS_STRING, 0, "\"\"")
316 	ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, controls, "null")
317 ZEND_END_ARG_INFO()
318 #endif
319 
320 #if defined(HAVE_LDAP_WHOAMI_S)
321 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_ldap_exop_whoami, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
322 	ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
323 ZEND_END_ARG_INFO()
324 #endif
325 
326 #if defined(HAVE_LDAP_REFRESH_S)
327 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_ldap_exop_refresh, 0, 3, MAY_BE_LONG|MAY_BE_FALSE)
328 	ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
329 	ZEND_ARG_TYPE_INFO(0, dn, IS_STRING, 0)
330 	ZEND_ARG_TYPE_INFO(0, ttl, IS_LONG, 0)
331 ZEND_END_ARG_INFO()
332 #endif
333 
334 #if defined(HAVE_LDAP_PARSE_EXTENDED_RESULT)
335 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_parse_exop, 0, 2, _IS_BOOL, 0)
336 	ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
337 	ZEND_ARG_OBJ_INFO(0, result, LDAP\\Result, 0)
338 	ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, response_data, "null")
339 	ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, response_oid, "null")
340 ZEND_END_ARG_INFO()
341 #endif
342 
343 
344 #if defined(HAVE_ORALDAP)
345 ZEND_FUNCTION(ldap_connect);
346 #endif
347 #if !(defined(HAVE_ORALDAP))
348 ZEND_FUNCTION(ldap_connect);
349 #endif
350 ZEND_FUNCTION(ldap_unbind);
351 ZEND_FUNCTION(ldap_bind);
352 ZEND_FUNCTION(ldap_bind_ext);
353 #if defined(HAVE_LDAP_SASL)
354 ZEND_FUNCTION(ldap_sasl_bind);
355 #endif
356 ZEND_FUNCTION(ldap_read);
357 ZEND_FUNCTION(ldap_list);
358 ZEND_FUNCTION(ldap_search);
359 ZEND_FUNCTION(ldap_free_result);
360 ZEND_FUNCTION(ldap_count_entries);
361 ZEND_FUNCTION(ldap_first_entry);
362 ZEND_FUNCTION(ldap_next_entry);
363 ZEND_FUNCTION(ldap_get_entries);
364 ZEND_FUNCTION(ldap_first_attribute);
365 ZEND_FUNCTION(ldap_next_attribute);
366 ZEND_FUNCTION(ldap_get_attributes);
367 ZEND_FUNCTION(ldap_get_values_len);
368 ZEND_FUNCTION(ldap_get_dn);
369 ZEND_FUNCTION(ldap_explode_dn);
370 ZEND_FUNCTION(ldap_dn2ufn);
371 ZEND_FUNCTION(ldap_add);
372 ZEND_FUNCTION(ldap_add_ext);
373 ZEND_FUNCTION(ldap_delete);
374 ZEND_FUNCTION(ldap_delete_ext);
375 ZEND_FUNCTION(ldap_modify_batch);
376 ZEND_FUNCTION(ldap_mod_add);
377 ZEND_FUNCTION(ldap_mod_add_ext);
378 ZEND_FUNCTION(ldap_mod_replace);
379 ZEND_FUNCTION(ldap_mod_replace_ext);
380 ZEND_FUNCTION(ldap_mod_del);
381 ZEND_FUNCTION(ldap_mod_del_ext);
382 ZEND_FUNCTION(ldap_errno);
383 ZEND_FUNCTION(ldap_error);
384 ZEND_FUNCTION(ldap_err2str);
385 ZEND_FUNCTION(ldap_compare);
386 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
387 ZEND_FUNCTION(ldap_rename);
388 #endif
389 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
390 ZEND_FUNCTION(ldap_rename_ext);
391 #endif
392 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
393 ZEND_FUNCTION(ldap_get_option);
394 #endif
395 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
396 ZEND_FUNCTION(ldap_set_option);
397 #endif
398 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
399 ZEND_FUNCTION(ldap_count_references);
400 #endif
401 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
402 ZEND_FUNCTION(ldap_first_reference);
403 #endif
404 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
405 ZEND_FUNCTION(ldap_next_reference);
406 #endif
407 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP) && defined(HAVE_LDAP_PARSE_REFERENCE)
408 ZEND_FUNCTION(ldap_parse_reference);
409 #endif
410 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP) && defined(HAVE_LDAP_PARSE_RESULT)
411 ZEND_FUNCTION(ldap_parse_result);
412 #endif
413 #if defined(LDAP_API_FEATURE_X_OPENLDAP) && defined(HAVE_3ARG_SETREBINDPROC)
414 ZEND_FUNCTION(ldap_set_rebind_proc);
415 #endif
416 #if defined(HAVE_LDAP_START_TLS_S)
417 ZEND_FUNCTION(ldap_start_tls);
418 #endif
419 ZEND_FUNCTION(ldap_escape);
420 #if defined(STR_TRANSLATION)
421 ZEND_FUNCTION(ldap_t61_to_8859);
422 #endif
423 #if defined(STR_TRANSLATION)
424 ZEND_FUNCTION(ldap_8859_to_t61);
425 #endif
426 #if defined(HAVE_LDAP_EXTENDED_OPERATION_S)
427 ZEND_FUNCTION(ldap_exop);
428 #endif
429 #if defined(HAVE_LDAP_PASSWD)
430 ZEND_FUNCTION(ldap_exop_passwd);
431 #endif
432 #if defined(HAVE_LDAP_WHOAMI_S)
433 ZEND_FUNCTION(ldap_exop_whoami);
434 #endif
435 #if defined(HAVE_LDAP_REFRESH_S)
436 ZEND_FUNCTION(ldap_exop_refresh);
437 #endif
438 #if defined(HAVE_LDAP_PARSE_EXTENDED_RESULT)
439 ZEND_FUNCTION(ldap_parse_exop);
440 #endif
441 
442 
443 static const zend_function_entry ext_functions[] = {
444 #if defined(HAVE_ORALDAP)
445 	ZEND_FE(ldap_connect, arginfo_ldap_connect)
446 #endif
447 #if !(defined(HAVE_ORALDAP))
448 	ZEND_FE(ldap_connect, arginfo_ldap_connect)
449 #endif
450 	ZEND_FE(ldap_unbind, arginfo_ldap_unbind)
451 	ZEND_FALIAS(ldap_close, ldap_unbind, arginfo_ldap_close)
452 	ZEND_FE(ldap_bind, arginfo_ldap_bind)
453 	ZEND_FE(ldap_bind_ext, arginfo_ldap_bind_ext)
454 #if defined(HAVE_LDAP_SASL)
455 	ZEND_FE(ldap_sasl_bind, arginfo_ldap_sasl_bind)
456 #endif
457 	ZEND_FE(ldap_read, arginfo_ldap_read)
458 	ZEND_FE(ldap_list, arginfo_ldap_list)
459 	ZEND_FE(ldap_search, arginfo_ldap_search)
460 	ZEND_FE(ldap_free_result, arginfo_ldap_free_result)
461 	ZEND_FE(ldap_count_entries, arginfo_ldap_count_entries)
462 	ZEND_FE(ldap_first_entry, arginfo_ldap_first_entry)
463 	ZEND_FE(ldap_next_entry, arginfo_ldap_next_entry)
464 	ZEND_FE(ldap_get_entries, arginfo_ldap_get_entries)
465 	ZEND_FE(ldap_first_attribute, arginfo_ldap_first_attribute)
466 	ZEND_FE(ldap_next_attribute, arginfo_ldap_next_attribute)
467 	ZEND_FE(ldap_get_attributes, arginfo_ldap_get_attributes)
468 	ZEND_FE(ldap_get_values_len, arginfo_ldap_get_values_len)
469 	ZEND_FALIAS(ldap_get_values, ldap_get_values_len, arginfo_ldap_get_values)
470 	ZEND_FE(ldap_get_dn, arginfo_ldap_get_dn)
471 	ZEND_FE(ldap_explode_dn, arginfo_ldap_explode_dn)
472 	ZEND_FE(ldap_dn2ufn, arginfo_ldap_dn2ufn)
473 	ZEND_FE(ldap_add, arginfo_ldap_add)
474 	ZEND_FE(ldap_add_ext, arginfo_ldap_add_ext)
475 	ZEND_FE(ldap_delete, arginfo_ldap_delete)
476 	ZEND_FE(ldap_delete_ext, arginfo_ldap_delete_ext)
477 	ZEND_FE(ldap_modify_batch, arginfo_ldap_modify_batch)
478 	ZEND_FE(ldap_mod_add, arginfo_ldap_mod_add)
479 	ZEND_FE(ldap_mod_add_ext, arginfo_ldap_mod_add_ext)
480 	ZEND_FE(ldap_mod_replace, arginfo_ldap_mod_replace)
481 	ZEND_FALIAS(ldap_modify, ldap_mod_replace, arginfo_ldap_modify)
482 	ZEND_FE(ldap_mod_replace_ext, arginfo_ldap_mod_replace_ext)
483 	ZEND_FE(ldap_mod_del, arginfo_ldap_mod_del)
484 	ZEND_FE(ldap_mod_del_ext, arginfo_ldap_mod_del_ext)
485 	ZEND_FE(ldap_errno, arginfo_ldap_errno)
486 	ZEND_FE(ldap_error, arginfo_ldap_error)
487 	ZEND_FE(ldap_err2str, arginfo_ldap_err2str)
488 	ZEND_FE(ldap_compare, arginfo_ldap_compare)
489 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
490 	ZEND_FE(ldap_rename, arginfo_ldap_rename)
491 #endif
492 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
493 	ZEND_FE(ldap_rename_ext, arginfo_ldap_rename_ext)
494 #endif
495 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
496 	ZEND_FE(ldap_get_option, arginfo_ldap_get_option)
497 #endif
498 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
499 	ZEND_FE(ldap_set_option, arginfo_ldap_set_option)
500 #endif
501 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
502 	ZEND_FE(ldap_count_references, arginfo_ldap_count_references)
503 #endif
504 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
505 	ZEND_FE(ldap_first_reference, arginfo_ldap_first_reference)
506 #endif
507 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
508 	ZEND_FE(ldap_next_reference, arginfo_ldap_next_reference)
509 #endif
510 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP) && defined(HAVE_LDAP_PARSE_REFERENCE)
511 	ZEND_FE(ldap_parse_reference, arginfo_ldap_parse_reference)
512 #endif
513 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP) && defined(HAVE_LDAP_PARSE_RESULT)
514 	ZEND_FE(ldap_parse_result, arginfo_ldap_parse_result)
515 #endif
516 #if defined(LDAP_API_FEATURE_X_OPENLDAP) && defined(HAVE_3ARG_SETREBINDPROC)
517 	ZEND_FE(ldap_set_rebind_proc, arginfo_ldap_set_rebind_proc)
518 #endif
519 #if defined(HAVE_LDAP_START_TLS_S)
520 	ZEND_FE(ldap_start_tls, arginfo_ldap_start_tls)
521 #endif
522 	ZEND_FE(ldap_escape, arginfo_ldap_escape)
523 #if defined(STR_TRANSLATION)
524 	ZEND_FE(ldap_t61_to_8859, arginfo_ldap_t61_to_8859)
525 #endif
526 #if defined(STR_TRANSLATION)
527 	ZEND_FE(ldap_8859_to_t61, arginfo_ldap_8859_to_t61)
528 #endif
529 #if defined(HAVE_LDAP_EXTENDED_OPERATION_S)
530 	ZEND_FE(ldap_exop, arginfo_ldap_exop)
531 #endif
532 #if defined(HAVE_LDAP_PASSWD)
533 	ZEND_FE(ldap_exop_passwd, arginfo_ldap_exop_passwd)
534 #endif
535 #if defined(HAVE_LDAP_WHOAMI_S)
536 	ZEND_FE(ldap_exop_whoami, arginfo_ldap_exop_whoami)
537 #endif
538 #if defined(HAVE_LDAP_REFRESH_S)
539 	ZEND_FE(ldap_exop_refresh, arginfo_ldap_exop_refresh)
540 #endif
541 #if defined(HAVE_LDAP_PARSE_EXTENDED_RESULT)
542 	ZEND_FE(ldap_parse_exop, arginfo_ldap_parse_exop)
543 #endif
544 	ZEND_FE_END
545 };
546 
547 
548 static const zend_function_entry class_LDAP_Connection_methods[] = {
549 	ZEND_FE_END
550 };
551 
552 
553 static const zend_function_entry class_LDAP_Result_methods[] = {
554 	ZEND_FE_END
555 };
556 
557 
558 static const zend_function_entry class_LDAP_ResultEntry_methods[] = {
559 	ZEND_FE_END
560 };
561 
register_class_LDAP_Connection(void)562 static zend_class_entry *register_class_LDAP_Connection(void)
563 {
564 	zend_class_entry ce, *class_entry;
565 
566 	INIT_NS_CLASS_ENTRY(ce, "LDAP", "Connection", class_LDAP_Connection_methods);
567 	class_entry = zend_register_internal_class_ex(&ce, NULL);
568 	class_entry->ce_flags |= ZEND_ACC_FINAL|ZEND_ACC_NO_DYNAMIC_PROPERTIES|ZEND_ACC_NOT_SERIALIZABLE;
569 
570 	return class_entry;
571 }
572 
register_class_LDAP_Result(void)573 static zend_class_entry *register_class_LDAP_Result(void)
574 {
575 	zend_class_entry ce, *class_entry;
576 
577 	INIT_NS_CLASS_ENTRY(ce, "LDAP", "Result", class_LDAP_Result_methods);
578 	class_entry = zend_register_internal_class_ex(&ce, NULL);
579 	class_entry->ce_flags |= ZEND_ACC_FINAL|ZEND_ACC_NO_DYNAMIC_PROPERTIES|ZEND_ACC_NOT_SERIALIZABLE;
580 
581 	return class_entry;
582 }
583 
register_class_LDAP_ResultEntry(void)584 static zend_class_entry *register_class_LDAP_ResultEntry(void)
585 {
586 	zend_class_entry ce, *class_entry;
587 
588 	INIT_NS_CLASS_ENTRY(ce, "LDAP", "ResultEntry", class_LDAP_ResultEntry_methods);
589 	class_entry = zend_register_internal_class_ex(&ce, NULL);
590 	class_entry->ce_flags |= ZEND_ACC_FINAL|ZEND_ACC_NO_DYNAMIC_PROPERTIES|ZEND_ACC_NOT_SERIALIZABLE;
591 
592 	return class_entry;
593 }
594