winldap.h revision af062818b47340eef15700d2f0211576ba3506ee
/*
* Copyright 2005 Hans Leidekker
*
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef __WINE_WINLDAP_H
#define __WINE_WINLDAP_H
#include <windef.h>
#include <schnlsp.h>
#ifndef LDAPAPI
#endif
typedef enum {
LDAP_SUCCESS = 0x00,
LDAP_OPERATIONS_ERROR = 0x01,
LDAP_PROTOCOL_ERROR = 0x02,
LDAP_TIMELIMIT_EXCEEDED = 0x03,
LDAP_SIZELIMIT_EXCEEDED = 0x04,
LDAP_COMPARE_FALSE = 0x05,
LDAP_COMPARE_TRUE = 0x06,
LDAP_AUTH_METHOD_NOT_SUPPORTED = 0x07,
LDAP_STRONG_AUTH_REQUIRED = 0x08,
LDAP_REFERRAL_V2 = 0x09,
LDAP_PARTIAL_RESULTS = 0x09,
LDAP_REFERRAL = 0x0a,
LDAP_ADMIN_LIMIT_EXCEEDED = 0x0b,
LDAP_UNAVAILABLE_CRIT_EXTENSION = 0x0c,
LDAP_CONFIDENTIALITY_REQUIRED = 0x0d,
LDAP_SASL_BIND_IN_PROGRESS = 0x0e,
LDAP_NO_SUCH_ATTRIBUTE = 0x10,
LDAP_UNDEFINED_TYPE = 0x11,
LDAP_INAPPROPRIATE_MATCHING = 0x12,
LDAP_CONSTRAINT_VIOLATION = 0x13,
LDAP_ATTRIBUTE_OR_VALUE_EXISTS = 0x14,
LDAP_INVALID_SYNTAX = 0x15,
LDAP_NO_SUCH_OBJECT = 0x20,
LDAP_ALIAS_PROBLEM = 0x21,
LDAP_INVALID_DN_SYNTAX = 0x22,
LDAP_IS_LEAF = 0x23,
LDAP_ALIAS_DEREF_PROBLEM = 0x24,
LDAP_INAPPROPRIATE_AUTH = 0x30,
LDAP_INVALID_CREDENTIALS = 0x31,
LDAP_INSUFFICIENT_RIGHTS = 0x32,
LDAP_BUSY = 0x33,
LDAP_UNAVAILABLE = 0x34,
LDAP_UNWILLING_TO_PERFORM = 0x35,
LDAP_LOOP_DETECT = 0x36,
LDAP_SORT_CONTROL_MISSING = 0x3C,
LDAP_OFFSET_RANGE_ERROR = 0x3D,
LDAP_NAMING_VIOLATION = 0x40,
LDAP_OBJECT_CLASS_VIOLATION = 0x41,
LDAP_NOT_ALLOWED_ON_NONLEAF = 0x42,
LDAP_NOT_ALLOWED_ON_RDN = 0x43,
LDAP_ALREADY_EXISTS = 0x44,
LDAP_NO_OBJECT_CLASS_MODS = 0x45,
LDAP_RESULTS_TOO_LARGE = 0x46,
LDAP_AFFECTS_MULTIPLE_DSAS = 0x47,
LDAP_VIRTUAL_LIST_VIEW_ERROR = 0x4c,
LDAP_OTHER = 0x50,
LDAP_SERVER_DOWN = 0x51,
LDAP_LOCAL_ERROR = 0x52,
LDAP_ENCODING_ERROR = 0x53,
LDAP_DECODING_ERROR = 0x54,
LDAP_TIMEOUT = 0x55,
LDAP_AUTH_UNKNOWN = 0x56,
LDAP_FILTER_ERROR = 0x57,
LDAP_USER_CANCELLED = 0x58,
LDAP_PARAM_ERROR = 0x59,
LDAP_NO_MEMORY = 0x5a,
LDAP_CONNECT_ERROR = 0x5b,
LDAP_NOT_SUPPORTED = 0x5c,
LDAP_NO_RESULTS_RETURNED = 0x5e,
LDAP_CONTROL_NOT_FOUND = 0x5d,
LDAP_MORE_RESULTS_TO_RETURN = 0x5f,
LDAP_CLIENT_LOOP = 0x60,
LDAP_REFERRAL_LIMIT_EXCEEDED = 0x61
} LDAP_RETCODE;
#define LDAP_SCOPE_BASE 0x00
#define LDAP_SCOPE_ONELEVEL 0x01
#define LDAP_SCOPE_SUBTREE 0x02
typedef struct berelement
{
} BerElement;
#define LDAP_OPT_API_INFO 0x00
#define LDAP_OPT_DESC 0x01
#define LDAP_OPT_DEREF 0x02
#define LDAP_OPT_SIZELIMIT 0x03
#define LDAP_OPT_TIMELIMIT 0x04
#define LDAP_OPT_THREAD_FN_PTRS 0x05
#define LDAP_OPT_REBIND_FN 0x06
#define LDAP_OPT_REBIND_ARG 0x07
#define LDAP_OPT_REFERRALS 0x08
#define LDAP_OPT_RESTART 0x09
#define LDAP_OPT_SSL 0x0a
#define LDAP_OPT_IO_FN_PTRS 0x0b
#define LDAP_OPT_CACHE_FN_PTRS 0x0d
#define LDAP_OPT_CACHE_STRATEGY 0x0e
#define LDAP_OPT_CACHE_ENABLE 0x0f
#define LDAP_OPT_REFERRAL_HOP_LIMIT 0x10
#define LDAP_OPT_PROTOCOL_VERSION 0x11
#define LDAP_OPT_VERSION 0x11
#define LDAP_OPT_API_FEATURE_INFO 0x15
#define LDAP_OPT_HOST_NAME 0x30
#define LDAP_OPT_ERROR_NUMBER 0x31
#define LDAP_OPT_ERROR_STRING 0x32
#define LDAP_OPT_SERVER_ERROR 0x33
#define LDAP_OPT_SERVER_EXT_ERROR 0x34
#define LDAP_OPT_PING_KEEP_ALIVE 0x36
#define LDAP_OPT_PING_WAIT_TIME 0x37
#define LDAP_OPT_PING_LIMIT 0x38
#define LDAP_OPT_DNSDOMAIN_NAME 0x3b
#define LDAP_OPT_GETDSNAME_FLAGS 0x3d
#define LDAP_OPT_HOST_REACHABLE 0x3e
#define LDAP_OPT_PROMPT_CREDENTIALS 0x3f
#define LDAP_OPT_TCP_KEEPALIVE 0x40
#define LDAP_OPT_FAST_CONCURRENT_BIND 0x41
#define LDAP_OPT_SEND_TIMEOUT 0x42
#define LDAP_OPT_REFERRAL_CALLBACK 0x70
#define LDAP_OPT_CLIENT_CERTIFICATE 0x80
#define LDAP_OPT_SERVER_CERTIFICATE 0x81
#define LDAP_OPT_AUTO_RECONNECT 0x91
#define LDAP_OPT_SSPI_FLAGS 0x92
#define LDAP_OPT_SSL_INFO 0x93
#define LDAP_OPT_REF_DEREF_CONN_PER_MSG 0x94
#define LDAP_OPT_TLS LDAP_OPT_SSL
#define LDAP_OPT_TLS_INFO LDAP_OPT_SSL_INFO
#define LDAP_OPT_SIGN 0x95
#define LDAP_OPT_ENCRYPT 0x96
#define LDAP_OPT_SASL_METHOD 0x97
#define LDAP_OPT_AREC_EXCLUSIVE 0x98
#define LDAP_OPT_SECURITY_CONTEXT 0x99
#define LDAP_OPT_ROOTDSE_CACHE 0x9a
#define LDAP_OPT_ON ((void *)1)
#define LDAP_OPT_OFF ((void *)0)
#define LDAP_VERSION1 1
#define LDAP_VERSION2 2
#define LDAP_VERSION3 3
#define LDAP_VERSION LDAP_VERSION2
#define LDAP_MSG_ONE 0
#define LDAP_MSG_ALL 1
#define LDAP_MSG_RECEIVED 2
#define LDAP_RES_BIND 0x61
#define LDAP_RES_SEARCH_ENTRY 0x64
#define LDAP_RES_SEARCH_RESULT 0x65
#define LDAP_RES_MODIFY 0x67
#define LDAP_RES_ADD 0x69
#define LDAP_RES_DELETE 0x6b
#define LDAP_RES_MODRDN 0x6d
#define LDAP_RES_COMPARE 0x6f
#define LDAP_RES_SESSION 0x72
#define LDAP_RES_REFERRAL 0x73
#define LDAP_RES_EXTENDED 0x78
#define LDAP_RES_ANY (-1)
typedef struct ldap
{
struct
{
} ld_sb;
#define LDAP_MOD_ADD 0x00
#define LDAP_MOD_DELETE 0x01
#define LDAP_MOD_REPLACE 0x02
#define LDAP_MOD_BVALUES 0x80
typedef struct ldapmodA {
union {
struct berval **modv_bvals;
} mod_vals;
typedef struct ldapmodW {
union {
struct berval **modv_bvals;
} mod_vals;
typedef struct l_timeval
{
typedef struct ldapmsg
{
} LDAPMessage, *PLDAPMessage;
#define LAPI_MAJOR_VER1 1
#define LAPI_MINOR_VER1 1
typedef struct ldap_version_info
{
typedef struct berval
{
typedef struct ldapcontrolA
{
struct berval ldctl_value;
typedef struct ldapcontrolW
{
struct berval ldctl_value;
typedef struct ldapvlvinfo
{
int ldvlv_version;
} LDAPVLVInfo, *PLDAPVLVInfo;
typedef struct ldapsortkeyA
{
typedef struct ldapsortkeyW
{
#define LDAP_API_INFO_VERSION 1
typedef struct ldapapiinfoA
{
int ldapai_info_version;
int ldapai_api_version;
char **ldapai_extensions;
char *ldapai_vendor_name;
} LDAPAPIInfoA;
typedef struct ldapapiinfoW
{
int ldapai_info_version;
int ldapai_api_version;
} LDAPAPIInfoW;
#define LDAP_FEATURE_INFO_VERSION 1
typedef struct ldap_apifeature_infoA
{
int ldapaif_info_version;
char *ldapaif_name;
int ldapaif_version;
typedef struct ldap_apifeature_infoW
{
int ldapaif_info_version;
int ldapaif_version;
#ifdef __cplusplus
extern "C" {
#endif
ULONG CDECL ldap_compare_extA(LDAP*,PCHAR,PCHAR,PCHAR,struct berval*,PLDAPControlA*,PLDAPControlA*,ULONG*);
ULONG CDECL ldap_compare_extW(LDAP*,PWCHAR,PWCHAR,PWCHAR,struct berval*,PLDAPControlW*,PLDAPControlW*,ULONG*);
ULONG CDECL ldap_compare_ext_sA(LDAP*,PCHAR,PCHAR,PCHAR,struct berval*,PLDAPControlA*,PLDAPControlA*);
ULONG CDECL ldap_compare_ext_sW(LDAP*,PWCHAR,PWCHAR,PWCHAR,struct berval*,PLDAPControlW*,PLDAPControlW*);
ULONG CDECL ldap_extended_operationA(LDAP*,PCHAR,struct berval*,PLDAPControlA*,PLDAPControlA*,ULONG*);
ULONG CDECL ldap_extended_operationW(LDAP*,PWCHAR,struct berval*,PLDAPControlW*,PLDAPControlW*,ULONG*);
ULONG CDECL ldap_extended_operation_sA(LDAP*,PCHAR,struct berval*,PLDAPControlA*,PLDAPControlA*,PCHAR*,struct berval**);
ULONG CDECL ldap_extended_operation_sW(LDAP*,PWCHAR,struct berval*,PLDAPControlW*,PLDAPControlW*,PWCHAR*,struct berval**);
ULONG CDECL ldap_parse_resultA(LDAP*,LDAPMessage*,ULONG*,PCHAR*,PCHAR*,PCHAR**,PLDAPControlA**,BOOLEAN);
ULONG CDECL ldap_parse_resultW(LDAP*,LDAPMessage*,ULONG*,PWCHAR*,PWCHAR*,PWCHAR**,PLDAPControlW**,BOOLEAN);
ULONG CDECL ldap_sasl_bindA(LDAP*,const PCHAR,const PCHAR,const BERVAL*,PLDAPControlA*,PLDAPControlA*,int*);
ULONG CDECL ldap_sasl_bindW(LDAP*,const PWCHAR,const PWCHAR,const BERVAL*,PLDAPControlW*,PLDAPControlW*,int*);
ULONG CDECL ldap_sasl_bind_sA(LDAP*,const PCHAR,const PCHAR,const BERVAL*,PLDAPControlA*,PLDAPControlA*,PBERVAL*);
ULONG CDECL ldap_sasl_bind_sW(LDAP*,const PWCHAR,const PWCHAR,const BERVAL*,PLDAPControlW*,PLDAPControlW*,PBERVAL*);
struct l_timeval*,LDAPMessage**);
struct l_timeval*,LDAPMessage**);
#ifdef __cplusplus
}
#endif
#endif /* __WINE_WINLDAP_H */