home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 November / CMCD1104.ISO / Software / Complet / Apache / apache_2.0.52-win32-x86-no_ssl.msi / Data.Cab / F277212_apr_ldap_url.h < prev    next >
C/C++ Source or Header  |  2004-02-13  |  3KB  |  84 lines

  1. /* Copyright 2000-2004 The Apache Software Foundation
  2.  *
  3.  * Licensed under the Apache License, Version 2.0 (the "License");
  4.  * you may not use this file except in compliance with the License.
  5.  * You may obtain a copy of the License at
  6.  *
  7.  *     http://www.apache.org/licenses/LICENSE-2.0
  8.  *
  9.  * Unless required by applicable law or agreed to in writing, software
  10.  * distributed under the License is distributed on an "AS IS" BASIS,
  11.  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12.  * See the License for the specific language governing permissions and
  13.  * limitations under the License.
  14.  */
  15.  
  16. #ifndef APR_LDAP_URL_H
  17. #define APR_LDAP_URL_H
  18.  
  19. #include "apr_ldap.h"
  20.  
  21. #if APR_HAS_LDAP
  22. #if APR_HAS_LDAP_URL_PARSE
  23.  
  24. #define apr_ldap_url_desc_t             LDAPURLDesc
  25. #define apr_ldap_is_ldap_url(url)       ldap_is_ldap_url(url)
  26. #define apr_ldap_is_ldaps_url(url)      ldap_is_ldaps_url(url)
  27. #define apr_ldap_is_ldapi_url(url)      ldap_is_ldapi_url(url)
  28. #define apr_ldap_url_parse(url, ludpp)  ldap_url_parse(url, ludpp)
  29. #define apr_ldap_free_urldesc(ludp)     ldap_free_urldesc(ludp)
  30.  
  31. #else /* ! APR_HAS_LDAP_URL_PARSE */
  32.  
  33. /*
  34.  * types for ldap URL handling
  35.  */
  36. typedef struct apr_ldap_url_desc_t {
  37.     struct  apr_ldap_url_desc_t  *lud_next;
  38.     char    *lud_scheme;
  39.     char    *lud_host;
  40.     int     lud_port;
  41.     char    *lud_dn;
  42.     char    **lud_attrs;
  43.     int     lud_scope;
  44.     char    *lud_filter;
  45.     char    **lud_exts;
  46.     int     lud_crit_exts;
  47. } apr_ldap_url_desc_t;
  48.  
  49. #ifndef LDAP_URL_SUCCESS
  50. #define LDAP_URL_SUCCESS          0x00    /* Success */
  51. #define LDAP_URL_ERR_MEM          0x01    /* can't allocate memory space */
  52. #define LDAP_URL_ERR_PARAM        0x02    /* parameter is bad */
  53. #define LDAP_URL_ERR_BADSCHEME    0x03    /* URL doesn't begin with "ldap[si]://" */
  54. #define LDAP_URL_ERR_BADENCLOSURE 0x04    /* URL is missing trailing ">" */
  55. #define LDAP_URL_ERR_BADURL       0x05    /* URL is bad */
  56. #define LDAP_URL_ERR_BADHOST      0x06    /* host port is bad */
  57. #define LDAP_URL_ERR_BADATTRS     0x07    /* bad (or missing) attributes */
  58. #define LDAP_URL_ERR_BADSCOPE     0x08    /* scope string is invalid (or missing) */
  59. #define LDAP_URL_ERR_BADFILTER    0x09    /* bad or missing filter */
  60. #define LDAP_URL_ERR_BADEXTS      0x0a    /* bad or missing extensions */
  61. #endif
  62.  
  63. /*
  64.  * in url.c
  65.  *
  66.  * need _ext varients
  67.  */
  68. APU_DECLARE(int) apr_ldap_is_ldap_url(const char *url);
  69.  
  70. APU_DECLARE(int) apr_ldap_is_ldaps_url(const char *url);
  71.  
  72. APU_DECLARE(int) apr_ldap_is_ldapi_url(const char *url);
  73.  
  74. APU_DECLARE(int) apr_ldap_url_parse(const char *url, 
  75.                                     apr_ldap_url_desc_t **ludpp);
  76.  
  77. APU_DECLARE(void) apr_ldap_free_urldesc(apr_ldap_url_desc_t *ludp);
  78.  
  79. #endif /* ! APR_HAS_LDAP_URL_PARSE */
  80.  
  81. #endif /* APR_HAS_LDAP */
  82.  
  83. #endif /* APR_LDAP_URL_H */
  84.