Document FreeTDS DBD params
[apr-util.git] / include / apr_ldap.h.in
blob9257e2e239692b2383bf04ff88a011cc96510996
1 /* Licensed to the Apache Software Foundation (ASF) under one or more
2 * contributor license agreements. See the NOTICE file distributed with
3 * this work for additional information regarding copyright ownership.
4 * The ASF licenses this file to You under the Apache License, Version 2.0
5 * (the "License"); you may not use this file except in compliance with
6 * the License. You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 * apr_ldap.h is generated from apr_ldap.h.in by configure -- do not edit apr_ldap.h
20 /**
21 * @file apr_ldap.h
22 * @brief APR-UTIL LDAP
24 #ifndef APU_LDAP_H
25 #define APU_LDAP_H
27 /**
28 * @defgroup APR_Util_LDAP LDAP
29 * @ingroup APR_Util
30 * @{
33 /* this will be defined if LDAP support was compiled into apr-util */
34 #define APR_HAS_LDAP @apu_has_ldap@
36 /* identify the LDAP toolkit used */
37 #define APR_HAS_NETSCAPE_LDAPSDK @apu_has_ldap_netscape@
38 #define APR_HAS_SOLARIS_LDAPSDK @apu_has_ldap_solaris@
39 #define APR_HAS_NOVELL_LDAPSDK @apu_has_ldap_novell@
40 #define APR_HAS_MOZILLA_LDAPSDK @apu_has_ldap_mozilla@
41 #define APR_HAS_OPENLDAP_LDAPSDK @apu_has_ldap_openldap@
42 #define APR_HAS_MICROSOFT_LDAPSDK @apu_has_ldap_microsoft@
43 #define APR_HAS_TIVOLI_LDAPSDK @apu_has_ldap_tivoli@
44 #define APR_HAS_ZOS_LDAPSDK @apu_has_ldap_zos@
45 #define APR_HAS_OTHER_LDAPSDK @apu_has_ldap_other@
49 * Handle the case when LDAP is enabled
51 #if APR_HAS_LDAP
54 * The following #defines are DEPRECATED and should not be used for
55 * anything. They remain to maintain binary compatibility.
56 * The original code defined the OPENLDAP SDK as present regardless
57 * of what really was there, which was way bogus. In addition, the
58 * apr_ldap_url_parse*() functions have been rewritten specifically for
59 * APR, so the APR_HAS_LDAP_URL_PARSE macro is forced to zero.
61 #if APR_HAS_TIVOLI_LDAPSDK
62 #define APR_HAS_LDAP_SSL 0
63 #else
64 #define APR_HAS_LDAP_SSL 1
65 #endif
66 #define APR_HAS_LDAP_URL_PARSE 0
68 #if APR_HAS_OPENLDAP_LDAPSDK && !defined(LDAP_DEPRECATED)
69 /* Ensure that the "deprecated" interfaces are still exposed
70 * with OpenLDAP >= 2.3; these were exposed by default in earlier
71 * releases. */
72 #define LDAP_DEPRECATED 1
73 #endif
76 * Include the standard LDAP header files.
79 @lber_h@
80 @ldap_h@
81 @ldap_ssl_h@
85 * Detected standard functions
87 #define APR_HAS_LDAPSSL_CLIENT_INIT @apu_has_ldapssl_client_init@
88 #define APR_HAS_LDAPSSL_CLIENT_DEINIT @apu_has_ldapssl_client_deinit@
89 #define APR_HAS_LDAPSSL_ADD_TRUSTED_CERT @apu_has_ldapssl_add_trusted_cert@
90 #define APR_HAS_LDAP_START_TLS_S @apu_has_ldap_start_tls_s@
91 #define APR_HAS_LDAP_SSLINIT @apu_has_ldap_sslinit@
92 #define APR_HAS_LDAPSSL_INIT @apu_has_ldapssl_init@
93 #define APR_HAS_LDAPSSL_INSTALL_ROUTINES @apu_has_ldapssl_install_routines@
96 * Make sure the secure LDAP port is defined
98 #ifndef LDAPS_PORT
99 #define LDAPS_PORT 636 /* ldaps:/// default LDAP over TLS port */
100 #endif
103 * For ldap function calls that input a size limit on the number of returned elements
104 * Some SDKs do not have the define for LDAP_DEFAULT_LIMIT (-1) or LDAP_NO_LIMIT (0)
106 #if APR_HAS_ZOS_LDAPSDK
107 #define APR_LDAP_SIZELIMIT LDAP_NO_LIMIT
108 #else
109 #ifdef LDAP_DEFAULT_LIMIT
110 #define APR_LDAP_SIZELIMIT LDAP_DEFAULT_LIMIT
111 #else
112 #define APR_LDAP_SIZELIMIT -1 /* equivalent to LDAP_DEFAULT_LIMIT */
113 #endif
114 #endif
117 * z/OS is missing some defines
119 #ifndef LDAP_VERSION_MAX
120 #define LDAP_VERSION_MAX LDAP_VERSION
121 #endif
122 #if APR_HAS_ZOS_LDAPSDK
123 #define LDAP_VENDOR_NAME "IBM z/OS"
124 #endif
126 /* Note: Macros defining const casting has been removed in APR v1.0,
127 * pending real support for LDAP v2.0 toolkits.
129 * In the mean time, please use an LDAP v3.0 toolkit.
131 #if LDAP_VERSION_MAX <= 2
132 #error Support for LDAP v2.0 toolkits has been removed from apr-util. Please use an LDAP v3.0 toolkit.
133 #endif
135 #ifdef __cplusplus
136 extern "C" {
137 #endif /* __cplusplus */
140 * This structure allows the C LDAP API error codes to be returned
141 * along with plain text error messages that explain to us mere mortals
142 * what really happened.
144 typedef struct apr_ldap_err_t {
145 const char *reason;
146 const char *msg;
147 int rc;
148 } apr_ldap_err_t;
150 #ifdef __cplusplus
152 #endif
154 #include "apr_ldap_url.h"
155 #include "apr_ldap_init.h"
156 #include "apr_ldap_option.h"
158 /** @} */
159 #endif /* APR_HAS_LDAP */
160 #endif /* APU_LDAP_H */