Sophie

Sophie

distrib > Fedora > 17 > i386 > by-pkgid > 675c8c8167236dfcf8d66da674f931e8 > files > 559

erlang-doc-R15B-03.3.fc17.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html xmlns:fn="http://www.w3.org/2005/02/xpath-functions">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../../../doc/otp_doc.css" type="text/css">
<title>Erlang -- eldap</title>
</head>
<body bgcolor="white" text="#000000" link="#0000ff" vlink="#ff00ff" alink="#ff0000"><div id="container">
<script id="js" type="text/javascript" language="JavaScript" src="../../../../doc/js/flipmenu/flipmenu.js"></script><script id="js2" type="text/javascript" src="../../../../doc/js/erlresolvelinks.js"></script><script language="JavaScript" type="text/javascript">
            <!--
              function getWinHeight() {
                var myHeight = 0;
                if( typeof( window.innerHeight ) == 'number' ) {
                  //Non-IE
                  myHeight = window.innerHeight;
                } else if( document.documentElement && ( document.documentElement.clientWidth ||
                                                         document.documentElement.clientHeight ) ) {
                  //IE 6+ in 'standards compliant mode'
                  myHeight = document.documentElement.clientHeight;
                } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
                  //IE 4 compatible
                  myHeight = document.body.clientHeight;
                }
                return myHeight;
              }

              function setscrollpos() {
                var objf=document.getElementById('loadscrollpos');
                 document.getElementById("leftnav").scrollTop = objf.offsetTop - getWinHeight()/2;
              }

              function addEvent(obj, evType, fn){
                if (obj.addEventListener){
                obj.addEventListener(evType, fn, true);
                return true;
              } else if (obj.attachEvent){
                var r = obj.attachEvent("on"+evType, fn);
                return r;
              } else {
                return false;
              }
             }

             addEvent(window, 'load', setscrollpos);

             //--></script><div id="leftnav"><div class="innertube">
<img alt="Erlang logo" src="../../../../doc/erlang-logo.png"><br><small><a href="users_guide.html">User's Guide</a><br><a href="index.html">Reference Manual</a><br><a href="release_notes.html">Release Notes</a><br><a href="../pdf/eldap-1.0.pdf">PDF</a><br><a href="../../../../doc/index.html">Top</a></small><p><strong>eldap</strong><br><strong>Reference Manual</strong><br><small>Version 1.0</small></p>
<br><a href="javascript:openAllFlips()">Expand All</a><br><a href="javascript:closeAllFlips()">Contract All</a><p><small><strong>Table of Contents</strong></small></p>
<ul class="flipMenu"><li id="loadscrollpos" title="eldap " expanded="true">eldap<ul>
<li><a href="eldap.html">
                  Top of manual page
                </a></li>
<li title="open-1"><a href="eldap.html#open-1">open/1</a></li>
<li title="open-2"><a href="eldap.html#open-2">open/2</a></li>
<li title="close-1"><a href="eldap.html#close-1">close/1</a></li>
<li title="simple_bind-3"><a href="eldap.html#simple_bind-3">simple_bind/3</a></li>
<li title="add-3"><a href="eldap.html#add-3">add/3</a></li>
<li title="delete-2"><a href="eldap.html#delete-2">delete/2</a></li>
<li title="mod_add-2"><a href="eldap.html#mod_add-2">mod_add/2</a></li>
<li title="mod_delete-2"><a href="eldap.html#mod_delete-2">mod_delete/2</a></li>
<li title="mod_replace-2"><a href="eldap.html#mod_replace-2">mod_replace/2</a></li>
<li title="modify-3"><a href="eldap.html#modify-3">modify/3</a></li>
<li title="modify_dn-5"><a href="eldap.html#modify_dn-5">modify_dn/5</a></li>
<li title="search-2"><a href="eldap.html#search-2">search/2</a></li>
<li title="baseObject-0"><a href="eldap.html#baseObject-0">baseObject/0</a></li>
<li title="singleLevel-0"><a href="eldap.html#singleLevel-0">singleLevel/0</a></li>
<li title="wholeSubtree-0"><a href="eldap.html#wholeSubtree-0">wholeSubtree/0</a></li>
<li title="neverDerefAliases-0"><a href="eldap.html#neverDerefAliases-0">neverDerefAliases/0</a></li>
<li title="derefAlways-0"><a href="eldap.html#derefAlways-0">derefAlways/0</a></li>
<li title="derefInSearching-0"><a href="eldap.html#derefInSearching-0">derefInSearching/0</a></li>
<li title="derefFindingBaseObj-0"><a href="eldap.html#derefFindingBaseObj-0">derefFindingBaseObj/0</a></li>
<li title="present-1"><a href="eldap.html#present-1">present/1</a></li>
<li title="substrings-2"><a href="eldap.html#substrings-2">substrings/2</a></li>
<li title="equalityMatch-2"><a href="eldap.html#equalityMatch-2">equalityMatch/2</a></li>
<li title="greaterOrEqual-2"><a href="eldap.html#greaterOrEqual-2">greaterOrEqual/2</a></li>
<li title="lessOrEqual-2"><a href="eldap.html#lessOrEqual-2">lessOrEqual/2</a></li>
<li title="approxMatch-2"><a href="eldap.html#approxMatch-2">approxMatch/2</a></li>
<li title="'and'-1"><a href="eldap.html#'and'-1">'and'/1</a></li>
<li title="'or'-1"><a href="eldap.html#'or'-1">'or'/1</a></li>
<li title="'not'-1"><a href="eldap.html#'not'-1">'not'/1</a></li>
</ul>
</li></ul>
</div></div>
<div id="content">
<div class="innertube">
<!-- refpage --><center><h1>eldap</h1></center>
  
  <h3>MODULE</h3>
<div class="REFBODY">eldap</div>
  <h3>MODULE SUMMARY</h3>
<div class="REFBODY">Eldap Functions</div>
  <h3>DESCRIPTION</h3>
<div class="REFBODY"><p>
    <p>This module provides a client api to the Lightweight Directory Access Protocol (LDAP).
    </p>
    <p>References:</p>
    <ul>
      <li> <p>RFC 4510 - RFC 4519</p> </li>
    </ul>
    <p>The above publications can be found at <span class="bold_code"><a href="http://www.ietf.org">IETF</a></span>.
    </p>
    <p><strong>Types</strong></p>
    <div class="example"><pre>
handle()    Connection handle
attribute() {Type = string(), Values=[string()]}
modify_op() See mod_add/2, mod_delete/2, mod_replace/2
scope()     See baseObject/0, singleLevel/0, wholeSubtree/0
dereference() See neverDerefAliases/0, derefInSearching/0, derefFindingBaseObj/0, derefAlways/0
filter()    See present/1, substrings/2,
                equalityMatch/2, greaterOrEqual/2, lessOrEqual/2,
                approxMatch/2,
                'and'/1, 'or'/1, 'not'/1.
    </pre></div>
    <p></p>
  </p></div>
  <h3>EXPORTS</h3>
    <p><a name="open-1"><span class="bold_code">open([Host]) -&gt; {ok, Handle} | {error, Reason}</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
	<div class="REFTYPES">
<span class="bold_code">Handle = handle()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
        <p>Setup a connection to an LDAP server, the <span class="code">HOST</span>'s are tried in order. </p>
      </p></div>
    <p><a name="open-2"><span class="bold_code">open([Host], [Option]) -&gt; {ok, Handle} | {error, Reason}</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
	<div class="REFTYPES">
<span class="bold_code">Handle = handle()</span><br>
</div>
	<div class="REFTYPES">
<span class="bold_code">Option = {port, integer()} | {log, function()} | {timeout, integer()} | {ssl, boolean()}</span><br>
</div>
      </div>
<div class="REFBODY"><p>
        <p>Setup a connection to an LDAP server, the <span class="code">HOST</span>'s are tried in order.</p>
	<p>The log function takes three arguments, <span class="code">fun(Level, FormatString, [FormatArg]) end</span>.</p>
	<p>Timeout set the maximum time in milliseconds that each server request may take.</p>
      </p></div>
    <p><a name="close-1"><span class="bold_code">close(Handle) -&gt; ok</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
	<div class="REFTYPES">
<span class="bold_code">Handle = handle()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
        <p>Shutdown the connection.</p>
      </p></div>
    <p><a name="simple_bind-3"><span class="bold_code">simple_bind(Handle, Dn, Password) -&gt; ok | {error, Reason}</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
	<div class="REFTYPES">
<span class="bold_code">Handle = handle()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Dn = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Password = string()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
        <p>Authenticate the connection using simple authentication.</p>
      </p></div>
    <p><a name="add-3"><span class="bold_code">add(Handle, Dn, [Attribute]) -&gt; ok | {error, Reason}</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
	<div class="REFTYPES">
<span class="bold_code">Handle = handle()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Dn = string()</span><br>
</div>
	<div class="REFTYPES">
<span class="bold_code">Attribute = attribute()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
	<p> Add an entry. The entry must not exist.</p>
	<div class="example"><pre>
  add(Handle,
      "cn=Bill Valentine, ou=people, o=Example Org, dc=example, dc=com",
       [{"objectclass", ["person"]},
        {"cn", ["Bill Valentine"]},
        {"sn", ["Valentine"]},
        {"telephoneNumber", ["545 555 00"]}]
     )
	</pre></div>
      </p></div>
    <p><a name="delete-2"><span class="bold_code">delete(Handle, Dn) -&gt; ok | {error, Reason}</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
        <div class="REFTYPES">
<span class="bold_code">Dn = string()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
	<p> Delete an entry.</p>
	<div class="example"><pre>
  delete(Handle, "cn=Bill Valentine, ou=people, o=Example Org, dc=example, dc=com")
	</pre></div>
      </p></div>

    <p><a name="mod_add-2"><span class="bold_code">mod_add(Type, [Value]) -&gt; modify_op()</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
        <div class="REFTYPES">
<span class="bold_code">Type = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Value = string()</span><br>
</div>
      </div>
<div class="REFBODY"><p> <p> Create an add modification operation.</p> </p></div>
    <p><a name="mod_delete-2"><span class="bold_code">mod_delete(Type, [Value]) -&gt; modify_op()</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
        <div class="REFTYPES">
<span class="bold_code">Type = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Value = string()</span><br>
</div>
      </div>
<div class="REFBODY"><p> <p> Create a delete modification operation.</p> </p></div>
    <p><a name="mod_replace-2"><span class="bold_code">mod_replace(Type, [Value]) -&gt; modify_op()</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
        <div class="REFTYPES">
<span class="bold_code">Type = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Value = string()</span><br>
</div>
      </div>
<div class="REFBODY"><p> <p> Create a replace modification operation.</p> </p></div>

    <p><a name="modify-3"><span class="bold_code">modify(Handle, Dn, [ModifyOp]) -&gt; ok | {error, Reason}</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
        <div class="REFTYPES">
<span class="bold_code">Dn = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">ModifyOp = modify_op()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
	<p> Modify an entry.</p>
	<div class="example"><pre>
  modify(Handle, "cn=Bill Valentine, ou=people, o=Example Org, dc=example, dc=com",
         [eldap:mod_replace("telephoneNumber", ["555 555 00"]),
	  eldap:mod_add("description", ["LDAP Hacker"]) ])
	</pre></div>
      </p></div>
    <p><a name="modify_dn-5"><span class="bold_code">modify_dn(Handle, Dn, NewRDN, DeleteOldRDN, NewSupDN) -&gt; ok | {error, Reason}</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
        <div class="REFTYPES">
<span class="bold_code">Dn = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">NewRDN = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">DeleteOldRDN = boolean()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">NewSupDN = string()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
	<p> Modify the DN of an entry. <span class="code">DeleteOldRDN</span> indicates
	whether the current RDN should be removed after operation.
	<span class="code">NewSupDN</span> should be "" if the RDN should not be moved or the new parent which
	the RDN will be moved to.</p>
	<div class="example"><pre>
  modify_dn(Handle, "cn=Bill Valentine, ou=people, o=Example Org, dc=example, dc=com ",
            "cn=Bill Jr Valentine", true, "")
	</pre></div>
      </p></div>
    <p><a name="search-2"><span class="bold_code">search(Handle, SearchOptions) -&gt; {ok, #eldap_search_result{}} | {error, Reason}</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
        <div class="REFTYPES">
<span class="bold_code">SearchOptions = #eldap_search{} | [SearchOption]</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">SearchOption = {base, string()} | {filter, filter()} | {scope, scope()}
	| {attributes, [string()]} | {deref, dereference()} |
	| {types_only, boolean()} | {timeout, integer()}
	</span><br>
</div>
      </div>
<div class="REFBODY"><p>
	<p>Search the directory with the supplied the SearchOptions.
	The base and filter options must be supplied.
	Default values: scope is <span class="code">wholeSubtree()</span>, deref is <span class="code">derefAlways()</span>,
	types_only is <span class="code">false</span> and timeout is <span class="code">0</span> (meaning infinity).
	</p>
	<div class="example"><pre>
  Filter = eldap:substrings("cn", [{any,"V"}]),
  search(Handle, [{base, "dc=example, dc=com"}, {filter, Filter}, {attributes, ["cn"]}]),
	</pre></div>
      </p></div>

    <p><a name="baseObject-0"><span class="bold_code">baseObject() -&gt; scope()</span></a><br></p>
<div class="REFBODY"><p> <p> Search baseobject only.</p> </p></div>
    <p><a name="singleLevel-0"><span class="bold_code">singleLevel() -&gt; scope()</span></a><br></p>
<div class="REFBODY"><p> <p> Search the specified level only, i.e. do not recurse.</p> </p></div>
    <p><a name="wholeSubtree-0"><span class="bold_code">wholeSubtree() -&gt; scope()</span></a><br></p>
<div class="REFBODY"><p> <p> Search the entire subtree.</p> </p></div>

    <p><a name="neverDerefAliases-0"><span class="bold_code">neverDerefAliases() -&gt; dereference()</span></a><br></p>
<div class="REFBODY"><p> <p>Never derefrence aliases, treat aliases as entries.</p> </p></div>
    <p><a name="derefAlways-0"><span class="bold_code">derefAlways() -&gt; dereference()</span></a><br></p>
<div class="REFBODY"><p> <p>Always derefrence aliases.</p> </p></div>
    <p><a name="derefInSearching-0"><span class="bold_code">derefInSearching() -&gt; dereference()</span></a><br></p>
<div class="REFBODY"><p> <p>Derefrence aliases only when searching.</p> </p></div>
    <p><a name="derefFindingBaseObj-0"><span class="bold_code">derefFindingBaseObj() -&gt; dereference()</span></a><br></p>
<div class="REFBODY"><p> <p>Derefrence aliases only in finding the base.</p> </p></div>

    <p><a name="present-1"><span class="bold_code">present(Type) -&gt; filter()</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
	<div class="REFTYPES">
<span class="bold_code">Type = string()</span><br>
</div>
      </div>
<div class="REFBODY"><p> <p>Create a filter which filters on attribute type presence.</p> </p></div>
    <p><a name="substrings-2"><span class="bold_code">substrings(Type, [SubString]) -&gt; filter()</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
	<div class="REFTYPES">
<span class="bold_code">Type = string()</span><br>
</div>
	<div class="REFTYPES">
<span class="bold_code">SubString = {StringPart, string()}</span><br>
</div>
	<div class="REFTYPES">
<span class="bold_code">StringPart = initial | any | final</span><br>
</div>
      </div>
<div class="REFBODY"><p> <p>Create a filter which filters on substrings.</p> </p></div>
    <p><a name="equalityMatch-2"><span class="bold_code">equalityMatch(Type, Value) -&gt; filter()</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
	<div class="REFTYPES">
<span class="bold_code">Type = string()</span><br>
</div>
	<div class="REFTYPES">
<span class="bold_code">Value = string()</span><br>
</div>
      </div>
<div class="REFBODY"><p> <p>Create a equality filter.</p> </p></div>
    <p><a name="greaterOrEqual-2"><span class="bold_code">greaterOrEqual(Type, Value) -&gt; filter()</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
	<div class="REFTYPES">
<span class="bold_code">Type = string()</span><br>
</div>
	<div class="REFTYPES">
<span class="bold_code">Value = string()</span><br>
</div>
      </div>
<div class="REFBODY"><p> <p>Create a greater or equal filter.</p> </p></div>
    <p><a name="lessOrEqual-2"><span class="bold_code">lessOrEqual(Type, Value) -&gt; filter()</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
	<div class="REFTYPES">
<span class="bold_code">Type = string()</span><br>
</div>
	<div class="REFTYPES">
<span class="bold_code">Value = string()</span><br>
</div>
      </div>
<div class="REFBODY"><p> <p>Create a less or equal filter.</p> </p></div>
    <p><a name="approxMatch-2"><span class="bold_code">approxMatch(Type, Value) -&gt; filter()</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
	<div class="REFTYPES">
<span class="bold_code">Type = string()</span><br>
</div>
	<div class="REFTYPES">
<span class="bold_code">Value = string()</span><br>
</div>
      </div>
<div class="REFBODY"><p> <p>Create a approximation match filter.</p> </p></div>
    <p><a name="'and'-1"><span class="bold_code">'and'([Filter]) -&gt; filter()</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
	<div class="REFTYPES">
<span class="bold_code">Filter = filter()</span><br>
</div>
      </div>
<div class="REFBODY"><p> <p>Creates a filter where all <span class="code">Filter</span> must be true.</p> </p></div>
    <p><a name="'or'-1"><span class="bold_code">'or'([Filter]) -&gt; filter()</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
	<div class="REFTYPES">
<span class="bold_code">Filter = filter()</span><br>
</div>
      </div>
<div class="REFBODY"><p> <p>Create a filter where at least one of the <span class="code">Filter</span> must be true.</p> </p></div>
    <p><a name="'not'-1"><span class="bold_code">'not'(Filter) -&gt; filter()</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
	<div class="REFTYPES">
<span class="bold_code">Filter = filter()</span><br>
</div>
      </div>
<div class="REFBODY"><p> <p>Negate a filter.</p> </p></div>

  

</div>
<div class="footer">
<hr>
<p>Copyright © 2012-2012 Ericsson AB. All Rights Reserved.</p>
</div>
</div>
</div></body>
</html>