Hans Leidekker | a745ca0 | 2005-07-13 11:32:08 +0000 | [diff] [blame] | 1 | /* |
| 2 | * Copyright 2005 Hans Leidekker |
| 3 | * |
| 4 | * This library is free software; you can redistribute it and/or |
| 5 | * modify it under the terms of the GNU Lesser General Public |
| 6 | * License as published by the Free Software Foundation; either |
| 7 | * version 2.1 of the License, or (at your option) any later version. |
| 8 | * |
| 9 | * This library is distributed in the hope that it will be useful, |
| 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| 12 | * Lesser General Public License for more details. |
| 13 | * |
| 14 | * You should have received a copy of the GNU Lesser General Public |
| 15 | * License along with this library; if not, write to the Free Software |
| 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
| 17 | */ |
| 18 | |
Dmitry Timoshkov | d09c8a8 | 2005-08-11 10:33:42 +0000 | [diff] [blame] | 19 | #ifndef __WINE_WINLDAP_H |
| 20 | #define __WINE_WINLDAP_H |
| 21 | |
Francois Gouget | f667584 | 2005-11-23 20:12:07 +0100 | [diff] [blame] | 22 | #include <windef.h> |
| 23 | #include <schnlsp.h> |
| 24 | |
| 25 | #ifndef LDAPAPI |
| 26 | #define LDAPAPI __cdecl |
| 27 | #endif |
| 28 | |
| 29 | |
Hans Leidekker | a745ca0 | 2005-07-13 11:32:08 +0000 | [diff] [blame] | 30 | typedef enum { |
| 31 | LDAP_SUCCESS = 0x00, |
| 32 | LDAP_OPERATIONS_ERROR = 0x01, |
| 33 | LDAP_PROTOCOL_ERROR = 0x02, |
| 34 | LDAP_TIMELIMIT_EXCEEDED = 0x03, |
| 35 | LDAP_SIZELIMIT_EXCEEDED = 0x04, |
| 36 | LDAP_COMPARE_FALSE = 0x05, |
| 37 | LDAP_COMPARE_TRUE = 0x06, |
| 38 | LDAP_AUTH_METHOD_NOT_SUPPORTED = 0x07, |
| 39 | LDAP_STRONG_AUTH_REQUIRED = 0x08, |
| 40 | LDAP_REFERRAL_V2 = 0x09, |
| 41 | LDAP_PARTIAL_RESULTS = 0x09, |
| 42 | LDAP_REFERRAL = 0x0a, |
| 43 | LDAP_ADMIN_LIMIT_EXCEEDED = 0x0b, |
| 44 | LDAP_UNAVAILABLE_CRIT_EXTENSION = 0x0c, |
| 45 | LDAP_CONFIDENTIALITY_REQUIRED = 0x0d, |
| 46 | LDAP_SASL_BIND_IN_PROGRESS = 0x0e, |
| 47 | |
| 48 | LDAP_NO_SUCH_ATTRIBUTE = 0x10, |
| 49 | LDAP_UNDEFINED_TYPE = 0x11, |
| 50 | LDAP_INAPPROPRIATE_MATCHING = 0x12, |
| 51 | LDAP_CONSTRAINT_VIOLATION = 0x13, |
| 52 | LDAP_ATTRIBUTE_OR_VALUE_EXISTS = 0x14, |
| 53 | LDAP_INVALID_SYNTAX = 0x15, |
| 54 | |
| 55 | LDAP_NO_SUCH_OBJECT = 0x20, |
| 56 | LDAP_ALIAS_PROBLEM = 0x21, |
| 57 | LDAP_INVALID_DN_SYNTAX = 0x22, |
| 58 | LDAP_IS_LEAF = 0x23, |
| 59 | LDAP_ALIAS_DEREF_PROBLEM = 0x24, |
| 60 | |
| 61 | LDAP_INAPPROPRIATE_AUTH = 0x30, |
| 62 | LDAP_INVALID_CREDENTIALS = 0x31, |
| 63 | LDAP_INSUFFICIENT_RIGHTS = 0x32, |
| 64 | LDAP_BUSY = 0x33, |
| 65 | LDAP_UNAVAILABLE = 0x34, |
| 66 | LDAP_UNWILLING_TO_PERFORM = 0x35, |
| 67 | LDAP_LOOP_DETECT = 0x36, |
| 68 | LDAP_SORT_CONTROL_MISSING = 0x3C, |
| 69 | LDAP_OFFSET_RANGE_ERROR = 0x3D, |
| 70 | |
| 71 | LDAP_NAMING_VIOLATION = 0x40, |
| 72 | LDAP_OBJECT_CLASS_VIOLATION = 0x41, |
| 73 | LDAP_NOT_ALLOWED_ON_NONLEAF = 0x42, |
| 74 | LDAP_NOT_ALLOWED_ON_RDN = 0x43, |
| 75 | LDAP_ALREADY_EXISTS = 0x44, |
| 76 | LDAP_NO_OBJECT_CLASS_MODS = 0x45, |
| 77 | LDAP_RESULTS_TOO_LARGE = 0x46, |
| 78 | LDAP_AFFECTS_MULTIPLE_DSAS = 0x47, |
| 79 | |
| 80 | LDAP_VIRTUAL_LIST_VIEW_ERROR = 0x4c, |
| 81 | |
| 82 | LDAP_OTHER = 0x50, |
| 83 | LDAP_SERVER_DOWN = 0x51, |
| 84 | LDAP_LOCAL_ERROR = 0x52, |
| 85 | LDAP_ENCODING_ERROR = 0x53, |
| 86 | LDAP_DECODING_ERROR = 0x54, |
| 87 | LDAP_TIMEOUT = 0x55, |
| 88 | LDAP_AUTH_UNKNOWN = 0x56, |
| 89 | LDAP_FILTER_ERROR = 0x57, |
| 90 | LDAP_USER_CANCELLED = 0x58, |
| 91 | LDAP_PARAM_ERROR = 0x59, |
| 92 | LDAP_NO_MEMORY = 0x5a, |
| 93 | LDAP_CONNECT_ERROR = 0x5b, |
| 94 | LDAP_NOT_SUPPORTED = 0x5c, |
| 95 | LDAP_NO_RESULTS_RETURNED = 0x5e, |
| 96 | LDAP_CONTROL_NOT_FOUND = 0x5d, |
| 97 | LDAP_MORE_RESULTS_TO_RETURN = 0x5f, |
| 98 | |
| 99 | LDAP_CLIENT_LOOP = 0x60, |
| 100 | LDAP_REFERRAL_LIMIT_EXCEEDED = 0x61 |
| 101 | } LDAP_RETCODE; |
| 102 | |
| 103 | #define LDAP_SCOPE_BASE 0x00 |
| 104 | #define LDAP_SCOPE_ONELEVEL 0x01 |
| 105 | #define LDAP_SCOPE_SUBTREE 0x02 |
| 106 | |
| 107 | typedef struct berelement |
| 108 | { |
| 109 | PCHAR opaque; |
| 110 | } BerElement; |
| 111 | |
Hans Leidekker | 88c2d83 | 2005-08-10 15:00:21 +0000 | [diff] [blame] | 112 | #define LDAP_OPT_API_INFO 0x00 |
| 113 | #define LDAP_OPT_DESC 0x01 |
| 114 | #define LDAP_OPT_DEREF 0x02 |
| 115 | #define LDAP_OPT_SIZELIMIT 0x03 |
| 116 | #define LDAP_OPT_TIMELIMIT 0x04 |
| 117 | #define LDAP_OPT_THREAD_FN_PTRS 0x05 |
| 118 | #define LDAP_OPT_REBIND_FN 0x06 |
| 119 | #define LDAP_OPT_REBIND_ARG 0x07 |
Dmitry Timoshkov | d09c8a8 | 2005-08-11 10:33:42 +0000 | [diff] [blame] | 120 | #define LDAP_OPT_REFERRALS 0x08 |
| 121 | #define LDAP_OPT_RESTART 0x09 |
Hans Leidekker | 88c2d83 | 2005-08-10 15:00:21 +0000 | [diff] [blame] | 122 | #define LDAP_OPT_SSL 0x0a |
| 123 | #define LDAP_OPT_IO_FN_PTRS 0x0b |
| 124 | #define LDAP_OPT_CACHE_FN_PTRS 0x0d |
| 125 | #define LDAP_OPT_CACHE_STRATEGY 0x0e |
| 126 | #define LDAP_OPT_CACHE_ENABLE 0x0f |
| 127 | #define LDAP_OPT_REFERRAL_HOP_LIMIT 0x10 |
| 128 | #define LDAP_OPT_PROTOCOL_VERSION 0x11 |
| 129 | #define LDAP_OPT_VERSION 0x11 |
| 130 | #define LDAP_OPT_API_FEATURE_INFO 0x15 |
| 131 | #define LDAP_OPT_HOST_NAME 0x30 |
| 132 | #define LDAP_OPT_ERROR_NUMBER 0x31 |
| 133 | #define LDAP_OPT_ERROR_STRING 0x32 |
| 134 | #define LDAP_OPT_SERVER_ERROR 0x33 |
| 135 | #define LDAP_OPT_SERVER_EXT_ERROR 0x34 |
| 136 | #define LDAP_OPT_PING_KEEP_ALIVE 0x36 |
| 137 | #define LDAP_OPT_PING_WAIT_TIME 0x37 |
| 138 | #define LDAP_OPT_PING_LIMIT 0x38 |
| 139 | #define LDAP_OPT_DNSDOMAIN_NAME 0x3b |
| 140 | #define LDAP_OPT_GETDSNAME_FLAGS 0x3d |
| 141 | #define LDAP_OPT_HOST_REACHABLE 0x3e |
| 142 | #define LDAP_OPT_PROMPT_CREDENTIALS 0x3f |
| 143 | #define LDAP_OPT_TCP_KEEPALIVE 0x40 |
| 144 | #define LDAP_OPT_FAST_CONCURRENT_BIND 0x41 |
| 145 | #define LDAP_OPT_SEND_TIMEOUT 0x42 |
| 146 | #define LDAP_OPT_REFERRAL_CALLBACK 0x70 |
| 147 | #define LDAP_OPT_CLIENT_CERTIFICATE 0x80 |
| 148 | #define LDAP_OPT_SERVER_CERTIFICATE 0x81 |
| 149 | #define LDAP_OPT_AUTO_RECONNECT 0x91 |
| 150 | #define LDAP_OPT_SSPI_FLAGS 0x92 |
| 151 | #define LDAP_OPT_SSL_INFO 0x93 |
| 152 | #define LDAP_OPT_REF_DEREF_CONN_PER_MSG 0x94 |
| 153 | #define LDAP_OPT_TLS LDAP_OPT_SSL |
| 154 | #define LDAP_OPT_TLS_INFO LDAP_OPT_SSL_INFO |
| 155 | #define LDAP_OPT_SIGN 0x95 |
| 156 | #define LDAP_OPT_ENCRYPT 0x96 |
| 157 | #define LDAP_OPT_SASL_METHOD 0x97 |
| 158 | #define LDAP_OPT_AREC_EXCLUSIVE 0x98 |
| 159 | #define LDAP_OPT_SECURITY_CONTEXT 0x99 |
| 160 | #define LDAP_OPT_ROOTDSE_CACHE 0x9a |
| 161 | |
Dmitry Timoshkov | d09c8a8 | 2005-08-11 10:33:42 +0000 | [diff] [blame] | 162 | #define LDAP_OPT_ON ((void *)1) |
| 163 | #define LDAP_OPT_OFF ((void *)0) |
| 164 | |
Hans Leidekker | 88c2d83 | 2005-08-10 15:00:21 +0000 | [diff] [blame] | 165 | #define LDAP_VERSION1 1 |
| 166 | #define LDAP_VERSION2 2 |
| 167 | #define LDAP_VERSION3 3 |
| 168 | #define LDAP_VERSION LDAP_VERSION2 |
| 169 | |
| 170 | #define LDAP_MSG_ONE 0 |
| 171 | #define LDAP_MSG_ALL 1 |
| 172 | #define LDAP_MSG_RECEIVED 2 |
| 173 | |
| 174 | #define LDAP_RES_BIND 0x61 |
| 175 | #define LDAP_RES_SEARCH_ENTRY 0x64 |
| 176 | #define LDAP_RES_SEARCH_RESULT 0x65 |
| 177 | #define LDAP_RES_MODIFY 0x67 |
| 178 | #define LDAP_RES_ADD 0x69 |
| 179 | #define LDAP_RES_DELETE 0x6b |
| 180 | #define LDAP_RES_MODRDN 0x6d |
| 181 | #define LDAP_RES_COMPARE 0x6f |
| 182 | #define LDAP_RES_SESSION 0x72 |
| 183 | #define LDAP_RES_REFERRAL 0x73 |
| 184 | #define LDAP_RES_EXTENDED 0x78 |
| 185 | #define LDAP_RES_ANY (-1) |
| 186 | |
Hans Leidekker | a745ca0 | 2005-07-13 11:32:08 +0000 | [diff] [blame] | 187 | typedef struct ldap |
| 188 | { |
| 189 | struct |
| 190 | { |
| 191 | UINT_PTR sb_sd; |
| 192 | UCHAR Reserved1[41]; |
| 193 | ULONG_PTR sb_naddr; |
| 194 | UCHAR Reserved2[24]; |
| 195 | } ld_sb; |
| 196 | |
| 197 | PCHAR ld_host; |
| 198 | ULONG ld_version; |
| 199 | UCHAR ld_lberoptions; |
| 200 | ULONG ld_deref; |
| 201 | ULONG ld_timelimit; |
| 202 | ULONG ld_sizelimit; |
| 203 | ULONG ld_errno; |
| 204 | PCHAR ld_matched; |
| 205 | PCHAR ld_error; |
| 206 | ULONG ld_msgid; |
| 207 | UCHAR Reserved3[25]; |
| 208 | ULONG ld_cldaptries; |
| 209 | ULONG ld_cldaptimeout; |
| 210 | ULONG ld_refhoplimit; |
| 211 | ULONG ld_options; |
| 212 | } LDAP, *PLDAP; |
| 213 | |
| 214 | #define LDAP_MOD_ADD 0x00 |
| 215 | #define LDAP_MOD_DELETE 0x01 |
| 216 | #define LDAP_MOD_REPLACE 0x02 |
| 217 | #define LDAP_MOD_BVALUES 0x80 |
| 218 | |
| 219 | typedef struct ldapmodA { |
| 220 | ULONG mod_op; |
| 221 | PCHAR mod_type; |
| 222 | union { |
| 223 | PCHAR *modv_strvals; |
| 224 | struct berval **modv_bvals; |
| 225 | } mod_vals; |
| 226 | } LDAPModA, *PLDAPModA; |
| 227 | |
| 228 | typedef struct ldapmodW { |
| 229 | ULONG mod_op; |
| 230 | PWCHAR mod_type; |
| 231 | union { |
| 232 | PWCHAR *modv_strvals; |
| 233 | struct berval **modv_bvals; |
| 234 | } mod_vals; |
| 235 | } LDAPModW, *PLDAPModW; |
| 236 | |
| 237 | DECL_WINELIB_TYPE_AW(LDAPMod) |
| 238 | DECL_WINELIB_TYPE_AW(PLDAPMod) |
| 239 | |
| 240 | typedef struct l_timeval |
| 241 | { |
| 242 | LONG tv_sec; |
| 243 | LONG tv_usec; |
| 244 | } LDAP_TIMEVAL, *PLDAP_TIMEVAL; |
| 245 | |
| 246 | typedef struct ldapmsg |
| 247 | { |
| 248 | ULONG lm_msgid; |
| 249 | ULONG lm_msgtype; |
| 250 | |
| 251 | PVOID lm_ber; |
| 252 | |
| 253 | struct ldapmsg *lm_chain; |
| 254 | struct ldapmsg *lm_next; |
| 255 | ULONG lm_time; |
| 256 | |
| 257 | PLDAP Connection; |
| 258 | PVOID Request; |
| 259 | ULONG lm_returncode; |
| 260 | USHORT lm_referral; |
| 261 | BOOLEAN lm_chased; |
| 262 | BOOLEAN lm_eom; |
| 263 | BOOLEAN ConnectionReferenced; |
| 264 | } LDAPMessage, *PLDAPMessage; |
| 265 | |
| 266 | #define LAPI_MAJOR_VER1 1 |
| 267 | #define LAPI_MINOR_VER1 1 |
| 268 | |
| 269 | typedef struct ldap_version_info |
| 270 | { |
| 271 | ULONG lv_size; |
| 272 | ULONG lv_major; |
| 273 | ULONG lv_minor; |
| 274 | } LDAP_VERSION_INFO, *PLDAP_VERSION_INFO; |
| 275 | |
| 276 | typedef struct berval |
| 277 | { |
| 278 | ULONG bv_len; |
| 279 | PCHAR bv_val; |
| 280 | } LDAP_BERVAL, *PLDAP_BERVAL, BERVAL, *PBERVAL, BerValue; |
| 281 | |
| 282 | typedef struct ldapcontrolA |
| 283 | { |
| 284 | PCHAR ldctl_oid; |
| 285 | struct berval ldctl_value; |
| 286 | BOOLEAN ldctl_iscritical; |
| 287 | } LDAPControlA, *PLDAPControlA; |
| 288 | |
| 289 | typedef struct ldapcontrolW |
| 290 | { |
| 291 | PWCHAR ldctl_oid; |
| 292 | struct berval ldctl_value; |
| 293 | BOOLEAN ldctl_iscritical; |
| 294 | } LDAPControlW, *PLDAPControlW; |
| 295 | |
| 296 | DECL_WINELIB_TYPE_AW(LDAPControl) |
| 297 | DECL_WINELIB_TYPE_AW(PLDAPControl) |
| 298 | |
| 299 | typedef struct ldapvlvinfo |
| 300 | { |
| 301 | int ldvlv_version; |
| 302 | ULONG ldvlv_before_count; |
| 303 | ULONG ldvlv_after_count; |
| 304 | ULONG ldvlv_offset; |
| 305 | ULONG ldvlv_count; |
| 306 | PBERVAL ldvlv_attrvalue; |
| 307 | PBERVAL ldvlv_context; |
| 308 | VOID *ldvlv_extradata; |
| 309 | } LDAPVLVInfo, *PLDAPVLVInfo; |
| 310 | |
| 311 | typedef struct ldapsearch LDAPSearch, *PLDAPSearch; |
| 312 | |
| 313 | typedef struct ldapsortkeyA |
| 314 | { |
| 315 | PCHAR sk_attrtype; |
| 316 | PCHAR sk_matchruleoid; |
| 317 | BOOLEAN sk_reverseorder; |
| 318 | } LDAPSortKeyA, *PLDAPSortKeyA; |
| 319 | |
| 320 | typedef struct ldapsortkeyW |
| 321 | { |
| 322 | PWCHAR sk_attrtype; |
| 323 | PWCHAR sk_matchruleoid; |
| 324 | BOOLEAN sk_reverseorder; |
| 325 | } LDAPSortKeyW, *PLDAPSortKeyW; |
| 326 | |
| 327 | DECL_WINELIB_TYPE_AW(LDAPSortKey) |
| 328 | DECL_WINELIB_TYPE_AW(PLDAPSortKey) |
| 329 | |
Hans Leidekker | 88c2d83 | 2005-08-10 15:00:21 +0000 | [diff] [blame] | 330 | #define LDAP_API_INFO_VERSION 1 |
| 331 | |
| 332 | typedef struct ldapapiinfoA |
| 333 | { |
| 334 | int ldapai_info_version; |
| 335 | int ldapai_api_version; |
| 336 | int ldapai_protocol_version; |
| 337 | char **ldapai_extensions; |
| 338 | char *ldapai_vendor_name; |
| 339 | int ldapai_vendor_version; |
| 340 | } LDAPAPIInfoA; |
| 341 | |
| 342 | typedef struct ldapapiinfoW |
| 343 | { |
| 344 | int ldapai_info_version; |
| 345 | int ldapai_api_version; |
| 346 | int ldapai_protocol_version; |
| 347 | PWCHAR *ldapai_extensions; |
| 348 | PWCHAR ldapai_vendor_name; |
| 349 | int ldapai_vendor_version; |
| 350 | } LDAPAPIInfoW; |
| 351 | |
| 352 | DECL_WINELIB_TYPE_AW(LDAPAPIInfo) |
| 353 | |
| 354 | #define LDAP_FEATURE_INFO_VERSION 1 |
| 355 | |
| 356 | typedef struct ldap_apifeature_infoA |
| 357 | { |
| 358 | int ldapaif_info_version; |
| 359 | char *ldapaif_name; |
| 360 | int ldapaif_version; |
| 361 | } LDAPAPIFeatureInfoA; |
| 362 | |
| 363 | typedef struct ldap_apifeature_infoW |
| 364 | { |
| 365 | int ldapaif_info_version; |
| 366 | PWCHAR ldapaif_name; |
| 367 | int ldapaif_version; |
| 368 | } LDAPAPIFeatureInfoW; |
| 369 | |
| 370 | DECL_WINELIB_TYPE_AW(LDAPAPIFeatureInfo) |
| 371 | |
Francois Gouget | f667584 | 2005-11-23 20:12:07 +0100 | [diff] [blame] | 372 | |
| 373 | #ifdef __cplusplus |
| 374 | extern "C" { |
| 375 | #endif |
| 376 | |
Hans Leidekker | a745ca0 | 2005-07-13 11:32:08 +0000 | [diff] [blame] | 377 | LDAP *cldap_openA(PCHAR,ULONG); |
| 378 | LDAP *cldap_openW(PWCHAR,ULONG); |
| 379 | #define cldap_open WINELIB_NAME_AW(cldap_open) |
| 380 | ULONG ldap_abandon(LDAP*,ULONG); |
| 381 | ULONG ldap_addA(LDAP*,PCHAR,LDAPModA*[]); |
| 382 | ULONG ldap_addW(LDAP*,PWCHAR,LDAPModW*[]); |
| 383 | #define ldap_add WINELIB_NAME_AW(ldap_add) |
| 384 | ULONG ldap_add_extA(LDAP*,PCHAR,LDAPModA*[],PLDAPControlA*,PLDAPControlA*,ULONG*); |
| 385 | ULONG ldap_add_extW(LDAP*,PWCHAR,LDAPModW*[],PLDAPControlW*,PLDAPControlW*,ULONG*); |
| 386 | #define ldap_add_ext WINELIB_NAME_AW(ldap_add_ext) |
| 387 | ULONG ldap_add_ext_sA(LDAP*,PCHAR,LDAPModA*[],PLDAPControlA*,PLDAPControlA*); |
| 388 | ULONG ldap_add_ext_sW(LDAP*,PWCHAR,LDAPModW*[],PLDAPControlW*,PLDAPControlW*); |
| 389 | #define ldap_add_ext_s WINELIB_NAME_AW(ldap_add_ext_s) |
| 390 | ULONG ldap_add_sA(LDAP*,PCHAR,LDAPModA*[]); |
| 391 | ULONG ldap_add_sW(LDAP*,PWCHAR,LDAPModW*[]); |
| 392 | #define ldap_add_s WINELIB_NAME_AW(ldap_add_s) |
| 393 | ULONG ldap_bindA(LDAP*,PCHAR,PCHAR,ULONG); |
| 394 | ULONG ldap_bindW(LDAP*,PWCHAR,PWCHAR,ULONG); |
| 395 | #define ldap_bind WINELIB_NAME_AW(ldap_bind) |
| 396 | ULONG ldap_bind_sA(LDAP*,PCHAR,PCHAR,ULONG); |
| 397 | ULONG ldap_bind_sW(LDAP*,PWCHAR,PWCHAR,ULONG); |
| 398 | #define ldap_bind_s WINELIB_NAME_AW(ldap_bind_s) |
| 399 | ULONG ldap_check_filterA(LDAP*,PCHAR); |
| 400 | ULONG ldap_check_filterW(LDAP*,PWCHAR); |
| 401 | #define ldap_check_filter WINELIB_NAME_AW(ldap_check_filter) |
| 402 | ULONG ldap_cleanup(HANDLE); |
| 403 | ULONG ldap_close_extended_op(LDAP*,ULONG); |
| 404 | LDAP *ldap_conn_from_msg(LDAP*,LDAPMessage*); |
| 405 | ULONG ldap_compareA(LDAP*,PCHAR,PCHAR,PCHAR); |
| 406 | ULONG ldap_compareW(LDAP*,PWCHAR,PWCHAR,PWCHAR); |
| 407 | #define ldap_compare WINELIB_NAME_AW(ldap_compare) |
| 408 | ULONG ldap_compare_extA(LDAP*,PCHAR,PCHAR,PCHAR,struct berval*,PLDAPControlA*,PLDAPControlA*,ULONG*); |
| 409 | ULONG ldap_compare_extW(LDAP*,PWCHAR,PWCHAR,PWCHAR,struct berval*,PLDAPControlW*,PLDAPControlW*,ULONG*); |
| 410 | #define ldap_compare_ext WINELIB_NAME_AW(ldap_compare_ext) |
| 411 | ULONG ldap_compare_ext_sA(LDAP*,PCHAR,PCHAR,PCHAR,struct berval*,PLDAPControlA*,PLDAPControlA*); |
| 412 | ULONG ldap_compare_ext_sW(LDAP*,PWCHAR,PWCHAR,PWCHAR,struct berval*,PLDAPControlW*,PLDAPControlW*); |
| 413 | #define ldap_compare_ext_s WINELIB_NAME_AW(ldap_compare_ext_s) |
| 414 | ULONG ldap_compare_sA(LDAP*,PCHAR,PCHAR,PCHAR); |
| 415 | ULONG ldap_compare_sW(LDAP*,PWCHAR,PWCHAR,PWCHAR); |
| 416 | #define ldap_compare_s WINELIB_NAME_AW(ldap_compare_s) |
Francois Gouget | f667584 | 2005-11-23 20:12:07 +0100 | [diff] [blame] | 417 | ULONG ldap_connect(LDAP*,struct l_timeval*); |
Hans Leidekker | a745ca0 | 2005-07-13 11:32:08 +0000 | [diff] [blame] | 418 | ULONG ldap_control_freeA(LDAPControlA*); |
| 419 | ULONG ldap_control_freeW(LDAPControlW*); |
| 420 | #define ldap_control_free WINELIB_NAME_AW(ldap_control_free) |
| 421 | ULONG ldap_controls_freeA(LDAPControlA**); |
| 422 | ULONG ldap_controls_freeW(LDAPControlW**); |
| 423 | #define ldap_controls_free WINELIB_NAME_AW(ldap_controls_free) |
| 424 | ULONG ldap_count_entries(LDAP*,LDAPMessage*); |
| 425 | ULONG ldap_count_references(LDAP*,LDAPMessage*); |
| 426 | ULONG ldap_count_values_len(struct berval**); |
| 427 | ULONG ldap_count_valuesA(PCHAR*); |
| 428 | ULONG ldap_count_valuesW(PWCHAR*); |
| 429 | #define ldap_count_values WINELIB_NAME_AW(ldap_count_values) |
| 430 | ULONG ldap_create_page_controlA(PLDAP,ULONG,struct berval*,UCHAR,PLDAPControlA*); |
| 431 | ULONG ldap_create_page_controlW(PLDAP,ULONG,struct berval*,UCHAR,PLDAPControlW*); |
| 432 | #define ldap_create_page_control WINELIB_NAME_AW(ldap_create_page_control) |
| 433 | ULONG ldap_create_sort_controlA(PLDAP,PLDAPSortKeyA*,UCHAR,PLDAPControlA*); |
| 434 | ULONG ldap_create_sort_controlW(PLDAP,PLDAPSortKeyW*,UCHAR,PLDAPControlW*); |
| 435 | #define ldap_create_sort_control WINELIB_NAME_AW(ldap_create_sort_control) |
Francois Gouget | f667584 | 2005-11-23 20:12:07 +0100 | [diff] [blame] | 436 | INT ldap_create_vlv_controlA(PLDAP,PLDAPVLVInfo,UCHAR,PLDAPControlA*); |
| 437 | INT ldap_create_vlv_controlW(PLDAP,PLDAPVLVInfo,UCHAR,PLDAPControlW*); |
Hans Leidekker | a745ca0 | 2005-07-13 11:32:08 +0000 | [diff] [blame] | 438 | #define ldap_create_vlv_control WINELIB_NAME_AW(ldap_create_vlv_control) |
| 439 | ULONG ldap_deleteA(LDAP*,PCHAR); |
| 440 | ULONG ldap_deleteW(LDAP*,PWCHAR); |
| 441 | #define ldap_delete WINELIB_NAME_AW(ldap_delete) |
| 442 | ULONG ldap_delete_extA(LDAP*,PCHAR,PLDAPControlA*,PLDAPControlA*,ULONG*); |
| 443 | ULONG ldap_delete_extW(LDAP*,PWCHAR,PLDAPControlW*,PLDAPControlW*,ULONG*); |
| 444 | #define ldap_delete_ext WINELIB_NAME_AW(ldap_delete_ext) |
| 445 | ULONG ldap_delete_ext_sA(LDAP*,PCHAR,PLDAPControlA*,PLDAPControlA*); |
| 446 | ULONG ldap_delete_ext_sW(LDAP*,PWCHAR,PLDAPControlW*,PLDAPControlW*); |
| 447 | #define ldap_delete_ext_s WINELIB_NAME_AW(ldap_delete_ext_s) |
| 448 | ULONG ldap_delete_sA(LDAP*,PCHAR); |
| 449 | ULONG ldap_delete_sW(LDAP*,PWCHAR); |
| 450 | #define ldap_delete_s WINELIB_NAME_AW(ldap_delete_s) |
| 451 | PCHAR ldap_dn2ufnA(PCHAR); |
| 452 | PWCHAR ldap_dn2ufnW(PWCHAR); |
| 453 | #define ldap_dn2ufn WINELIB_NAME_AW(ldap_dn2ufn) |
| 454 | ULONG ldap_encode_sort_controlA(PLDAP,PLDAPSortKeyA*,PLDAPControlA,BOOLEAN); |
| 455 | ULONG ldap_encode_sort_controlW(PLDAP,PLDAPSortKeyW*,PLDAPControlW,BOOLEAN); |
| 456 | #define ldap_encode_sort_control WINELIB_NAME_AW(ldap_encode_sort_control) |
| 457 | PCHAR ldap_err2stringA(ULONG); |
| 458 | PWCHAR ldap_err2stringW(ULONG); |
| 459 | #define ldap_err2string WINELIB_NAME_AW(ldap_err2string) |
| 460 | ULONG ldap_escape_filter_elementA(PCHAR,ULONG,PCHAR,ULONG); |
Hans Leidekker | d15d1c4 | 2005-09-07 09:24:50 +0000 | [diff] [blame] | 461 | ULONG ldap_escape_filter_elementW(PCHAR,ULONG,PWCHAR,ULONG); |
Hans Leidekker | a745ca0 | 2005-07-13 11:32:08 +0000 | [diff] [blame] | 462 | #define ldap_escape_filter_element WINELIB_NAME_AW(ldap_escape_filter_element) |
| 463 | PCHAR *ldap_explode_dnA(PCHAR,ULONG); |
| 464 | PWCHAR *ldap_explode_dnW(PWCHAR,ULONG); |
| 465 | #define ldap_explode_dn WINELIB_NAME_AW(ldap_explode_dn) |
| 466 | ULONG ldap_extended_operationA(LDAP*,PCHAR,struct berval*,PLDAPControlA*,PLDAPControlA*,ULONG*); |
| 467 | ULONG ldap_extended_operationW(LDAP*,PWCHAR,struct berval*,PLDAPControlW*,PLDAPControlW*,ULONG*); |
| 468 | #define ldap_extended_operation WINELIB_NAME_AW(ldap_extended_operation) |
| 469 | ULONG ldap_extended_operation_sA(LDAP*,PCHAR,struct berval*,PLDAPControlA*,PLDAPControlA*,PCHAR*,struct berval**); |
| 470 | ULONG ldap_extended_operation_sW(LDAP*,PWCHAR,struct berval*,PLDAPControlW*,PLDAPControlW*,PWCHAR*,struct berval**); |
| 471 | #define ldap_extended_operation_s WINELIB_NAME_AW(ldap_extended_operation_s) |
| 472 | PCHAR ldap_first_attributeA(LDAP*,LDAPMessage*,BerElement**); |
| 473 | PWCHAR ldap_first_attributeW(LDAP*,LDAPMessage*,BerElement**); |
| 474 | #define ldap_first_attribute WINELIB_NAME_AW(ldap_first_attribute) |
| 475 | LDAPMessage *ldap_first_entry(LDAP*,LDAPMessage*); |
| 476 | LDAPMessage* ldap_first_reference(LDAP*,LDAPMessage*); |
| 477 | ULONG ldap_free_controlsA(LDAPControlA**); |
| 478 | ULONG ldap_free_controlsW(LDAPControlW**); |
| 479 | #define ldap_free_controls WINELIB_NAME_AW(ldap_free_controls) |
| 480 | PCHAR ldap_get_dnA(LDAP*,LDAPMessage*); |
| 481 | PWCHAR ldap_get_dnW(LDAP*,LDAPMessage*); |
| 482 | #define ldap_get_dn WINELIB_NAME_AW(ldap_get_dn) |
Francois Gouget | 4a4ab52 | 2005-12-02 13:01:07 +0100 | [diff] [blame] | 483 | ULONG ldap_get_next_page(PLDAP,PLDAPSearch,ULONG,ULONG*); |
| 484 | ULONG ldap_get_next_page_s(PLDAP,PLDAPSearch,struct l_timeval*,ULONG,ULONG*,LDAPMessage**); |
Hans Leidekker | a745ca0 | 2005-07-13 11:32:08 +0000 | [diff] [blame] | 485 | ULONG ldap_get_optionA(LDAP*,int,void*); |
| 486 | ULONG ldap_get_optionW(LDAP*,int,void*); |
| 487 | #define ldap_get_option WINELIB_NAME_AW(ldap_get_option) |
| 488 | ULONG ldap_get_paged_count(LDAP*,PLDAPSearch,ULONG*,LDAPMessage*); |
| 489 | PCHAR *ldap_get_valuesA(LDAP*,LDAPMessage*,PCHAR); |
| 490 | PWCHAR *ldap_get_valuesW(LDAP*,LDAPMessage*,PWCHAR); |
| 491 | #define ldap_get_values WINELIB_NAME_AW(ldap_get_values) |
| 492 | struct berval **ldap_get_values_lenA(LDAP*,LDAPMessage*,PCHAR); |
| 493 | struct berval **ldap_get_values_lenW(LDAP*,LDAPMessage*,PWCHAR); |
| 494 | #define ldap_get_values_len WINELIB_NAME_AW(ldap_get_values_len) |
| 495 | LDAP *ldap_initA(const PCHAR,ULONG); |
| 496 | LDAP *ldap_initW(const PWCHAR,ULONG); |
| 497 | #define ldap_init WINELIB_NAME_AW(ldap_init) |
| 498 | VOID ldap_memfreeA(PCHAR); |
| 499 | VOID ldap_memfreeW(PWCHAR); |
| 500 | #define ldap_memfree WINELIB_NAME_AW(ldap_memfree) |
| 501 | ULONG ldap_modifyA(LDAP*,PCHAR,LDAPModA*[]); |
| 502 | ULONG ldap_modifyW(LDAP*,PWCHAR,LDAPModW*[]); |
| 503 | #define ldap_modify WINELIB_NAME_AW(ldap_modify) |
| 504 | ULONG ldap_modify_extA(LDAP*,PCHAR,LDAPModA*[],PLDAPControlA*,PLDAPControlA*,ULONG*); |
| 505 | ULONG ldap_modify_extW(LDAP*,PWCHAR,LDAPModW*[],PLDAPControlW*,PLDAPControlW*,ULONG*); |
| 506 | #define ldap_modify_ext WINELIB_NAME_AW(ldap_modify_ext) |
| 507 | ULONG ldap_modify_ext_sA(LDAP*,PCHAR,LDAPModA*[],PLDAPControlA*,PLDAPControlA*); |
| 508 | ULONG ldap_modify_ext_sW(LDAP*,PWCHAR,LDAPModW*[],PLDAPControlW*,PLDAPControlW*); |
| 509 | #define ldap_modify_ext_s WINELIB_NAME_AW(ldap_modify_ext_s) |
| 510 | ULONG ldap_modify_sA(LDAP*,PCHAR,LDAPModA*[]); |
| 511 | ULONG ldap_modify_sW(LDAP*,PWCHAR,LDAPModW*[]); |
| 512 | #define ldap_modify_s WINELIB_NAME_AW(ldap_modify_s) |
| 513 | ULONG ldap_modrdnA(LDAP*,PCHAR,PCHAR); |
| 514 | ULONG ldap_modrdnW(LDAP*,PWCHAR,PWCHAR); |
| 515 | #define ldap_modrdn WINELIB_NAME_AW(ldap_modrdn) |
| 516 | ULONG ldap_modrdn2A(LDAP*,PCHAR,PCHAR,INT); |
| 517 | ULONG ldap_modrdn2W(LDAP*,PWCHAR,PWCHAR,INT); |
| 518 | #define ldap_modrdn2 WINELIB_NAME_AW(ldap_modrdn2) |
| 519 | ULONG ldap_modrdn2_sA(LDAP*,PCHAR,PCHAR,INT); |
| 520 | ULONG ldap_modrdn2_sW(LDAP*,PWCHAR,PWCHAR,INT); |
| 521 | #define ldap_modrdn2_s WINELIB_NAME_AW(ldap_modrdn2_s) |
| 522 | ULONG ldap_modrdn_sA(LDAP*,PCHAR,PCHAR); |
| 523 | ULONG ldap_modrdn_sW(LDAP*,PWCHAR,PWCHAR); |
| 524 | #define ldap_modrdn_s WINELIB_NAME_AW(ldap_modrdn_s) |
| 525 | ULONG ldap_msgfree(LDAPMessage*); |
| 526 | PCHAR ldap_next_attributeA(LDAP*,LDAPMessage*,BerElement*); |
| 527 | PWCHAR ldap_next_attributeW(LDAP*,LDAPMessage*,BerElement*); |
| 528 | #define ldap_next_attribute WINELIB_NAME_AW(ldap_next_attribute) |
| 529 | LDAPMessage *ldap_next_entry(LDAP*,LDAPMessage*); |
| 530 | LDAP *ldap_openA(PCHAR,ULONG); |
| 531 | LDAP *ldap_openW(PWCHAR,ULONG); |
| 532 | #define ldap_open WINELIB_NAME_AW(ldap_open) |
| 533 | ULONG ldap_parse_extended_resultA(LDAP*,LDAPMessage*,PCHAR*,struct berval**,BOOLEAN); |
| 534 | ULONG ldap_parse_extended_resultW(LDAP*,LDAPMessage*,PWCHAR*,struct berval**,BOOLEAN); |
| 535 | #define ldap_parse_extended_result WINELIB_NAME_AW(ldap_parse_extended_result) |
| 536 | ULONG ldap_parse_page_controlA(LDAP*,PLDAPControlA*,ULONG*,struct berval**); |
| 537 | ULONG ldap_parse_page_controlW(LDAP*,PLDAPControlW*,ULONG*,struct berval**); |
| 538 | #define ldap_parse_page_control WINELIB_NAME_AW(ldap_parse_page_control) |
| 539 | ULONG ldap_parse_referenceA(LDAP*,LDAPMessage*,PCHAR**); |
| 540 | ULONG ldap_parse_referenceW(LDAP*,LDAPMessage*,PWCHAR**); |
| 541 | #define ldap_parse_reference WINELIB_NAME_AW(ldap_parse_reference) |
| 542 | ULONG ldap_result2error(LDAP*,LDAPMessage*,ULONG); |
| 543 | ULONG ldap_parse_resultA(LDAP*,LDAPMessage*,ULONG*,PCHAR*,PCHAR*,PCHAR**,PLDAPControlA**,BOOLEAN); |
| 544 | ULONG ldap_parse_resultW(LDAP*,LDAPMessage*,ULONG*,PWCHAR*,PWCHAR*,PWCHAR**,PLDAPControlW**,BOOLEAN); |
| 545 | #define ldap_parse_result WINELIB_NAME_AW(ldap_parse_result) |
| 546 | ULONG ldap_parse_sort_controlA(LDAP*,PLDAPControlA*,ULONG*,PCHAR*); |
| 547 | ULONG ldap_parse_sort_controlW(LDAP*,PLDAPControlW*,ULONG*,PWCHAR*); |
| 548 | #define ldap_parse_sort_control WINELIB_NAME_AW(ldap_parse_sort_control) |
Francois Gouget | 4a4ab52 | 2005-12-02 13:01:07 +0100 | [diff] [blame] | 549 | INT ldap_parse_vlv_controlA(PLDAP,PLDAPControlA*,PULONG,PULONG,PBERVAL*,PINT); |
| 550 | INT ldap_parse_vlv_controlW(PLDAP,PLDAPControlW*,PULONG,PULONG,PBERVAL*,PINT); |
Hans Leidekker | a745ca0 | 2005-07-13 11:32:08 +0000 | [diff] [blame] | 551 | #define ldap_parse_vlv_control WINELIB_NAME_AW(ldap_parse_vlv_control) |
| 552 | void ldap_perror(LDAP*,const PCHAR); |
| 553 | ULONG ldap_rename_extA(LDAP*,PCHAR,PCHAR,PCHAR,INT,PLDAPControlA*,PLDAPControlA*,ULONG*); |
| 554 | ULONG ldap_rename_extW(LDAP*,PWCHAR,PWCHAR,PWCHAR,INT,PLDAPControlW*,PLDAPControlW*,ULONG*); |
| 555 | #define ldap_rename_ext WINELIB_NAME_AW(ldap_rename_ext) |
| 556 | ULONG ldap_rename_ext_sA(LDAP*,PCHAR,PCHAR,PCHAR,INT,PLDAPControlA*,PLDAPControlA*); |
| 557 | ULONG ldap_rename_ext_sW(LDAP*,PWCHAR,PWCHAR,PWCHAR,INT,PLDAPControlW*,PLDAPControlW*); |
| 558 | #define ldap_rename_ext_s WINELIB_NAME_AW(ldap_rename_ext_s) |
| 559 | ULONG ldap_result(LDAP*,ULONG,ULONG,struct l_timeval*,LDAPMessage**); |
| 560 | ULONG ldap_result2error(LDAP*,LDAPMessage*,ULONG); |
| 561 | ULONG ldap_sasl_bindA(LDAP*,const PCHAR,const PCHAR,const BERVAL*,PLDAPControlA*,PLDAPControlA*,int*); |
| 562 | ULONG ldap_sasl_bindW(LDAP*,const PWCHAR,const PWCHAR,const BERVAL*,PLDAPControlW*,PLDAPControlW*,int*); |
| 563 | #define ldap_sasl_bind WINELIB_NAME_AW(ldap_sasl_bind) |
| 564 | ULONG ldap_sasl_bind_sA(LDAP*,const PCHAR,const PCHAR,const BERVAL*,PLDAPControlA*,PLDAPControlA*,PBERVAL*); |
| 565 | ULONG ldap_sasl_bind_sW(LDAP*,const PWCHAR,const PWCHAR,const BERVAL*,PLDAPControlW*,PLDAPControlW*,PBERVAL*); |
| 566 | #define ldap_sasl_bind_s WINELIB_NAME_AW(ldap_sasl_bind_s) |
| 567 | ULONG ldap_simple_bindA(LDAP*,PCHAR,PCHAR); |
| 568 | ULONG ldap_simple_bindW(LDAP*,PWCHAR,PWCHAR); |
| 569 | #define ldap_simple_bind WINELIB_NAME_AW(ldap_simple_bind) |
| 570 | ULONG ldap_simple_bind_sA(LDAP*,PCHAR,PCHAR); |
| 571 | ULONG ldap_simple_bind_sW(LDAP*,PWCHAR,PWCHAR); |
| 572 | #define ldap_simple_bind_s WINELIB_NAME_AW(ldap_simple_bind_s) |
| 573 | ULONG ldap_search_abandon_page(PLDAP,PLDAPSearch); |
| 574 | ULONG ldap_searchA(LDAP*,PCHAR,ULONG,PCHAR,PCHAR[],ULONG); |
| 575 | ULONG ldap_searchW(LDAP*,PWCHAR,ULONG,PWCHAR,PCHAR[],ULONG); |
| 576 | #define ldap_search WINELIB_NAME_AW(ldap_search) |
| 577 | ULONG ldap_search_extA(LDAP*,PCHAR,ULONG,PCHAR,PCHAR[],ULONG,PLDAPControlA*, |
| 578 | PLDAPControlA*,ULONG,ULONG,ULONG*); |
| 579 | ULONG ldap_search_extW(LDAP*,PWCHAR,ULONG,PWCHAR,PWCHAR[],ULONG,PLDAPControlW*, |
| 580 | PLDAPControlW*,ULONG,ULONG,ULONG*); |
| 581 | #define ldap_search_ext WINELIB_NAME_AW(ldap_search_ext) |
| 582 | ULONG ldap_search_ext_sA(LDAP*,PCHAR,ULONG,PCHAR,PCHAR[],ULONG,PLDAPControlA*, |
Hans Leidekker | 56a94af | 2005-07-26 15:50:47 +0000 | [diff] [blame] | 583 | PLDAPControlA*,struct l_timeval*,ULONG,LDAPMessage**); |
Hans Leidekker | a745ca0 | 2005-07-13 11:32:08 +0000 | [diff] [blame] | 584 | ULONG ldap_search_ext_sW(LDAP*,PWCHAR,ULONG,PWCHAR,PWCHAR[],ULONG,PLDAPControlW*, |
Hans Leidekker | 56a94af | 2005-07-26 15:50:47 +0000 | [diff] [blame] | 585 | PLDAPControlW*,struct l_timeval*,ULONG,LDAPMessage**); |
Hans Leidekker | a745ca0 | 2005-07-13 11:32:08 +0000 | [diff] [blame] | 586 | #define ldap_search_ext_s WINELIB_NAME_AW(ldap_search_ext_s) |
| 587 | PLDAPSearch ldap_search_init_pageA(PLDAP,PCHAR,ULONG,PCHAR,PCHAR[],ULONG,PLDAPControlA*, |
| 588 | PLDAPControlA*,ULONG,ULONG,PLDAPSortKeyA*); |
| 589 | PLDAPSearch ldap_search_init_pageW(PLDAP,PWCHAR,ULONG,PWCHAR,PWCHAR[],ULONG,PLDAPControlW*, |
| 590 | PLDAPControlW*,ULONG,ULONG, PLDAPSortKeyW*); |
| 591 | #define ldap_search_init_page WINELIB_NAME_AW(ldap_search_init_page) |
| 592 | ULONG ldap_search_sA(LDAP*,PCHAR,ULONG,PCHAR,PCHAR[],ULONG,LDAPMessage**); |
| 593 | ULONG ldap_search_sW(LDAP*,PWCHAR,ULONG,PWCHAR,PWCHAR[],ULONG,LDAPMessage**); |
| 594 | #define ldap_search_s WINELIB_NAME_AW(ldap_search_s) |
| 595 | ULONG ldap_search_stA(LDAP*,const PCHAR,ULONG,const PCHAR,PCHAR[],ULONG, |
| 596 | struct l_timeval*,LDAPMessage**); |
| 597 | ULONG ldap_search_stW(LDAP*,const PWCHAR,ULONG,const PWCHAR,PWCHAR[],ULONG, |
| 598 | struct l_timeval*,LDAPMessage**); |
| 599 | #define ldap_search_st WINELIB_NAME_AW(ldap_search_st) |
| 600 | ULONG ldap_set_optionA(LDAP*,int,void*); |
| 601 | ULONG ldap_set_optionW(LDAP*,int,void*); |
| 602 | #define ldap_set_option WINELIB_NAME_AW(ldap_set_option) |
| 603 | LDAP *ldap_sslinitA(PCHAR,ULONG,int); |
| 604 | LDAP *ldap_sslinitW(PWCHAR,ULONG,int); |
| 605 | #define ldap_sslinit WINELIB_NAME_AW(ldap_sslinit) |
| 606 | ULONG ldap_start_tls_sA(LDAP*,PULONG,LDAPMessage**,PLDAPControlA*,PLDAPControlA*); |
| 607 | ULONG ldap_start_tls_sW(LDAP*,PULONG,LDAPMessage**,PLDAPControlW*,PLDAPControlW*); |
| 608 | #define ldap_start_tls_s WINELIB_NAME_AW(ldap_start_tls_s) |
Francois Gouget | f667584 | 2005-11-23 20:12:07 +0100 | [diff] [blame] | 609 | ULONG ldap_startup(PLDAP_VERSION_INFO,HANDLE*); |
Hans Leidekker | a745ca0 | 2005-07-13 11:32:08 +0000 | [diff] [blame] | 610 | BOOLEAN ldap_stop_tls_s(LDAP*); |
| 611 | ULONG ldap_ufn2dnA(PCHAR,PCHAR*); |
| 612 | ULONG ldap_ufn2dnW(PWCHAR,PWCHAR*); |
| 613 | #define ldap_ufn2dn WINELIB_NAME_AW(ldap_ufn2dn) |
| 614 | ULONG ldap_unbind(LDAP*); |
| 615 | ULONG ldap_unbind_s(LDAP*); |
| 616 | ULONG ldap_value_freeA(PCHAR*); |
| 617 | ULONG ldap_value_freeW(PWCHAR*); |
| 618 | #define ldap_value_free WINELIB_NAME_AW(ldap_value_free) |
| 619 | ULONG ldap_value_free_len(struct berval**); |
| 620 | |
| 621 | BerElement *ber_alloc_t(INT); |
| 622 | BERVAL *ber_bvdup(BERVAL*); |
| 623 | void ber_bvecfree(PBERVAL*); |
| 624 | void ber_bvfree(BERVAL*); |
| 625 | ULONG ber_first_element(BerElement*,ULONG*,CHAR**); |
| 626 | INT ber_flatten(BerElement*,PBERVAL*); |
| 627 | void ber_free(BerElement*,INT); |
| 628 | BerElement *ber_init(BERVAL*); |
| 629 | ULONG ber_next_element(BerElement*,ULONG*,CHAR*); |
| 630 | ULONG ber_peek_tag(BerElement*,ULONG*); |
| 631 | INT ber_printf(BerElement*,PCHAR,...); |
| 632 | ULONG ber_skip_tag(BerElement*,ULONG*); |
| 633 | INT ber_scanf(BerElement*,PCHAR,...); |
| 634 | |
| 635 | ULONG LdapGetLastError(void); |
| 636 | ULONG LdapMapErrorToWin32(ULONG); |
| 637 | int LdapUnicodeToUTF8(LPCWSTR,int,LPSTR,int); |
| 638 | int LdapUTF8ToUnicode(LPCSTR,int,LPWSTR,int); |
Dmitry Timoshkov | d09c8a8 | 2005-08-11 10:33:42 +0000 | [diff] [blame] | 639 | |
Francois Gouget | f667584 | 2005-11-23 20:12:07 +0100 | [diff] [blame] | 640 | #ifdef __cplusplus |
| 641 | } |
| 642 | #endif |
| 643 | |
Dmitry Timoshkov | d09c8a8 | 2005-08-11 10:33:42 +0000 | [diff] [blame] | 644 | #endif /* __WINE_WINLDAP_H */ |