X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=include%2Fldap.h;h=b4f1127e2a3cc859cb8b1152cf59046fce8d0ef8;hb=492619eac0a972353c62e43e3e8dcffee71d12a9;hp=3ad3d5de8f930e64f015cd0c0ed5c7017524ebf8;hpb=01ef0ee800090ddc270cc23c0970b6f905f31474;p=openldap diff --git a/include/ldap.h b/include/ldap.h index 3ad3d5de8f..b4f1127e2a 100644 --- a/include/ldap.h +++ b/include/ldap.h @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2003 The OpenLDAP Foundation. + * Copyright 1998-2004 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -42,6 +42,11 @@ LDAP_BEGIN_DECL #define LDAP_VERSION LDAP_VERSION2 #define LDAP_VERSION_MAX LDAP_VERSION3 +/* Use -DLDAP_DEPRECATED=0 to hide deprecated interfaces */ +#ifndef LDAP_DEPRECATED +#define LDAP_DEPRECATED 1 +#endif + /* * We use 3000+n here because it is above 1823 (for RFC 1823), * above 2000+rev of IETF LDAPEXT draft (now quite dated), @@ -74,39 +79,39 @@ LDAP_BEGIN_DECL #define LDAP_ROOT_DSE "" #define LDAP_NO_ATTRS "1.1" #define LDAP_ALL_USER_ATTRIBUTES "*" -#define LDAP_ALL_OPERATIONAL_ATTRIBUTES "+" /* OpenLDAP extension */ +#define LDAP_ALL_OPERATIONAL_ATTRIBUTES "+" /* RFC 3673 */ /* - * LDAP_OPTions defined by draft-ldapext-ldap-c-api-02 - * 0x0000 - 0x0fff reserved for api options - * 0x1000 - 0x3fff reserved for api extended options - * 0x4000 - 0x7fff reserved for private and experimental options + * LDAP_OPTions + * 0x0000 - 0x0fff reserved for api options + * 0x1000 - 0x3fff reserved for api extended options + * 0x4000 - 0x7fff reserved for private and experimental options */ + #define LDAP_OPT_API_INFO 0x0000 -#define LDAP_OPT_DESC 0x0001 /* deprecated */ +#define LDAP_OPT_DESC 0x0001 /* historic */ #define LDAP_OPT_DEREF 0x0002 #define LDAP_OPT_SIZELIMIT 0x0003 #define LDAP_OPT_TIMELIMIT 0x0004 -/* 0x05 - 0x07 not defined by current draft */ +/* 0x05 - 0x07 not defined */ #define LDAP_OPT_REFERRALS 0x0008 #define LDAP_OPT_RESTART 0x0009 -/* 0x0a - 0x10 not defined by current draft */ +/* 0x0a - 0x10 not defined */ #define LDAP_OPT_PROTOCOL_VERSION 0x0011 #define LDAP_OPT_SERVER_CONTROLS 0x0012 #define LDAP_OPT_CLIENT_CONTROLS 0x0013 -/* 0x14 not defined by current draft */ +/* 0x14 not defined */ #define LDAP_OPT_API_FEATURE_INFO 0x0015 - -/* 0x16 - 0x2f not defined by current draft */ +/* 0x16 - 0x2f not defined */ #define LDAP_OPT_HOST_NAME 0x0030 #define LDAP_OPT_RESULT_CODE 0x0031 #define LDAP_OPT_ERROR_NUMBER LDAP_OPT_RESULT_CODE #define LDAP_OPT_ERROR_STRING 0x0032 #define LDAP_OPT_MATCHED_DN 0x0033 +/* 0x0034 - 0x3fff not defined */ -/* 0x34 - 0x0fff not defined by current draft */ - -#define LDAP_OPT_PRIVATE_EXTENSION_BASE 0x4000 /* to 0x7FFF inclusive */ +/* API Extensions */ +#define LDAP_OPT_API_EXTENSION_BASE 0x4000 /* API extensions */ /* private and experimental options */ /* OpenLDAP specific options */ @@ -130,10 +135,10 @@ LDAP_BEGIN_DECL #define LDAP_OPT_X_TLS_RANDOM_FILE 0x6009 #define LDAP_OPT_X_TLS_SSL_CTX 0x600a -#define LDAP_OPT_X_TLS_NEVER 0 +#define LDAP_OPT_X_TLS_NEVER 0 #define LDAP_OPT_X_TLS_HARD 1 -#define LDAP_OPT_X_TLS_DEMAND 2 -#define LDAP_OPT_X_TLS_ALLOW 3 +#define LDAP_OPT_X_TLS_DEMAND 2 +#define LDAP_OPT_X_TLS_ALLOW 3 #define LDAP_OPT_X_TLS_TRY 4 /* OpenLDAP SASL options */ @@ -148,9 +153,8 @@ LDAP_BEGIN_DECL #define LDAP_OPT_X_SASL_SSF_MAX 0x6108 #define LDAP_OPT_X_SASL_MAXBUFSIZE 0x6109 -/* on/off values */ -#define LDAP_OPT_ON ((void *) &ber_pvt_opt_on) -#define LDAP_OPT_OFF ((void *) 0) +/* Private API Extensions -- reserved for application use */ +#define LDAP_OPT_PRIVATE_EXTENSION_BASE 0x7000 /* Private API inclusive */ /* * ldap_get_option() and ldap_set_option() return values. @@ -161,9 +165,13 @@ LDAP_BEGIN_DECL #define LDAP_OPT_SUCCESS 0 #define LDAP_OPT_ERROR (-1) -#define LDAP_API_INFO_VERSION (1) +/* option on/off values */ +#define LDAP_OPT_ON ((void *) &ber_pvt_opt_on) +#define LDAP_OPT_OFF ((void *) 0) + typedef struct ldapapiinfo { - int ldapai_info_version; /* version of LDAPAPIInfo (1) */ + int ldapai_info_version; /* version of LDAPAPIInfo */ +#define LDAP_API_INFO_VERSION (1) int ldapai_api_version; /* revision of API supported */ int ldapai_protocol_version; /* highest LDAP version supported */ char **ldapai_extensions; /* names of API extensions */ @@ -171,44 +179,52 @@ typedef struct ldapapiinfo { int ldapai_vendor_version; /* supplier-specific version * 100 */ } LDAPAPIInfo; -#define LDAP_FEATURE_INFO_VERSION (1) /* version of api feature structure */ typedef struct ldap_apifeature_info { - int ldapaif_info_version; /* version of this struct (1) */ - char* ldapaif_name; /* matches LDAP_API_FEATURE_... less the prefix */ - int ldapaif_version; /* matches the value LDAP_API_FEATURE_... */ + int ldapaif_info_version; /* version of LDAPAPIFeatureInfo */ +#define LDAP_FEATURE_INFO_VERSION (1) /* apifeature_info struct version */ + char* ldapaif_name; /* LDAP_API_FEATURE_* (less prefix) */ + int ldapaif_version; /* value of LDAP_API_FEATURE_... */ } LDAPAPIFeatureInfo; +/* + * LDAP Control structure + */ typedef struct ldapcontrol { - char * ldctl_oid; - struct berval ldctl_value; - char ldctl_iscritical; + char * ldctl_oid; /* numericoid of control */ + struct berval ldctl_value; /* encoded value of control */ + char ldctl_iscritical; /* criticality */ } LDAPControl; /* LDAP Controls */ -#define LDAP_CONTROL_ASSERT "1.3.6.1.4.1.4203.666.5.9" -#define LDAP_CONTROL_PRE_READ "1.3.6.1.4.1.4203.666.5.10.1" -#define LDAP_CONTROL_POST_READ "1.3.6.1.4.1.4203.666.5.10.2" -#define LDAP_CONTROL_MODIFY_INCREMENT "1.3.6.1.4.1.4203.666.5.11" +/* standard track controls */ +#define LDAP_CONTROL_MANAGEDSAIT "2.16.840.1.113730.3.4.2" /* RFC 3296 */ +#define LDAP_CONTROL_SUBENTRIES "1.3.6.1.4.1.4203.1.10.1" /* RFC 3672 */ +#define LDAP_CONTROL_PAGEDRESULTS "1.2.840.113556.1.4.319" /* RFC 2696 */ -#define LDAP_CONTROL_VALUESRETURNFILTER "1.2.826.0.1.334810.2.3" -#define LDAP_CONTROL_SUBENTRIES "1.3.6.1.4.1.4203.1.10.1" -#define LDAP_CONTROL_NOOP "1.3.6.1.4.1.4203.1.10.2" -#define LDAP_CONTROL_MANAGEDSAIT "2.16.840.1.113730.3.4.2" +/* standard track - not implemented in slapd(8) */ +#define LDAP_CONTROL_SORTREQUEST "1.2.840.113556.1.4.473" /* RFC 2891 */ +#define LDAP_CONTROL_SORTRESPONSE "1.2.840.113556.1.4.474" /* RFC 2891 */ + +/* but not yet formalized controls */ #define LDAP_CONTROL_PROXY_AUTHZ "2.16.840.1.113730.3.4.18" +#define LDAP_CONTROL_VALUESRETURNFILTER "1.2.826.0.1.334810.2.3" -#if 0 -#define LDAP_CONTROL_DUPENT_REQUEST "2.16.840.1.113719.1.27.101.1" -#define LDAP_CONTROL_DUPENT_RESPONSE "2.16.840.1.113719.1.27.101.2" -#define LDAP_CONTROL_DUPENT_ENTRY "2.16.840.1.113719.1.27.101.3" -#define LDAP_CONTROL_DUPENT LDAP_CONTROL_DUPENT_REQUEST -#endif +/* various works in progress */ +#define LDAP_CONTROL_ASSERT "1.3.6.1.4.1.4203.666.5.9" +#define LDAP_CONTROL_NOOP "1.3.6.1.4.1.4203.666.5.2" +#define LDAP_CONTROL_PRE_READ "1.3.6.1.4.1.4203.666.5.10.1" +#define LDAP_CONTROL_POST_READ "1.3.6.1.4.1.4203.666.5.10.2" -#define LDAP_CONTROL_PAGEDRESULTS "1.2.840.113556.1.4.319" +/* LDAP VLV *//* not implemented in slapd(8) */ +#define LDAP_CONTROL_VLVREQUEST "2.16.840.1.113730.3.4.9" +#define LDAP_CONTROL_VLVRESPONSE "2.16.840.1.113730.3.4.10" -#define LDAP_CONTROL_SYNC "1.3.6.1.4.1.4203.666.5.6" -#define LDAP_CONTROL_SYNC_STATE "1.3.6.1.4.1.4203.666.5.7" -#define LDAP_CONTROL_SYNC_DONE "1.3.6.1.4.1.4203.666.5.8" -#define LDAP_SYNC_INFO "1.3.6.1.4.1.4203.666.10.2" +/* LDAP Sync -- draft-zeilenga-ldup-sync *//* submitted for publication */ +#define LDAP_SYNC_OID "1.3.6.1.4.1.4203.1.9.1" +#define LDAP_CONTROL_SYNC LDAP_SYNC_OID ".1" +#define LDAP_CONTROL_SYNC_STATE LDAP_SYNC_OID ".2" +#define LDAP_CONTROL_SYNC_DONE LDAP_SYNC_OID ".3" +#define LDAP_SYNC_INFO LDAP_SYNC_OID ".4" #define LDAP_SYNC_NONE 0x00 #define LDAP_SYNC_REFRESH_ONLY 0x01 @@ -233,23 +249,18 @@ typedef struct ldapcontrol { #define LDAP_SYNC_MODIFY 2 #define LDAP_SYNC_DELETE 3 -#define LDAP_CONTROL_SORTREQUEST "1.2.840.113556.1.4.473" -#define LDAP_CONTROL_SORTRESPONSE "1.2.840.113556.1.4.474" -#define LDAP_CONTROL_VLVREQUEST "2.16.840.1.113730.3.4.9" -#define LDAP_CONTROL_VLVRESPONSE "2.16.840.1.113730.3.4.10" - -/* controls for MSAD compatibility */ -#define LDAP_CONTROL_X_DOMAIN_SCOPE "1.2.840.113556.1.4.1339" -#define LDAP_CONTROL_X_PERMISSIVE_MODIFY "1.2.840.113556.1.4.1413" +/* MS ActiveDirectory controls (for compatibility) */ +#define LDAP_CONTROL_X_DOMAIN_SCOPE "1.2.840.113556.1.4.1339" +#define LDAP_CONTROL_X_PERMISSIVE_MODIFY "1.2.840.113556.1.4.1413" /* LDAP Unsolicited Notifications */ -#define LDAP_NOTICE_OF_DISCONNECTION "1.3.6.1.4.1.1466.20036" +#define LDAP_NOTICE_OF_DISCONNECTION "1.3.6.1.4.1.1466.20036" /* RFC 2251 */ #define LDAP_NOTICE_DISCONNECT LDAP_NOTICE_OF_DISCONNECTION /* LDAP Extended Operations */ -#define LDAP_EXOP_START_TLS "1.3.6.1.4.1.1466.20037" +#define LDAP_EXOP_START_TLS "1.3.6.1.4.1.1466.20037" /* RFC 2830 */ -#define LDAP_EXOP_MODIFY_PASSWD "1.3.6.1.4.1.4203.1.11.1" +#define LDAP_EXOP_MODIFY_PASSWD "1.3.6.1.4.1.4203.1.11.1" /* RFC 3062 */ #define LDAP_TAG_EXOP_MODIFY_PASSWD_ID ((ber_tag_t) 0x80U) #define LDAP_TAG_EXOP_MODIFY_PASSWD_OLD ((ber_tag_t) 0x81U) #define LDAP_TAG_EXOP_MODIFY_PASSWD_NEW ((ber_tag_t) 0x82U) @@ -259,12 +270,14 @@ typedef struct ldapcontrol { #define LDAP_EXOP_X_CANCEL "1.3.6.1.4.1.4203.666.6.3" /* LDAP Features */ -#define LDAP_FEATURE_ALL_OPERATIONAL_ATTRS "1.3.6.1.4.1.4203.1.5.1" /* + */ -#define LDAP_FEATURE_OBJECTCLASS_ATTRS "1.3.6.1.4.1.4203.1.5.2" +#define LDAP_FEATURE_ALL_OP_ATTRS "1.3.6.1.4.1.4203.1.5.1" /* RFC 3673 */ +#define LDAP_FEATURE_OBJECTCLASS_ATTRS \ + "1.3.6.1.4.1.4203.1.5.2" /* @objectClass - new number to be assigned */ #define LDAP_FEATURE_ABSOLUTE_FILTERS "1.3.6.1.4.1.4203.1.5.3" /* (&) (|) */ #define LDAP_FEATURE_LANGUAGE_TAG_OPTIONS "1.3.6.1.4.1.4203.1.5.4" #define LDAP_FEATURE_LANGUAGE_RANGE_OPTIONS "1.3.6.1.4.1.4203.1.5.5" -#define LDAP_FEATURE_MODIFY_INCREMENT "1.3.6.1.4.1.4203.666.5.6" + +#define LDAP_FEATURE_MODIFY_INCREMENT "1.3.6.1.4.1.4203.666.8.2" /* * specific LDAP instantiations of BER types we know about @@ -306,7 +319,7 @@ typedef struct ldapcontrol { #define LDAP_TAG_SASL_RES_CREDS ((ber_tag_t) 0x87U) /* context specific + primitive */ -/* possible operations a client can invoke */ +/* LDAP Request Messages */ #define LDAP_REQ_BIND ((ber_tag_t) 0x60U) /* application + constructed */ #define LDAP_REQ_UNBIND ((ber_tag_t) 0x42U) /* application + primitive */ #define LDAP_REQ_SEARCH ((ber_tag_t) 0x63U) /* application + constructed */ @@ -320,7 +333,7 @@ typedef struct ldapcontrol { #define LDAP_REQ_ABANDON ((ber_tag_t) 0x50U) /* application + primitive */ #define LDAP_REQ_EXTENDED ((ber_tag_t) 0x77U) /* application + constructed */ -/* possible result types a server can return */ +/* LDAP Response Messages */ #define LDAP_RES_BIND ((ber_tag_t) 0x61U) /* application + constructed */ #define LDAP_RES_SEARCH_ENTRY ((ber_tag_t) 0x64U) /* application + constructed */ #define LDAP_RES_SEARCH_REFERENCE ((ber_tag_t) 0x73U) /* V3: application + constructed */ @@ -345,24 +358,24 @@ typedef struct ldapcontrol { /* authentication methods available */ -#define LDAP_AUTH_NONE ((ber_tag_t) 0x00U) /* no authentication */ -#define LDAP_AUTH_SIMPLE ((ber_tag_t) 0x80U) /* context specific + primitive */ -#define LDAP_AUTH_SASL ((ber_tag_t) 0xa3U) /* context specific + constructed */ -#define LDAP_AUTH_KRBV4 ((ber_tag_t) 0xffU) /* means do both of the following */ -#define LDAP_AUTH_KRBV41 ((ber_tag_t) 0x81U) /* context specific + primitive */ -#define LDAP_AUTH_KRBV42 ((ber_tag_t) 0x82U) /* context specific + primitive */ +#define LDAP_AUTH_NONE ((ber_tag_t) 0x00U) /* no authentication */ +#define LDAP_AUTH_SIMPLE ((ber_tag_t) 0x80U) /* context specific + primitive */ +#define LDAP_AUTH_SASL ((ber_tag_t) 0xa3U) /* context specific + constructed */ +#define LDAP_AUTH_KRBV4 ((ber_tag_t) 0xffU) /* means do both of the following */ +#define LDAP_AUTH_KRBV41 ((ber_tag_t) 0x81U) /* context specific + primitive */ +#define LDAP_AUTH_KRBV42 ((ber_tag_t) 0x82U) /* context specific + primitive */ /* filter types */ #define LDAP_FILTER_AND ((ber_tag_t) 0xa0U) /* context specific + constructed */ #define LDAP_FILTER_OR ((ber_tag_t) 0xa1U) /* context specific + constructed */ #define LDAP_FILTER_NOT ((ber_tag_t) 0xa2U) /* context specific + constructed */ -#define LDAP_FILTER_EQUALITY ((ber_tag_t) 0xa3U) /* context specific + constructed */ -#define LDAP_FILTER_SUBSTRINGS ((ber_tag_t) 0xa4U) /* context specific + constructed */ -#define LDAP_FILTER_GE ((ber_tag_t) 0xa5U) /* context specific + constructed */ -#define LDAP_FILTER_LE ((ber_tag_t) 0xa6U) /* context specific + constructed */ -#define LDAP_FILTER_PRESENT ((ber_tag_t) 0x87U) /* context specific + primitive */ -#define LDAP_FILTER_APPROX ((ber_tag_t) 0xa8U) /* context specific + constructed */ +#define LDAP_FILTER_EQUALITY ((ber_tag_t) 0xa3U) /* context specific + constructed */ +#define LDAP_FILTER_SUBSTRINGS ((ber_tag_t) 0xa4U) /* context specific + constructed */ +#define LDAP_FILTER_GE ((ber_tag_t) 0xa5U) /* context specific + constructed */ +#define LDAP_FILTER_LE ((ber_tag_t) 0xa6U) /* context specific + constructed */ +#define LDAP_FILTER_PRESENT ((ber_tag_t) 0x87U) /* context specific + primitive */ +#define LDAP_FILTER_APPROX ((ber_tag_t) 0xa8U) /* context specific + constructed */ #define LDAP_FILTER_EXT ((ber_tag_t) 0xa9U) /* context specific + constructed */ /* extended filter component types */ @@ -377,10 +390,13 @@ typedef struct ldapcontrol { #define LDAP_SUBSTRING_FINAL ((ber_tag_t) 0x82U) /* context specific */ /* search scopes */ -#define LDAP_SCOPE_DEFAULT ((ber_int_t) -1) -#define LDAP_SCOPE_BASE ((ber_int_t) 0x0000) -#define LDAP_SCOPE_ONELEVEL ((ber_int_t) 0x0001) -#define LDAP_SCOPE_SUBTREE ((ber_int_t) 0x0002) +#define LDAP_SCOPE_DEFAULT ((ber_int_t) -1) /* OpenLDAP extension */ +#define LDAP_SCOPE_BASE ((ber_int_t) 0x0000) +#define LDAP_SCOPE_BASEOBJECT LDAP_SCOPE_BASE +#define LDAP_SCOPE_ONELEVEL ((ber_int_t) 0x0001) +#define LDAP_SCOPE_ONE LDAP_SCOPE_ONELEVEL +#define LDAP_SCOPE_SUBTREE ((ber_int_t) 0x0002) +#define LDAP_SCOPE_SUB LDAP_SCOPE_SUBTREE /* substring filter component types */ #define LDAP_SUBSTRING_INITIAL ((ber_tag_t) 0x80U) /* context specific */ @@ -388,12 +404,12 @@ typedef struct ldapcontrol { #define LDAP_SUBSTRING_FINAL ((ber_tag_t) 0x82U) /* context specific */ /* - * possible error codes we can return + * LDAP Result Codes */ +#define LDAP_SUCCESS 0x00 #define LDAP_RANGE(n,x,y) (((x) <= (n)) && ((n) <= (y))) -#define LDAP_SUCCESS 0x00 #define LDAP_OPERATIONS_ERROR 0x01 #define LDAP_PROTOCOL_ERROR 0x02 #define LDAP_TIMELIMIT_EXCEEDED 0x03 @@ -455,20 +471,20 @@ typedef struct ldapcontrol { #define LDAP_OTHER 0x50 -/* Expermental result codes */ -#define LDAP_X_ERROR(n) LDAP_RANGE((n),0x1000,0x3FFF) /* experimental */ -#define LDAP_PVT_ERROR(n) LDAP_RANGE((n),0x4000,0xFFFF) /* private use */ +/* Experimental result codes */ +#define LDAP_E_ERROR(n) LDAP_RANGE((n),0x1000,0x3FFF) /* experimental */ +#define LDAP_X_ERROR(n) LDAP_RANGE((n),0x4000,0xFFFF) /* private use */ + +/* for the LDAP Sync operation */ +#define LDAP_SYNC_REFRESH_REQUIRED 0x4100 -#define LDAP_SYNC_RESOURCES_EXHAUSTED 0x4100 -#define LDAP_SYNC_SECURITY_VIOLATION 0x4101 -#define LDAP_SYNC_INVALID_COOKIE 0x4102 -#define LDAP_SYNC_UNSUPPORTED_SCHEME 0x4103 -#define LDAP_SYNC_CLIENT_DISCONNECT 0x4104 -#define LDAP_SYNC_RELOAD_REQUIRED 0x4105 +/* for the LDAP No-Op control */ +#define LDAP_NO_OPERATION 0x410e +/* for the Assertion control */ #define LDAP_ASSERTION_FAILED 0x410f -/* resultCode for Cancel Response */ +/* for the Cancel operation */ #define LDAP_CANCELLED 0x4110 #define LDAP_NO_SUCH_OPERATION 0x4111 #define LDAP_TOO_LATE 0x4112 @@ -477,7 +493,7 @@ typedef struct ldapcontrol { /* API Error Codes * * Based on draft-ietf-ldap-c-api-xx - * but with new (negative) codes + * but with new negative code values */ #define LDAP_API_ERROR(n) ((n)<0) #define LDAP_API_RESULT(n) ((n)<=0) @@ -517,7 +533,7 @@ typedef struct ldapmod { #define LDAP_MOD_ADD (0x0000) #define LDAP_MOD_DELETE (0x0001) #define LDAP_MOD_REPLACE (0x0002) -#define LDAP_MOD_INCREMENT (0x0003) +#define LDAP_MOD_INCREMENT (0x0003) /* OpenLDAP extension */ #define LDAP_MOD_BVALUES (0x0080) /* IMPORTANT: do not use code 0x1000 (or above), * it is used internally by the backends! @@ -624,6 +640,11 @@ ldap_create_control LDAP_P(( int iscritical, LDAPControl **ctrlp )); +LDAP_F( LDAPControl * ) +ldap_find_control LDAP_P(( + LDAP_CONST char *oid, + LDAPControl **ctrls )); + LDAP_F( void ) ldap_control_free LDAP_P(( LDAPControl *ctrl )); @@ -699,7 +720,7 @@ ldap_abandon_ext LDAP_P(( LDAPControl **serverctrls, LDAPControl **clientctrls )); -#ifdef LDAP_DEPRECATED +#if LDAP_DEPRECATED LDAP_F( int ) ldap_abandon LDAP_P(( /* deprecated */ LDAP *ld, @@ -727,7 +748,7 @@ ldap_add_ext_s LDAP_P(( LDAPControl **serverctrls, LDAPControl **clientctrls )); -#ifdef LDAP_DEPRECATED +#if LDAP_DEPRECATED LDAP_F( int ) ldap_add LDAP_P(( /* deprecated */ LDAP *ld, @@ -802,7 +823,7 @@ ldap_parse_sasl_bind_result LDAP_P(( struct berval **servercredp, int freeit )); -#ifdef LDAP_DEPRECATED +#if LDAP_DEPRECATED /* * in bind.c: * (deprecated) @@ -868,24 +889,6 @@ ldap_kerberos_bind2_s LDAP_P(( /* deprecated */ #endif -/* - * LDAP Cancel Extended Operation - */ - -LDAP_F( int ) -ldap_cancel LDAP_P(( LDAP *ld, - int cancelid, - LDAPControl **sctrls, - LDAPControl **cctrls, - int *msgidp )); - -LDAP_F( int ) -ldap_cancel_s LDAP_P(( - LDAP *ld, - int cancelid, - LDAPControl **sctrl, - LDAPControl **cctrl )); - /* * in compare.c: */ @@ -908,7 +911,7 @@ ldap_compare_ext_s LDAP_P(( LDAPControl **serverctrls, LDAPControl **clientctrls )); -#ifdef LDAP_DEPRECATED +#if LDAP_DEPRECATED LDAP_F( int ) ldap_compare LDAP_P(( /* deprecated */ LDAP *ld, @@ -943,7 +946,7 @@ ldap_delete_ext_s LDAP_P(( LDAPControl **serverctrls, LDAPControl **clientctrls )); -#ifdef LDAP_DEPRECATED +#if LDAP_DEPRECATED LDAP_F( int ) ldap_delete LDAP_P(( /* deprecated */ LDAP *ld, @@ -974,7 +977,7 @@ LDAP_F( char * ) ldap_err2string LDAP_P(( int err )); -#ifdef LDAP_DEPRECATED +#if LDAP_DEPRECATED LDAP_F( int ) ldap_result2error LDAP_P(( /* deprecated */ LDAP *ld, @@ -1008,7 +1011,7 @@ ldap_modify_ext_s LDAP_P(( LDAPControl **serverctrls, LDAPControl **clientctrls )); -#ifdef LDAP_DEPRECATED +#if LDAP_DEPRECATED LDAP_F( int ) ldap_modify LDAP_P(( /* deprecated */ LDAP *ld, @@ -1047,7 +1050,7 @@ ldap_rename_s LDAP_P(( LDAPControl **sctrls, LDAPControl **cctrls )); -#ifdef LDAP_DEPRECATED +#if LDAP_DEPRECATED LDAP_F( int ) ldap_rename2 LDAP_P(( /* deprecated */ LDAP *ld, @@ -1095,7 +1098,7 @@ ldap_modrdn2_s LDAP_P(( /* deprecated */ /* * in open.c: */ -#ifdef LDAP_DEPRECATED +#if LDAP_DEPRECATED LDAP_F( LDAP * ) ldap_init LDAP_P(( /* deprecated */ LDAP_CONST char *host, @@ -1222,8 +1225,8 @@ typedef struct ldap_ava { #define LDAP_AVA_STRING 0x0001U #define LDAP_AVA_BINARY 0x0002U #define LDAP_AVA_NONPRINTABLE 0x0004U -#define LDAP_AVA_FREE_ATTR 0x0010U -#define LDAP_AVA_FREE_VALUE 0x0020U +#define LDAP_AVA_FREE_ATTR 0x0010U +#define LDAP_AVA_FREE_VALUE 0x0020U void *la_private; } LDAPAVA; @@ -1320,7 +1323,8 @@ ldap_explode_rdn LDAP_P(( /* deprecated */ LDAP_CONST char *rdn, int notypes )); -typedef int LDAPDN_rewrite_func LDAP_P(( LDAPDN dn, unsigned flags, void *ctx )); +typedef int LDAPDN_rewrite_func + LDAP_P(( LDAPDN dn, unsigned flags, void *ctx )); LDAP_F( int ) ldap_X509dn2bv LDAP_P(( void *x509_name, struct berval *dn, @@ -1377,7 +1381,7 @@ LDAP_F( void ) ldap_value_free_len LDAP_P(( struct berval **vals )); -#ifdef LDAP_DEPRECATED +#if LDAP_DEPRECATED LDAP_F( char ** ) ldap_get_values LDAP_P(( /* deprecated */ LDAP *ld, @@ -1453,7 +1457,7 @@ ldap_search_ext_s LDAP_P(( int sizelimit, LDAPMessage **res )); -#ifdef LDAP_DEPRECATED +#if LDAP_DEPRECATED LDAP_F( int ) ldap_search LDAP_P(( /* deprecated */ LDAP *ld, @@ -1500,7 +1504,7 @@ ldap_unbind_ext_s LDAP_P(( LDAPControl **serverctrls, LDAPControl **clientctrls)); -#ifdef LDAP_DEPRECATED +#if LDAP_DEPRECATED LDAP_F( int ) ldap_unbind LDAP_P(( /* deprecated */ LDAP *ld )); @@ -1554,7 +1558,7 @@ ldap_mods_free LDAP_P(( int freemods )); -#ifdef LDAP_DEPRECATED +#if LDAP_DEPRECATED /* * in sort.c (deprecated) */ @@ -1613,6 +1617,26 @@ ldap_free_urldesc LDAP_P(( LDAPURLDesc *ludp )); +/* + * LDAP Cancel Extended Operation + * in cancel.c + */ +#define LDAP_API_FEATURE_CANCEL 1000 + +LDAP_F( int ) +ldap_cancel LDAP_P(( LDAP *ld, + int cancelid, + LDAPControl **sctrls, + LDAPControl **cctrls, + int *msgidp )); + +LDAP_F( int ) +ldap_cancel_s LDAP_P(( + LDAP *ld, + int cancelid, + LDAPControl **sctrl, + LDAPControl **cctrl )); + /* * LDAP Server Side Sort * in sortctrl.c @@ -1683,10 +1707,12 @@ ldap_parse_vlv_control LDAP_P(( struct berval **contextp, int *errcodep )); + /* * LDAP Who Am I? * in whoami.c */ +#define LDAP_API_FEATURE_WHOAMI 1000 LDAP_F( int ) ldap_parse_whoami LDAP_P(( @@ -1711,6 +1737,7 @@ ldap_whoami_s LDAP_P(( * LDAP Password Modify * in passwd.c */ +#define LDAP_API_FEATURE_PASSWD_MODIFY 1000 LDAP_F( int ) ldap_parse_passwd LDAP_P(( @@ -1737,6 +1764,5 @@ ldap_passwd_s LDAP_P(( LDAPControl **sctrls, LDAPControl **cctrls )); - LDAP_END_DECL #endif /* _LDAP_H */