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