source: Daodan/MinGW/include/winldap.h@ 1112

Last change on this file since 1112 was 1046, checked in by alloc, 8 years ago

Daodan: Added Windows MinGW and build batch file

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