ldap-client/Ldap-Client.html
2015-04-08 20:14:53 +00:00

4 lines
60 KiB
HTML

<!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/html; charset=UTF-8" /><title>Ldap.Client</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Ldap-Client.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Ldap-Client.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ldap-client-0.1.0: Pure Haskell LDAP Client Library</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Ldap.Client</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Bind</a></li><li><a href="#g:2">Search</a><ul><li><a href="#g:3">Search modifiers</a></li></ul></li><li><a href="#g:4">Modify</a></li><li><a href="#g:5">Add</a></li><li><a href="#g:6">Delete</a></li><li><a href="#g:7">ModifyDn</a></li><li><a href="#g:8">Compare</a></li><li><a href="#g:9">Extended</a></li><li><a href="#g:10">Waiting for completion</a></li><li><a href="#g:11">Miscellanous</a></li><li><a href="#g:12">Re-exports</a></li></ul></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:Host">Host</a><ul class="subs"><li>= <a href="#v:Plain">Plain</a> <a href="http://hackage.haskell.org/package/base/docs/Data-String.html#t:String">String</a></li><li>| <a href="#v:Secure">Secure</a> <a href="http://hackage.haskell.org/package/base/docs/Data-String.html#t:String">String</a></li><li>| <a href="#v:Insecure">Insecure</a> <a href="http://hackage.haskell.org/package/base/docs/Data-String.html#t:String">String</a></li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:Ldap">Ldap</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:LdapError">LdapError</a><ul class="subs"><li>= <a href="#v:IOError">IOError</a> <a href="http://hackage.haskell.org/package/base/docs/System-IO-Error.html#t:IOError">IOError</a></li><li>| <a href="#v:ParseError">ParseError</a> ASN1Error</li><li>| <a href="#v:ResponseError">ResponseError</a> <a href="Ldap-Client.html#t:ResponseError">ResponseError</a></li><li>| <a href="#v:DisconnectError">DisconnectError</a> Disconnect</li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:ResponseError">ResponseError</a><ul class="subs"><li>= <a href="#v:ResponseInvalid">ResponseInvalid</a> <a href="Ldap-Client-Internal.html#t:Request">Request</a> <a href="Ldap-Client-Internal.html#t:Response">Response</a></li><li>| <a href="#v:ResponseErrorCode">ResponseErrorCode</a> <a href="Ldap-Client-Internal.html#t:Request">Request</a> <a href="Ldap-Client.html#t:ResultCode">ResultCode</a> <a href="Ldap-Client.html#t:Dn">Dn</a> Text</li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:ResultCode">ResultCode</a><ul class="subs"><li>= <a href="#v:Success">Success</a></li><li>| <a href="#v:OperationError">OperationError</a></li><li>| <a href="#v:ProtocolError">ProtocolError</a></li><li>| <a href="#v:TimeLimitExceeded">TimeLimitExceeded</a></li><li>| <a href="#v:SizeLimitExceeded">SizeLimitExceeded</a></li><li>| <a href="#v:CompareFalse">CompareFalse</a></li><li>| <a href="#v:CompareTrue">CompareTrue</a></li><li>| <a href="#v:AuthMethodNotSupported">AuthMethodNotSupported</a></li><li>| <a href="#v:StrongerAuthRequired">StrongerAuthRequired</a></li><li>| <a href="#v:Referral">Referral</a></li><li>| <a href="#v:AdminLimitExceeded">AdminLimitExceeded</a></li><li>| <a href="#v:UnavailableCriticalExtension">UnavailableCriticalExtension</a></li><li>| <a href="#v:ConfidentialityRequired">ConfidentialityRequired</a></li><li>| <a href="#v:SaslBindInProgress">SaslBindInProgress</a></li><li>| <a href="#v:NoSuchAttribute">NoSuchAttribute</a></li><li>| <a href="#v:UndefinedAttributeType">UndefinedAttributeType</a></li><li>| <a href="#v:InappropriateMatching">InappropriateMatching</a></li><li>| <a href="#v:ConstraintViolation">ConstraintViolation</a></li><li>| <a href="#v:AttributeOrValueExists">AttributeOrValueExists</a></li><li>| <a href="#v:InvalidAttributeSyntax">InvalidAttributeSyntax</a></li><li>| <a href="#v:NoSuchObject">NoSuchObject</a></li><li>| <a href="#v:AliasProblem">AliasProblem</a></li><li>| <a href="#v:InvalidDNSyntax">InvalidDNSyntax</a></li><li>| <a href="#v:AliasDereferencingProblem">AliasDereferencingProblem</a></li><li>| <a href="#v:InappropriateAuthentication">InappropriateAuthentication</a></li><li>| <a href="#v:InvalidCredentials">InvalidCredentials</a></li><li>| <a href="#v:InsufficientAccessRights">InsufficientAccessRights</a></li><li>| <a href="#v:Busy">Busy</a></li><li>| <a href="#v:Unavailable">Unavailable</a></li><li>| <a href="#v:UnwillingToPerform">UnwillingToPerform</a></li><li>| <a href="#v:LoopDetect">LoopDetect</a></li><li>| <a href="#v:NamingViolation">NamingViolation</a></li><li>| <a href="#v:ObjectClassViolation">ObjectClassViolation</a></li><li>| <a href="#v:NotAllowedOnNonLeaf">NotAllowedOnNonLeaf</a></li><li>| <a href="#v:NotAllowedOnRDN">NotAllowedOnRDN</a></li><li>| <a href="#v:EntryAlreadyExists">EntryAlreadyExists</a></li><li>| <a href="#v:ObjectClassModsProhibited">ObjectClassModsProhibited</a></li><li>| <a href="#v:AffectsMultipleDSAs">AffectsMultipleDSAs</a></li><li>| <a href="#v:Other">Other</a></li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:Async">Async</a> a</li><li class="src short"><a href="#v:with">with</a> :: <a href="Ldap-Client.html#t:Host">Host</a> -&gt; <a href="Ldap-Client.html#t:PortNumber">PortNumber</a> -&gt; (<a href="Ldap-Client.html#t:Ldap">Ldap</a> -&gt; <a href="http://hackage.haskell.org/package/base/docs/System-IO.html#t:IO">IO</a> a) -&gt; <a href="http://hackage.haskell.org/package/base/docs/System-IO.html#t:IO">IO</a> (<a href="http://hackage.haskell.org/package/base/docs/Data-Either.html#t:Either">Either</a> <a href="Ldap-Client.html#t:LdapError">LdapError</a> a)</li><li class="src short"><a href="#v:bind">bind</a> :: <a href="Ldap-Client.html#t:Ldap">Ldap</a> -&gt; <a href="Ldap-Client.html#t:Dn">Dn</a> -&gt; <a href="Ldap-Client.html#t:Password">Password</a> -&gt; <a href="http://hackage.haskell.org/package/base/docs/System-IO.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:search">search</a> :: <a href="Ldap-Client.html#t:Ldap">Ldap</a> -&gt; <a href="Ldap-Client.html#t:Dn">Dn</a> -&gt; <a href="Ldap-Client.html#t:Mod">Mod</a> <a href="Ldap-Client.html#t:Search">Search</a> -&gt; <a href="Ldap-Client.html#t:Filter">Filter</a> -&gt; [<a href="Ldap-Client.html#t:Attr">Attr</a>] -&gt; <a href="http://hackage.haskell.org/package/base/docs/System-IO.html#t:IO">IO</a> [<a href="Ldap-Client.html#t:SearchEntry">SearchEntry</a>]</li><li class="src short"><span class="keyword">data</span> <a href="#t:SearchEntry">SearchEntry</a> = <a href="#v:SearchEntry">SearchEntry</a> <a href="Ldap-Client.html#t:Dn">Dn</a> (<a href="Ldap-Client.html#t:AttrList">AttrList</a> [])</li><li class="src short"><span class="keyword">data</span> <a href="#t:Search">Search</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:Mod">Mod</a> a</li><li class="src short"><a href="#v:scope">scope</a> :: <a href="Ldap-Client.html#t:Scope">Scope</a> -&gt; <a href="Ldap-Client.html#t:Mod">Mod</a> <a href="Ldap-Client.html#t:Search">Search</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:Scope">Scope</a><ul class="subs"><li>= <a href="#v:BaseObject">BaseObject</a></li><li>| <a href="#v:SingleLevel">SingleLevel</a></li><li>| <a href="#v:WholeSubtree">WholeSubtree</a></li></ul></li><li class="src short"><a href="#v:size">size</a> :: <a href="http://hackage.haskell.org/package/base/docs/Data-Int.html#t:Int32">Int32</a> -&gt; <a href="Ldap-Client.html#t:Mod">Mod</a> <a href="Ldap-Client.html#t:Search">Search</a></li><li class="src short"><a href="#v:time">time</a> :: <a href="http://hackage.haskell.org/package/base/docs/Data-Int.html#t:Int32">Int32</a> -&gt; <a href="Ldap-Client.html#t:Mod">Mod</a> <a href="Ldap-Client.html#t:Search">Search</a></li><li class="src short"><a href="#v:typesOnly">typesOnly</a> :: <a href="http://hackage.haskell.org/package/base/docs/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="Ldap-Client.html#t:Mod">Mod</a> <a href="Ldap-Client.html#t:Search">Search</a></li><li class="src short"><a href="#v:derefAliases">derefAliases</a> :: <a href="Ldap-Asn1-Type.html#t:DerefAliases">DerefAliases</a> -&gt; <a href="Ldap-Client.html#t:Mod">Mod</a> <a href="Ldap-Client.html#t:Search">Search</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:Filter">Filter</a><ul class="subs"><li>= <a href="#v:Not">Not</a> <a href="Ldap-Client.html#t:Filter">Filter</a></li><li>| <a href="#v:And">And</a> (<a href="Ldap-Client.html#t:NonEmpty">NonEmpty</a> <a href="Ldap-Client.html#t:Filter">Filter</a>)</li><li>| <a href="#v:Or">Or</a> (<a href="Ldap-Client.html#t:NonEmpty">NonEmpty</a> <a href="Ldap-Client.html#t:Filter">Filter</a>)</li><li>| <a href="#v:Present">Present</a> <a href="Ldap-Client.html#t:Attr">Attr</a></li><li>| <a href="Ldap-Client.html#t:Attr">Attr</a> <a href="#v::-61-">:=</a> <a href="Ldap-Client.html#t:AttrValue">AttrValue</a></li><li>| <a href="Ldap-Client.html#t:Attr">Attr</a> <a href="#v::-62--61-">:&gt;=</a> <a href="Ldap-Client.html#t:AttrValue">AttrValue</a></li><li>| <a href="Ldap-Client.html#t:Attr">Attr</a> <a href="#v::-60--61-">:&lt;=</a> <a href="Ldap-Client.html#t:AttrValue">AttrValue</a></li><li>| <a href="Ldap-Client.html#t:Attr">Attr</a> <a href="#v::-126--61-">:~=</a> <a href="Ldap-Client.html#t:AttrValue">AttrValue</a></li><li>| <a href="Ldap-Client.html#t:Attr">Attr</a> <a href="#v::-61--42-">:=*</a> (<a href="http://hackage.haskell.org/package/base/docs/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Ldap-Client.html#t:AttrValue">AttrValue</a>, [<a href="Ldap-Client.html#t:AttrValue">AttrValue</a>], <a href="http://hackage.haskell.org/package/base/docs/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Ldap-Client.html#t:AttrValue">AttrValue</a>)</li><li>| (<a href="http://hackage.haskell.org/package/base/docs/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Ldap-Client.html#t:Attr">Attr</a>, <a href="http://hackage.haskell.org/package/base/docs/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Ldap-Client.html#t:Attr">Attr</a>, <a href="http://hackage.haskell.org/package/base/docs/Data-Bool.html#t:Bool">Bool</a>) <a href="#v:::-61-">::=</a> <a href="Ldap-Client.html#t:AttrValue">AttrValue</a></li></ul></li><li class="src short"><a href="#v:modify">modify</a> :: <a href="Ldap-Client.html#t:Ldap">Ldap</a> -&gt; <a href="Ldap-Client.html#t:Dn">Dn</a> -&gt; [<a href="Ldap-Client.html#t:Operation">Operation</a>] -&gt; <a href="http://hackage.haskell.org/package/base/docs/System-IO.html#t:IO">IO</a> ()</li><li class="src short"><span class="keyword">data</span> <a href="#t:Operation">Operation</a><ul class="subs"><li>= <a href="#v:Delete">Delete</a> <a href="Ldap-Client.html#t:Attr">Attr</a> [<a href="Ldap-Client.html#t:AttrValue">AttrValue</a>]</li><li>| <a href="#v:Add">Add</a> <a href="Ldap-Client.html#t:Attr">Attr</a> [<a href="Ldap-Client.html#t:AttrValue">AttrValue</a>]</li><li>| <a href="#v:Replace">Replace</a> <a href="Ldap-Client.html#t:Attr">Attr</a> [<a href="Ldap-Client.html#t:AttrValue">AttrValue</a>]</li></ul></li><li class="src short"><a href="#v:add">add</a> :: <a href="Ldap-Client.html#t:Ldap">Ldap</a> -&gt; <a href="Ldap-Client.html#t:Dn">Dn</a> -&gt; <a href="Ldap-Client.html#t:AttrList">AttrList</a> <a href="Ldap-Client.html#t:NonEmpty">NonEmpty</a> -&gt; <a href="http://hackage.haskell.org/package/base/docs/System-IO.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:delete">delete</a> :: <a href="Ldap-Client.html#t:Ldap">Ldap</a> -&gt; <a href="Ldap-Client.html#t:Dn">Dn</a> -&gt; <a href="http://hackage.haskell.org/package/base/docs/System-IO.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:modifyDn">modifyDn</a> :: <a href="Ldap-Client.html#t:Ldap">Ldap</a> -&gt; <a href="Ldap-Client.html#t:Dn">Dn</a> -&gt; <a href="Ldap-Client.html#t:RelativeDn">RelativeDn</a> -&gt; <a href="http://hackage.haskell.org/package/base/docs/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="http://hackage.haskell.org/package/base/docs/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Ldap-Client.html#t:Dn">Dn</a> -&gt; <a href="http://hackage.haskell.org/package/base/docs/System-IO.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:compare">compare</a> :: <a href="Ldap-Client.html#t:Ldap">Ldap</a> -&gt; <a href="Ldap-Client.html#t:Dn">Dn</a> -&gt; <a href="Ldap-Client.html#t:Attr">Attr</a> -&gt; <a href="Ldap-Client.html#t:AttrValue">AttrValue</a> -&gt; <a href="http://hackage.haskell.org/package/base/docs/System-IO.html#t:IO">IO</a> <a href="http://hackage.haskell.org/package/base/docs/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:extended">extended</a> :: <a href="Ldap-Client.html#t:Ldap">Ldap</a> -&gt; <a href="Ldap-Client.html#t:Oid">Oid</a> -&gt; <a href="http://hackage.haskell.org/package/base/docs/Data-Maybe.html#t:Maybe">Maybe</a> <a href="http://hackage.haskell.org/package/bytestring/docs/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="http://hackage.haskell.org/package/base/docs/System-IO.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:wait">wait</a> :: <a href="Ldap-Client.html#t:Async">Async</a> a -&gt; <a href="http://hackage.haskell.org/package/base/docs/System-IO.html#t:IO">IO</a> (<a href="http://hackage.haskell.org/package/base/docs/Data-Either.html#t:Either">Either</a> <a href="Ldap-Client.html#t:ResponseError">ResponseError</a> a)</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:Dn">Dn</a> = <a href="#v:Dn">Dn</a> Text</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:RelativeDn">RelativeDn</a> = <a href="#v:RelativeDn">RelativeDn</a> Text</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:Oid">Oid</a> = <a href="#v:Oid">Oid</a> Text</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:Password">Password</a> = <a href="#v:Password">Password</a> <a href="http://hackage.haskell.org/package/bytestring/docs/Data-ByteString.html#t:ByteString">ByteString</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:AttrList">AttrList</a> f = [(<a href="Ldap-Client.html#t:Attr">Attr</a>, f <a href="Ldap-Client.html#t:AttrValue">AttrValue</a>)]</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:Attr">Attr</a> = <a href="#v:Attr">Attr</a> Text</li><li class="src short"><span class="keyword">type</span> <a href="#t:AttrValue">AttrValue</a> = <a href="http://hackage.haskell.org/package/bytestring/docs/Data-ByteString.html#t:ByteString">ByteString</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:NonEmpty">NonEmpty</a> a :: * -&gt; *</li><li class="src short"><span class="keyword">data</span> <a href="#t:PortNumber">PortNumber</a> :: *</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:Host" class="def">Host</a> <a href="src/Ldap-Client-Internal.html#Host" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Plain" class="def">Plain</a> <a href="http://hackage.haskell.org/package/base/docs/Data-String.html#t:String">String</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Secure" class="def">Secure</a> <a href="http://hackage.haskell.org/package/base/docs/Data-String.html#t:String">String</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Insecure" class="def">Insecure</a> <a href="http://hackage.haskell.org/package/base/docs/Data-String.html#t:String">String</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:Host" class="caption collapser" onclick="toggleSection('i:Host')">Instances</p><div id="section.i:Host" class="show"><table><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Data-Eq.html#t:Eq">Eq</a> <a href="Ldap-Client.html#t:Host">Host</a> <a href="src/Ldap-Client-Internal.html#line-49" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Data-Ord.html#t:Ord">Ord</a> <a href="Ldap-Client.html#t:Host">Host</a> <a href="src/Ldap-Client-Internal.html#line-49" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Text-Show.html#t:Show">Show</a> <a href="Ldap-Client.html#t:Host">Host</a> <a href="src/Ldap-Client-Internal.html#line-49" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:Ldap" class="def">Ldap</a> <a href="src/Ldap-Client-Internal.html#Ldap" class="link">Source</a></p><div class="subs instances"><p id="control.i:Ldap" class="caption collapser" onclick="toggleSection('i:Ldap')">Instances</p><div id="section.i:Ldap" class="show"><table><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Data-Eq.html#t:Eq">Eq</a> <a href="Ldap-Client.html#t:Ldap">Ldap</a> <a href="src/Ldap-Client-Internal.html#line-53" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:LdapError" class="def">LdapError</a> <a href="src/Ldap-Client.html#LdapError" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:IOError" class="def">IOError</a> <a href="http://hackage.haskell.org/package/base/docs/System-IO-Error.html#t:IOError">IOError</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ParseError" class="def">ParseError</a> ASN1Error</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ResponseError" class="def">ResponseError</a> <a href="Ldap-Client.html#t:ResponseError">ResponseError</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:DisconnectError" class="def">DisconnectError</a> Disconnect</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:LdapError" class="caption collapser" onclick="toggleSection('i:LdapError')">Instances</p><div id="section.i:LdapError" class="show"><table><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Data-Eq.html#t:Eq">Eq</a> <a href="Ldap-Client.html#t:LdapError">LdapError</a> <a href="src/Ldap-Client.html#line-118" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Text-Show.html#t:Show">Show</a> <a href="Ldap-Client.html#t:LdapError">LdapError</a> <a href="src/Ldap-Client.html#line-118" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:ResponseError" class="def">ResponseError</a> <a href="src/Ldap-Client-Internal.html#ResponseError" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:ResponseInvalid" class="def">ResponseInvalid</a> <a href="Ldap-Client-Internal.html#t:Request">Request</a> <a href="Ldap-Client-Internal.html#t:Response">Response</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ResponseErrorCode" class="def">ResponseErrorCode</a> <a href="Ldap-Client-Internal.html#t:Request">Request</a> <a href="Ldap-Client.html#t:ResultCode">ResultCode</a> <a href="Ldap-Client.html#t:Dn">Dn</a> Text</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:ResponseError" class="caption collapser" onclick="toggleSection('i:ResponseError')">Instances</p><div id="section.i:ResponseError" class="show"><table><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Data-Eq.html#t:Eq">Eq</a> <a href="Ldap-Client.html#t:ResponseError">ResponseError</a> <a href="src/Ldap-Client-Internal.html#line-80" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Text-Show.html#t:Show">Show</a> <a href="Ldap-Client.html#t:ResponseError">ResponseError</a> <a href="src/Ldap-Client-Internal.html#line-80" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Control-Exception-Base.html#t:Exception">Exception</a> <a href="Ldap-Client.html#t:ResponseError">ResponseError</a> <a href="src/Ldap-Client-Internal.html#line-82" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:ResultCode" class="def">ResultCode</a> <a href="src/Ldap-Asn1-Type.html#ResultCode" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Success" class="def">Success</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:OperationError" class="def">OperationError</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ProtocolError" class="def">ProtocolError</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:TimeLimitExceeded" class="def">TimeLimitExceeded</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:SizeLimitExceeded" class="def">SizeLimitExceeded</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CompareFalse" class="def">CompareFalse</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CompareTrue" class="def">CompareTrue</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:AuthMethodNotSupported" class="def">AuthMethodNotSupported</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:StrongerAuthRequired" class="def">StrongerAuthRequired</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Referral" class="def">Referral</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:AdminLimitExceeded" class="def">AdminLimitExceeded</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:UnavailableCriticalExtension" class="def">UnavailableCriticalExtension</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ConfidentialityRequired" class="def">ConfidentialityRequired</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:SaslBindInProgress" class="def">SaslBindInProgress</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:NoSuchAttribute" class="def">NoSuchAttribute</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:UndefinedAttributeType" class="def">UndefinedAttributeType</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:InappropriateMatching" class="def">InappropriateMatching</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ConstraintViolation" class="def">ConstraintViolation</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:AttributeOrValueExists" class="def">AttributeOrValueExists</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:InvalidAttributeSyntax" class="def">InvalidAttributeSyntax</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:NoSuchObject" class="def">NoSuchObject</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:AliasProblem" class="def">AliasProblem</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:InvalidDNSyntax" class="def">InvalidDNSyntax</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:AliasDereferencingProblem" class="def">AliasDereferencingProblem</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:InappropriateAuthentication" class="def">InappropriateAuthentication</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:InvalidCredentials" class="def">InvalidCredentials</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:InsufficientAccessRights" class="def">InsufficientAccessRights</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Busy" class="def">Busy</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Unavailable" class="def">Unavailable</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:UnwillingToPerform" class="def">UnwillingToPerform</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:LoopDetect" class="def">LoopDetect</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:NamingViolation" class="def">NamingViolation</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ObjectClassViolation" class="def">ObjectClassViolation</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:NotAllowedOnNonLeaf" class="def">NotAllowedOnNonLeaf</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:NotAllowedOnRDN" class="def">NotAllowedOnRDN</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:EntryAlreadyExists" class="def">EntryAlreadyExists</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ObjectClassModsProhibited" class="def">ObjectClassModsProhibited</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:AffectsMultipleDSAs" class="def">AffectsMultipleDSAs</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Other" class="def">Other</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:ResultCode" class="caption collapser" onclick="toggleSection('i:ResultCode')">Instances</p><div id="section.i:ResultCode" class="show"><table><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Data-Eq.html#t:Eq">Eq</a> <a href="Ldap-Client.html#t:ResultCode">ResultCode</a> <a href="src/Ldap-Asn1-Type.html#line-156" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Text-Show.html#t:Show">Show</a> <a href="Ldap-Client.html#t:ResultCode">ResultCode</a> <a href="src/Ldap-Asn1-Type.html#line-156" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:Async" class="def">Async</a> a <a href="src/Ldap-Client-Internal.html#Async" class="link">Source</a></p><div class="subs instances"><p id="control.i:Async" class="caption collapser" onclick="toggleSection('i:Async')">Instances</p><div id="section.i:Async" class="show"><table><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Data-Functor.html#t:Functor">Functor</a> <a href="Ldap-Client.html#t:Async">Async</a> <a href="src/Ldap-Client-Internal.html#line-62" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:with" class="def">with</a> :: <a href="Ldap-Client.html#t:Host">Host</a> -&gt; <a href="Ldap-Client.html#t:PortNumber">PortNumber</a> -&gt; (<a href="Ldap-Client.html#t:Ldap">Ldap</a> -&gt; <a href="http://hackage.haskell.org/package/base/docs/System-IO.html#t:IO">IO</a> a) -&gt; <a href="http://hackage.haskell.org/package/base/docs/System-IO.html#t:IO">IO</a> (<a href="http://hackage.haskell.org/package/base/docs/Data-Either.html#t:Either">Either</a> <a href="Ldap-Client.html#t:LdapError">LdapError</a> a) <a href="src/Ldap-Client.html#with" class="link">Source</a></p><div class="doc"><p>The entrypoint into LDAP.</p></div></div><h1 id="g:1">Bind</h1><div class="top"><p class="src"><a name="v:bind" class="def">bind</a> :: <a href="Ldap-Client.html#t:Ldap">Ldap</a> -&gt; <a href="Ldap-Client.html#t:Dn">Dn</a> -&gt; <a href="Ldap-Client.html#t:Password">Password</a> -&gt; <a href="http://hackage.haskell.org/package/base/docs/System-IO.html#t:IO">IO</a> () <a href="src/Ldap-Client-Bind.html#bind" class="link">Source</a></p><div class="doc"><p>Perform the Bind operation synchronously. Raises <code><a href="Ldap-Client.html#t:ResponseError">ResponseError</a></code> on failures.</p></div></div><h1 id="g:2">Search</h1><div class="top"><p class="src"><a name="v:search" class="def">search</a> :: <a href="Ldap-Client.html#t:Ldap">Ldap</a> -&gt; <a href="Ldap-Client.html#t:Dn">Dn</a> -&gt; <a href="Ldap-Client.html#t:Mod">Mod</a> <a href="Ldap-Client.html#t:Search">Search</a> -&gt; <a href="Ldap-Client.html#t:Filter">Filter</a> -&gt; [<a href="Ldap-Client.html#t:Attr">Attr</a>] -&gt; <a href="http://hackage.haskell.org/package/base/docs/System-IO.html#t:IO">IO</a> [<a href="Ldap-Client.html#t:SearchEntry">SearchEntry</a>] <a href="src/Ldap-Client-Search.html#search" class="link">Source</a></p><div class="doc"><p>Perform the Search operation synchronously. Raises <code><a href="Ldap-Client.html#t:ResponseError">ResponseError</a></code> on failures.</p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:SearchEntry" class="def">SearchEntry</a> <a href="src/Ldap-Client-Search.html#SearchEntry" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:SearchEntry" class="def">SearchEntry</a> <a href="Ldap-Client.html#t:Dn">Dn</a> (<a href="Ldap-Client.html#t:AttrList">AttrList</a> [])</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:SearchEntry" class="caption collapser" onclick="toggleSection('i:SearchEntry')">Instances</p><div id="section.i:SearchEntry" class="show"><table><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Data-Eq.html#t:Eq">Eq</a> <a href="Ldap-Client.html#t:SearchEntry">SearchEntry</a> <a href="src/Ldap-Client-Search.html#line-205" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Text-Show.html#t:Show">Show</a> <a href="Ldap-Client.html#t:SearchEntry">SearchEntry</a> <a href="src/Ldap-Client-Search.html#line-205" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><h2 id="g:3">Search modifiers</h2><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:Search" class="def">Search</a> <a href="src/Ldap-Client-Search.html#Search" class="link">Source</a></p><div class="subs instances"><p id="control.i:Search" class="caption collapser" onclick="toggleSection('i:Search')">Instances</p><div id="section.i:Search" class="show"><table><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Data-Eq.html#t:Eq">Eq</a> <a href="Ldap-Client.html#t:Search">Search</a> <a href="src/Ldap-Client-Search.html#line-157" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Text-Show.html#t:Show">Show</a> <a href="Ldap-Client.html#t:Search">Search</a> <a href="src/Ldap-Client-Search.html#line-157" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:Mod" class="def">Mod</a> a <a href="src/Ldap-Client-Search.html#Mod" class="link">Source</a></p><div class="subs instances"><p id="control.i:Mod" class="caption collapser" onclick="toggleSection('i:Mod')">Instances</p><div id="section.i:Mod" class="show"><table><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Data-Monoid.html#t:Monoid">Monoid</a> (<a href="Ldap-Client.html#t:Mod">Mod</a> a) <a href="src/Ldap-Client-Search.html#line-188" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">Semigroup (<a href="Ldap-Client.html#t:Mod">Mod</a> a) <a href="src/Ldap-Client-Search.html#line-185" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:scope" class="def">scope</a> :: <a href="Ldap-Client.html#t:Scope">Scope</a> -&gt; <a href="Ldap-Client.html#t:Mod">Mod</a> <a href="Ldap-Client.html#t:Search">Search</a> <a href="src/Ldap-Client-Search.html#scope" class="link">Source</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:Scope" class="def">Scope</a> <a href="src/Ldap-Asn1-Type.html#Scope" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:BaseObject" class="def">BaseObject</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:SingleLevel" class="def">SingleLevel</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:WholeSubtree" class="def">WholeSubtree</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:Scope" class="caption collapser" onclick="toggleSection('i:Scope')">Instances</p><div id="section.i:Scope" class="show"><table><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Data-Eq.html#t:Eq">Eq</a> <a href="Ldap-Client.html#t:Scope">Scope</a> <a href="src/Ldap-Asn1-Type.html#line-57" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Text-Show.html#t:Show">Show</a> <a href="Ldap-Client.html#t:Scope">Scope</a> <a href="src/Ldap-Asn1-Type.html#line-57" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:size" class="def">size</a> :: <a href="http://hackage.haskell.org/package/base/docs/Data-Int.html#t:Int32">Int32</a> -&gt; <a href="Ldap-Client.html#t:Mod">Mod</a> <a href="Ldap-Client.html#t:Search">Search</a> <a href="src/Ldap-Client-Search.html#size" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:time" class="def">time</a> :: <a href="http://hackage.haskell.org/package/base/docs/Data-Int.html#t:Int32">Int32</a> -&gt; <a href="Ldap-Client.html#t:Mod">Mod</a> <a href="Ldap-Client.html#t:Search">Search</a> <a href="src/Ldap-Client-Search.html#time" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:typesOnly" class="def">typesOnly</a> :: <a href="http://hackage.haskell.org/package/base/docs/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="Ldap-Client.html#t:Mod">Mod</a> <a href="Ldap-Client.html#t:Search">Search</a> <a href="src/Ldap-Client-Search.html#typesOnly" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:derefAliases" class="def">derefAliases</a> :: <a href="Ldap-Asn1-Type.html#t:DerefAliases">DerefAliases</a> -&gt; <a href="Ldap-Client.html#t:Mod">Mod</a> <a href="Ldap-Client.html#t:Search">Search</a> <a href="src/Ldap-Client-Search.html#derefAliases" class="link">Source</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:Filter" class="def">Filter</a> <a href="src/Ldap-Client-Search.html#Filter" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Not" class="def">Not</a> <a href="Ldap-Client.html#t:Filter">Filter</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:And" class="def">And</a> (<a href="Ldap-Client.html#t:NonEmpty">NonEmpty</a> <a href="Ldap-Client.html#t:Filter">Filter</a>)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Or" class="def">Or</a> (<a href="Ldap-Client.html#t:NonEmpty">NonEmpty</a> <a href="Ldap-Client.html#t:Filter">Filter</a>)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Present" class="def">Present</a> <a href="Ldap-Client.html#t:Attr">Attr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Ldap-Client.html#t:Attr">Attr</a> <a name="v::-61-" class="def">:=</a> <a href="Ldap-Client.html#t:AttrValue">AttrValue</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Ldap-Client.html#t:Attr">Attr</a> <a name="v::-62--61-" class="def">:&gt;=</a> <a href="Ldap-Client.html#t:AttrValue">AttrValue</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Ldap-Client.html#t:Attr">Attr</a> <a name="v::-60--61-" class="def">:&lt;=</a> <a href="Ldap-Client.html#t:AttrValue">AttrValue</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Ldap-Client.html#t:Attr">Attr</a> <a name="v::-126--61-" class="def">:~=</a> <a href="Ldap-Client.html#t:AttrValue">AttrValue</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Ldap-Client.html#t:Attr">Attr</a> <a name="v::-61--42-" class="def">:=*</a> (<a href="http://hackage.haskell.org/package/base/docs/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Ldap-Client.html#t:AttrValue">AttrValue</a>, [<a href="Ldap-Client.html#t:AttrValue">AttrValue</a>], <a href="http://hackage.haskell.org/package/base/docs/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Ldap-Client.html#t:AttrValue">AttrValue</a>)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="http://hackage.haskell.org/package/base/docs/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Ldap-Client.html#t:Attr">Attr</a>, <a href="http://hackage.haskell.org/package/base/docs/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Ldap-Client.html#t:Attr">Attr</a>, <a href="http://hackage.haskell.org/package/base/docs/Data-Bool.html#t:Bool">Bool</a>) <a name="v:::-61-" class="def">::=</a> <a href="Ldap-Client.html#t:AttrValue">AttrValue</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div><h1 id="g:4">Modify</h1><div class="top"><p class="src"><a name="v:modify" class="def">modify</a> :: <a href="Ldap-Client.html#t:Ldap">Ldap</a> -&gt; <a href="Ldap-Client.html#t:Dn">Dn</a> -&gt; [<a href="Ldap-Client.html#t:Operation">Operation</a>] -&gt; <a href="http://hackage.haskell.org/package/base/docs/System-IO.html#t:IO">IO</a> () <a href="src/Ldap-Client-Modify.html#modify" class="link">Source</a></p><div class="doc"><p>Perform the Modify operation synchronously. Raises <code><a href="Ldap-Client.html#t:ResponseError">ResponseError</a></code> on failures.</p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:Operation" class="def">Operation</a> <a href="src/Ldap-Client-Modify.html#Operation" class="link">Source</a></p><div class="doc"><p>Type of modification being performed.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Delete" class="def">Delete</a> <a href="Ldap-Client.html#t:Attr">Attr</a> [<a href="Ldap-Client.html#t:AttrValue">AttrValue</a>]</td><td class="doc"><p>Delete values from the attribute. Deletes the attribute if the list is empty or all current values are listed.</p></td></tr><tr><td class="src"><a name="v:Add" class="def">Add</a> <a href="Ldap-Client.html#t:Attr">Attr</a> [<a href="Ldap-Client.html#t:AttrValue">AttrValue</a>]</td><td class="doc"><p>Add values to the attribute, creating it if necessary.</p></td></tr><tr><td class="src"><a name="v:Replace" class="def">Replace</a> <a href="Ldap-Client.html#t:Attr">Attr</a> [<a href="Ldap-Client.html#t:AttrValue">AttrValue</a>]</td><td class="doc"><p>Replace all existing values of the attribute with the new list. Deletes the attribute if the list is empty.</p></td></tr></table></div><div class="subs instances"><p id="control.i:Operation" class="caption collapser" onclick="toggleSection('i:Operation')">Instances</p><div id="section.i:Operation" class="show"><table><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Data-Eq.html#t:Eq">Eq</a> <a href="Ldap-Client.html#t:Operation">Operation</a> <a href="src/Ldap-Client-Modify.html#line-41" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Text-Show.html#t:Show">Show</a> <a href="Ldap-Client.html#t:Operation">Operation</a> <a href="src/Ldap-Client-Modify.html#line-41" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><h1 id="g:5">Add</h1><div class="top"><p class="src"><a name="v:add" class="def">add</a> :: <a href="Ldap-Client.html#t:Ldap">Ldap</a> -&gt; <a href="Ldap-Client.html#t:Dn">Dn</a> -&gt; <a href="Ldap-Client.html#t:AttrList">AttrList</a> <a href="Ldap-Client.html#t:NonEmpty">NonEmpty</a> -&gt; <a href="http://hackage.haskell.org/package/base/docs/System-IO.html#t:IO">IO</a> () <a href="src/Ldap-Client-Add.html#add" class="link">Source</a></p><div class="doc"><p>Perform the Add operation synchronously. Raises <code><a href="Ldap-Client.html#t:ResponseError">ResponseError</a></code> on failures.</p></div></div><h1 id="g:6">Delete</h1><div class="top"><p class="src"><a name="v:delete" class="def">delete</a> :: <a href="Ldap-Client.html#t:Ldap">Ldap</a> -&gt; <a href="Ldap-Client.html#t:Dn">Dn</a> -&gt; <a href="http://hackage.haskell.org/package/base/docs/System-IO.html#t:IO">IO</a> () <a href="src/Ldap-Client-Delete.html#delete" class="link">Source</a></p><div class="doc"><p>Perform the Delete operation synchronously. Raises <code><a href="Ldap-Client.html#t:ResponseError">ResponseError</a></code> on failures.</p></div></div><h1 id="g:7">ModifyDn</h1><div class="top"><p class="src"><a name="v:modifyDn" class="def">modifyDn</a> :: <a href="Ldap-Client.html#t:Ldap">Ldap</a> -&gt; <a href="Ldap-Client.html#t:Dn">Dn</a> -&gt; <a href="Ldap-Client.html#t:RelativeDn">RelativeDn</a> -&gt; <a href="http://hackage.haskell.org/package/base/docs/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="http://hackage.haskell.org/package/base/docs/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Ldap-Client.html#t:Dn">Dn</a> -&gt; <a href="http://hackage.haskell.org/package/base/docs/System-IO.html#t:IO">IO</a> () <a href="src/Ldap-Client-Modify.html#modifyDn" class="link">Source</a></p><div class="doc"><p>Perform the Modify DN operation synchronously. Raises <code><a href="Ldap-Client.html#t:ResponseError">ResponseError</a></code> on failures.</p></div></div><h1 id="g:8">Compare</h1><div class="top"><p class="src"><a name="v:compare" class="def">compare</a> :: <a href="Ldap-Client.html#t:Ldap">Ldap</a> -&gt; <a href="Ldap-Client.html#t:Dn">Dn</a> -&gt; <a href="Ldap-Client.html#t:Attr">Attr</a> -&gt; <a href="Ldap-Client.html#t:AttrValue">AttrValue</a> -&gt; <a href="http://hackage.haskell.org/package/base/docs/System-IO.html#t:IO">IO</a> <a href="http://hackage.haskell.org/package/base/docs/Data-Bool.html#t:Bool">Bool</a> <a href="src/Ldap-Client-Compare.html#compare" class="link">Source</a></p><div class="doc"><p>Perform the Compare operation synchronously. Raises <code><a href="Ldap-Client.html#t:ResponseError">ResponseError</a></code> on failures.</p></div></div><h1 id="g:9">Extended</h1><div class="top"><p class="src"><a name="v:extended" class="def">extended</a> :: <a href="Ldap-Client.html#t:Ldap">Ldap</a> -&gt; <a href="Ldap-Client.html#t:Oid">Oid</a> -&gt; <a href="http://hackage.haskell.org/package/base/docs/Data-Maybe.html#t:Maybe">Maybe</a> <a href="http://hackage.haskell.org/package/bytestring/docs/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="http://hackage.haskell.org/package/base/docs/System-IO.html#t:IO">IO</a> () <a href="src/Ldap-Client-Extended.html#extended" class="link">Source</a></p><div class="doc"><p>Perform the Extended operation synchronously. Raises <code><a href="Ldap-Client.html#t:ResponseError">ResponseError</a></code> on failures.</p></div></div><h1 id="g:10">Waiting for completion</h1><div class="top"><p class="src"><a name="v:wait" class="def">wait</a> :: <a href="Ldap-Client.html#t:Async">Async</a> a -&gt; <a href="http://hackage.haskell.org/package/base/docs/System-IO.html#t:IO">IO</a> (<a href="http://hackage.haskell.org/package/base/docs/Data-Either.html#t:Either">Either</a> <a href="Ldap-Client.html#t:ResponseError">ResponseError</a> a) <a href="src/Ldap-Client-Internal.html#wait" class="link">Source</a></p></div><h1 id="g:11">Miscellanous</h1><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:Dn" class="def">Dn</a> <a href="src/Ldap-Client-Internal.html#Dn" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Dn" class="def">Dn</a> Text</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:Dn" class="caption collapser" onclick="toggleSection('i:Dn')">Instances</p><div id="section.i:Dn" class="show"><table><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Data-Eq.html#t:Eq">Eq</a> <a href="Ldap-Client.html#t:Dn">Dn</a> <a href="src/Ldap-Client-Internal.html#line-66" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Text-Show.html#t:Show">Show</a> <a href="Ldap-Client.html#t:Dn">Dn</a> <a href="src/Ldap-Client-Internal.html#line-66" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:RelativeDn" class="def">RelativeDn</a> <a href="src/Ldap-Client-Internal.html#RelativeDn" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:RelativeDn" class="def">RelativeDn</a> Text</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:RelativeDn" class="caption collapser" onclick="toggleSection('i:RelativeDn')">Instances</p><div id="section.i:RelativeDn" class="show"><table><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Data-Eq.html#t:Eq">Eq</a> <a href="Ldap-Client.html#t:RelativeDn">RelativeDn</a> <a href="src/Ldap-Client-Internal.html#line-69" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Text-Show.html#t:Show">Show</a> <a href="Ldap-Client.html#t:RelativeDn">RelativeDn</a> <a href="src/Ldap-Client-Internal.html#line-69" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:Oid" class="def">Oid</a> <a href="src/Ldap-Client-Internal.html#Oid" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Oid" class="def">Oid</a> Text</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:Oid" class="caption collapser" onclick="toggleSection('i:Oid')">Instances</p><div id="section.i:Oid" class="show"><table><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Data-Eq.html#t:Eq">Eq</a> <a href="Ldap-Client.html#t:Oid">Oid</a> <a href="src/Ldap-Client-Internal.html#line-72" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Text-Show.html#t:Show">Show</a> <a href="Ldap-Client.html#t:Oid">Oid</a> <a href="src/Ldap-Client-Internal.html#line-72" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:Password" class="def">Password</a> <a href="src/Ldap-Client-Internal.html#Password" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Password" class="def">Password</a> <a href="http://hackage.haskell.org/package/bytestring/docs/Data-ByteString.html#t:ByteString">ByteString</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:Password" class="caption collapser" onclick="toggleSection('i:Password')">Instances</p><div id="section.i:Password" class="show"><table><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Data-Eq.html#t:Eq">Eq</a> <a href="Ldap-Client.html#t:Password">Password</a> <a href="src/Ldap-Client-Internal.html#line-75" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Text-Show.html#t:Show">Show</a> <a href="Ldap-Client.html#t:Password">Password</a> <a href="src/Ldap-Client-Internal.html#line-75" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:AttrList" class="def">AttrList</a> f = [(<a href="Ldap-Client.html#t:Attr">Attr</a>, f <a href="Ldap-Client.html#t:AttrValue">AttrValue</a>)] <a href="src/Ldap-Client-Internal.html#AttrList" class="link">Source</a></p></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:Attr" class="def">Attr</a> <a href="src/Ldap-Client-Internal.html#Attr" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Attr" class="def">Attr</a> Text</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:Attr" class="caption collapser" onclick="toggleSection('i:Attr')">Instances</p><div id="section.i:Attr" class="show"><table><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Data-Eq.html#t:Eq">Eq</a> <a href="Ldap-Client.html#t:Attr">Attr</a> <a href="src/Ldap-Client-Internal.html#line-85" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Text-Show.html#t:Show">Show</a> <a href="Ldap-Client.html#t:Attr">Attr</a> <a href="src/Ldap-Client-Internal.html#line-85" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:AttrValue" class="def">AttrValue</a> = <a href="http://hackage.haskell.org/package/bytestring/docs/Data-ByteString.html#t:ByteString">ByteString</a> <a href="src/Ldap-Client-Internal.html#AttrValue" class="link">Source</a></p></div><h1 id="g:12">Re-exports</h1><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:NonEmpty" class="def">NonEmpty</a> a :: * -&gt; *</p><div class="subs instances"><p id="control.i:NonEmpty" class="caption collapser" onclick="toggleSection('i:NonEmpty')">Instances</p><div id="section.i:NonEmpty" class="show"><table><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Control-Monad.html#t:Monad">Monad</a> <a href="Ldap-Client.html#t:NonEmpty">NonEmpty</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Data-Functor.html#t:Functor">Functor</a> <a href="Ldap-Client.html#t:NonEmpty">NonEmpty</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Control-Monad-Fix.html#t:MonadFix">MonadFix</a> <a href="Ldap-Client.html#t:NonEmpty">NonEmpty</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Control-Applicative.html#t:Applicative">Applicative</a> <a href="Ldap-Client.html#t:NonEmpty">NonEmpty</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Data-Foldable.html#t:Foldable">Foldable</a> <a href="Ldap-Client.html#t:NonEmpty">NonEmpty</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Data-Traversable.html#t:Traversable">Traversable</a> <a href="Ldap-Client.html#t:NonEmpty">NonEmpty</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/GHC-Generics.html#t:Generic1">Generic1</a> <a href="Ldap-Client.html#t:NonEmpty">NonEmpty</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Control-Monad-Zip.html#t:MonadZip">MonadZip</a> <a href="Ldap-Client.html#t:NonEmpty">NonEmpty</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/GHC-Exts.html#t:IsList">IsList</a> (<a href="Ldap-Client.html#t:NonEmpty">NonEmpty</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Data-Eq.html#t:Eq">Eq</a> a =&gt; <a href="http://hackage.haskell.org/package/base/docs/Data-Eq.html#t:Eq">Eq</a> (<a href="Ldap-Client.html#t:NonEmpty">NonEmpty</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Data-Data.html#t:Data">Data</a> a =&gt; <a href="http://hackage.haskell.org/package/base/docs/Data-Data.html#t:Data">Data</a> (<a href="Ldap-Client.html#t:NonEmpty">NonEmpty</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Data-Ord.html#t:Ord">Ord</a> a =&gt; <a href="http://hackage.haskell.org/package/base/docs/Data-Ord.html#t:Ord">Ord</a> (<a href="Ldap-Client.html#t:NonEmpty">NonEmpty</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Text-Read.html#t:Read">Read</a> a =&gt; <a href="http://hackage.haskell.org/package/base/docs/Text-Read.html#t:Read">Read</a> (<a href="Ldap-Client.html#t:NonEmpty">NonEmpty</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Text-Show.html#t:Show">Show</a> a =&gt; <a href="http://hackage.haskell.org/package/base/docs/Text-Show.html#t:Show">Show</a> (<a href="Ldap-Client.html#t:NonEmpty">NonEmpty</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/GHC-Generics.html#t:Generic">Generic</a> (<a href="Ldap-Client.html#t:NonEmpty">NonEmpty</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="http://hackage.haskell.org/package/deepseq/docs/Control-DeepSeq.html#t:NFData">NFData</a> a =&gt; <a href="http://hackage.haskell.org/package/deepseq/docs/Control-DeepSeq.html#t:NFData">NFData</a> (<a href="Ldap-Client.html#t:NonEmpty">NonEmpty</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">Hashable a =&gt; Hashable (<a href="Ldap-Client.html#t:NonEmpty">NonEmpty</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Ldap-Asn1-ToAsn1.html#t:ToAsn1">ToAsn1</a> a =&gt; <a href="Ldap-Asn1-ToAsn1.html#t:ToAsn1">ToAsn1</a> (<a href="Ldap-Client.html#t:NonEmpty">NonEmpty</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">Semigroup (<a href="Ldap-Client.html#t:NonEmpty">NonEmpty</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><span class="keyword">type</span> <a href="http://hackage.haskell.org/package/base/docs/GHC-Generics.html#t:Rep1">Rep1</a> <a href="Ldap-Client.html#t:NonEmpty">NonEmpty</a> = <a href="http://hackage.haskell.org/package/base/docs/GHC-Generics.html#t:D1">D1</a> D1NonEmpty (<a href="http://hackage.haskell.org/package/base/docs/GHC-Generics.html#t:C1">C1</a> C1_0NonEmpty (<a href="http://hackage.haskell.org/package/base/docs/GHC-Generics.html#t::-42-:">(:*:)</a> (<a href="http://hackage.haskell.org/package/base/docs/GHC-Generics.html#t:S1">S1</a> <a href="http://hackage.haskell.org/package/base/docs/GHC-Generics.html#t:NoSelector">NoSelector</a> <a href="http://hackage.haskell.org/package/base/docs/GHC-Generics.html#t:Par1">Par1</a>) (<a href="http://hackage.haskell.org/package/base/docs/GHC-Generics.html#t:S1">S1</a> <a href="http://hackage.haskell.org/package/base/docs/GHC-Generics.html#t:NoSelector">NoSelector</a> (<a href="http://hackage.haskell.org/package/base/docs/GHC-Generics.html#t:Rec1">Rec1</a> []))))</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><span class="keyword">type</span> <a href="http://hackage.haskell.org/package/base/docs/GHC-Generics.html#t:Rep">Rep</a> (<a href="Ldap-Client.html#t:NonEmpty">NonEmpty</a> a) = <a href="http://hackage.haskell.org/package/base/docs/GHC-Generics.html#t:D1">D1</a> D1NonEmpty (<a href="http://hackage.haskell.org/package/base/docs/GHC-Generics.html#t:C1">C1</a> C1_0NonEmpty (<a href="http://hackage.haskell.org/package/base/docs/GHC-Generics.html#t::-42-:">(:*:)</a> (<a href="http://hackage.haskell.org/package/base/docs/GHC-Generics.html#t:S1">S1</a> <a href="http://hackage.haskell.org/package/base/docs/GHC-Generics.html#t:NoSelector">NoSelector</a> (<a href="http://hackage.haskell.org/package/base/docs/GHC-Generics.html#t:Rec0">Rec0</a> a)) (<a href="http://hackage.haskell.org/package/base/docs/GHC-Generics.html#t:S1">S1</a> <a href="http://hackage.haskell.org/package/base/docs/GHC-Generics.html#t:NoSelector">NoSelector</a> (<a href="http://hackage.haskell.org/package/base/docs/GHC-Generics.html#t:Rec0">Rec0</a> [a]))))</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><span class="keyword">type</span> <a href="http://hackage.haskell.org/package/base/docs/GHC-Exts.html#t:Item">Item</a> (<a href="Ldap-Client.html#t:NonEmpty">NonEmpty</a> a) = a</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:PortNumber" class="def">PortNumber</a> :: *</p><div class="subs instances"><p id="control.i:PortNumber" class="caption collapser" onclick="toggleSection('i:PortNumber')">Instances</p><div id="section.i:PortNumber" class="show"><table><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Prelude.html#t:Enum">Enum</a> <a href="Ldap-Client.html#t:PortNumber">PortNumber</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Data-Eq.html#t:Eq">Eq</a> <a href="Ldap-Client.html#t:PortNumber">PortNumber</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Prelude.html#t:Integral">Integral</a> <a href="Ldap-Client.html#t:PortNumber">PortNumber</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Prelude.html#t:Num">Num</a> <a href="Ldap-Client.html#t:PortNumber">PortNumber</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Data-Ord.html#t:Ord">Ord</a> <a href="Ldap-Client.html#t:PortNumber">PortNumber</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Prelude.html#t:Real">Real</a> <a href="Ldap-Client.html#t:PortNumber">PortNumber</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Text-Show.html#t:Show">Show</a> <a href="Ldap-Client.html#t:PortNumber">PortNumber</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Foreign-Storable.html#t:Storable">Storable</a> <a href="Ldap-Client.html#t:PortNumber">PortNumber</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.0</p></div></body></html>