holdingarea/llvm/llvm-gcc4.2-2.7-x86-mingw32/include/winldap.h
branchbug235_bringup_0
changeset 20 d2d6724aef32
equal deleted inserted replaced
19:da7c1a80df0d 20:d2d6724aef32
       
     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
       
    47 extern "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 
       
   252 typedef 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;
       
   264 typedef 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;
       
   272 typedef struct l_timeval {
       
   273 	LONG tv_sec;
       
   274 	LONG tv_usec;
       
   275 } LDAP_TIMEVAL, *PLDAP_TIMEVAL;
       
   276 typedef 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;
       
   284 typedef 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;
       
   292 typedef struct ldap_apifeature_infoA {
       
   293 	int ldapaif_info_version;
       
   294 	char *ldapaif_name;
       
   295 	int ldapaif_version;
       
   296 } LDAPAPIFeatureInfoA, *PLDAPAPIFeatureInfoA;
       
   297 typedef struct ldap_apifeature_infoW {
       
   298 	int ldapaif_info_version;
       
   299 	PWCHAR ldapaif_name;
       
   300 	int ldapaif_version;
       
   301 } LDAPAPIFeatureInfoW, *PLDAPAPIFeatureInfoW;
       
   302 typedef struct ldapcontrolA {
       
   303 	PCHAR ldctl_oid;
       
   304 	BerValue ldctl_value;
       
   305 	BOOLEAN ldctl_iscritical;
       
   306 } LDAPControlA, *PLDAPControlA;
       
   307 typedef struct ldapcontrolW {
       
   308 	PWCHAR ldctl_oid;
       
   309 	BerValue ldctl_value;
       
   310 	BOOLEAN ldctl_iscritical;
       
   311 } LDAPControlW, *PLDAPControlW;
       
   312 typedef union mod_vals_uA {
       
   313 	PCHAR *modv_strvals;
       
   314 	BerValue **modv_bvals;
       
   315 } mod_vals_u_tA;
       
   316 typedef union mod_vals_uW {
       
   317 	PWCHAR *modv_strvals;
       
   318 	BerValue **modv_bvals;
       
   319 } mod_vals_u_tW;
       
   320 typedef struct ldapmodA {
       
   321 	ULONG mod_op;
       
   322 	PCHAR mod_type;
       
   323 	mod_vals_u_tA mod_vals;
       
   324 } LDAPModA, *PLDAPModA;
       
   325 typedef 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 
       
   334 typedef struct ldapsearch LDAPSearch, *PLDAPSearch;
       
   335 typedef struct ldapsortkeyA {
       
   336 	PCHAR sk_attrtype;
       
   337 	PCHAR sk_matchruleoid;
       
   338 	BOOLEAN sk_reverseorder;
       
   339 } LDAPSortKeyA, *PLDAPSortKeyA;
       
   340 typedef struct ldapsortkeyW {
       
   341 	PWCHAR sk_attrtype;
       
   342 	PWCHAR sk_matchruleoid;
       
   343 	BOOLEAN sk_reverseorder;
       
   344 } LDAPSortKeyW, *PLDAPSortKeyW;
       
   345 typedef ULONG (__cdecl QUERYFORCONNECTION)(PLDAP,PLDAP,PWCHAR,PCHAR,ULONG,PVOID,PVOID,PLDAP*);
       
   346 typedef BOOLEAN (__cdecl NOTIFYOFNEWCONNECTION)(PLDAP,PLDAP,PWCHAR,PCHAR,PLDAP,ULONG,PVOID,PVOID,ULONG);
       
   347 typedef ULONG (__cdecl DEREFERENCECONNECTION)(PLDAP,PLDAP);
       
   348 typedef BOOLEAN (__cdecl QUERYCLIENTCERT)(PLDAP,PSecPkgContext_IssuerListInfoEx,PCCERT_CONTEXT*);
       
   349 typedef struct LdapReferralCallback {
       
   350 	ULONG SizeOfCallbacks;
       
   351 	QUERYFORCONNECTION *QueryForConnection;
       
   352 	NOTIFYOFNEWCONNECTION *NotifyRoutine;
       
   353 	DEREFERENCECONNECTION *DereferenceRoutine;
       
   354 } LDAP_REFERRAL_CALLBACK, *PLDAP_REFERRAL_CALLBACK;
       
   355 typedef 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 
       
   372 WINLDAPAPI PLDAP ldap_initA(PCHAR,ULONG);
       
   373 WINLDAPAPI PLDAP ldap_initW(PWCHAR,ULONG);
       
   374 WINLDAPAPI PLDAP ldap_openA(const PCHAR,ULONG);
       
   375 WINLDAPAPI PLDAP ldap_openW(const PWCHAR,ULONG);
       
   376 WINLDAPAPI PLDAP cldap_openA(const PCHAR,ULONG);
       
   377 WINLDAPAPI PLDAP cldap_openW(const PWCHAR,ULONG);
       
   378 WINLDAPAPI ULONG ldap_connect(LDAP*,struct l_timeval*);
       
   379 WINLDAPAPI PLDAP ldap_sslinitA(PCHAR,ULONG,int);
       
   380 WINLDAPAPI PLDAP ldap_sslinitW(PWCHAR,ULONG,int);
       
   381 WINLDAPAPI ULONG ldap_start_tls_sA(LDAP*,PLDAPControlA*,PLDAPControlA*);
       
   382 WINLDAPAPI ULONG ldap_start_tls_sW(LDAP*,PLDAPControlW*,PLDAPControlW*);
       
   383 WINLDAPAPI BOOLEAN ldap_stop_tls_s(LDAP*);
       
   384 WINLDAPAPI ULONG ldap_get_optionA(LDAP*,int,void*);
       
   385 WINLDAPAPI ULONG ldap_get_optionW(LDAP*,int,void*);
       
   386 WINLDAPAPI ULONG ldap_set_optionA(LDAP*,int,const void*);
       
   387 WINLDAPAPI ULONG ldap_set_optionW(LDAP*,int,const void*);
       
   388 WINLDAPAPI ULONG ldap_control_freeA(LDAPControlA*);
       
   389 WINLDAPAPI ULONG ldap_control_freeW(LDAPControlW*);
       
   390 WINLDAPAPI ULONG ldap_controls_freeA(LDAPControlA**);
       
   391 WINLDAPAPI ULONG ldap_controls_freeW(LDAPControlW**);
       
   392 WINLDAPAPI ULONG ldap_free_controlsA(LDAPControlA**);
       
   393 WINLDAPAPI ULONG ldap_free_controlsW(LDAPControlW**);
       
   394 WINLDAPAPI ULONG ldap_sasl_bindA(LDAP*,const PCHAR, const PCHAR,const BERVAL*,PLDAPControlA*,PLDAPControlA*,int*);
       
   395 WINLDAPAPI ULONG ldap_sasl_bindW(LDAP*,const PWCHAR, const PWCHAR,const BERVAL*,PLDAPControlW*,PLDAPControlW*,int*);
       
   396 WINLDAPAPI ULONG ldap_sasl_bind_sA(LDAP*,const PCHAR,const PCHAR,const BERVAL*,PLDAPControlA*,PLDAPControlA*,PBERVAL*);
       
   397 WINLDAPAPI ULONG ldap_sasl_bind_sW(LDAP*,const PWCHAR,const PWCHAR,const BERVAL*,PLDAPControlW*,PLDAPControlW*,PBERVAL*);
       
   398 WINLDAPAPI ULONG ldap_simple_bindA(LDAP*,const PCHAR,const PCHAR);
       
   399 WINLDAPAPI ULONG ldap_simple_bindW(LDAP*,const PWCHAR,const PWCHAR);
       
   400 WINLDAPAPI ULONG ldap_simple_bind_sA(LDAP*,const PCHAR,const PCHAR);
       
   401 WINLDAPAPI ULONG ldap_simple_bind_sW(LDAP*,const PWCHAR,const PWCHAR);
       
   402 WINLDAPAPI ULONG ldap_bindA(LDAP*,const PCHAR,const PCHAR,ULONG) _WINLDAP_DEPRECATED;
       
   403 WINLDAPAPI ULONG ldap_bindW(LDAP*,const PWCHAR,const PWCHAR,ULONG) _WINLDAP_DEPRECATED;
       
   404 WINLDAPAPI ULONG ldap_bind_sA(LDAP*,const PCHAR,const PCHAR,ULONG) _WINLDAP_DEPRECATED;
       
   405 WINLDAPAPI ULONG ldap_bind_sW(LDAP*,const PWCHAR,const PWCHAR,ULONG) _WINLDAP_DEPRECATED;
       
   406 WINLDAPAPI ULONG ldap_unbind(LDAP*);
       
   407 WINLDAPAPI ULONG ldap_unbind_s(LDAP*);
       
   408 WINLDAPAPI ULONG ldap_search_extA(LDAP*,const PCHAR,ULONG,const PCHAR,PCHAR[],ULONG,PLDAPControlW*,PLDAPControlW*,ULONG,ULONG,ULONG*);
       
   409 WINLDAPAPI ULONG ldap_search_extW(LDAP*,const PWCHAR,ULONG,const PWCHAR,PWCHAR[],ULONG,PLDAPControlW*,PLDAPControlW*,ULONG,ULONG,ULONG*);
       
   410 WINLDAPAPI ULONG ldap_search_ext_sA(LDAP*,const PCHAR,ULONG,const PCHAR,PCHAR[],ULONG,PLDAPControlA*,PLDAPControlA*,struct l_timeval*,ULONG,LDAPMessage**);
       
   411 WINLDAPAPI ULONG ldap_search_ext_sW(LDAP*,const PWCHAR,ULONG,const PWCHAR,PWCHAR[],ULONG,PLDAPControlW*,PLDAPControlW*,struct l_timeval*,ULONG,LDAPMessage**);
       
   412 WINLDAPAPI ULONG ldap_searchA(LDAP*,const PCHAR,ULONG,const PCHAR,PCHAR[],ULONG);
       
   413 WINLDAPAPI ULONG ldap_searchW(LDAP*,const PWCHAR,ULONG,const PWCHAR,PWCHAR[],ULONG);
       
   414 WINLDAPAPI ULONG ldap_search_sA(LDAP*,const PCHAR,ULONG,const PCHAR,PCHAR[],ULONG,LDAPMessage**);
       
   415 WINLDAPAPI ULONG ldap_search_sW(LDAP*,const PWCHAR,ULONG,const PWCHAR,PWCHAR[],ULONG,LDAPMessage**);
       
   416 WINLDAPAPI ULONG ldap_search_stA(LDAP*,const PCHAR,ULONG,const PCHAR,PCHAR[],ULONG,struct l_timeval*,LDAPMessage**);
       
   417 WINLDAPAPI ULONG ldap_search_stW(LDAP*,const PWCHAR,ULONG,const PWCHAR,PWCHAR[],ULONG,struct l_timeval*,LDAPMessage**);
       
   418 WINLDAPAPI ULONG ldap_compare_extA(LDAP*,const PCHAR,const PCHAR,PCHAR,struct berval*,PLDAPControlA*,PLDAPControlA*,ULONG*);
       
   419 WINLDAPAPI ULONG ldap_compare_extW(LDAP*,const PWCHAR,const PWCHAR,PWCHAR,struct berval*,PLDAPControlW*,PLDAPControlW*,ULONG*);
       
   420 WINLDAPAPI ULONG ldap_compare_ext_sA(LDAP*,const PCHAR,const PCHAR,const PCHAR,struct berval*,PLDAPControlA*,PLDAPControlA*);
       
   421 WINLDAPAPI ULONG ldap_compare_ext_sW(LDAP*,const PWCHAR,const PWCHAR,const PWCHAR,struct berval*,PLDAPControlW*,PLDAPControlW*);
       
   422 WINLDAPAPI ULONG ldap_compareA(LDAP*,const PCHAR,const PCHAR,PCHAR);
       
   423 WINLDAPAPI ULONG ldap_compareW(LDAP*,const PWCHAR,const PWCHAR,PWCHAR);
       
   424 WINLDAPAPI ULONG ldap_compare_sA(LDAP*,const PCHAR,const PCHAR,PCHAR);
       
   425 WINLDAPAPI ULONG ldap_compare_sW(LDAP*,const PWCHAR,const PWCHAR,PWCHAR);
       
   426 WINLDAPAPI ULONG ldap_modify_extA(LDAP*,const PCHAR,LDAPModA*[],PLDAPControlA*,PLDAPControlA*,ULONG*);
       
   427 WINLDAPAPI ULONG ldap_modify_extW(LDAP*,const PWCHAR,LDAPModW*[],PLDAPControlW*,PLDAPControlW*,ULONG*);
       
   428 WINLDAPAPI ULONG ldap_modify_ext_sA(LDAP*,const PCHAR,LDAPModA*[],PLDAPControlA*,PLDAPControlA*);
       
   429 WINLDAPAPI ULONG ldap_modify_ext_sW(LDAP*,const PWCHAR,LDAPModW*[],PLDAPControlW*,PLDAPControlW*);
       
   430 WINLDAPAPI ULONG ldap_modifyA(LDAP*,const PCHAR,LDAPModA*[]);
       
   431 WINLDAPAPI ULONG ldap_modifyW(LDAP*,const PWCHAR,LDAPModW*[]);
       
   432 WINLDAPAPI ULONG ldap_modify_sA(LDAP*,const PCHAR,LDAPModA*[]);
       
   433 WINLDAPAPI ULONG ldap_modify_sW(LDAP*,const PWCHAR,LDAPModW*[]);
       
   434 WINLDAPAPI ULONG ldap_rename_extA(LDAP*,const PCHAR,const PCHAR,const PCHAR,INT,PLDAPControlA*,PLDAPControlA*,ULONG*);
       
   435 WINLDAPAPI ULONG ldap_rename_extW(LDAP*,const PWCHAR,const PWCHAR,const PWCHAR,INT,PLDAPControlW*,PLDAPControlW*,ULONG*);
       
   436 WINLDAPAPI ULONG ldap_rename_ext_sA(LDAP*,const PCHAR,const PCHAR,const PCHAR,INT,PLDAPControlA*,PLDAPControlA*);
       
   437 WINLDAPAPI ULONG ldap_rename_ext_sW(LDAP*,const PWCHAR,const PWCHAR,const PWCHAR,INT,PLDAPControlW*,PLDAPControlW*);
       
   438 WINLDAPAPI ULONG ldap_modrdnA(LDAP*,PCHAR,PCHAR) _WINLDAP_DEPRECATED;
       
   439 WINLDAPAPI ULONG ldap_modrdnW(LDAP*,PWCHAR,PWCHAR) _WINLDAP_DEPRECATED;
       
   440 WINLDAPAPI ULONG ldap_modrdn_sA(LDAP*,PCHAR,PCHAR) _WINLDAP_DEPRECATED;
       
   441 WINLDAPAPI ULONG ldap_modrdn_sW(LDAP*,PWCHAR,PWCHAR) _WINLDAP_DEPRECATED;
       
   442 WINLDAPAPI ULONG ldap_modrdn2A(LDAP*,PCHAR,PCHAR,INT) _WINLDAP_DEPRECATED;
       
   443 WINLDAPAPI ULONG ldap_modrdn2W(LDAP*,PWCHAR,PWCHAR,INT) _WINLDAP_DEPRECATED;
       
   444 WINLDAPAPI ULONG ldap_modrdn2_sA(LDAP*,PCHAR,PCHAR,INT) _WINLDAP_DEPRECATED;
       
   445 WINLDAPAPI ULONG ldap_modrdn2_sW(LDAP*,PWCHAR,PWCHAR,INT) _WINLDAP_DEPRECATED;
       
   446 WINLDAPAPI ULONG ldap_add_extA(LDAP*,const PCHAR,LDAPModA*[],PLDAPControlA*,PLDAPControlA*,ULONG*);
       
   447 WINLDAPAPI ULONG ldap_add_extW(LDAP*,const PWCHAR,LDAPModW*[],PLDAPControlW*,PLDAPControlW*,ULONG*);
       
   448 WINLDAPAPI ULONG ldap_add_ext_sA(LDAP*,const PCHAR,LDAPModA*[],PLDAPControlA*,PLDAPControlA*);
       
   449 WINLDAPAPI ULONG ldap_add_ext_sW(LDAP*,const PWCHAR,LDAPModW*[],PLDAPControlW*,PLDAPControlW*);
       
   450 WINLDAPAPI ULONG ldap_addA(LDAP*,const PCHAR,LDAPModA*[]);
       
   451 WINLDAPAPI ULONG ldap_addW(LDAP*,const PWCHAR,LDAPModW*[]);
       
   452 WINLDAPAPI ULONG ldap_add_sA(LDAP*,const PCHAR,LDAPModA*[]);
       
   453 WINLDAPAPI ULONG ldap_add_sW(LDAP*,const PWCHAR,LDAPModW*[]);
       
   454 WINLDAPAPI ULONG ldap_delete_extA(LDAP*,const PCHAR,PLDAPControlA*,PLDAPControlA*,ULONG*);
       
   455 WINLDAPAPI ULONG ldap_delete_extW(LDAP*,const PWCHAR,PLDAPControlW*,PLDAPControlW*,ULONG*);
       
   456 WINLDAPAPI ULONG ldap_delete_ext_sA(LDAP*,const PCHAR,PLDAPControlA*,PLDAPControlA*);
       
   457 WINLDAPAPI ULONG ldap_delete_ext_sW(LDAP*,const PWCHAR,PLDAPControlW*,PLDAPControlW*);
       
   458 WINLDAPAPI ULONG ldap_deleteA(LDAP*,const PCHAR);
       
   459 WINLDAPAPI ULONG ldap_deleteW(LDAP*,const PWCHAR);
       
   460 WINLDAPAPI ULONG ldap_delete_sA(LDAP*,const PCHAR);
       
   461 WINLDAPAPI ULONG ldap_delete_sW(LDAP*,const PWCHAR);
       
   462 WINLDAPAPI ULONG ldap_extended_operationA(LDAP*,const PCHAR,const struct berval*,PLDAPControlA*,PLDAPControlA*,ULONG*);
       
   463 WINLDAPAPI ULONG ldap_extended_operationW(LDAP*,const PWCHAR,const struct berval*,PLDAPControlW*,PLDAPControlW*,ULONG*);
       
   464 WINLDAPAPI ULONG ldap_extended_operation_sA(LDAP*,const PCHAR,const struct berval*,PLDAPControlA*,PLDAPControlA*,PCHAR*,struct berval**);
       
   465 WINLDAPAPI ULONG ldap_extended_operation_sW(LDAP*,const PWCHAR,const struct berval*,PLDAPControlW*,PLDAPControlW*,PWCHAR*,struct berval**);
       
   466 WINLDAPAPI ULONG ldap_close_extended_op(LDAP*,ULONG);
       
   467 WINLDAPAPI ULONG ldap_abandon(LDAP*,ULONG);
       
   468 WINLDAPAPI ULONG ldap_result(LDAP*,ULONG,ULONG,struct l_timeval*,LDAPMessage**);
       
   469 WINLDAPAPI ULONG ldap_msgfree(LDAPMessage*);
       
   470 WINLDAPAPI ULONG ldap_parse_resultA(LDAP*,LDAPMessage*,ULONG*,PCHAR*,PCHAR*,PCHAR**,PLDAPControlA**,BOOLEAN);
       
   471 WINLDAPAPI ULONG ldap_parse_resultW(LDAP*,LDAPMessage*,ULONG*,PWCHAR*,PWCHAR*,PWCHAR**,PLDAPControlW**,BOOLEAN);
       
   472 WINLDAPAPI ULONG ldap_parse_extended_resultA(LDAP,LDAPMessage*,PCHAR*,struct berval**,BOOLEAN);
       
   473 WINLDAPAPI ULONG ldap_parse_extended_resultW(LDAP,LDAPMessage*,PWCHAR*,struct berval**,BOOLEAN);
       
   474 WINLDAPAPI PCHAR ldap_err2stringA(ULONG);
       
   475 WINLDAPAPI PWCHAR ldap_err2stringW(ULONG);
       
   476 WINLDAPAPI ULONG LdapGetLastError(void);
       
   477 WINLDAPAPI ULONG LdapMapErrorToWin32(ULONG);
       
   478 WINLDAPAPI ULONG ldap_result2error(LDAP*,LDAPMessage*,ULONG);
       
   479 WINLDAPAPI PLDAPMessage ldap_first_entry(LDAP*,LDAPMessage*);
       
   480 WINLDAPAPI PLDAPMessage ldap_next_entry(LDAP*,LDAPMessage*);
       
   481 WINLDAPAPI PLDAPMessage ldap_first_reference(LDAP*,LDAPMessage*);
       
   482 WINLDAPAPI PLDAPMessage ldap_next_reference(LDAP*,LDAPMessage*);
       
   483 WINLDAPAPI ULONG ldap_count_entries(LDAP*,LDAPMessage*);
       
   484 WINLDAPAPI ULONG ldap_count_references(LDAP*,LDAPMessage*);
       
   485 WINLDAPAPI PCHAR ldap_first_attributeA(LDAP*,LDAPMessage*,BerElement**);
       
   486 WINLDAPAPI PWCHAR ldap_first_attributeW(LDAP*,LDAPMessage*,BerElement**);
       
   487 WINLDAPAPI PCHAR ldap_next_attributeA(LDAP*,LDAPMessage*,BerElement*);
       
   488 WINLDAPAPI PWCHAR ldap_next_attributeW(LDAP*,LDAPMessage*,BerElement*);
       
   489 WINLDAPAPI VOID ldap_memfreeA(PCHAR);
       
   490 WINLDAPAPI VOID ldap_memfreeW(PWCHAR);
       
   491 WINLDAPAPI PCHAR* ldap_get_valuesA(LDAP*,LDAPMessage*,const PCHAR);
       
   492 WINLDAPAPI PWCHAR* ldap_get_valuesW(LDAP*,LDAPMessage*,const PWCHAR);
       
   493 WINLDAPAPI BerValue** ldap_get_values_lenA(LDAP*,LDAPMessage*,const PCHAR);
       
   494 WINLDAPAPI BerValue** ldap_get_values_lenW(LDAP*,LDAPMessage*,const PWCHAR);
       
   495 WINLDAPAPI ULONG ldap_count_valuesA(PCHAR*);
       
   496 WINLDAPAPI ULONG ldap_count_valuesW(PWCHAR*);
       
   497 WINLDAPAPI ULONG ldap_count_values_len(struct berval**);
       
   498 WINLDAPAPI ULONG ldap_value_freeA(PCHAR*);
       
   499 WINLDAPAPI ULONG ldap_value_freeW(PWCHAR*);
       
   500 WINLDAPAPI ULONG ldap_value_free_len(struct berval**);
       
   501 WINLDAPAPI PCHAR ldap_get_dnA(LDAP*,LDAPMessage*);
       
   502 WINLDAPAPI PWCHAR ldap_get_dnW(LDAP*,LDAPMessage*);
       
   503 WINLDAPAPI PCHAR ldap_explode_dnA(PCHAR,ULONG);
       
   504 WINLDAPAPI PWCHAR ldap_explode_dnW(PWCHAR,ULONG);
       
   505 WINLDAPAPI PCHAR ldap_dn2ufnA(PCHAR);
       
   506 WINLDAPAPI PWCHAR ldap_dn2ufnW(PWCHAR);
       
   507 WINLDAPAPI ULONG ldap_ufn2dnA(const PCHAR,PCHAR*);
       
   508 WINLDAPAPI ULONG ldap_ufn2dnW(const PWCHAR,PWCHAR*);
       
   509 WINLDAPAPI ULONG ldap_parse_referenceA(LDAP*,LDAPMessage*,PCHAR**);
       
   510 WINLDAPAPI ULONG ldap_parse_referenceW(LDAP*,LDAPMessage*,PWCHAR**);
       
   511 WINLDAPAPI ULONG ldap_check_filterA(LDAP*,PCHAR);
       
   512 WINLDAPAPI ULONG ldap_check_filterW(LDAP*,PWCHAR);
       
   513 WINLDAPAPI ULONG ldap_create_page_controlA(PLDAP,ULONG,struct berval*,UCHAR,PLDAPControlA*);
       
   514 WINLDAPAPI ULONG ldap_create_page_controlW(PLDAP,ULONG,struct berval*,UCHAR,PLDAPControlW*);
       
   515 WINLDAPAPI ULONG ldap_create_sort_controlA(PLDAP,PLDAPSortKeyA*,UCHAR,PLDAPControlA*);
       
   516 WINLDAPAPI ULONG ldap_create_sort_controlW(PLDAP,PLDAPSortKeyW*,UCHAR,PLDAPControlW*);
       
   517 WINLDAPAPI INT ldap_create_vlv_controlA(LDAP*,LDAPVLVInfo*,UCHAR,LDAPControlA**);
       
   518 WINLDAPAPI INT ldap_create_vlv_controlW(LDAP*,LDAPVLVInfo*,UCHAR,LDAPControlW**);
       
   519 WINLDAPAPI ULONG ldap_encode_sort_controlA(PLDAP,PLDAPSortKeyA*,PLDAPControlA,BOOLEAN);
       
   520 WINLDAPAPI ULONG ldap_encode_sort_controlW(PLDAP,PLDAPSortKeyW*,PLDAPControlW,BOOLEAN);
       
   521 WINLDAPAPI ULONG ldap_escape_filter_elementA(PCHAR,ULONG,PCHAR,ULONG);
       
   522 WINLDAPAPI ULONG ldap_escape_filter_elementW(PWCHAR,ULONG,PWCHAR,ULONG);
       
   523 WINLDAPAPI ULONG ldap_get_next_page(PLDAP,PLDAPSearch,ULONG,ULONG*);
       
   524 WINLDAPAPI ULONG ldap_get_next_page_s(PLDAP,PLDAPSearch,struct l_timeval*,ULONG,ULONG*,LDAPMessage**);
       
   525 WINLDAPAPI ULONG ldap_get_paged_count(PLDAP,PLDAPSearch,ULONG*,PLDAPMessage);
       
   526 WINLDAPAPI ULONG ldap_parse_page_controlA(PLDAP,PLDAPControlA*,ULONG*,struct berval**);
       
   527 WINLDAPAPI ULONG ldap_parse_page_controlW(PLDAP,PLDAPControlW*,ULONG*,struct berval**);
       
   528 WINLDAPAPI ULONG ldap_parse_sort_controlA(PLDAP,PLDAPControlA*,ULONG*,PCHAR*);
       
   529 WINLDAPAPI ULONG ldap_parse_sort_controlW(PLDAP,PLDAPControlW*,ULONG*,PWCHAR*);
       
   530 WINLDAPAPI INT ldap_parse_vlv_controlA(LDAP*,LDAPControlA**,unsigned long*,unsigned long*,struct berval**,int*);
       
   531 WINLDAPAPI INT ldap_parse_vlv_controlW(LDAP*,LDAPControlW**,unsigned long*,unsigned long*,struct berval**,int*);
       
   532 WINLDAPAPI PLDAPSearch ldap_search_init_pageA(PLDAP,const PCHAR,ULONG,const PCHAR,PCHAR[],ULONG,PLDAPControlA*,PLDAPControlA*,ULONG,ULONG,PLDAPSortKeyA*);
       
   533 WINLDAPAPI PLDAPSearch ldap_search_init_pageW(PLDAP,const PWCHAR,ULONG,const PWCHAR,PWCHAR[],ULONG,PLDAPControlW*,PLDAPControlW*,ULONG,ULONG,PLDAPSortKeyW*);
       
   534 WINLDAPAPI ULONG ldap_search_abandon_page(PLDAP,PLDAPSearch);
       
   535 WINLDAPAPI LDAP ldap_conn_from_msg(LDAP*,LDAPMessage*);
       
   536 WINLDAPAPI INT LdapUnicodeToUTF8(LPCWSTR,int,LPSTR,int);
       
   537 WINLDAPAPI 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 */