Sophie

Sophie

distrib > Mandriva > current > i586 > media > main-updates > by-pkgid > 7c859c6f61469ed11e2ab179848b0178 > files > 167

libapr-util-devel-1.4.1-0.1mdv2010.2.i586.rpm

<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Apache Portable Runtime Utility Library: LDAP</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javaScript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <img id="MSearchSelect" src="search/search.png"
             onmouseover="return searchBox.OnSearchSelectShow()"
             onmouseout="return searchBox.OnSearchSelectHide()"
             alt=""/>
        <input type="text" id="MSearchField" value="Search" accesskey="S"
             onfocus="searchBox.OnSearchFieldFocus(true)" 
             onblur="searchBox.OnSearchFieldFocus(false)" 
             onkeyup="searchBox.OnSearchFieldChange(event)"/>
        <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
        </div>
      </li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>LDAP<br/>
<small>
[<a class="el" href="group___a_p_r___util.html">APR Utility Functions</a>]</small>
</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structapr__ldap__err__t.html">apr_ldap_err_t</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structapr__ldap__opt__tls__cert__t.html">apr_ldap_opt_tls_cert_t</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structapr__ldap__url__desc__t.html">apr_ldap_url_desc_t</a></td></tr>
<tr><td colspan="2"><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf8d199208a26c4ee4c6db46764675f01"></a><!-- doxytag: member="APR_Util_LDAP::APR_HAS_LDAP" ref="gaf8d199208a26c4ee4c6db46764675f01" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APR_HAS_LDAP</b>&nbsp;&nbsp;&nbsp;1</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5ee3703cda47ea3fa8bb82b94341742c"></a><!-- doxytag: member="APR_Util_LDAP::APR_HAS_NETSCAPE_LDAPSDK" ref="ga5ee3703cda47ea3fa8bb82b94341742c" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APR_HAS_NETSCAPE_LDAPSDK</b>&nbsp;&nbsp;&nbsp;0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gadfd79510be01b585d07d3a0cf517377a"></a><!-- doxytag: member="APR_Util_LDAP::APR_HAS_SOLARIS_LDAPSDK" ref="gadfd79510be01b585d07d3a0cf517377a" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APR_HAS_SOLARIS_LDAPSDK</b>&nbsp;&nbsp;&nbsp;0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga61438dcd7b6c386fab3b3da59c884f2c"></a><!-- doxytag: member="APR_Util_LDAP::APR_HAS_NOVELL_LDAPSDK" ref="ga61438dcd7b6c386fab3b3da59c884f2c" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APR_HAS_NOVELL_LDAPSDK</b>&nbsp;&nbsp;&nbsp;0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6e9f26af3e9801f4f3dfb6ccb51ab4fe"></a><!-- doxytag: member="APR_Util_LDAP::APR_HAS_MOZILLA_LDAPSDK" ref="ga6e9f26af3e9801f4f3dfb6ccb51ab4fe" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APR_HAS_MOZILLA_LDAPSDK</b>&nbsp;&nbsp;&nbsp;0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga53eb8a677574757eab3aeef411c79e82"></a><!-- doxytag: member="APR_Util_LDAP::APR_HAS_OPENLDAP_LDAPSDK" ref="ga53eb8a677574757eab3aeef411c79e82" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APR_HAS_OPENLDAP_LDAPSDK</b>&nbsp;&nbsp;&nbsp;1</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga4d353111e4fc3f79a7a9a4d9a37b4099"></a><!-- doxytag: member="APR_Util_LDAP::APR_HAS_MICROSOFT_LDAPSDK" ref="ga4d353111e4fc3f79a7a9a4d9a37b4099" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APR_HAS_MICROSOFT_LDAPSDK</b>&nbsp;&nbsp;&nbsp;0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad46b9586b73ac6e51a02831275f8b04e"></a><!-- doxytag: member="APR_Util_LDAP::APR_HAS_TIVOLI_LDAPSDK" ref="gad46b9586b73ac6e51a02831275f8b04e" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APR_HAS_TIVOLI_LDAPSDK</b>&nbsp;&nbsp;&nbsp;0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaaf7c4fb35087815ead3905b61df10791"></a><!-- doxytag: member="APR_Util_LDAP::APR_HAS_ZOS_LDAPSDK" ref="gaaf7c4fb35087815ead3905b61df10791" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APR_HAS_ZOS_LDAPSDK</b>&nbsp;&nbsp;&nbsp;0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga23badc30790c00670f7d32485aef644f"></a><!-- doxytag: member="APR_Util_LDAP::APR_HAS_OTHER_LDAPSDK" ref="ga23badc30790c00670f7d32485aef644f" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APR_HAS_OTHER_LDAPSDK</b>&nbsp;&nbsp;&nbsp;0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga82632b7263e6bd4c944984973a64fc01"></a><!-- doxytag: member="APR_Util_LDAP::APR_HAS_LDAP_SSL" ref="ga82632b7263e6bd4c944984973a64fc01" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APR_HAS_LDAP_SSL</b>&nbsp;&nbsp;&nbsp;1</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae27df06dee7eea38e01e5e62bceea878"></a><!-- doxytag: member="APR_Util_LDAP::APR_HAS_LDAP_URL_PARSE" ref="gae27df06dee7eea38e01e5e62bceea878" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APR_HAS_LDAP_URL_PARSE</b>&nbsp;&nbsp;&nbsp;0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6e822ba31223c57fc9c3cd2b4fb86605"></a><!-- doxytag: member="APR_Util_LDAP::APR_HAS_LDAPSSL_CLIENT_INIT" ref="ga6e822ba31223c57fc9c3cd2b4fb86605" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APR_HAS_LDAPSSL_CLIENT_INIT</b>&nbsp;&nbsp;&nbsp;0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad65f3166d487725db8d6f55b0d201d18"></a><!-- doxytag: member="APR_Util_LDAP::APR_HAS_LDAPSSL_CLIENT_DEINIT" ref="gad65f3166d487725db8d6f55b0d201d18" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APR_HAS_LDAPSSL_CLIENT_DEINIT</b>&nbsp;&nbsp;&nbsp;0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab69231519b893f3dc23857e7aa4b65ad"></a><!-- doxytag: member="APR_Util_LDAP::APR_HAS_LDAPSSL_ADD_TRUSTED_CERT" ref="gab69231519b893f3dc23857e7aa4b65ad" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APR_HAS_LDAPSSL_ADD_TRUSTED_CERT</b>&nbsp;&nbsp;&nbsp;0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga630a8cfea69448d4a4d882e099ae4d89"></a><!-- doxytag: member="APR_Util_LDAP::APR_HAS_LDAP_START_TLS_S" ref="ga630a8cfea69448d4a4d882e099ae4d89" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APR_HAS_LDAP_START_TLS_S</b>&nbsp;&nbsp;&nbsp;1</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gadb27050178c600180c2a63bdedf88c02"></a><!-- doxytag: member="APR_Util_LDAP::APR_HAS_LDAP_SSLINIT" ref="gadb27050178c600180c2a63bdedf88c02" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APR_HAS_LDAP_SSLINIT</b>&nbsp;&nbsp;&nbsp;0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga463efdc777a997776dd968557e7dac00"></a><!-- doxytag: member="APR_Util_LDAP::APR_HAS_LDAPSSL_INIT" ref="ga463efdc777a997776dd968557e7dac00" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APR_HAS_LDAPSSL_INIT</b>&nbsp;&nbsp;&nbsp;0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa64b2ce53dea5bcbc53e9b162c85f55d"></a><!-- doxytag: member="APR_Util_LDAP::APR_HAS_LDAPSSL_INSTALL_ROUTINES" ref="gaa64b2ce53dea5bcbc53e9b162c85f55d" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APR_HAS_LDAPSSL_INSTALL_ROUTINES</b>&nbsp;&nbsp;&nbsp;0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga4df3832839553f7b92d0844d0b8d84b6"></a><!-- doxytag: member="APR_Util_LDAP::LDAPS_PORT" ref="ga4df3832839553f7b92d0844d0b8d84b6" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>LDAPS_PORT</b>&nbsp;&nbsp;&nbsp;636</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga390f8d97d0456ecdb8d41fb1568f142f"></a><!-- doxytag: member="APR_Util_LDAP::APR_LDAP_SIZELIMIT" ref="ga390f8d97d0456ecdb8d41fb1568f142f" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APR_LDAP_SIZELIMIT</b>&nbsp;&nbsp;&nbsp;0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga903ddd466b7680a770ed66788232e37c"></a><!-- doxytag: member="APR_Util_LDAP::LDAP_VERSION_MAX" ref="ga903ddd466b7680a770ed66788232e37c" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>LDAP_VERSION_MAX</b>&nbsp;&nbsp;&nbsp;LDAP_VERSION</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga211cc964400070e9dbe805f91ff4a321"></a><!-- doxytag: member="APR_Util_LDAP::APR_LDAP_IS_SERVER_DOWN" ref="ga211cc964400070e9dbe805f91ff4a321" args="(s)" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APR_LDAP_IS_SERVER_DOWN</b>(s)&nbsp;&nbsp;&nbsp;((s) == LDAP_SERVER_DOWN)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga13ada0d5580b69e66018e53a773ee355"></a><!-- doxytag: member="APR_Util_LDAP::APU_DECLARE_LDAP" ref="ga13ada0d5580b69e66018e53a773ee355" args="(type)" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APU_DECLARE_LDAP</b>(type)&nbsp;&nbsp;&nbsp;APU_DECLARE(type)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#ga381609c46f026364996ee2bc88ccbc68">APU_LDAP_INSUFFICIENT_ACCESS</a>&nbsp;&nbsp;&nbsp;LDAP_INSUFFICIENT_RIGHTS</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>APU_LDAP_SECURITY_ERROR</b>(n)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#gae3eda4797aebb6dadeb5876c0f7f4b0b">APR_LDAP_OPT_TLS</a>&nbsp;&nbsp;&nbsp;0x6fff</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#gaa36993968e0225cb175eb17039337433">APR_LDAP_OPT_TLS_CERT</a>&nbsp;&nbsp;&nbsp;0x6ffe</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#ga30949c4b417283ea02049267a5b7b1b1">APR_LDAP_OPT_VERIFY_CERT</a>&nbsp;&nbsp;&nbsp;0x6ffd</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#gaaa1fbd408f4d18c39ef5332f8d0f4745">APR_LDAP_OPT_REFERRALS</a>&nbsp;&nbsp;&nbsp;0x6ffc</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#ga3dcf151b8758dae4ccf86d1cf26f4bfc">APR_LDAP_OPT_REFHOPLIMIT</a>&nbsp;&nbsp;&nbsp;0x6ffb</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#ga90551ccd55675410d148e1396d708585">APR_LDAP_CA_TYPE_UNKNOWN</a>&nbsp;&nbsp;&nbsp;0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#gab5336a116c3881aa68ea5fe81c6cebce">APR_LDAP_CA_TYPE_DER</a>&nbsp;&nbsp;&nbsp;1</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#ga873a9f3a55f8345e79314bcff4d2da63">APR_LDAP_CA_TYPE_BASE64</a>&nbsp;&nbsp;&nbsp;2</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#gab52397cf2a484bf259c8057292baf277">APR_LDAP_CA_TYPE_CERT7_DB</a>&nbsp;&nbsp;&nbsp;3</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#gae31e900be314a4a41d6b4a80c77fc0a5">APR_LDAP_CA_TYPE_SECMOD</a>&nbsp;&nbsp;&nbsp;4</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#ga330f63f481bdd6d1a2cd11b2f00931f9">APR_LDAP_CERT_TYPE_UNKNOWN</a>&nbsp;&nbsp;&nbsp;5</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#ga83bb061671b300a894b9da953389ce5d">APR_LDAP_CERT_TYPE_DER</a>&nbsp;&nbsp;&nbsp;6</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#ga4e1047465f7938aa4f18602289dbdb75">APR_LDAP_CERT_TYPE_BASE64</a>&nbsp;&nbsp;&nbsp;7</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#gaabac1737dbe1c96cb71087cf3225cf33">APR_LDAP_CERT_TYPE_KEY3_DB</a>&nbsp;&nbsp;&nbsp;8</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#ga126182df3d24a1144e661fd1c076de62">APR_LDAP_CERT_TYPE_NICKNAME</a>&nbsp;&nbsp;&nbsp;9</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#ga4ec017388c41432a6a255ecb28e0ae2d">APR_LDAP_KEY_TYPE_UNKNOWN</a>&nbsp;&nbsp;&nbsp;10</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#ga028ac0e4cb1e00fc43509d7d568b5495">APR_LDAP_KEY_TYPE_DER</a>&nbsp;&nbsp;&nbsp;11</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#ga13aa9e6dbfe8aa898d139bfc7ae606d1">APR_LDAP_KEY_TYPE_BASE64</a>&nbsp;&nbsp;&nbsp;12</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#ga6dda2a079c113e3d73b3dcae58b98357">APR_LDAP_CERT_TYPE_PFX</a>&nbsp;&nbsp;&nbsp;13</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#ga643e937d04527c8d0001cd4ee92102e5">APR_LDAP_KEY_TYPE_PFX</a>&nbsp;&nbsp;&nbsp;14</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#ga70f4f4bff0ed16ad8eae0f3362f34196">APR_LDAP_CA_TYPE_CACERTDIR_BASE64</a>&nbsp;&nbsp;&nbsp;15</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#ga005b3c879760af5d38f9dbd2e910c695">APR_LDAP_NONE</a>&nbsp;&nbsp;&nbsp;0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#ga5e7057df19b0271f8776db8d9a5be863">APR_LDAP_SSL</a>&nbsp;&nbsp;&nbsp;1</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#gae3b6991b3392ca2061bad18a13a2802f">APR_LDAP_STARTTLS</a>&nbsp;&nbsp;&nbsp;2</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#gaf3b98ab3a6da25e4f3d1a4ed17106960">APR_LDAP_STOPTLS</a>&nbsp;&nbsp;&nbsp;3</td></tr>
<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structapr__ldap__err__t.html">apr_ldap_err_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#ga3f8031b3eb3895e7b5557cd7ddcc9350">apr_ldap_err_t</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/>
<a class="el" href="structapr__ldap__opt__tls__cert__t.html">apr_ldap_opt_tls_cert_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#gaf933e3d717b8cf88b72bf45ff3906e24">apr_ldap_opt_tls_cert_t</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structapr__ldap__url__desc__t.html">apr_ldap_url_desc_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#ga407a61a84358557f900f745efa3c3fdd">apr_ldap_url_desc_t</a></td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#ga8530e90ca597f822a571b6813021e1f1">apr_ldap_ssl_init</a> (apr_pool_t *pool, const char *cert_auth_file, int cert_file_type, <a class="el" href="structapr__ldap__err__t.html">apr_ldap_err_t</a> **result_err)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#ga4425baf721f1857e0d8e066076aa595c">apr_ldap_ssl_deinit</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#ga9b7929b5fafe485a79cb83273ef8de43">apr_ldap_init</a> (apr_pool_t *pool, LDAP **ldap, const char *hostname, int portno, int secure, <a class="el" href="structapr__ldap__err__t.html">apr_ldap_err_t</a> **result_err)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#ga59cae74d6182dea8d93080b602845866">apr_ldap_info</a> (apr_pool_t *pool, <a class="el" href="structapr__ldap__err__t.html">apr_ldap_err_t</a> **result_err)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#gaaeff4c9127a45e467490f8fb7648e946">apr_ldap_get_option</a> (apr_pool_t *pool, LDAP *ldap, int option, void *outvalue, <a class="el" href="structapr__ldap__err__t.html">apr_ldap_err_t</a> **result_err)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#gada266c693bc5ad7a336bd3965a09b7ba">apr_ldap_set_option</a> (apr_pool_t *pool, LDAP *ldap, int option, const void *invalue, <a class="el" href="structapr__ldap__err__t.html">apr_ldap_err_t</a> **result_err)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#ga465eeada97b097be91505534a319a001">apr_ldap_rebind_init</a> (apr_pool_t *pool)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#gaadf4bef6259aa733246e767cddde80ef">apr_ldap_rebind_add</a> (apr_pool_t *pool, LDAP *ld, const char *bindDN, const char *bindPW)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#gaab75697e70fef5dbf5dfe272ea25630a">apr_ldap_rebind_remove</a> (LDAP *ld)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#ga5b250f15fb43aca8af398895468acd8d">apr_ldap_is_ldap_url</a> (const char *url)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#ga89a664cdea8cdb01b8f1fb08fda8ad7b">apr_ldap_is_ldaps_url</a> (const char *url)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#ga5fa89f0ea59cdbe46396b1a7a16b8ffa">apr_ldap_is_ldapi_url</a> (const char *url)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#ga64e084c1ee8bc04a58f08a6aedd340fb">apr_ldap_url_parse_ext</a> (apr_pool_t *pool, const char *url_in, <a class="el" href="structapr__ldap__url__desc__t.html">apr_ldap_url_desc_t</a> **ludpp, <a class="el" href="structapr__ldap__err__t.html">apr_ldap_err_t</a> **result_err)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html#ga5cd5764d74a2b9f6fdbd3706ef467f04">apr_ldap_url_parse</a> (apr_pool_t *pool, const char *url_in, <a class="el" href="structapr__ldap__url__desc__t.html">apr_ldap_url_desc_t</a> **ludpp, <a class="el" href="structapr__ldap__err__t.html">apr_ldap_err_t</a> **result_err)</td></tr>
</table>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="ga873a9f3a55f8345e79314bcff4d2da63"></a><!-- doxytag: member="apr_ldap_option.h::APR_LDAP_CA_TYPE_BASE64" ref="ga873a9f3a55f8345e79314bcff4d2da63" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_LDAP_CA_TYPE_BASE64&nbsp;&nbsp;&nbsp;2</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>PEM encoded CA certificate </p>

</div>
</div>
<a class="anchor" id="ga70f4f4bff0ed16ad8eae0f3362f34196"></a><!-- doxytag: member="apr_ldap_option.h::APR_LDAP_CA_TYPE_CACERTDIR_BASE64" ref="ga70f4f4bff0ed16ad8eae0f3362f34196" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_LDAP_CA_TYPE_CACERTDIR_BASE64&nbsp;&nbsp;&nbsp;15</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Openldap directory full of base64-encoded cert authorities with hashes in corresponding .0 directory </p>

</div>
</div>
<a class="anchor" id="gab52397cf2a484bf259c8057292baf277"></a><!-- doxytag: member="apr_ldap_option.h::APR_LDAP_CA_TYPE_CERT7_DB" ref="gab52397cf2a484bf259c8057292baf277" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_LDAP_CA_TYPE_CERT7_DB&nbsp;&nbsp;&nbsp;3</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Netscape/Mozilla cert7.db CA certificate database </p>

</div>
</div>
<a class="anchor" id="gab5336a116c3881aa68ea5fe81c6cebce"></a><!-- doxytag: member="apr_ldap_option.h::APR_LDAP_CA_TYPE_DER" ref="gab5336a116c3881aa68ea5fe81c6cebce" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_LDAP_CA_TYPE_DER&nbsp;&nbsp;&nbsp;1</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>binary DER encoded CA certificate </p>

</div>
</div>
<a class="anchor" id="gae31e900be314a4a41d6b4a80c77fc0a5"></a><!-- doxytag: member="apr_ldap_option.h::APR_LDAP_CA_TYPE_SECMOD" ref="gae31e900be314a4a41d6b4a80c77fc0a5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_LDAP_CA_TYPE_SECMOD&nbsp;&nbsp;&nbsp;4</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Netscape/Mozilla secmod file </p>

</div>
</div>
<a class="anchor" id="ga90551ccd55675410d148e1396d708585"></a><!-- doxytag: member="apr_ldap_option.h::APR_LDAP_CA_TYPE_UNKNOWN" ref="ga90551ccd55675410d148e1396d708585" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_LDAP_CA_TYPE_UNKNOWN&nbsp;&nbsp;&nbsp;0</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Structures for the apr_set_option() cases APR_LDAP_OPT_TLS_CERT</p>
<p>This structure includes possible options to set certificates on system initialisation. Different SDKs have different certificate requirements, and to achieve this multiple certificates must be specified at once passed as an (apr_array_header_t *).</p>
<p>Netscape: Needs the CA cert database (cert7.db), the client cert database (key3.db) and the security module file (secmod.db) set at the system initialisation time. Three types are supported: APR_LDAP_CERT7_DB, APR_LDAP_KEY3_DB and APR_LDAP_SECMOD.</p>
<p>To specify a client cert connection, a certificate nickname needs to be provided with a type of APR_LDAP_CERT. int ldapssl_enable_clientauth( LDAP *ld, char *keynickname, char *keypasswd, char *certnickname ); keynickname is currently not used, and should be set to ""</p>
<p>Novell: Needs CA certificates and client certificates set at system initialisation time. Three types are supported: APR_LDAP_CA*, APR_LDAP_CERT* and APR_LDAP_KEY*.</p>
<p>Certificates cannot be specified per connection.</p>
<p>The functions used are: ldapssl_add_trusted_cert(serverTrustedRoot, serverTrustedRootEncoding); Clients certs and keys are set at system initialisation time with int ldapssl_set_client_cert ( void *cert, int type void *password); type can be LDAPSSL_CERT_FILETYPE_B64 or LDAPSSL_CERT_FILETYPE_DER ldapssl_set_client_private_key(clientPrivateKey, clientPrivateKeyEncoding, clientPrivateKeyPassword);</p>
<p>OpenSSL: Needs one or more CA certificates to be set at system initialisation time with a type of APR_LDAP_CA*.</p>
<p>May have one or more client certificates set per connection with a type of APR_LDAP_CERT*, and keys with APR_LDAP_KEY*. CA certificate type unknown </p>

</div>
</div>
<a class="anchor" id="ga4e1047465f7938aa4f18602289dbdb75"></a><!-- doxytag: member="apr_ldap_option.h::APR_LDAP_CERT_TYPE_BASE64" ref="ga4e1047465f7938aa4f18602289dbdb75" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_LDAP_CERT_TYPE_BASE64&nbsp;&nbsp;&nbsp;7</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>PEM encoded client certificate </p>

</div>
</div>
<a class="anchor" id="ga83bb061671b300a894b9da953389ce5d"></a><!-- doxytag: member="apr_ldap_option.h::APR_LDAP_CERT_TYPE_DER" ref="ga83bb061671b300a894b9da953389ce5d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_LDAP_CERT_TYPE_DER&nbsp;&nbsp;&nbsp;6</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>binary DER encoded client certificate </p>

</div>
</div>
<a class="anchor" id="gaabac1737dbe1c96cb71087cf3225cf33"></a><!-- doxytag: member="apr_ldap_option.h::APR_LDAP_CERT_TYPE_KEY3_DB" ref="gaabac1737dbe1c96cb71087cf3225cf33" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_LDAP_CERT_TYPE_KEY3_DB&nbsp;&nbsp;&nbsp;8</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Netscape/Mozilla key3.db client certificate database </p>

</div>
</div>
<a class="anchor" id="ga126182df3d24a1144e661fd1c076de62"></a><!-- doxytag: member="apr_ldap_option.h::APR_LDAP_CERT_TYPE_NICKNAME" ref="ga126182df3d24a1144e661fd1c076de62" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_LDAP_CERT_TYPE_NICKNAME&nbsp;&nbsp;&nbsp;9</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Netscape/Mozilla client certificate nickname </p>

</div>
</div>
<a class="anchor" id="ga6dda2a079c113e3d73b3dcae58b98357"></a><!-- doxytag: member="apr_ldap_option.h::APR_LDAP_CERT_TYPE_PFX" ref="ga6dda2a079c113e3d73b3dcae58b98357" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_LDAP_CERT_TYPE_PFX&nbsp;&nbsp;&nbsp;13</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>PKCS#12 encoded client certificate </p>

</div>
</div>
<a class="anchor" id="ga330f63f481bdd6d1a2cd11b2f00931f9"></a><!-- doxytag: member="apr_ldap_option.h::APR_LDAP_CERT_TYPE_UNKNOWN" ref="ga330f63f481bdd6d1a2cd11b2f00931f9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_LDAP_CERT_TYPE_UNKNOWN&nbsp;&nbsp;&nbsp;5</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Client certificate type unknown </p>

</div>
</div>
<a class="anchor" id="ga13aa9e6dbfe8aa898d139bfc7ae606d1"></a><!-- doxytag: member="apr_ldap_option.h::APR_LDAP_KEY_TYPE_BASE64" ref="ga13aa9e6dbfe8aa898d139bfc7ae606d1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_LDAP_KEY_TYPE_BASE64&nbsp;&nbsp;&nbsp;12</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>PEM encoded private key </p>

</div>
</div>
<a class="anchor" id="ga028ac0e4cb1e00fc43509d7d568b5495"></a><!-- doxytag: member="apr_ldap_option.h::APR_LDAP_KEY_TYPE_DER" ref="ga028ac0e4cb1e00fc43509d7d568b5495" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_LDAP_KEY_TYPE_DER&nbsp;&nbsp;&nbsp;11</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>binary DER encoded private key </p>

</div>
</div>
<a class="anchor" id="ga643e937d04527c8d0001cd4ee92102e5"></a><!-- doxytag: member="apr_ldap_option.h::APR_LDAP_KEY_TYPE_PFX" ref="ga643e937d04527c8d0001cd4ee92102e5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_LDAP_KEY_TYPE_PFX&nbsp;&nbsp;&nbsp;14</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>PKCS#12 encoded private key </p>

</div>
</div>
<a class="anchor" id="ga4ec017388c41432a6a255ecb28e0ae2d"></a><!-- doxytag: member="apr_ldap_option.h::APR_LDAP_KEY_TYPE_UNKNOWN" ref="ga4ec017388c41432a6a255ecb28e0ae2d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_LDAP_KEY_TYPE_UNKNOWN&nbsp;&nbsp;&nbsp;10</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Private key type unknown </p>

</div>
</div>
<a class="anchor" id="ga005b3c879760af5d38f9dbd2e910c695"></a><!-- doxytag: member="apr_ldap_option.h::APR_LDAP_NONE" ref="ga005b3c879760af5d38f9dbd2e910c695" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_LDAP_NONE&nbsp;&nbsp;&nbsp;0</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>APR_LDAP_OPT_TLS</p>
<p>This sets the SSL level on the LDAP handle.</p>
<p>Netscape/Mozilla: Supports SSL, but not STARTTLS SSL is enabled by calling ldapssl_install_routines().</p>
<p>Novell: Supports SSL and STARTTLS. SSL is enabled by calling ldapssl_install_routines(). Note that calling other ldap functions before ldapssl_install_routines() may cause this function to fail. STARTTLS is enabled by calling ldapssl_start_tls_s() after calling ldapssl_install_routines() (check this).</p>
<p>OpenLDAP: Supports SSL and supports STARTTLS, but none of this is documented: <a href="http://www.openldap.org/lists/openldap-software/200409/msg00618.html">http://www.openldap.org/lists/openldap-software/200409/msg00618.html</a> Documentation for both SSL support and STARTTLS has been deleted from the OpenLDAP documentation and website. No encryption </p>

</div>
</div>
<a class="anchor" id="gaaa1fbd408f4d18c39ef5332f8d0f4745"></a><!-- doxytag: member="apr_ldap_option.h::APR_LDAP_OPT_REFERRALS" ref="gaaa1fbd408f4d18c39ef5332f8d0f4745" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_LDAP_OPT_REFERRALS&nbsp;&nbsp;&nbsp;0x6ffc</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set the LDAP library to indicate if referrals should be chased during LDAP searches. </p>

</div>
</div>
<a class="anchor" id="ga3dcf151b8758dae4ccf86d1cf26f4bfc"></a><!-- doxytag: member="apr_ldap_option.h::APR_LDAP_OPT_REFHOPLIMIT" ref="ga3dcf151b8758dae4ccf86d1cf26f4bfc" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_LDAP_OPT_REFHOPLIMIT&nbsp;&nbsp;&nbsp;0x6ffb</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set the LDAP library to indicate a maximum number of referral hops to chase before giving up on the search. </p>

</div>
</div>
<a class="anchor" id="gae3eda4797aebb6dadeb5876c0f7f4b0b"></a><!-- doxytag: member="apr_ldap_option.h::APR_LDAP_OPT_TLS" ref="gae3eda4797aebb6dadeb5876c0f7f4b0b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_LDAP_OPT_TLS&nbsp;&nbsp;&nbsp;0x6fff</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set SSL mode to one of APR_LDAP_NONE, APR_LDAP_SSL, APR_LDAP_STARTTLS or APR_LDAP_STOPTLS. </p>

</div>
</div>
<a class="anchor" id="gaa36993968e0225cb175eb17039337433"></a><!-- doxytag: member="apr_ldap_option.h::APR_LDAP_OPT_TLS_CERT" ref="gaa36993968e0225cb175eb17039337433" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_LDAP_OPT_TLS_CERT&nbsp;&nbsp;&nbsp;0x6ffe</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set zero or more CA certificates, client certificates or private keys globally, or per connection (where supported). </p>

</div>
</div>
<a class="anchor" id="ga30949c4b417283ea02049267a5b7b1b1"></a><!-- doxytag: member="apr_ldap_option.h::APR_LDAP_OPT_VERIFY_CERT" ref="ga30949c4b417283ea02049267a5b7b1b1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_LDAP_OPT_VERIFY_CERT&nbsp;&nbsp;&nbsp;0x6ffd</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set the LDAP library to no verify the server certificate. This means all servers are considered trusted. </p>

</div>
</div>
<a class="anchor" id="ga5e7057df19b0271f8776db8d9a5be863"></a><!-- doxytag: member="apr_ldap_option.h::APR_LDAP_SSL" ref="ga5e7057df19b0271f8776db8d9a5be863" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_LDAP_SSL&nbsp;&nbsp;&nbsp;1</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>SSL encryption (ldaps://) </p>

</div>
</div>
<a class="anchor" id="gae3b6991b3392ca2061bad18a13a2802f"></a><!-- doxytag: member="apr_ldap_option.h::APR_LDAP_STARTTLS" ref="gae3b6991b3392ca2061bad18a13a2802f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_LDAP_STARTTLS&nbsp;&nbsp;&nbsp;2</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>TLS encryption (STARTTLS) </p>

</div>
</div>
<a class="anchor" id="gaf3b98ab3a6da25e4f3d1a4ed17106960"></a><!-- doxytag: member="apr_ldap_option.h::APR_LDAP_STOPTLS" ref="gaf3b98ab3a6da25e4f3d1a4ed17106960" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_LDAP_STOPTLS&nbsp;&nbsp;&nbsp;3</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>end TLS encryption (STOPTLS) </p>

</div>
</div>
<a class="anchor" id="ga381609c46f026364996ee2bc88ccbc68"></a><!-- doxytag: member="apr_ldap_init.h::APU_LDAP_INSUFFICIENT_ACCESS" ref="ga381609c46f026364996ee2bc88ccbc68" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APU_LDAP_INSUFFICIENT_ACCESS&nbsp;&nbsp;&nbsp;LDAP_INSUFFICIENT_RIGHTS</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Macro to detect security related return values. </p>

</div>
</div>
<a class="anchor" id="gad21dec986671044ae0fd66703fd0d9ab"></a><!-- doxytag: member="apr_ldap_init.h::APU_LDAP_SECURITY_ERROR" ref="gad21dec986671044ae0fd66703fd0d9ab" args="(n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APU_LDAP_SECURITY_ERROR</td>
          <td>(</td>
          <td class="paramtype">n&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment">(LDAP_INAPPROPRIATE_AUTH == n) ? 1 \
    : (LDAP_INVALID_CREDENTIALS == n) ? 1 \
    : (<a class="code" href="group___a_p_r___util___l_d_a_p.html#ga381609c46f026364996ee2bc88ccbc68">APU_LDAP_INSUFFICIENT_ACCESS</a> == n) ? 1 \
    : 0
</pre></div>
</div>
</div>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="ga3f8031b3eb3895e7b5557cd7ddcc9350"></a><!-- doxytag: member="apr_ldap.h::apr_ldap_err_t" ref="ga3f8031b3eb3895e7b5557cd7ddcc9350" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structapr__ldap__err__t.html">apr_ldap_err_t</a>  <a class="el" href="structapr__ldap__err__t.html">apr_ldap_err_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This structure allows the C LDAP API error codes to be returned along with plain text error messages that explain to us mere mortals what really happened. </p>

</div>
</div>
<a class="anchor" id="gaf933e3d717b8cf88b72bf45ff3906e24"></a><!-- doxytag: member="apr_ldap_option.h::apr_ldap_opt_tls_cert_t" ref="gaf933e3d717b8cf88b72bf45ff3906e24" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structapr__ldap__opt__tls__cert__t.html">apr_ldap_opt_tls_cert_t</a> <a class="el" href="structapr__ldap__opt__tls__cert__t.html">apr_ldap_opt_tls_cert_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Certificate structure.</p>
<p>This structure is used to store certificate details. An array of these structures is passed to <a class="el" href="group___a_p_r___util___l_d_a_p.html#gada266c693bc5ad7a336bd3965a09b7ba">apr_ldap_set_option()</a> to set CA and client certificates. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>Type of certificate APR_LDAP_*_TYPE_* </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>path</em>&nbsp;</td><td>Path, file or nickname of the certificate </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>password</em>&nbsp;</td><td>Optional password, can be NULL </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga407a61a84358557f900f745efa3c3fdd"></a><!-- doxytag: member="apr_ldap_url.h::apr_ldap_url_desc_t" ref="ga407a61a84358557f900f745efa3c3fdd" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structapr__ldap__url__desc__t.html">apr_ldap_url_desc_t</a>  <a class="el" href="structapr__ldap__url__desc__t.html">apr_ldap_url_desc_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Structure to access an exploded LDAP URL </p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="gaaeff4c9127a45e467490f8fb7648e946"></a><!-- doxytag: member="apr_ldap_option.h::apr_ldap_get_option" ref="gaaeff4c9127a45e467490f8fb7648e946" args="(apr_pool_t *pool, LDAP *ldap, int option, void *outvalue, apr_ldap_err_t **result_err)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int apr_ldap_get_option </td>
          <td>(</td>
          <td class="paramtype">apr_pool_t *&nbsp;</td>
          <td class="paramname"> <em>pool</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LDAP *&nbsp;</td>
          <td class="paramname"> <em>ldap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>option</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>outvalue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structapr__ldap__err__t.html">apr_ldap_err_t</a> **&nbsp;</td>
          <td class="paramname"> <em>result_err</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>APR LDAP get option function</p>
<p>This function gets option values from a given LDAP session if one was specified. It maps to the native ldap_get_option() function. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pool</em>&nbsp;</td><td>The pool to use </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ldap</em>&nbsp;</td><td>The LDAP handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>option</em>&nbsp;</td><td>The LDAP_OPT_* option to return </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>outvalue</em>&nbsp;</td><td>The value returned (if any) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>result_err</em>&nbsp;</td><td>The <a class="el" href="structapr__ldap__err__t.html">apr_ldap_err_t</a> structure contained detailed results of the operation. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga59cae74d6182dea8d93080b602845866"></a><!-- doxytag: member="apr_ldap_init.h::apr_ldap_info" ref="ga59cae74d6182dea8d93080b602845866" args="(apr_pool_t *pool, apr_ldap_err_t **result_err)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int apr_ldap_info </td>
          <td>(</td>
          <td class="paramtype">apr_pool_t *&nbsp;</td>
          <td class="paramname"> <em>pool</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structapr__ldap__err__t.html">apr_ldap_err_t</a> **&nbsp;</td>
          <td class="paramname"> <em>result_err</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>APR LDAP info function</p>
<p>This function returns a string describing the LDAP toolkit currently in use. The string is placed inside result_err-&gt;reason. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pool</em>&nbsp;</td><td>The pool to use </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>result_err</em>&nbsp;</td><td>The returned result </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga9b7929b5fafe485a79cb83273ef8de43"></a><!-- doxytag: member="apr_ldap_init.h::apr_ldap_init" ref="ga9b7929b5fafe485a79cb83273ef8de43" args="(apr_pool_t *pool, LDAP **ldap, const char *hostname, int portno, int secure, apr_ldap_err_t **result_err)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int apr_ldap_init </td>
          <td>(</td>
          <td class="paramtype">apr_pool_t *&nbsp;</td>
          <td class="paramname"> <em>pool</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LDAP **&nbsp;</td>
          <td class="paramname"> <em>ldap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>hostname</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>portno</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>secure</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structapr__ldap__err__t.html">apr_ldap_err_t</a> **&nbsp;</td>
          <td class="paramname"> <em>result_err</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>APR LDAP initialise function</p>
<p>This function is responsible for initialising an LDAP connection in a toolkit independant way. It does the job of ldap_init() from the C api.</p>
<p>It handles both the SSL and non-SSL case, and attempts to hide the complexity setup from the user. This function assumes that any certificate setup necessary has already been done.</p>
<p>If SSL or STARTTLS needs to be enabled, and the underlying toolkit supports it, the following values are accepted for secure:</p>
<p>APR_LDAP_NONE: No encryption APR_LDAP_SSL: SSL encryption (ldaps://) APR_LDAP_STARTTLS: Force STARTTLS on ldap:// </p>
<dl class="remark"><dt><b>Remarks:</b></dt><dd>The Novell toolkit is only able to set the SSL mode via this function. To work around this limitation, set the SSL mode here if no per connection client certificates are present, otherwise set secure APR_LDAP_NONE here, then set the per connection client certificates, followed by setting the SSL mode via <a class="el" href="group___a_p_r___util___l_d_a_p.html#gada266c693bc5ad7a336bd3965a09b7ba">apr_ldap_set_option()</a>. As Novell does not support per connection client certificates, this problem is worked around while still being compatible with other LDAP toolkits. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pool</em>&nbsp;</td><td>The pool to use </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ldap</em>&nbsp;</td><td>The LDAP handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>hostname</em>&nbsp;</td><td>The name of the host to connect to. This can be either a DNS name, or an IP address. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>portno</em>&nbsp;</td><td>The port to connect to </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>secure</em>&nbsp;</td><td>The security mode to set </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>result_err</em>&nbsp;</td><td>The returned result </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga5b250f15fb43aca8af398895468acd8d"></a><!-- doxytag: member="apr_ldap_url.h::apr_ldap_is_ldap_url" ref="ga5b250f15fb43aca8af398895468acd8d" args="(const char *url)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int apr_ldap_is_ldap_url </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>url</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Is this URL an ldap url? ldap:// </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>url</em>&nbsp;</td><td>The url to test </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga5fa89f0ea59cdbe46396b1a7a16b8ffa"></a><!-- doxytag: member="apr_ldap_url.h::apr_ldap_is_ldapi_url" ref="ga5fa89f0ea59cdbe46396b1a7a16b8ffa" args="(const char *url)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int apr_ldap_is_ldapi_url </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>url</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Is this URL an ldap socket url? ldapi:// </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>url</em>&nbsp;</td><td>The url to test </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga89a664cdea8cdb01b8f1fb08fda8ad7b"></a><!-- doxytag: member="apr_ldap_url.h::apr_ldap_is_ldaps_url" ref="ga89a664cdea8cdb01b8f1fb08fda8ad7b" args="(const char *url)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int apr_ldap_is_ldaps_url </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>url</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Is this URL an SSL ldap url? ldaps:// </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>url</em>&nbsp;</td><td>The url to test </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaadf4bef6259aa733246e767cddde80ef"></a><!-- doxytag: member="apr_ldap_rebind.h::apr_ldap_rebind_add" ref="gaadf4bef6259aa733246e767cddde80ef" args="(apr_pool_t *pool, LDAP *ld, const char *bindDN, const char *bindPW)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">apr_status_t apr_ldap_rebind_add </td>
          <td>(</td>
          <td class="paramtype">apr_pool_t *&nbsp;</td>
          <td class="paramname"> <em>pool</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LDAP *&nbsp;</td>
          <td class="paramname"> <em>ld</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>bindDN</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>bindPW</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>APR LDAP rebind_add function</p>
<p>This function creates a cross reference entry for the specified ldap connection. The rebind callback function will look up this ldap connection so it can retrieve the bindDN and bindPW for use in any binds while referrals are being chased.</p>
<p>This function will add the callback to the LDAP handle passed in.</p>
<p>A cleanup is registered within the pool provided to remove this entry when the pool is removed. Alternatively <a class="el" href="group___a_p_r___util___l_d_a_p.html#gaab75697e70fef5dbf5dfe272ea25630a">apr_ldap_rebind_remove()</a> can be called to explicitly remove the entry at will.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pool</em>&nbsp;</td><td>The pool to use </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ld</em>&nbsp;</td><td>The LDAP connectionhandle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bindDN</em>&nbsp;</td><td>The bind DN to be used for any binds while chasing referrals on this ldap connection. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bindPW</em>&nbsp;</td><td>The bind Password to be used for any binds while chasing referrals on this ldap connection. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga465eeada97b097be91505534a319a001"></a><!-- doxytag: member="apr_ldap_rebind.h::apr_ldap_rebind_init" ref="ga465eeada97b097be91505534a319a001" args="(apr_pool_t *pool)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">apr_status_t apr_ldap_rebind_init </td>
          <td>(</td>
          <td class="paramtype">apr_pool_t *&nbsp;</td>
          <td class="paramname"> <em>pool</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>APR LDAP initialize rebind lock</p>
<p>This function creates the lock for controlling access to the xref list.. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pool</em>&nbsp;</td><td>Pool to use when creating the xref_lock. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaab75697e70fef5dbf5dfe272ea25630a"></a><!-- doxytag: member="apr_ldap_rebind.h::apr_ldap_rebind_remove" ref="gaab75697e70fef5dbf5dfe272ea25630a" args="(LDAP *ld)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">apr_status_t apr_ldap_rebind_remove </td>
          <td>(</td>
          <td class="paramtype">LDAP *&nbsp;</td>
          <td class="paramname"> <em>ld</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>APR LDAP rebind_remove function</p>
<p>This function removes the rebind cross reference entry for the specified ldap connection.</p>
<p>If not explicitly removed, this function will be called automatically when the pool is cleaned up.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ld</em>&nbsp;</td><td>The LDAP connectionhandle </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gada266c693bc5ad7a336bd3965a09b7ba"></a><!-- doxytag: member="apr_ldap_option.h::apr_ldap_set_option" ref="gada266c693bc5ad7a336bd3965a09b7ba" args="(apr_pool_t *pool, LDAP *ldap, int option, const void *invalue, apr_ldap_err_t **result_err)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int apr_ldap_set_option </td>
          <td>(</td>
          <td class="paramtype">apr_pool_t *&nbsp;</td>
          <td class="paramname"> <em>pool</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LDAP *&nbsp;</td>
          <td class="paramname"> <em>ldap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>option</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&nbsp;</td>
          <td class="paramname"> <em>invalue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structapr__ldap__err__t.html">apr_ldap_err_t</a> **&nbsp;</td>
          <td class="paramname"> <em>result_err</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>APR LDAP set option function</p>
<p>This function sets option values to a given LDAP session if one was specified. It maps to the native ldap_set_option() function.</p>
<p>Where an option is not supported by an LDAP toolkit, this function will try and apply legacy functions to achieve the same effect, depending on the platform. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pool</em>&nbsp;</td><td>The pool to use </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ldap</em>&nbsp;</td><td>The LDAP handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>option</em>&nbsp;</td><td>The LDAP_OPT_* option to set </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>invalue</em>&nbsp;</td><td>The value to set </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>result_err</em>&nbsp;</td><td>The <a class="el" href="structapr__ldap__err__t.html">apr_ldap_err_t</a> structure contained detailed results of the operation. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga4425baf721f1857e0d8e066076aa595c"></a><!-- doxytag: member="apr_ldap_init.h::apr_ldap_ssl_deinit" ref="ga4425baf721f1857e0d8e066076aa595c" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int apr_ldap_ssl_deinit </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>APR LDAP SSL De-Initialise function</p>
<p>This function tears down any SSL certificate setup previously set using <a class="el" href="group___a_p_r___util___l_d_a_p.html#ga8530e90ca597f822a571b6813021e1f1">apr_ldap_ssl_init()</a>. It should be called to clean up if a graceful restart of a service is attempted. </p>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000001">Todo:</a></b></dt><dd>currently we do not check whether <a class="el" href="group___a_p_r___util___l_d_a_p.html#ga8530e90ca597f822a571b6813021e1f1">apr_ldap_ssl_init()</a> has been called first - we probably should. </dd></dl>

</div>
</div>
<a class="anchor" id="ga8530e90ca597f822a571b6813021e1f1"></a><!-- doxytag: member="apr_ldap_init.h::apr_ldap_ssl_init" ref="ga8530e90ca597f822a571b6813021e1f1" args="(apr_pool_t *pool, const char *cert_auth_file, int cert_file_type, apr_ldap_err_t **result_err)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int apr_ldap_ssl_init </td>
          <td>(</td>
          <td class="paramtype">apr_pool_t *&nbsp;</td>
          <td class="paramname"> <em>pool</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>cert_auth_file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>cert_file_type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structapr__ldap__err__t.html">apr_ldap_err_t</a> **&nbsp;</td>
          <td class="paramname"> <em>result_err</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>APR LDAP SSL Initialise function</p>
<p>This function initialises SSL on the underlying LDAP toolkit if this is necessary.</p>
<p>If a CA certificate is provided, this is set, however the setting of certificates via this method has been deprecated and will be removed in APR v2.0.</p>
<p>The <a class="el" href="group___a_p_r___util___l_d_a_p.html#gada266c693bc5ad7a336bd3965a09b7ba">apr_ldap_set_option()</a> function with the APR_LDAP_OPT_TLS_CERT option should be used instead to set certificates.</p>
<p>If SSL support is not available on this platform, or a problem was encountered while trying to set the certificate, the function will return APR_EGENERAL. Further LDAP specific error information can be found in result_err. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pool</em>&nbsp;</td><td>The pool to use </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>cert_auth_file</em>&nbsp;</td><td>The name of the certificate to use, can be NULL </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>cert_file_type</em>&nbsp;</td><td>The type of certificate specified. See the <a class="el" href="group___a_p_r___util___l_d_a_p.html#gada266c693bc5ad7a336bd3965a09b7ba">apr_ldap_set_option()</a> APR_LDAP_OPT_TLS_CERT option for details. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>result_err</em>&nbsp;</td><td>The returned result </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga5cd5764d74a2b9f6fdbd3706ef467f04"></a><!-- doxytag: member="apr_ldap_url.h::apr_ldap_url_parse" ref="ga5cd5764d74a2b9f6fdbd3706ef467f04" args="(apr_pool_t *pool, const char *url_in, apr_ldap_url_desc_t **ludpp, apr_ldap_err_t **result_err)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int apr_ldap_url_parse </td>
          <td>(</td>
          <td class="paramtype">apr_pool_t *&nbsp;</td>
          <td class="paramname"> <em>pool</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>url_in</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structapr__ldap__url__desc__t.html">apr_ldap_url_desc_t</a> **&nbsp;</td>
          <td class="paramname"> <em>ludpp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structapr__ldap__err__t.html">apr_ldap_err_t</a> **&nbsp;</td>
          <td class="paramname"> <em>result_err</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Parse an LDAP URL. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pool</em>&nbsp;</td><td>The pool to use </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>url_in</em>&nbsp;</td><td>The URL to parse </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ludpp</em>&nbsp;</td><td>The structure to return the exploded URL </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>result_err</em>&nbsp;</td><td>The result structure of the operation </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga64e084c1ee8bc04a58f08a6aedd340fb"></a><!-- doxytag: member="apr_ldap_url.h::apr_ldap_url_parse_ext" ref="ga64e084c1ee8bc04a58f08a6aedd340fb" args="(apr_pool_t *pool, const char *url_in, apr_ldap_url_desc_t **ludpp, apr_ldap_err_t **result_err)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int apr_ldap_url_parse_ext </td>
          <td>(</td>
          <td class="paramtype">apr_pool_t *&nbsp;</td>
          <td class="paramname"> <em>pool</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>url_in</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structapr__ldap__url__desc__t.html">apr_ldap_url_desc_t</a> **&nbsp;</td>
          <td class="paramname"> <em>ludpp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structapr__ldap__err__t.html">apr_ldap_err_t</a> **&nbsp;</td>
          <td class="paramname"> <em>result_err</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Parse an LDAP URL. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pool</em>&nbsp;</td><td>The pool to use </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>url_in</em>&nbsp;</td><td>The URL to parse </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ludpp</em>&nbsp;</td><td>The structure to return the exploded URL </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>result_err</em>&nbsp;</td><td>The result structure of the operation </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
</div>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&nbsp;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&nbsp;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&nbsp;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&nbsp;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&nbsp;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&nbsp;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<hr class="footer"/><address style="text-align: right;"><small>Generated on Wed Feb 1 12:19:48 2012 for Apache Portable Runtime Utility Library by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>