3 * @copy 2012 MinGW.org project
5 * Permission is hereby granted, free of charge, to any person obtaining a
6 * copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
12 * The above copyright notice and this permission notice (including the next
13 * paragraph) shall be included in all copies or substantial portions of the
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22 * DEALINGS IN THE SOFTWARE.
26 #pragma GCC system_header
31 * The C LDAP Application Program Interface
32 * http://www.watersprings.org/pub/id/draft-ietf-ldapext-ldap-c-api-05.txt
34 * Lightweight Directory Access Protocol Reference
35 * http://msdn.microsoft.com/library/en-us/netdir/ldap/ldap_reference.asp
42 #define WINLDAPAPI DECLSPEC_IMPORT
45 #ifndef _WINLDAP_DEPRECATED
46 #define _WINLDAP_DEPRECATED __attribute__((__deprecated__))
55 #define LDAP_VERSION1 1
56 #define LDAP_VERSION2 2
57 #define LDAP_VERSION3 3
58 #define LDAP_VERSION LDAP_VERSION2
59 #define LDAP_API_VERSION 2004
60 #define LDAP_VERSION_MIN LDAP_VERSION2
61 #define LDAP_VERSION_MAX LDAP_VERSION3
62 #define LDAP_VENDOR_NAME "Microsoft Corporation."
63 #define LDAP_VENDOR_NAME_W L"Microsoft Corporation."
64 #define LDAP_VENDOR_VERSION 510
65 #define LDAP_API_INFO_VERSION 1
66 #define LDAP_FEATURE_INFO_VERSION 1
67 #define LDAP_SUCCESS 0x00
68 #define LDAP_OPERATIONS_ERROR 0x01
69 #define LDAP_PROTOCOL_ERROR 0x02
70 #define LDAP_TIMELIMIT_EXCEEDED 0x03
71 #define LDAP_SIZELIMIT_EXCEEDED 0x04
72 #define LDAP_COMPARE_FALSE 0x05
73 #define LDAP_COMPARE_TRUE 0x06
74 #define LDAP_STRONG_AUTH_NOT_SUPPORTED 0x07
75 #define LDAP_STRONG_AUTH_REQUIRED 0x08
76 #define LDAP_REFERRAL_V2 0x09
77 #define LDAP_REFERRAL 0x0a
78 #define LDAP_ADMIN_LIMIT_EXCEEDED 0x0b
79 #define LDAP_UNAVAILABLE_CRIT_EXTENSION 0x0c
80 #define LDAP_CONFIDENTIALITY_REQUIRED 0x0d
81 #define LDAP_SASL_BIND_IN_PROGRESS 0x0e
82 #define LDAP_NO_SUCH_ATTRIBUTE 0x10
83 #define LDAP_UNDEFINED_TYPE 0x11
84 #define LDAP_INAPPROPRIATE_MATCHING 0x12
85 #define LDAP_CONSTRAINT_VIOLATION 0x13
86 #define LDAP_TYPE_OR_VALUE_EXISTS 0x14
87 #define LDAP_INVALID_SYNTAX 0x15
88 #define LDAP_NO_SUCH_OBJECT 0x20
89 #define LDAP_ALIAS_PROBLEM 0x21
90 #define LDAP_INVALID_DN_SYNTAX 0x22
91 #define LDAP_IS_LEAF 0x23
92 #define LDAP_ALIAS_DEREF_PROBLEM 0x24
93 #define LDAP_INAPPROPRIATE_AUTH 0x30
94 #define LDAP_INVALID_CREDENTIALS 0x31
95 #define LDAP_INSUFFICIENT_ACCESS 0x32
96 #define LDAP_BUSY 0x33
97 #define LDAP_UNAVAILABLE 0x34
98 #define LDAP_UNWILLING_TO_PERFORM 0x35
99 #define LDAP_LOOP_DETECT 0x36
100 #define LDAP_NAMING_VIOLATION 0x40
101 #define LDAP_OBJECT_CLASS_VIOLATION 0x41
102 #define LDAP_NOT_ALLOWED_ON_NONLEAF 0x42
103 #define LDAP_NOT_ALLOWED_ON_RDN 0x43
104 #define LDAP_ALREADY_EXISTS 0x44
105 #define LDAP_NO_OBJECT_CLASS_MODS 0x45
106 #define LDAP_RESULTS_TOO_LARGE 0x46
107 #define LDAP_AFFECTS_MULTIPLE_DSAS 0x47
108 #define LDAP_OTHER 0x50
109 #define LDAP_SERVER_DOWN 0x51
110 #define LDAP_LOCAL_ERROR 0x52
111 #define LDAP_ENCODING_ERROR 0x53
112 #define LDAP_DECODING_ERROR 0x54
113 #define LDAP_TIMEOUT 0x55
114 #define LDAP_AUTH_UNKNOWN 0x56
115 #define LDAP_FILTER_ERROR 0x57
116 #define LDAP_USER_CANCELLED 0x58
117 #define LDAP_PARAM_ERROR 0x59
118 #define LDAP_NO_MEMORY 0x5a
119 #define LDAP_CONNECT_ERROR 0x5b
120 #define LDAP_NOT_SUPPORTED 0x5c
121 #define LDAP_CONTROL_NOT_FOUND 0x5d
122 #define LDAP_NO_RESULTS_RETURNED 0x5e
123 #define LDAP_MORE_RESULTS_TO_RETURN 0x5f
124 #define LDAP_CLIENT_LOOP 0x60
125 #define LDAP_REFERRAL_LIMIT_EXCEEDED 0x61
126 #define LDAP_OPT_SUCCESS LDAP_SUCCESS
127 #define LDAP_AUTH_METHOD_NOT_SUPPORTED LDAP_STRONG_AUTH_NOT_SUPPORTED
128 #define LDAP_ATTRIBUTE_OR_VALUE_EXISTS LDAP_TYPE_OR_VALUE_EXISTS
129 #define LDAP_INSUFFICIENT_RIGHTS LDAP_INSUFFICIENT_ACCESS
130 #define LDAP_PARTIAL_RESULTS LDAP_REFERRAL_V2
131 #define LDAP_PORT 389
132 #define LDAP_SSL_PORT 636
133 #define LDAP_GC_PORT 3268
134 #define LDAP_SSL_GC_PORT 3269
135 #define LDAP_OPT_ON ((void*)1)
136 #define LDAP_OPT_OFF ((void*)0)
137 #define LDAP_OPT_API_INFO 0x00
138 #define LDAP_OPT_DESC 0x01
139 #define LDAP_OPT_DEREF 0x02
140 #define LDAP_OPT_SIZELIMIT 0x03
141 #define LDAP_OPT_TIMELIMIT 0x04
142 #define LDAP_OPT_THREAD_FN_PTRS 0x05
143 #define LDAP_OPT_REBIND_FN 0x06
144 #define LDAP_OPT_REBIND_ARG 0x07
145 #define LDAP_OPT_REFERRALS 0x08
146 #define LDAP_OPT_RESTART 0x09
147 #define LDAP_OPT_SSL 0x0a
148 #define LDAP_OPT_IO_FN_PTRS 0x0b
149 #define LDAP_OPT_CACHE_FN_PTRS 0x0d
150 #define LDAP_OPT_CACHE_STRATEGY 0x0e
151 #define LDAP_OPT_CACHE_ENABLE 0x0f
152 #define LDAP_OPT_REFERRAL_HOP_LIMIT 0x10
153 #define LDAP_OPT_PROTOCOL_VERSION 0x11
154 #define LDAP_OPT_SERVER_CONTROLS 0x12
155 #define LDAP_OPT_CLIENT_CONTROLS 0x13
156 #define LDAP_OPT_API_FEATURE_INFO 0x15
157 #define LDAP_OPT_HOST_NAME 0x30
158 #define LDAP_OPT_ERROR_NUMBER 0x31
159 #define LDAP_OPT_ERROR_STRING 0x32
160 #define LDAP_OPT_SERVER_ERROR 0x33
161 #define LDAP_OPT_SERVER_EXT_ERROR 0x34
162 #define LDAP_OPT_PING_KEEP_ALIVE 0x36
163 #define LDAP_OPT_PING_WAIT_TIME 0x37
164 #define LDAP_OPT_PING_LIMIT 0x38
165 #define LDAP_OPT_DNSDOMAIN_NAME 0x3b
166 #define LDAP_OPT_GETDSNAME_FLAGS 0x3d
167 #define LDAP_OPT_HOST_REACHABLE 0x3e
168 #define LDAP_OPT_PROMPT_CREDENTIALS 0x3f
169 #define LDAP_OPT_TCP_KEEPALIVE 0x40
170 #define LDAP_OPT_REFERRAL_CALLBACK 0x70
171 #define LDAP_OPT_CLIENT_CERTIFICATE 0x80
172 #define LDAP_OPT_SERVER_CERTIFICATE 0x81
173 #define LDAP_OPT_AUTO_RECONNECT 0x91
174 #define LDAP_OPT_SSPI_FLAGS 0x92
175 #define LDAP_OPT_SSL_INFO 0x93
176 #define LDAP_OPT_REF_DEREF_CONN_PER_MSG 0x94
177 #define LDAP_OPT_SIGN 0x95
178 #define LDAP_OPT_ENCRYPT 0x96
179 #define LDAP_OPT_SASL_METHOD 0x97
180 #define LDAP_OPT_AREC_EXCLUSIVE 0x98
181 #define LDAP_OPT_SECURITY_CONTEXT 0x99
182 #define LDAP_OPT_ROOTDSE_CACHE 0x9a
183 #define LDAP_OPT_VERSION LDAP_OPT_PROTOCOL_VERSION
184 #define LDAP_OPT_TLS LDAP_OPT_SSL
185 #define LDAP_OPT_TLS_INFO LDAP_OPT_SSL_INFO
186 #define LDAP_DEREF_NEVER 0x00
187 #define LDAP_DEREF_SEARCHING 0x01
188 #define LDAP_DEREF_FINDING 0x02
189 #define LDAP_DEREF_ALWAYS 0x03
190 #define LDAP_NO_LIMIT 0
191 #define LDAP_CONTROL_REFERRALS "1.2.840.113556.1.4.616"
192 #define LDAP_CONTROL_REFERRALS_W L"1.2.840.113556.1.4.616"
193 #define LDAP_CHASE_SUBORDINATE_REFERRALS 0x20U
194 #define LDAP_CHASE_EXTERNAL_REFERRALS 0x40U
195 #define LDAP_SCOPE_DEFAULT -1
196 #define LDAP_SCOPE_BASE 0x0000
197 #define LDAP_SCOPE_ONELEVEL 0x0001
198 #define LDAP_SCOPE_SUBTREE 0x0002
199 #define LDAP_MOD_ADD 0x00
200 #define LDAP_MOD_DELETE 0x01
201 #define LDAP_MOD_REPLACE 0x02
202 #define LDAP_MOD_BVALUES 0x80
203 #define LDAP_RES_BIND 0x61
204 #define LDAP_RES_SEARCH_ENTRY 0x64
205 #define LDAP_RES_SEARCH_RESULT 0x65
206 #define LDAP_RES_MODIFY 0x67
207 #define LDAP_RES_ADD 0x69
208 #define LDAP_RES_DELETE 0x6b
209 #define LDAP_RES_MODRDN 0x6d
210 #define LDAP_RES_COMPARE 0x6f
211 #define LDAP_RES_SEARCH_REFERENCE 0x73
212 #define LDAP_RES_EXTENDED 0x78
213 #define LDAP_RES_ANY (-1L)
214 #define LDAP_MSG_ONE 0x00
215 #define LDAP_MSG_ALL 0x01
216 #define LDAP_MSG_RECEIVED 0x02
217 #define LDAP_SERVER_SORT_OID "1.2.840.113556.1.4.473"
218 #define LDAP_SERVER_SORT_OID_W L"1.2.840.113556.1.4.473"
219 #define LDAP_SERVER_RESP_SORT_OID "1.2.840.113556.1.4.474"
220 #define LDAP_SERVER_RESP_SORT_OID_W L"1.2.840.113556.1.4.474"
221 #define LDAP_PAGED_RESULT_OID_STRING "1.2.840.113556.1.4.319"
222 #define LDAP_PAGED_RESULT_OID_STRING_W L"1.2.840.113556.1.4.319"
223 #define LDAP_CONTROL_VLVREQUEST "2.16.840.1.113730.3.4.9"
224 #define LDAP_CONTROL_VLVREQUEST_W L"2.16.840.1.113730.3.4.9"
225 #define LDAP_CONTROL_VLVRESPONSE "2.16.840.1.113730.3.4.10"
226 #define LDAP_CONTROL_VLVRESPONSE_W L"2.16.840.1.113730.3.4.10"
227 #define LDAP_START_TLS_OID "1.3.6.1.4.1.1466.20037"
228 #define LDAP_START_TLS_OID_W L"1.3.6.1.4.1.1466.20037"
229 #define LDAP_TTL_EXTENDED_OP_OID "1.3.6.1.4.1.1466.101.119.1"
230 #define LDAP_TTL_EXTENDED_OP_OID_W L"1.3.6.1.4.1.1466.101.119.1"
231 #define LDAP_AUTH_NONE 0x00U
232 #define LDAP_AUTH_SIMPLE 0x80U
233 #define LDAP_AUTH_SASL 0x83U
234 #define LDAP_AUTH_OTHERKIND 0x86U
235 #define LDAP_AUTH_EXTERNAL (LDAP_AUTH_OTHERKIND | 0x20U)
236 #define LDAP_AUTH_SICILY (LDAP_AUTH_OTHERKIND | 0x200U)
237 #define LDAP_AUTH_NEGOTIATE (LDAP_AUTH_OTHERKIND | 0x400U)
238 #define LDAP_AUTH_MSN (LDAP_AUTH_OTHERKIND | 0x800U)
239 #define LDAP_AUTH_NTLM (LDAP_AUTH_OTHERKIND | 0x1000U)
240 #define LDAP_AUTH_DIGEST (LDAP_AUTH_OTHERKIND | 0x4000U)
241 #define LDAP_AUTH_DPA (LDAP_AUTH_OTHERKIND | 0x2000U)
242 #define LDAP_AUTH_SSPI LDAP_AUTH_NEGOTIATE
243 #define LDAP_FILTER_AND 0xa0
244 #define LDAP_FILTER_OR 0xa1
245 #define LDAP_FILTER_NOT 0xa2
246 #define LDAP_FILTER_EQUALITY 0xa3
247 #define LDAP_FILTER_SUBSTRINGS 0xa4
248 #define LDAP_FILTER_GE 0xa5
249 #define LDAP_FILTER_LE 0xa6
250 #define LDAP_FILTER_APPROX 0xa8
251 #define LDAP_FILTER_EXTENSIBLE 0xa9
252 #define LDAP_FILTER_PRESENT 0x87
253 #define LDAP_SUBSTRING_INITIAL 0x80
254 #define LDAP_SUBSTRING_ANY 0x81
255 #define LDAP_SUBSTRING_FINAL 0x82
257 typedef struct ldap {
261 UCHAR ld_lberoptions;
269 typedef struct ldapmsg {
273 struct ldapmsg *lm_chain;
274 struct ldapmsg *lm_next;
276 } LDAPMessage, *PLDAPMessage;
277 typedef struct l_timeval {
280 } LDAP_TIMEVAL, *PLDAP_TIMEVAL;
281 typedef struct ldapapiinfoA {
282 int ldapai_info_version;
283 int ldapai_api_version;
284 int ldapai_protocol_version;
285 char **ldapai_extensions;
286 char *ldapai_vendor_name;
287 int ldapai_vendor_version;
288 } LDAPAPIInfoA, *PLDAPAPIInfoA;
289 typedef struct ldapapiinfoW {
290 int ldapai_info_version;
291 int ldapai_api_version;
292 int ldapai_protocol_version;
293 PWCHAR *ldapai_extensions;
294 PWCHAR ldapai_vendor_name;
295 int ldapai_vendor_version;
296 } LDAPAPIInfoW, *PLDAPAPIInfoW;
297 typedef struct ldap_apifeature_infoA {
298 int ldapaif_info_version;
301 } LDAPAPIFeatureInfoA, *PLDAPAPIFeatureInfoA;
302 typedef struct ldap_apifeature_infoW {
303 int ldapaif_info_version;
306 } LDAPAPIFeatureInfoW, *PLDAPAPIFeatureInfoW;
307 typedef struct ldapcontrolA {
309 BerValue ldctl_value;
310 BOOLEAN ldctl_iscritical;
311 } LDAPControlA, *PLDAPControlA;
312 typedef struct ldapcontrolW {
314 BerValue ldctl_value;
315 BOOLEAN ldctl_iscritical;
316 } LDAPControlW, *PLDAPControlW;
317 typedef union mod_vals_uA {
319 BerValue **modv_bvals;
321 typedef union mod_vals_uW {
322 PWCHAR *modv_strvals;
323 BerValue **modv_bvals;
325 typedef struct ldapmodA {
328 mod_vals_u_tA mod_vals;
329 } LDAPModA, *PLDAPModA;
330 typedef struct ldapmodW {
333 mod_vals_u_tW mod_vals;
334 } LDAPModW, *PLDAPModW;
336 #define mod_values mod_vals.modv_strvals
337 #define mod_bvalues mod_vals.modv_bvals
339 typedef struct ldapsearch LDAPSearch, *PLDAPSearch;
340 typedef struct ldapsortkeyA {
342 PCHAR sk_matchruleoid;
343 BOOLEAN sk_reverseorder;
344 } LDAPSortKeyA, *PLDAPSortKeyA;
345 typedef struct ldapsortkeyW {
347 PWCHAR sk_matchruleoid;
348 BOOLEAN sk_reverseorder;
349 } LDAPSortKeyW, *PLDAPSortKeyW;
350 typedef ULONG (__cdecl QUERYFORCONNECTION)(PLDAP,PLDAP,PWCHAR,PCHAR,ULONG,PVOID,PVOID,PLDAP*);
351 typedef BOOLEAN (__cdecl NOTIFYOFNEWCONNECTION)(PLDAP,PLDAP,PWCHAR,PCHAR,PLDAP,ULONG,PVOID,PVOID,ULONG);
352 typedef ULONG (__cdecl DEREFERENCECONNECTION)(PLDAP,PLDAP);
353 typedef BOOLEAN (__cdecl QUERYCLIENTCERT)(PLDAP,PSecPkgContext_IssuerListInfoEx,PCCERT_CONTEXT*);
354 typedef struct LdapReferralCallback {
355 ULONG SizeOfCallbacks;
356 QUERYFORCONNECTION *QueryForConnection;
357 NOTIFYOFNEWCONNECTION *NotifyRoutine;
358 DEREFERENCECONNECTION *DereferenceRoutine;
359 } LDAP_REFERRAL_CALLBACK, *PLDAP_REFERRAL_CALLBACK;
360 typedef struct ldapvlvinfo {
362 unsigned long ldvlv_before_count;
363 unsigned long ldvlv_after_count;
364 unsigned long ldvlv_offset;
365 unsigned long ldvlv_count;
366 BerValue *ldvlv_attrvalue;
367 BerValue *ldvlv_context;
368 void *ldvlv_extradata;
372 * Under Microsoft WinLDAP the function ldap_error is only stub.
373 * This macro uses LDAP structure to get error string and pass it to the user.
375 #define ldap_perror(handle,message) printf("%s: %s\n", message, handle->ld_error);
377 WINLDAPAPI PLDAP ldap_initA(PCHAR,ULONG);
378 WINLDAPAPI PLDAP ldap_initW(PWCHAR,ULONG);
379 WINLDAPAPI PLDAP ldap_openA(const PCHAR,ULONG);
380 WINLDAPAPI PLDAP ldap_openW(const PWCHAR,ULONG);
381 WINLDAPAPI PLDAP cldap_openA(const PCHAR,ULONG);
382 WINLDAPAPI PLDAP cldap_openW(const PWCHAR,ULONG);
383 WINLDAPAPI ULONG ldap_connect(LDAP*,struct l_timeval*);
384 WINLDAPAPI PLDAP ldap_sslinitA(PCHAR,ULONG,int);
385 WINLDAPAPI PLDAP ldap_sslinitW(PWCHAR,ULONG,int);
386 WINLDAPAPI ULONG ldap_start_tls_sA(LDAP*,PLDAPControlA*,PLDAPControlA*);
387 WINLDAPAPI ULONG ldap_start_tls_sW(LDAP*,PLDAPControlW*,PLDAPControlW*);
388 WINLDAPAPI BOOLEAN ldap_stop_tls_s(LDAP*);
389 WINLDAPAPI ULONG ldap_get_optionA(LDAP*,int,void*);
390 WINLDAPAPI ULONG ldap_get_optionW(LDAP*,int,void*);
391 WINLDAPAPI ULONG ldap_set_optionA(LDAP*,int,const void*);
392 WINLDAPAPI ULONG ldap_set_optionW(LDAP*,int,const void*);
393 WINLDAPAPI ULONG ldap_control_freeA(LDAPControlA*);
394 WINLDAPAPI ULONG ldap_control_freeW(LDAPControlW*);
395 WINLDAPAPI ULONG ldap_controls_freeA(LDAPControlA**);
396 WINLDAPAPI ULONG ldap_controls_freeW(LDAPControlW**);
397 WINLDAPAPI ULONG ldap_free_controlsA(LDAPControlA**);
398 WINLDAPAPI ULONG ldap_free_controlsW(LDAPControlW**);
399 WINLDAPAPI ULONG ldap_sasl_bindA(LDAP*,const PCHAR, const PCHAR,const BERVAL*,PLDAPControlA*,PLDAPControlA*,int*);
400 WINLDAPAPI ULONG ldap_sasl_bindW(LDAP*,const PWCHAR, const PWCHAR,const BERVAL*,PLDAPControlW*,PLDAPControlW*,int*);
401 WINLDAPAPI ULONG ldap_sasl_bind_sA(LDAP*,const PCHAR,const PCHAR,const BERVAL*,PLDAPControlA*,PLDAPControlA*,PBERVAL*);
402 WINLDAPAPI ULONG ldap_sasl_bind_sW(LDAP*,const PWCHAR,const PWCHAR,const BERVAL*,PLDAPControlW*,PLDAPControlW*,PBERVAL*);
403 WINLDAPAPI ULONG ldap_simple_bindA(LDAP*,const PCHAR,const PCHAR);
404 WINLDAPAPI ULONG ldap_simple_bindW(LDAP*,const PWCHAR,const PWCHAR);
405 WINLDAPAPI ULONG ldap_simple_bind_sA(LDAP*,const PCHAR,const PCHAR);
406 WINLDAPAPI ULONG ldap_simple_bind_sW(LDAP*,const PWCHAR,const PWCHAR);
407 WINLDAPAPI ULONG ldap_bindA(LDAP*,const PCHAR,const PCHAR,ULONG) _WINLDAP_DEPRECATED;
408 WINLDAPAPI ULONG ldap_bindW(LDAP*,const PWCHAR,const PWCHAR,ULONG) _WINLDAP_DEPRECATED;
409 WINLDAPAPI ULONG ldap_bind_sA(LDAP*,const PCHAR,const PCHAR,ULONG) _WINLDAP_DEPRECATED;
410 WINLDAPAPI ULONG ldap_bind_sW(LDAP*,const PWCHAR,const PWCHAR,ULONG) _WINLDAP_DEPRECATED;
411 WINLDAPAPI ULONG ldap_unbind(LDAP*);
412 WINLDAPAPI ULONG ldap_unbind_s(LDAP*);
413 WINLDAPAPI ULONG ldap_search_extA(LDAP*,const PCHAR,ULONG,const PCHAR,PCHAR[],ULONG,PLDAPControlW*,PLDAPControlW*,ULONG,ULONG,ULONG*);
414 WINLDAPAPI ULONG ldap_search_extW(LDAP*,const PWCHAR,ULONG,const PWCHAR,PWCHAR[],ULONG,PLDAPControlW*,PLDAPControlW*,ULONG,ULONG,ULONG*);
415 WINLDAPAPI ULONG ldap_search_ext_sA(LDAP*,const PCHAR,ULONG,const PCHAR,PCHAR[],ULONG,PLDAPControlA*,PLDAPControlA*,struct l_timeval*,ULONG,LDAPMessage**);
416 WINLDAPAPI ULONG ldap_search_ext_sW(LDAP*,const PWCHAR,ULONG,const PWCHAR,PWCHAR[],ULONG,PLDAPControlW*,PLDAPControlW*,struct l_timeval*,ULONG,LDAPMessage**);
417 WINLDAPAPI ULONG ldap_searchA(LDAP*,const PCHAR,ULONG,const PCHAR,PCHAR[],ULONG);
418 WINLDAPAPI ULONG ldap_searchW(LDAP*,const PWCHAR,ULONG,const PWCHAR,PWCHAR[],ULONG);
419 WINLDAPAPI ULONG ldap_search_sA(LDAP*,const PCHAR,ULONG,const PCHAR,PCHAR[],ULONG,LDAPMessage**);
420 WINLDAPAPI ULONG ldap_search_sW(LDAP*,const PWCHAR,ULONG,const PWCHAR,PWCHAR[],ULONG,LDAPMessage**);
421 WINLDAPAPI ULONG ldap_search_stA(LDAP*,const PCHAR,ULONG,const PCHAR,PCHAR[],ULONG,struct l_timeval*,LDAPMessage**);
422 WINLDAPAPI ULONG ldap_search_stW(LDAP*,const PWCHAR,ULONG,const PWCHAR,PWCHAR[],ULONG,struct l_timeval*,LDAPMessage**);
423 WINLDAPAPI ULONG ldap_compare_extA(LDAP*,const PCHAR,const PCHAR,PCHAR,struct berval*,PLDAPControlA*,PLDAPControlA*,ULONG*);
424 WINLDAPAPI ULONG ldap_compare_extW(LDAP*,const PWCHAR,const PWCHAR,PWCHAR,struct berval*,PLDAPControlW*,PLDAPControlW*,ULONG*);
425 WINLDAPAPI ULONG ldap_compare_ext_sA(LDAP*,const PCHAR,const PCHAR,const PCHAR,struct berval*,PLDAPControlA*,PLDAPControlA*);
426 WINLDAPAPI ULONG ldap_compare_ext_sW(LDAP*,const PWCHAR,const PWCHAR,const PWCHAR,struct berval*,PLDAPControlW*,PLDAPControlW*);
427 WINLDAPAPI ULONG ldap_compareA(LDAP*,const PCHAR,const PCHAR,PCHAR);
428 WINLDAPAPI ULONG ldap_compareW(LDAP*,const PWCHAR,const PWCHAR,PWCHAR);
429 WINLDAPAPI ULONG ldap_compare_sA(LDAP*,const PCHAR,const PCHAR,PCHAR);
430 WINLDAPAPI ULONG ldap_compare_sW(LDAP*,const PWCHAR,const PWCHAR,PWCHAR);
431 WINLDAPAPI ULONG ldap_modify_extA(LDAP*,const PCHAR,LDAPModA*[],PLDAPControlA*,PLDAPControlA*,ULONG*);
432 WINLDAPAPI ULONG ldap_modify_extW(LDAP*,const PWCHAR,LDAPModW*[],PLDAPControlW*,PLDAPControlW*,ULONG*);
433 WINLDAPAPI ULONG ldap_modify_ext_sA(LDAP*,const PCHAR,LDAPModA*[],PLDAPControlA*,PLDAPControlA*);
434 WINLDAPAPI ULONG ldap_modify_ext_sW(LDAP*,const PWCHAR,LDAPModW*[],PLDAPControlW*,PLDAPControlW*);
435 WINLDAPAPI ULONG ldap_modifyA(LDAP*,const PCHAR,LDAPModA*[]);
436 WINLDAPAPI ULONG ldap_modifyW(LDAP*,const PWCHAR,LDAPModW*[]);
437 WINLDAPAPI ULONG ldap_modify_sA(LDAP*,const PCHAR,LDAPModA*[]);
438 WINLDAPAPI ULONG ldap_modify_sW(LDAP*,const PWCHAR,LDAPModW*[]);
439 WINLDAPAPI ULONG ldap_rename_extA(LDAP*,const PCHAR,const PCHAR,const PCHAR,INT,PLDAPControlA*,PLDAPControlA*,ULONG*);
440 WINLDAPAPI ULONG ldap_rename_extW(LDAP*,const PWCHAR,const PWCHAR,const PWCHAR,INT,PLDAPControlW*,PLDAPControlW*,ULONG*);
441 WINLDAPAPI ULONG ldap_rename_ext_sA(LDAP*,const PCHAR,const PCHAR,const PCHAR,INT,PLDAPControlA*,PLDAPControlA*);
442 WINLDAPAPI ULONG ldap_rename_ext_sW(LDAP*,const PWCHAR,const PWCHAR,const PWCHAR,INT,PLDAPControlW*,PLDAPControlW*);
443 WINLDAPAPI ULONG ldap_modrdnA(LDAP*,PCHAR,PCHAR) _WINLDAP_DEPRECATED;
444 WINLDAPAPI ULONG ldap_modrdnW(LDAP*,PWCHAR,PWCHAR) _WINLDAP_DEPRECATED;
445 WINLDAPAPI ULONG ldap_modrdn_sA(LDAP*,PCHAR,PCHAR) _WINLDAP_DEPRECATED;
446 WINLDAPAPI ULONG ldap_modrdn_sW(LDAP*,PWCHAR,PWCHAR) _WINLDAP_DEPRECATED;
447 WINLDAPAPI ULONG ldap_modrdn2A(LDAP*,PCHAR,PCHAR,INT) _WINLDAP_DEPRECATED;
448 WINLDAPAPI ULONG ldap_modrdn2W(LDAP*,PWCHAR,PWCHAR,INT) _WINLDAP_DEPRECATED;
449 WINLDAPAPI ULONG ldap_modrdn2_sA(LDAP*,PCHAR,PCHAR,INT) _WINLDAP_DEPRECATED;
450 WINLDAPAPI ULONG ldap_modrdn2_sW(LDAP*,PWCHAR,PWCHAR,INT) _WINLDAP_DEPRECATED;
451 WINLDAPAPI ULONG ldap_add_extA(LDAP*,const PCHAR,LDAPModA*[],PLDAPControlA*,PLDAPControlA*,ULONG*);
452 WINLDAPAPI ULONG ldap_add_extW(LDAP*,const PWCHAR,LDAPModW*[],PLDAPControlW*,PLDAPControlW*,ULONG*);
453 WINLDAPAPI ULONG ldap_add_ext_sA(LDAP*,const PCHAR,LDAPModA*[],PLDAPControlA*,PLDAPControlA*);
454 WINLDAPAPI ULONG ldap_add_ext_sW(LDAP*,const PWCHAR,LDAPModW*[],PLDAPControlW*,PLDAPControlW*);
455 WINLDAPAPI ULONG ldap_addA(LDAP*,const PCHAR,LDAPModA*[]);
456 WINLDAPAPI ULONG ldap_addW(LDAP*,const PWCHAR,LDAPModW*[]);
457 WINLDAPAPI ULONG ldap_add_sA(LDAP*,const PCHAR,LDAPModA*[]);
458 WINLDAPAPI ULONG ldap_add_sW(LDAP*,const PWCHAR,LDAPModW*[]);
459 WINLDAPAPI ULONG ldap_delete_extA(LDAP*,const PCHAR,PLDAPControlA*,PLDAPControlA*,ULONG*);
460 WINLDAPAPI ULONG ldap_delete_extW(LDAP*,const PWCHAR,PLDAPControlW*,PLDAPControlW*,ULONG*);
461 WINLDAPAPI ULONG ldap_delete_ext_sA(LDAP*,const PCHAR,PLDAPControlA*,PLDAPControlA*);
462 WINLDAPAPI ULONG ldap_delete_ext_sW(LDAP*,const PWCHAR,PLDAPControlW*,PLDAPControlW*);
463 WINLDAPAPI ULONG ldap_deleteA(LDAP*,const PCHAR);
464 WINLDAPAPI ULONG ldap_deleteW(LDAP*,const PWCHAR);
465 WINLDAPAPI ULONG ldap_delete_sA(LDAP*,const PCHAR);
466 WINLDAPAPI ULONG ldap_delete_sW(LDAP*,const PWCHAR);
467 WINLDAPAPI ULONG ldap_extended_operationA(LDAP*,const PCHAR,const struct berval*,PLDAPControlA*,PLDAPControlA*,ULONG*);
468 WINLDAPAPI ULONG ldap_extended_operationW(LDAP*,const PWCHAR,const struct berval*,PLDAPControlW*,PLDAPControlW*,ULONG*);
469 WINLDAPAPI ULONG ldap_extended_operation_sA(LDAP*,const PCHAR,const struct berval*,PLDAPControlA*,PLDAPControlA*,PCHAR*,struct berval**);
470 WINLDAPAPI ULONG ldap_extended_operation_sW(LDAP*,const PWCHAR,const struct berval*,PLDAPControlW*,PLDAPControlW*,PWCHAR*,struct berval**);
471 WINLDAPAPI ULONG ldap_close_extended_op(LDAP*,ULONG);
472 WINLDAPAPI ULONG ldap_abandon(LDAP*,ULONG);
473 WINLDAPAPI ULONG ldap_result(LDAP*,ULONG,ULONG,struct l_timeval*,LDAPMessage**);
474 WINLDAPAPI ULONG ldap_msgfree(LDAPMessage*);
475 WINLDAPAPI ULONG ldap_parse_resultA(LDAP*,LDAPMessage*,ULONG*,PCHAR*,PCHAR*,PCHAR**,PLDAPControlA**,BOOLEAN);
476 WINLDAPAPI ULONG ldap_parse_resultW(LDAP*,LDAPMessage*,ULONG*,PWCHAR*,PWCHAR*,PWCHAR**,PLDAPControlW**,BOOLEAN);
477 WINLDAPAPI ULONG ldap_parse_extended_resultA(LDAP,LDAPMessage*,PCHAR*,struct berval**,BOOLEAN);
478 WINLDAPAPI ULONG ldap_parse_extended_resultW(LDAP,LDAPMessage*,PWCHAR*,struct berval**,BOOLEAN);
479 WINLDAPAPI PCHAR ldap_err2stringA(ULONG);
480 WINLDAPAPI PWCHAR ldap_err2stringW(ULONG);
481 WINLDAPAPI ULONG LdapGetLastError(void);
482 WINLDAPAPI ULONG LdapMapErrorToWin32(ULONG);
483 WINLDAPAPI ULONG ldap_result2error(LDAP*,LDAPMessage*,ULONG);
484 WINLDAPAPI PLDAPMessage ldap_first_entry(LDAP*,LDAPMessage*);
485 WINLDAPAPI PLDAPMessage ldap_next_entry(LDAP*,LDAPMessage*);
486 WINLDAPAPI PLDAPMessage ldap_first_reference(LDAP*,LDAPMessage*);
487 WINLDAPAPI PLDAPMessage ldap_next_reference(LDAP*,LDAPMessage*);
488 WINLDAPAPI ULONG ldap_count_entries(LDAP*,LDAPMessage*);
489 WINLDAPAPI ULONG ldap_count_references(LDAP*,LDAPMessage*);
490 WINLDAPAPI PCHAR ldap_first_attributeA(LDAP*,LDAPMessage*,BerElement**);
491 WINLDAPAPI PWCHAR ldap_first_attributeW(LDAP*,LDAPMessage*,BerElement**);
492 WINLDAPAPI PCHAR ldap_next_attributeA(LDAP*,LDAPMessage*,BerElement*);
493 WINLDAPAPI PWCHAR ldap_next_attributeW(LDAP*,LDAPMessage*,BerElement*);
494 WINLDAPAPI VOID ldap_memfreeA(PCHAR);
495 WINLDAPAPI VOID ldap_memfreeW(PWCHAR);
496 WINLDAPAPI PCHAR* ldap_get_valuesA(LDAP*,LDAPMessage*,const PCHAR);
497 WINLDAPAPI PWCHAR* ldap_get_valuesW(LDAP*,LDAPMessage*,const PWCHAR);
498 WINLDAPAPI BerValue** ldap_get_values_lenA(LDAP*,LDAPMessage*,const PCHAR);
499 WINLDAPAPI BerValue** ldap_get_values_lenW(LDAP*,LDAPMessage*,const PWCHAR);
500 WINLDAPAPI ULONG ldap_count_valuesA(PCHAR*);
501 WINLDAPAPI ULONG ldap_count_valuesW(PWCHAR*);
502 WINLDAPAPI ULONG ldap_count_values_len(struct berval**);
503 WINLDAPAPI ULONG ldap_value_freeA(PCHAR*);
504 WINLDAPAPI ULONG ldap_value_freeW(PWCHAR*);
505 WINLDAPAPI ULONG ldap_value_free_len(struct berval**);
506 WINLDAPAPI PCHAR ldap_get_dnA(LDAP*,LDAPMessage*);
507 WINLDAPAPI PWCHAR ldap_get_dnW(LDAP*,LDAPMessage*);
508 WINLDAPAPI PCHAR ldap_explode_dnA(PCHAR,ULONG);
509 WINLDAPAPI PWCHAR ldap_explode_dnW(PWCHAR,ULONG);
510 WINLDAPAPI PCHAR ldap_dn2ufnA(PCHAR);
511 WINLDAPAPI PWCHAR ldap_dn2ufnW(PWCHAR);
512 WINLDAPAPI ULONG ldap_ufn2dnA(const PCHAR,PCHAR*);
513 WINLDAPAPI ULONG ldap_ufn2dnW(const PWCHAR,PWCHAR*);
514 WINLDAPAPI ULONG ldap_parse_referenceA(LDAP*,LDAPMessage*,PCHAR**);
515 WINLDAPAPI ULONG ldap_parse_referenceW(LDAP*,LDAPMessage*,PWCHAR**);
516 WINLDAPAPI ULONG ldap_check_filterA(LDAP*,PCHAR);
517 WINLDAPAPI ULONG ldap_check_filterW(LDAP*,PWCHAR);
518 WINLDAPAPI ULONG ldap_create_page_controlA(PLDAP,ULONG,struct berval*,UCHAR,PLDAPControlA*);
519 WINLDAPAPI ULONG ldap_create_page_controlW(PLDAP,ULONG,struct berval*,UCHAR,PLDAPControlW*);
520 WINLDAPAPI ULONG ldap_create_sort_controlA(PLDAP,PLDAPSortKeyA*,UCHAR,PLDAPControlA*);
521 WINLDAPAPI ULONG ldap_create_sort_controlW(PLDAP,PLDAPSortKeyW*,UCHAR,PLDAPControlW*);
522 WINLDAPAPI INT ldap_create_vlv_controlA(LDAP*,LDAPVLVInfo*,UCHAR,LDAPControlA**);
523 WINLDAPAPI INT ldap_create_vlv_controlW(LDAP*,LDAPVLVInfo*,UCHAR,LDAPControlW**);
524 WINLDAPAPI ULONG ldap_encode_sort_controlA(PLDAP,PLDAPSortKeyA*,PLDAPControlA,BOOLEAN);
525 WINLDAPAPI ULONG ldap_encode_sort_controlW(PLDAP,PLDAPSortKeyW*,PLDAPControlW,BOOLEAN);
526 WINLDAPAPI ULONG ldap_escape_filter_elementA(PCHAR,ULONG,PCHAR,ULONG);
527 WINLDAPAPI ULONG ldap_escape_filter_elementW(PWCHAR,ULONG,PWCHAR,ULONG);
528 WINLDAPAPI ULONG ldap_get_next_page(PLDAP,PLDAPSearch,ULONG,ULONG*);
529 WINLDAPAPI ULONG ldap_get_next_page_s(PLDAP,PLDAPSearch,struct l_timeval*,ULONG,ULONG*,LDAPMessage**);
530 WINLDAPAPI ULONG ldap_get_paged_count(PLDAP,PLDAPSearch,ULONG*,PLDAPMessage);
531 WINLDAPAPI ULONG ldap_parse_page_controlA(PLDAP,PLDAPControlA*,ULONG*,struct berval**);
532 WINLDAPAPI ULONG ldap_parse_page_controlW(PLDAP,PLDAPControlW*,ULONG*,struct berval**);
533 WINLDAPAPI ULONG ldap_parse_sort_controlA(PLDAP,PLDAPControlA*,ULONG*,PCHAR*);
534 WINLDAPAPI ULONG ldap_parse_sort_controlW(PLDAP,PLDAPControlW*,ULONG*,PWCHAR*);
535 WINLDAPAPI INT ldap_parse_vlv_controlA(LDAP*,LDAPControlA**,unsigned long*,unsigned long*,struct berval**,int*);
536 WINLDAPAPI INT ldap_parse_vlv_controlW(LDAP*,LDAPControlW**,unsigned long*,unsigned long*,struct berval**,int*);
537 WINLDAPAPI PLDAPSearch ldap_search_init_pageA(PLDAP,const PCHAR,ULONG,const PCHAR,PCHAR[],ULONG,PLDAPControlA*,PLDAPControlA*,ULONG,ULONG,PLDAPSortKeyA*);
538 WINLDAPAPI PLDAPSearch ldap_search_init_pageW(PLDAP,const PWCHAR,ULONG,const PWCHAR,PWCHAR[],ULONG,PLDAPControlW*,PLDAPControlW*,ULONG,ULONG,PLDAPSortKeyW*);
539 WINLDAPAPI ULONG ldap_search_abandon_page(PLDAP,PLDAPSearch);
540 WINLDAPAPI LDAP ldap_conn_from_msg(LDAP*,LDAPMessage*);
541 WINLDAPAPI INT LdapUnicodeToUTF8(LPCWSTR,int,LPSTR,int);
542 WINLDAPAPI INT LdapUTF8ToUnicode(LPCSTR,int,LPWSTR,int);
545 #define LDAPControl LDAPControlW
546 #define PLDAPControl PLDAPControlW
547 #define LDAPMod LDAPModW
548 #define PLDAPMod LDAPModW
549 #define LDAPSortKey LDAPSortKeyW
550 #define PLDAPSortKey PLDAPSortKeyW
551 #define LDAPAPIInfo LDAPAPIInfoW
552 #define PLDAPAPIInfo PLDAPAPIInfoW
553 #define LDAPAPIFeatureInfo LDAPAPIFeatureInfoW
554 #define PLDAPAPIFeatureInfo PLDAPAPIFeatureInfoW
555 #define cldap_open cldap_openW
556 #define ldap_open ldap_openW
557 #define ldap_bind ldap_bindW
558 #define ldap_bind_s ldap_bind_sW
559 #define ldap_simple_bind ldap_simple_bindW
560 #define ldap_simple_bind_s ldap_simple_bind_sW
561 #define ldap_sasl_bind ldap_sasl_bindW
562 #define ldap_sasl_bind_s ldap_sasl_bind_sW
563 #define ldap_init ldap_initW
564 #define ldap_sslinit ldap_sslinitW
565 #define ldap_get_option ldap_get_optionW
566 #define ldap_set_option ldap_set_optionW
567 #define ldap_start_tls_s ldap_start_tls_sW
568 #define ldap_add ldap_addW
569 #define ldap_add_ext ldap_add_extW
570 #define ldap_add_s ldap_add_sW
571 #define ldap_add_ext_s ldap_add_ext_sW
572 #define ldap_compare ldap_compareW
573 #define ldap_compare_ext ldap_compare_extW
574 #define ldap_compare_s ldap_compare_sW
575 #define ldap_compare_ext_s ldap_compare_ext_sW
576 #define ldap_delete ldap_deleteW
577 #define ldap_delete_ext ldap_delete_extW
578 #define ldap_delete_s ldap_delete_sW
579 #define ldap_delete_ext_s ldap_delete_ext_sW
580 #define ldap_extended_operation_s ldap_extended_operation_sW
581 #define ldap_extended_operation ldap_extended_operationW
582 #define ldap_modify ldap_modifyW
583 #define ldap_modify_ext ldap_modify_extW
584 #define ldap_modify_s ldap_modify_sW
585 #define ldap_modify_ext_s ldap_modify_ext_sW
586 #define ldap_check_filter ldap_check_filterW
587 #define ldap_count_values ldap_count_valuesW
588 #define ldap_create_page_control ldap_create_page_controlW
589 #define ldap_create_sort_control ldap_create_sort_controlW
590 #define ldap_create_vlv_control ldap_create_vlv_controlW
591 #define ldap_encode_sort_control ldap_encode_sort_controlW
592 #define ldap_escape_filter_element ldap_escape_filter_elementW
593 #define ldap_first_attribute ldap_first_attributeW
594 #define ldap_next_attribute ldap_next_attributeW
595 #define ldap_get_values ldap_get_valuesW
596 #define ldap_get_values_len ldap_get_values_lenW
597 #define ldap_parse_extended_result ldap_parse_extended_resultW
598 #define ldap_parse_page_control ldap_parse_page_controlW
599 #define ldap_parse_reference ldap_parse_referenceW
600 #define ldap_parse_result ldap_parse_resultW
601 #define ldap_parse_sort_control ldap_parse_sort_controlW
602 #define ldap_parse_vlv_control ldap_parse_vlv_controlW
603 #define ldap_search ldap_searchW
604 #define ldap_search_s ldap_search_sW
605 #define ldap_search_st ldap_search_stW
606 #define ldap_search_ext ldap_search_extW
607 #define ldap_search_ext_s ldap_search_ext_sW
608 #define ldap_search_init_page ldap_search_init_pageW
609 #define ldap_err2string ldap_err2stringW
610 #define ldap_control_free ldap_control_freeW
611 #define ldap_controls_free ldap_controls_freeW
612 #define ldap_free_controls ldap_free_controlsW
613 #define ldap_memfree ldap_memfreeW
614 #define ldap_value_free ldap_value_freeW
615 #define ldap_dn2ufn ldap_dn2ufnW
616 #define ldap_ufn2dn ldap_ufn2dnW
617 #define ldap_explode_dn ldap_explode_dnW
618 #define ldap_get_dn ldap_get_dnW
619 #define ldap_modrdn ldap_modrdnW
620 #define ldap_modrdn_s ldap_modrdn_sW
621 #define ldap_modrdn2 ldap_modrdn2W
622 #define ldap_modrdn2_s ldap_modrdn2_sW
623 #define ldap_rename ldap_rename_extW
624 #define ldap_rename_s ldap_rename_ext_sW
625 #define ldap_rename_ext ldap_rename_extW
626 #define ldap_rename_ext_s ldap_rename_ext_sW
628 #define LDAPControl LDAPControlA
629 #define PLDAPControl PLDAPControlA
630 #define LDAPMod LDAPModA
631 #define PLDAPMod LDAPModA
632 #define LDAPSortKey LDAPSortKeyA
633 #define PLDAPSortKey PLDAPSortKeyA
634 #define LDAPAPIInfo LDAPAPIInfoA
635 #define PLDAPAPIInfo PLDAPAPIInfoA
636 #define LDAPAPIFeatureInfo LDAPAPIFeatureInfoA
637 #define PLDAPAPIFeatureInfo PLDAPAPIFeatureInfoA
638 #define cldap_open cldap_openA
639 #define ldap_open ldap_openA
640 #define ldap_bind ldap_bindA
641 #define ldap_bind_s ldap_bind_sA
642 #define ldap_simple_bind ldap_simple_bindA
643 #define ldap_simple_bind_s ldap_simple_bind_sA
644 #define ldap_sasl_bind ldap_sasl_bindA
645 #define ldap_sasl_bind_s ldap_sasl_bind_sA
646 #define ldap_init ldap_initA
647 #define ldap_sslinit ldap_sslinitA
648 #define ldap_get_option ldap_get_optionA
649 #define ldap_set_option ldap_set_optionA
650 #define ldap_start_tls_s ldap_start_tls_sA
651 #define ldap_add ldap_addA
652 #define ldap_add_ext ldap_add_extA
653 #define ldap_add_s ldap_add_sA
654 #define ldap_add_ext_s ldap_add_ext_sA
655 #define ldap_compare ldap_compareA
656 #define ldap_compare_ext ldap_compare_extA
657 #define ldap_compare_s ldap_compare_sA
658 #define ldap_compare_ext_s ldap_compare_ext_sA
659 #define ldap_delete ldap_deleteA
660 #define ldap_delete_ext ldap_delete_extA
661 #define ldap_delete_s ldap_delete_sA
662 #define ldap_delete_ext_s ldap_delete_ext_sA
663 #define ldap_extended_operation_s ldap_extended_operation_sA
664 #define ldap_extended_operation ldap_extended_operationA
665 #define ldap_modify ldap_modifyA
666 #define ldap_modify_ext ldap_modify_extA
667 #define ldap_modify_s ldap_modify_sA
668 #define ldap_modify_ext_s ldap_modify_ext_sA
669 #define ldap_check_filter ldap_check_filterA
670 #define ldap_count_values ldap_count_valuesA
671 #define ldap_create_page_control ldap_create_page_controlA
672 #define ldap_create_sort_control ldap_create_sort_controlA
673 #define ldap_create_vlv_control ldap_create_vlv_controlA
674 #define ldap_encode_sort_control ldap_encode_sort_controlA
675 #define ldap_escape_filter_element ldap_escape_filter_elementA
676 #define ldap_first_attribute ldap_first_attributeA
677 #define ldap_next_attribute ldap_next_attributeA
678 #define ldap_get_values ldap_get_valuesA
679 #define ldap_get_values_len ldap_get_values_lenA
680 #define ldap_parse_extended_result ldap_parse_extended_resultA
681 #define ldap_parse_page_control ldap_parse_page_controlA
682 #define ldap_parse_reference ldap_parse_referenceA
683 #define ldap_parse_result ldap_parse_resultA
684 #define ldap_parse_sort_control ldap_parse_sort_controlA
685 #define ldap_parse_vlv_control ldap_parse_vlv_controlA
686 #define ldap_search ldap_searchA
687 #define ldap_search_s ldap_search_sA
688 #define ldap_search_st ldap_search_stA
689 #define ldap_search_ext ldap_search_extA
690 #define ldap_search_ext_s ldap_search_ext_sA
691 #define ldap_search_init_page ldap_search_init_pageA
692 #define ldap_err2string ldap_err2stringA
693 #define ldap_control_free ldap_control_freeA
694 #define ldap_controls_free ldap_controls_freeA
695 #define ldap_free_controls ldap_free_controlsA
696 #define ldap_memfree ldap_memfreeA
697 #define ldap_value_free ldap_value_freeA
698 #define ldap_dn2ufn ldap_dn2ufnA
699 #define ldap_ufn2dn ldap_ufn2dnA
700 #define ldap_explode_dn ldap_explode_dnA
701 #define ldap_get_dn ldap_get_dnA
702 #define ldap_modrdn ldap_modrdnA
703 #define ldap_modrdn_s ldap_modrdn_sA
704 #define ldap_modrdn2 ldap_modrdn2A
705 #define ldap_modrdn2_s ldap_modrdn2_sA
706 #define ldap_rename ldap_rename_extA
707 #define ldap_rename_s ldap_rename_ext_sA
708 #define ldap_rename_ext ldap_rename_extA
709 #define ldap_rename_ext_s ldap_rename_ext_sA
718 #endif /* _WINLDAP_H */