Provided by: libmozilla-ldap-perl_1.5.3-2build2_amd64 bug

NAME

         Mozilla::LDAP::API - Perl methods for LDAP C API calls

SYNOPSIS

         use Mozilla::LDAP::API;
              or
         use Mozilla::LDAP::API qw(:api :ssl :constant);
              or
         use Mozilla::LDAP::API qw(:api :ssl :apiv3 :constant);
              or
         use Mozilla::LDAP::API qw(:api :ssl :apiv3 :nspr :constant);

DESCRIPTION

       This package offers a direct interface to the LDAP C API calls from Perl.  It is used
       internally by the other Mozilla::LDAP modules.  It is highly suggested that you use the
       object oriented interface in Mozilla::LDAP::Conn and Mozilla::LDAP::Entry unless you need
       to use asynchronous calls or other functionality not available in the OO interface.

THIS DOCUMENT

       This document has a number of known errors that will be corrected in the next revision.
       Since it is not expected that users will need to use this interface frequently, priority
       was placed on other documents.  You can find examples of how to actually use the API calls
       under the test_api directory.

CREATING AN ADD/MODIFY HASH

       For the add and modify routines you will need to generate a list of attributes and values.

       You will do this by creating a HASH table.  Each attribute in the hash contains associated
       values.  These values can be one of three things.

         - SCALAR VALUE    (ex. "Clayton Donley")
         - ARRAY REFERENCE (ex. ["Clayton Donley","Clay Donley"])
         - HASH REFERENCE  (ex. {"r",["Clayton Donley"]}
              note:  the value inside the HASH REFERENCE must currently
                      be an ARRAY REFERENCE.

       The key inside the HASH REFERENCE must be one of the following for a modify operation:
         - "a" for LDAP_MOD_ADD (Add these values to the attribute)
         - "r" for LDAP_MOD_REPLACE (Replace these values in the attribute)
         - "d" for LDAP_MOD_DELETE (Delete these values from the attribute)

       Additionally, in add and modify operations, you may specify "b" if the attributes you are
       adding are BINARY (ex. "rb" to replace binary).

       Currently, it is only possible to do one operation per add/modify operation, meaning you
       can't do something like:

          {"d",["Clayton"],"a",["Clay"]}   <-- WRONG!

       Using any combination of the above value types, you can do things like:

       %ldap_modifications = (
          "cn", "Clayton Donley",                    # Replace 'cn' values
          "givenname", ["Clayton","Clay"],           # Replace 'givenname' values
          "mail", {"a",["donley\@cig.mcel.mot.com"],  #Add 'mail' values
          "jpegphoto", {"rb",[$jpegphotodata]},      # Replace Binary jpegPhoto );

       Then remember to call the add or modify operations with a REFERENCE to this HASH.

API Methods

       The following are the available API methods for Mozilla::LDAP::API.  Many of these items
       have bad examples and OUTPUT information.  Other information should be correct.

       ldap_abandon(ld,msgid)
           DESCRIPTION:

           Abandon an asynchronous LDAP operation

           INPUT:
             ld - LDAP Session Handle
             msgid - Integer

           OUTPUT:
             status - Integer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_abandon($ld,$msgid);

       ldap_abandon_ext(ld,msgid,serverctrls,clientctrls)
           DESCRIPTION:

           Abandon an asynchronous LDAP operation w/ Controls

           INPUT:
             ld - LDAP Session Handle
             msgid - Integer
             serverctrls - LDAP Control List Pointer
             clientctrls - LDAP Control List Pointer

           OUTPUT:
             status - Integer

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_abandon_ext($ld,$msgid,$serverctrls,$clientctrls);

       ldap_add(ld,dn,attrs)
           DESCRIPTION:

           Asynchronously add a LDAP entry

           INPUT:
             ld - LDAP Session Handle
             dn - String
             attrs - LDAP Add/Modify Hash

           OUTPUT:
             status - Integer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_add($ld,$dn,$attrs);

       ldap_add_ext(ld,dn,attrs,serverctrls,clientctrls,msgidp)
           DESCRIPTION:

           Asynchronously add a LDAP entry w/ Controls

           INPUT:
             ld - LDAP Session Handle
             dn - String
             attrs - LDAP Add/Modify Hash
             serverctrls - LDAP Control List Pointer
             clientctrls - LDAP Control List Pointer
             msgidp - Integer

           OUTPUT:
             status - Integer
             msgidp - Integer

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_add_ext($ld,$dn,$attrs,$serverctrls,$clientctrls,$msgidp);

       ldap_add_ext_s(ld,dn,attrs,serverctrls,clientctrls)
           DESCRIPTION:

           Synchronously add a LDAP entry w/ Controls

           INPUT:
             ld - LDAP Session Handle
             dn - String
             attrs - LDAP Add/Modify Hash
             serverctrls - LDAP Control List Pointer
             clientctrls - LDAP Control List Pointer

           OUTPUT:
             status - Integer

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_add_ext_s($ld,$dn,$attrs,$serverctrls,$clientctrls);

       ldap_add_s(ld,dn,attrs)
           DESCRIPTION:

           Synchronously add a LDAP entry

           INPUT:
             ld - LDAP Session Handle
             dn - String
             attrs - LDAP Add/Modify Hash

           OUTPUT:
             status - Integer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_add_s($ld,$dn,$attrs);

       ldap_ber_free(ber,freebuf)
           DESCRIPTION:

           Free a BER element pointer

           INPUT:
             ber - BER Element Pointer
             freebuf - Integer

           OUTPUT:
             status - NONE

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_ber_free($ber,$freebuf);

       ldap_bind(ld,dn,passwd,authmethod)
           DESCRIPTION:

           Asynchronously bind to the LDAP server

           INPUT:
             ld - LDAP Session Handle
             dn - String
             passwd - String
             authmethod - Integer

           OUTPUT:
             status - Integer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_bind($ld,$dn,$passwd,$authmethod);

       ldap_bind_s(ld,dn,passwd,authmethod)
           DESCRIPTION:

           Synchronously bind to a LDAP server

           INPUT:
             ld - LDAP Session Handle
             dn - String
             passwd - String
             authmethod - Integer

           OUTPUT:
             status - Integer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_bind_s($ld,$dn,$passwd,$authmethod);

       ldap_compare(ld,dn,attr,value)
           DESCRIPTION:

           Asynchronously compare an attribute/value pair and an entry

           INPUT:
             ld - LDAP Session Handle
             dn - String
             attr - String
             value - String

           OUTPUT:
             status - Integer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_compare($ld,$dn,$attr,$value);

       ldap_compare_ext(ld,dn,attr,bvalue,serverctrls,clientctrls,msgidp)
           DESCRIPTION:

           Asynchronously compare an attribute/value pair and an entry w/ Controls

           INPUT:
             ld - LDAP Session Handle
             dn - String
             attr - String
             bvalue - Binary String
             serverctrls - LDAP Control List Pointer
             clientctrls - LDAP Control List Pointer
             msgidp - Integer

           OUTPUT:
             status - Integer
             msgidp - Integer

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_compare_ext($ld,$dn,$attr,$bvalue,$serverctrls,$clientctrls,$msgidp);

       ldap_compare_ext_s(ld,dn,attr,bvalue,serverctrls,clientctrls)
           DESCRIPTION:

           Synchronously compare an attribute/value pair to an entry w/ Controls

           INPUT:
             ld - LDAP Session Handle
             dn - String
             attr - String
             bvalue - Binary String
             serverctrls - LDAP Control List Pointer
             clientctrls - LDAP Control List Pointer

           OUTPUT:
             status - Integer

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_compare_ext_s($ld,$dn,$attr,$bvalue,$serverctrls,$clientctrls);

       ldap_compare_s(ld,dn,attr,value)
           DESCRIPTION:

           Synchronously compare an attribute/value pair to an entry

           INPUT:
             ld - LDAP Session Handle
             dn - String
             attr - String
             value - String

           OUTPUT:
             status - Integer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_compare_s($ld,$dn,$attr,$value);

       ldap_control_free(ctrl)
           DESCRIPTION:

           Free a LDAP control pointer

           INPUT:
             ctrl - LDAP Control Pointer

           OUTPUT:
             status - NONE

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_control_free($ctrl);

       ldap_controls_count(ctrls)
           DESCRIPTION:

           Count the number of LDAP controls in a LDAP Control List

           INPUT:
             ctrls - LDAP Control List Pointer

           OUTPUT:
             status - Integer

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_controls_count($ctrls);

       ldap_controls_free(ctrls)
           DESCRIPTION:

           Free a list of LDAP controls

           INPUT:
             ctrls - LDAP Control List Pointer

           OUTPUT:
             status - NONE

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_controls_free($ctrls);

       ldap_count_entries(ld,result)
           DESCRIPTION:

           Count the number of LDAP entries returned

           INPUT:
             ld - LDAP Session Handle
             result - LDAP Message Pointer

           OUTPUT:
             status - Integer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $count = ldap_count_entries($ld,$result);

       ldap_count_messages(ld,result)
           DESCRIPTION:

           Count the number of LDAP messages returned

           INPUT:
             ld - LDAP Session Handle
             result - LDAP Message Pointer

           OUTPUT:
             status - Integer

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_count_messages($ld,$result);

       ldap_count_references(ld,result)
           DESCRIPTION:

           Count the number of LDAP references returned

           INPUT:
             ld - LDAP Session Handle
             result - LDAP Message Pointer

           OUTPUT:
             status - Integer

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_count_references($ld,$result);

       ldap_create_filter(buf,buflen,pattern,prefix,suffix,attr,value,valwords)
           DESCRIPTION:

           Create a LDAP search filter

           INPUT:
             buf - String
             buflen - Integer
             pattern - String
             prefix - String
             suffix - String
             attr - String
             value - String
             valwords - List Reference

           OUTPUT:
             status - Integer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_create_filter($buf,$buflen,$pattern,$prefix,$suffix,$attr,$value,$valwords);

       ldap_create_persistentsearch_control(ld,changetypes,changesonly,return_echg_ctrls,ctrl_iscritical,ctrlp)
           DESCRIPTION:

           Create a persistent search control

           INPUT:
             ld - LDAP Session Handle
             changetypes - Integer
             changesonly - Integer
             return_echg_ctrls - Integer
             ctrl_iscritical - Integer
             ctrlp - LDAP Control List Pointer

           OUTPUT:
             status - Integer
             ctrlp - LDAP Control List Pointer

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_create_persistentsearch_control($ld,$changetypes,$changesonly,$return_echg_ctrls,$ctrl_iscritical,$ctrlp);

       ldap_create_sort_control(ld,sortKeyList,ctrl_iscritical,ctrlp)
           DESCRIPTION:

           Create a LDAP sort control

           INPUT:
             ld - LDAP Session Handle
             sortKeyList - Sort Key Pointer
             ctrl_iscritical - Integer
             ctrlp - LDAP Control List Pointer

           OUTPUT:
             status - Integer
             ctrlp - LDAP Control List Pointer

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_create_sort_control($ld,$sortKeyList,$ctrl_iscritical,$ctrlp);

       ldap_create_sort_keylist(sortKeyList,string_rep)
           DESCRIPTION:

           Create a list of keys to be used by a sort control

           INPUT:
             sortKeyList - Sort Key Pointer
             string_rep - String

           OUTPUT:
             status - Integer
             sortKeyList - Sort Key Pointer

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_create_sort_keylist($sortKeyList,$string_rep);

       ldap_create_virtuallist_control(ld,ldvlistp,ctrlp)
           DESCRIPTION:

           Create a LDAP virtual list control

           INPUT:
             ld - LDAP Session Handle
             ctrlp - LDAP Control List Pointer

           OUTPUT:
             status - Integer
             ctrlp - LDAP Control List Pointer

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_create_virtuallist_control($ld,$ldvlistp,$ctrlp);

       ldap_delete(ld,dn)
           DESCRIPTION:

           Asynchronously delete a LDAP entry

           INPUT:
             ld - LDAP Session Handle
             dn - String

           OUTPUT:
             status - Integer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_delete($ld,$dn);

       ldap_delete_ext(ld,dn,serverctrls,clientctrls,msgidp)
           DESCRIPTION:

           Asynchronously delete a LDAP entry w/ Controls

           INPUT:
             ld - LDAP Session Handle
             dn - String
             serverctrls - LDAP Control List Pointer
             clientctrls - LDAP Control List Pointer
             msgidp - Integer

           OUTPUT:
             status - Integer
             msgidp - Integer

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_delete_ext($ld,$dn,$serverctrls,$clientctrls,$msgidp);

       ldap_delete_ext_s(ld,dn,serverctrls,clientctrls)
           DESCRIPTION:

           Synchronously delete a LDAP entry w/ Controls

           INPUT:
             ld - LDAP Session Handle
             dn - String
             serverctrls - LDAP Control List Pointer
             clientctrls - LDAP Control List Pointer

           OUTPUT:
             status - Integer

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_delete_ext_s($ld,$dn,$serverctrls,$clientctrls);

       ldap_delete_s(ld,dn)
           DESCRIPTION:

           Synchronously delete a LDAP entry

           INPUT:
             ld - LDAP Session Handle
             dn - String

           OUTPUT:
             status - Integer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_delete_s($ld,$dn);

       ldap_dn2ufn(dn)
           DESCRIPTION:

           Change a DN to a "Friendly" name

           INPUT:
             dn - String

           OUTPUT:
             status - String

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_dn2ufn($dn);

       ldap_err2string(err)
           DESCRIPTION:

           Return the string value of a LDAP error code

           INPUT:
             err - Integer

           OUTPUT:
             status - String

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_err2string($err);

       ldap_explode_dn(dn,notypes)
           DESCRIPTION:

           Split a given DN into its components.  Setting 'notypes' to 1 returns the components
           without their type names.

           INPUT:
             dn - String
             notypes - Integer

           OUTPUT:
             status - NONE

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_explode_dn($dn,$notypes);

       ldap_explode_rdn(dn,notypes)
           DESCRIPTION:

           Split a Relative DN into its components

           INPUT:
             dn - String
             notypes - Integer

           OUTPUT:
             status - NONE

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_explode_rdn($dn,$notypes);

       ldap_extended_operation(ld,requestoid,requestdata,serverctrls,clientctrls,msgidp)
           DESCRIPTION:

           Perform an asynchronous extended operation

           INPUT:
             ld - LDAP Session Handle
             requestoid - String
             requestdata - Binary String
             serverctrls - LDAP Control List Pointer
             clientctrls - LDAP Control List Pointer
             msgidp - Integer

           OUTPUT:
             status - Integer
             msgidp - Integer

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_extended_operation($ld,$requestoid,$requestdata,$serverctrls,$clientctrls,$msgidp);

       ldap_extended_operation_s(ld,requestoid,requestdata,serverctrls,clientctrls,retoidp,retdatap)
           DESCRIPTION:

           Perform a synchronous extended operation

           INPUT:
             ld - LDAP Session Handle
             requestoid - String
             requestdata - Binary String
             serverctrls - LDAP Control List Pointer
             clientctrls - LDAP Control List Pointer
             retoidp - String

           OUTPUT:
             status - Integer
             retoidp - Return OID
             retdatap - Return Data

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_extended_operation_s($ld,$requestoid,$requestdata,$serverctrls,$clientctrls,$retoidp,$retdatap);

       ldap_first_attribute(ld,entry,ber)
           DESCRIPTION:

           Return the first attribute returned for a LDAP entry

           INPUT:
             ld - LDAP Session Handle
             entry - LDAP Message Pointer
             ber - Ber Element Pointer

           OUTPUT:
             status - String
             ber - Ber Element Pointer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_first_attribute($ld,$entry,$ber);

       ldap_first_entry(ld,chain)
           DESCRIPTION:

           Return the first entry in a LDAP result chain

           INPUT:
             ld - LDAP Session Handle
             chain - LDAP Message Pointer

           OUTPUT:
             status - LDAP Message Pointer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_first_entry($ld,$chain);

       ldap_first_message(ld,res)
           DESCRIPTION:

           Return the first message in a LDAP result

           INPUT:
             ld - LDAP Session Handle
             res - LDAP Message Pointer

           OUTPUT:
             status - LDAP Message Pointer

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_first_message($ld,$res);

       ldap_first_reference(ld,res)
           DESCRIPTION:

           Return the first reference in a LDAP result

           INPUT:
             ld - LDAP Session Handle
             res - LDAP Message Pointer

           OUTPUT:
             status - LDAP Message Pointer

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_first_reference($ld,$res);

       ldap_free_friendlymap(map)
           DESCRIPTION:

           Free a LDAP friendly map pointer

           INPUT:
             map - Friendly Map Pointer

           OUTPUT:
             status - NONE

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_free_friendlymap($map);

       ldap_free_sort_keylist(sortKeyList)
           DESCRIPTION:

           Free a LDAP sort key pointer

           INPUT:
             sortKeyList - Sort Key Pointer

           OUTPUT:
             status - NONE

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_free_sort_keylist($sortKeyList);

       ldap_free_urldesc(ludp)
           DESCRIPTION:

           Free a LDAP URL description hash reference

           INPUT:
             ludp - URL Description Hash Reference

           OUTPUT:
             status - NONE

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_free_urldesc($ludp);

       ldap_friendly_name(filename,name,map)
           DESCRIPTION:

           Create a LDAP friendly name map

           INPUT:
             filename - String
             name - String
             map - Friendly Map Pointer

           OUTPUT:
             status - String

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_friendly_name($filename,$name,$map);

       ldap_get_dn(ld,entry)
           DESCRIPTION:

           Return the distinguished name for an entry

           INPUT:
             ld - LDAP Session Handle
             entry - LDAP Message Pointer

           OUTPUT:
             status - String

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_get_dn($ld,$entry);

       ldap_get_entry_controls(ld,entry,serverctrlsp)
           DESCRIPTION:

           Return the controls for a LDAP entry

           INPUT:
             ld - LDAP Session Handle
             entry - LDAP Message Pointer
             serverctrlsp - LDAP Control List Pointer

           OUTPUT:
             status - Integer
             serverctrlsp - LDAP Control List Pointer

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_get_entry_controls($ld,$entry,$serverctrlsp);

       ldap_getfilter_free(lfdp)
           DESCRIPTION:

           Free a LDAP filter

           INPUT:
             lfdp - LDAP Filter Description Pointer

           OUTPUT:
             status - NONE

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_getfilter_free($lfdp);

       ldap_getfirstfilter(lfdp,tagpat,value)
           DESCRIPTION:

           Get the first generated filter

           INPUT:
             lfdp - LDAP Filter Description Pointer
             tagpat - String

           OUTPUT:
             status - LDAP Filter Information Pointer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_getfirstfilter($lfdp,$tagpat,$value);

       ldap_get_lang_values(ld,entry,target,type)
           DESCRIPTION:

           Get values for an entry

           INPUT:
             ld - LDAP Session Handle
             entry - LDAP Message Pointer
             target - String
             type - String

           OUTPUT:
             status - NONE

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_get_lang_values($ld,$entry,$target,$type);

       ldap_get_lang_values_len(ld,entry,target,type)
           DESCRIPTION:

           Get binary values for an entry

           INPUT:
             ld - LDAP Session Handle
             entry - LDAP Message Pointer
             target - String
             type - String

           OUTPUT:
             status - NONE

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_get_lang_values_len($ld,$entry,$target,$type);

       ldap_get_lderrno(ld,m,s)
           DESCRIPTION:

           INPUT:
             ld - LDAP Session Handle
             m  - String Reference (or undef)
             s  - String Reference (or undef)

           OUTPUT:
             status - Integer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_get_lderrno($ld,\$m,\$s);

       ldap_getnextfilter(lfdp)
           DESCRIPTION:

           Get the next generated LDAP filter

           INPUT:
             lfdp - LDAP Filter Information Pointer

           OUTPUT:
             status - LDAP Filter Information Pointer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_getnextfilter($lfdp);

       ldap_get_option(ld,option,optdata)
           DESCRIPTION:

           Get an option for a LDAP session

           INPUT:
             ld - LDAP Session Handle
             option - Integer
             optdata - Integer

           OUTPUT:
             status - Integer
             optdata - Integer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_get_option($ld,$option,$optdata);

       ldap_get_values(ld,entry,target)
           DESCRIPTION:

           Get the values for a LDAP entry and attribute

           INPUT:
             ld - LDAP Session Handle
             entry - LDAP Message Pointer
             target - String

           OUTPUT:
             status - NONE

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_get_values($ld,$entry,$target);

       ldap_get_values_len(ld,entry,target)
           DESCRIPTION:

           Get the binary values for a LDAP entry and attribute

           INPUT:
             ld - LDAP Session Handle
             entry - LDAP Message Pointer
             target - String

           OUTPUT:
             status - NONE

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_get_values_len($ld,$entry,$target);

       ldap_init(host,port)
           DESCRIPTION:

           Initialize a LDAP session

           INPUT:
             host - String
             port - Integer

           OUTPUT:
             status - LDAP Session Handle

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_init($host,$port);

       ldap_init_getfilter(fname)
           DESCRIPTION:

           Initialize the LDAP filter generation routines to a filename

           INPUT:
             fname - Filename String

           OUTPUT:
             status - LDAP Filter Description Pointer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_init_getfilter($fname);

       ldap_init_getfilter_buf(buf,buflen)
           DESCRIPTION:

           Initialize the LDAP filter generation routines to a buffer

           INPUT:
             buf - String
             buflen - Integer

           OUTPUT:
             status - LDAP Filter Description Pointer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_init_getfilter_buf($buf,$buflen);

       ldap_is_ldap_url(url)
           DESCRIPTION:

           Return 1 if an the argument is a valid LDAP URL

           INPUT:
             url - String

           OUTPUT:
             status - Integer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_is_ldap_url($url);

       ldap_memcache_destroy(cache)
           DESCRIPTION:

           Destroy a memory cache

           INPUT:
             cache - LDAP Memory Cache Pointer

           OUTPUT:
             status - NONE

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_memcache_destroy($cache);

       ldap_memcache_flush(cache,dn,scope)
           DESCRIPTION:

           Flush a specific DN from the memory cache

           INPUT:
             cache - LDAP Memory Cache Pointer
             dn - String
             scope - Integer

           OUTPUT:
             status - NONE

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_memcache_flush($cache,$dn,$scope);

       ldap_memcache_get(ld,cachep)
           DESCRIPTION:

           Get the memory cache for a LDAP session

           INPUT:
             ld - LDAP Session Handle
             cachep - LDAP Memory Cache Pointer

           OUTPUT:
             status - Integer
             cachep - LDAP Memory Cache Pointer

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_memcache_get($ld,$cachep);

       ldap_memcache_init(ttl,size,baseDNs,cachep)
           DESCRIPTION:

           Initialize a LDAP memory cache

           INPUT:
             ttl - Integer
             size - Integer
             baseDNs - List Reference
             cachep - LDAP Memory Cache Pointer

           OUTPUT:
             status - Integer
             cachep - LDAP Memory Cache Pointer

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_memcache_init($ttl,$size,$baseDNs,$cachep);

       ldap_memcache_set(ld,cache)
           DESCRIPTION:

           Set the LDAP memory cache for the session

           INPUT:
             ld - LDAP Session Handle
             cache - LDAP Memory Cache Pointer

           OUTPUT:
             status - Integer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_memcache_set($ld,$cache);

       ldap_memcache_update(cache)
           DESCRIPTION:

           Update the specified memory cache

           INPUT:
             cache - LDAP Memory Cache Pointer

           OUTPUT:
             status - NONE

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_memcache_update($cache);

       ldap_memfree(p)
           DESCRIPTION:

           Free memory allocated by the LDAP C API

           INPUT:
             p - Pointer

           OUTPUT:
             status - NONE

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_memfree($p);

       ldap_modify(ld,dn,mods)
           DESCRIPTION:

           Asynchronously modify a LDAP entry

           INPUT:
             ld - LDAP Session Handle
             dn - String
             mods - LDAP Add/Modify Hash

           OUTPUT:
             status - Integer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_modify($ld,$dn,$mods);

       ldap_modify_ext(ld,dn,mods,serverctrls,clientctrls,msgidp)
           DESCRIPTION:

           Asynchronously modify a LDAP entry w/ Controls

           INPUT:
             ld - LDAP Session Handle
             dn - String
             mods - LDAP Add/Modify Hash
             serverctrls - LDAP Control List Pointer
             clientctrls - LDAP Control List Pointer
             msgidp - Integer

           OUTPUT:
             status - Integer
             msgidp - Integer

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_modify_ext($ld,$dn,$mods,$serverctrls,$clientctrls,$msgidp);

       ldap_modify_ext_s(ld,dn,mods,serverctrls,clientctrls)
           DESCRIPTION:

           Synchronously modify a LDAP entry w/ Controls

           INPUT:
             ld - LDAP Session Handle
             dn - String
             mods - LDAP Add/Modify Hash
             serverctrls - LDAP Control List Pointer
             clientctrls - LDAP Control List Pointer

           OUTPUT:
             status - Integer

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_modify_ext_s($ld,$dn,$mods,$serverctrls,$clientctrls);

       ldap_modify_s(ld,dn,mods)
           DESCRIPTION:

           Synchronously modify a LDAP entry

           INPUT:
             ld - LDAP Session Handle
             dn - String
             mods - LDAP Add/Modify Hash

           OUTPUT:
             status - Integer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_modify_s($ld,$dn,$mods);

       ldap_modrdn(ld,dn,newrdn)
           DESCRIPTION:

           Asynchronously modify the relative distinguished name of an entry

           INPUT:
             ld - LDAP Session Handle
             dn - String
             newrdn - String

           OUTPUT:
             status - Integer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_modrdn($ld,$dn,$newrdn);

       ldap_modrdn_s(ld,dn,newrdn)
           DESCRIPTION:

           Synchronously modify the relative distinguished name of an entry

           INPUT:
             ld - LDAP Session Handle
             dn - String
             newrdn - String

           OUTPUT:
             status - Integer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_modrdn_s($ld,$dn,$newrdn);

       ldap_modrdn2(ld,dn,newrdn,deleteoldrdn)
           DESCRIPTION:

           Asynchronously modify the relative distinguished name of an entry.

           INPUT:
             ld - LDAP Session Handle
             dn - String
             newrdn - String
             deleteoldrdn - Integer

           OUTPUT:
             status - Integer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_modrdn2($ld,$dn,$newrdn,$deleteoldrdn);

       ldap_modrdn2_s(ld,dn,newrdn,deleteoldrdn)
           DESCRIPTION:

           Synchronously modify the relative distinguished name of an entry.

           INPUT:
             ld - LDAP Session Handle
             dn - String
             newrdn - String
             deleteoldrdn - Integer

           OUTPUT:
             status - Integer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_modrdn2_s($ld,$dn,$newrdn,$deleteoldrdn);

       ldap_msgfree(lm)
           DESCRIPTION:

           Free memory allocated by a LDAP Message

           INPUT:
             lm - LDAP Message Pointer

           OUTPUT:
             status - Integer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_msgfree($lm);

       ldap_msgid(lm)
           DESCRIPTION:

           Get the message id number from a LDAP message

           INPUT:
             lm - LDAP Message Pointer

           OUTPUT:
             status - Integer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_msgid($lm);

       ldap_msgtype(lm)
           DESCRIPTION:

           Get the message type of a LDAP message

           INPUT:
             lm - LDAP Message Pointer

           OUTPUT:
             status - Integer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_msgtype($lm);

       ldap_multisort_entries(ld,chain,attr)
           DESCRIPTION:

           Sort entries by multiple keys

           INPUT:
             ld - LDAP Session Handle
             chain - LDAP Message Pointer
             attr - List Reference

           OUTPUT:
             status - Integer
             chain - LDAP Message Pointer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_multisort_entries($ld,$chain,$attr);

       ldap_next_attribute(ld,entry,ber)
           DESCRIPTION:

           Get the next attribute for a LDAP entry

           INPUT:
             ld - LDAP Session Handle
             entry - LDAP Message Pointer
             ber - Ber Element Pointer

           OUTPUT:
             status - String
             ber - BER Element Pointer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_next_attribute($ld,$entry,$ber);

       ldap_next_entry(ld,entry)
           DESCRIPTION:

           Get the next entry in the result chain

           INPUT:
             ld - LDAP Session Handle
             entry - LDAP Message Pointer

           OUTPUT:
             status - LDAP Message Pointer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_next_entry($ld,$entry);

       ldap_next_message(ld,msg)
           DESCRIPTION:

           Get the next message in the result chain

           INPUT:
             ld - LDAP Session Handle
             msg - LDAP Message Pointer

           OUTPUT:
             status - LDAP Message Pointer

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_next_message($ld,$msg);

       ldap_next_reference(ld,ref)
           DESCRIPTION:

           Get the next reference in the result chain

           INPUT:
             ld - LDAP Session Handle
             ref - LDAP Message Pointer

           OUTPUT:
             status - LDAP Message Pointer

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_next_reference($ld,$ref);

       ldap_parse_entrychange_control(ld,ctrls,chgtypep,prevdnp,chgnumpresentp,chgnump)
           DESCRIPTION:

           Parse a LDAP entry change control

           INPUT:
             ld - LDAP Session Handle
             ctrls - LDAP Control List Pointer
             chgtypep - Integer
             prevdnp - String
             chgnumpresentp - Integer
             chgnump - Integer

           OUTPUT:
             status - Integer
             chgtypep - Integer
             prevdnp - String
             chgnumpresentp - Integer
             chgnump - Integer

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_parse_entrychange_control($ld,$ctrls,$chgtypep,$prevdnp,$chgnumpresentp,$chgnump);

       ldap_parse_extended_result(ld,res,retoidp,retdatap,freeit)
           DESCRIPTION:

           Parse a LDAP extended result

           INPUT:
             ld - LDAP Session Handle
             res - LDAP Message Pointer
             retoidp - String
             freeit - Integer

           OUTPUT:
             status - Integer
             retoidp - String
             retdatap - Binary List Reference

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_parse_extended_result($ld,$res,$retoidp,$retdatap,$freeit);

       ldap_parse_reference(ld,ref,referalsp,serverctrlsp,freeit)
           DESCRIPTION:

           Parse a LDAP Reference

           INPUT:
             ld - LDAP Session Handle
             ref - LDAP Message Pointer
             referalsp - List Reference
             serverctrlsp - LDAP Control List Pointer
             freeit - Integer

           OUTPUT:
             status - Integer
             referalsp - List Reference
             serverctrlsp - LDAP Control List Pointer

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_parse_reference($ld,$ref,$referalsp,$serverctrlsp,$freeit);

       ldap_parse_result(ld,res,errcodep,matcheddnp,errmsgp,referralsp,serverctrlsp,freeit)
           DESCRIPTION:

           Parse a LDAP result

           INPUT:
             ld - LDAP Session Handle
             res - LDAP Message Pointer
             errcodep - Integer
             matcheddnp - String
             errmsgp - String
             referralsp - List Reference
             serverctrlsp - LDAP Control List Pointer
             freeit - Integer

           OUTPUT:
             status - Integer
             errcodep - Integer
             matcheddnp - String
             errmsgp - String
             referralsp - List Reference
             serverctrlsp - LDAP Control List Pointer

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_parse_result($ld,$res,$errcodep,$matcheddnp,$errmsgp,$referralsp,$serverctrlsp,$freeit);

       ldap_parse_sasl_bind_result(ld,res,servercredp,freeit)
           DESCRIPTION:

           Parse the results of an SASL bind operation

           INPUT:
             ld - LDAP Session Handle
             res - LDAP Message Pointer
             freeit - Integer

           OUTPUT:
             status - Integer
             servercredp -

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_parse_sasl_bind_result($ld,$res,$servercredp,$freeit);

       ldap_parse_sort_control(ld,ctrls,result,attribute)
           DESCRIPTION:

           Parse a LDAP sort control

           INPUT:
             ld - LDAP Session Handle
             ctrls - LDAP Control List Pointer
             result - LDAP Message Pointer
             attribute - String

           OUTPUT:
             status - Integer
             result - LDAP Message Pointer
             attribute - String

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_parse_sort_control($ld,$ctrls,$result,$attribute);

       ldap_parse_virtuallist_control(ld,ctrls,target_posp,list_sizep,errcodep)
           DESCRIPTION:

           Parse a LDAP virtual list control

           INPUT:
             ld - LDAP Session Handle
             ctrls - LDAP Control List Pointer
             target_posp - Integer
             list_sizep - Integer
             errcodep - Integer

           OUTPUT:
             status - Integer
             target_posp - Integer
             list_sizep - Integer
             errcodep - Integer

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_parse_virtuallist_control($ld,$ctrls,$target_posp,$list_sizep,$errcodep);

       ldap_perror(ld,s)
           DESCRIPTION:

           Print a LDAP error message

           INPUT:
             ld - LDAP Session Handle
             s - String

           OUTPUT:
             status - NONE

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_perror($ld,$s);

       ldap_rename(ld,dn,newrdn,newparent,deleteoldrdn,serverctrls,clientctrls,msgidp)
           DESCRIPTION:

           Asynchronously rename a LDAP entry

           INPUT:
             ld - LDAP Session Handle
             dn - String
             newrdn - String
             newparent - String
             deleteoldrdn - Integer
             serverctrls - LDAP Control List Pointer
             clientctrls - LDAP Control List Pointer
             msgidp - Integer

           OUTPUT:
             status - Integer
             msgidp - Integer

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_rename($ld,$dn,$newrdn,$newparent,$deleteoldrdn,$serverctrls,$clientctrls,$msgidp);

       ldap_rename_s(ld,dn,newrdn,newparent,deleteoldrdn,serverctrls,clientctrls)
           DESCRIPTION:

           Synchronously rename a LDAP entry

           INPUT:
             ld - LDAP Session Handle
             dn - String
             newrdn - String
             newparent - String
             deleteoldrdn - Integer
             serverctrls - LDAP Control List Pointer
             clientctrls - LDAP Control List Pointer

           OUTPUT:
             status - Integer

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_rename_s($ld,$dn,$newrdn,$newparent,$deleteoldrdn,$serverctrls,$clientctrls);

       ldap_result(ld,msgid,all,timeout,result)
           DESCRIPTION:

           Get the result for an asynchronous LDAP operation

           INPUT:
             ld - LDAP Session Handle
             msgid - Integer
             all - Integer
             timeout - Time in Seconds
             result - LDAP Message Pointer

           OUTPUT:
             status - Integer
             result - LDAP Message Pointer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_result($ld,$msgid,$all,$timeout,$result);

       ldap_result2error(ld,r,freeit)
           DESCRIPTION:

           Get the error number for a given result

           INPUT:
             ld - LDAP Session Handle
             r - LDAP Message Pointer
             freeit - Integer

           OUTPUT:
             status - Integer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_result2error($ld,$r,$freeit);

       ldap_sasl_bind(ld,dn,mechanism,cred,serverctrls,clientctrls,msgidp)
           DESCRIPTION:

           Asynchronously bind to the LDAP server using a SASL mechanism

           INPUT:
             ld - LDAP Session Handle
             dn - String
             mechanism - String
             cred - Binary String
             serverctrls - LDAP Control List Pointer
             clientctrls - LDAP Control List Pointer
             msgidp - Integer

           OUTPUT:
             status - Integer
             msgidp - Integer

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_sasl_bind($ld,$dn,$mechanism,$cred,$serverctrls,$clientctrls,$msgidp);

       ldap_sasl_bind_s(ld,dn,mechanism,cred,serverctrls,clientctrls,servercredp)
           DESCRIPTION:

           Synchronously bind to a LDAP server using a SASL mechanism

           INPUT:
             ld - LDAP Session Handle
             dn - String
             mechanism - String
             cred - Binary String
             serverctrls - LDAP Control List Pointer
             clientctrls - LDAP Control List Pointer

           OUTPUT:
             status - Integer
             servercredp -

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_sasl_bind_s($ld,$dn,$mechanism,$cred,$serverctrls,$clientctrls,$servercredp);

       ldap_search(ld,base,scope,filter,attrs,attrsonly)
           DESCRIPTION:

           Asynchronously search the LDAP server

           INPUT:
             ld - LDAP Session Handle
             base - String
             scope - Integer
             filter - String
             attrs - List Reference
             attrsonly - Integer

           OUTPUT:
             status - Integer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_search($ld,$base,$scope,$filter,$attrs,$attrsonly);

       ldap_search_ext(ld,base,scope,filter,attrs,attrsonly,serverctrls,clientctrls,timeoutp,sizelimit,msgidp)
           DESCRIPTION:

           Asynchronously search the LDAP server w/ Controls

           INPUT:
             ld - LDAP Session Handle
             base - String
             scope - Integer
             filter - String
             attrs - List Reference
             attrsonly - Integer
             serverctrls - LDAP Control List Pointer
             clientctrls - LDAP Control List Pointer
             timeoutp - Time in Seconds
             sizelimit - Integer
             msgidp - Integer

           OUTPUT:
             status - Integer
             msgidp - Integer

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_search_ext($ld,$base,$scope,$filter,$attrs,$attrsonly,$serverctrls,$clientctrls,$timeoutp,$sizelimit,$msgidp);

       ldap_search_ext_s(ld,base,scope,filter,attrs,attrsonly,serverctrls,clientctrls,timeoutp,sizelimit,res)
           DESCRIPTION:

           Synchronously search the LDAP server w/ Controls

           INPUT:
             ld - LDAP Session Handle
             base - String
             scope - Integer
             filter - String
             attrs - List Reference
             attrsonly - Integer
             serverctrls - LDAP Control List Pointer
             clientctrls - LDAP Control List Pointer
             timeoutp - Time in Seconds
             sizelimit - Integer
             res - LDAP Message Pointer

           OUTPUT:
             status - Integer
             res - LDAP Message Pointer

           AVAILABILITY: V3

           EXAMPLE:

             $status = ldap_search_ext_s($ld,$base,$scope,$filter,$attrs,$attrsonly,$serverctrls,$clientctrls,$timeoutp,$sizelimit,$res);

       ldap_search_s(ld,base,scope,filter,attrs,attrsonly,res)
           DESCRIPTION:

           Synchronously search the LDAP server

           INPUT:
             ld - LDAP Session Handle
             base - String
             scope - Integer
             filter - String
             attrs - List Reference
             attrsonly - Integer
             res - LDAP Message Pointer

           OUTPUT:
             status - Integer
             res - LDAP Message Pointer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_search_s($ld,$base,$scope,$filter,$attrs,$attrsonly,$res);

       ldap_search_st(ld,base,scope,filter,attrs,attrsonly,timeout,res)
           DESCRIPTION:

           Synchronously search the LDAP server w/ Timeout

           INPUT:
             ld - LDAP Session Handle
             base - String
             scope - Integer
             filter - String
             attrs - List Reference
             attrsonly - Integer
             timeout - Time in Seconds
             res - LDAP Message Pointer

           OUTPUT:
             status - Integer
             res - LDAP Message Pointer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_search_st($ld,$base,$scope,$filter,$attrs,$attrsonly,$timeout,$res);

       ldap_set_filter_additions(lfdp,prefix,suffix)
           DESCRIPTION:

           Add a prefix and suffix for filter generation

           INPUT:
             lfdp - LDAP Filter Description Pointer
             prefix - String
             suffix - String

           OUTPUT:
             status - Integer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_set_filter_additions($lfdp,$prefix,$suffix);

       ldap_set_lderrno(ld,e,m,s)
           DESCRIPTION:

           Set the LDAP error structure

           INPUT:
             ld - LDAP Session Handle
             e - Integer
             m - String
             s - String

           OUTPUT:
             status - Integer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_set_lderrno($ld,$e,$m,$s);

       ldap_set_option(ld,option,optdata)
           DESCRIPTION:

           Set a LDAP session option

           INPUT:
             ld - LDAP Session Handle
             option - Integer
             optdata - Integer

           OUTPUT:
             status - Integer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_set_option($ld,$option,$optdata);

       ldap_set_rebind_proc(ld,rebindproc)
           DESCRIPTION:

           Set the LDAP rebind process

           INPUT:
             ld - LDAP Session Handle

           OUTPUT:
             status - NONE

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_set_rebind_proc($ld,$rebindproc);

       ldap_simple_bind(ld,who,passwd)
           DESCRIPTION:

           Asynchronously bind to the LDAP server using simple authentication

           INPUT:
             ld - LDAP Session Handle
             who - String
             passwd - String

           OUTPUT:
             status - Integer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_simple_bind($ld,$who,$passwd);

       ldap_simple_bind_s(ld,who,passwd)
           DESCRIPTION:

           Synchronously bind to the LDAP server using simple authentication

           INPUT:
             ld - LDAP Session Handle
             who - String
             passwd - String

           OUTPUT:
             status - Integer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_simple_bind_s($ld,$who,$passwd);

       ldap_sort_entries(ld,chain,attr)
           DESCRIPTION:

           Sort the results of a LDAP search

           INPUT:
             ld - LDAP Session Handle
             chain - LDAP Message Pointer
             attr - String

           OUTPUT:
             status - Integer
             chain - LDAP Message Pointer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_sort_entries($ld,$chain,$attr);

       ldap_unbind(ld)
           DESCRIPTION:

           Asynchronously unbind from the LDAP server

           INPUT:
             ld - LDAP Session Handle

           OUTPUT:
             status - Integer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_unbind($ld);

       ldap_unbind_s(ld)
           DESCRIPTION:

           Synchronously unbind from a LDAP server

           INPUT:
             ld - LDAP Session Handle

           OUTPUT:
             status - Integer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_unbind_s($ld);

       ldap_url_parse(url)
           DESCRIPTION:

           Parse a LDAP URL, returning a HASH of its components

           INPUT:
             url - String

           OUTPUT:
             status -

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_url_parse($url);

       ldap_url_search(ld,url,attrsonly)
           DESCRIPTION:

           Asynchronously search using a LDAP URL

           INPUT:
             ld - LDAP Session Handle
             url - String
             attrsonly - Integer

           OUTPUT:
             status - Integer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_url_search($ld,$url,$attrsonly);

       ldap_url_search_s(ld,url,attrsonly,res)
           DESCRIPTION:

           Synchronously search using a LDAP URL

           INPUT:
             ld - LDAP Session Handle
             url - String
             attrsonly - Integer
             res - LDAP Message Pointer

           OUTPUT:
             status - Integer
             res - LDAP Message Pointer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_url_search_s($ld,$url,$attrsonly,$res);

       ldap_url_search_st(ld,url,attrsonly,timeout,res)
           DESCRIPTION:

           Synchronously search using a LDAP URL w/ timeout

           INPUT:
             ld - LDAP Session Handle
             url - String
             attrsonly - Integer
             timeout - Time in Seconds
             res - LDAP Message Pointer

           OUTPUT:
             status - Integer
             res - LDAP Message Pointer

           AVAILABILITY: V2/V3

           EXAMPLE:

             $status = ldap_url_search_st($ld,$url,$attrsonly,$timeout,$res);

       prldap_install_routines(ld,shared)
           DESCRIPTION:

           Install NSPR I/O, threading, and DNS functions so they can be used by the LDAP
           connection (ld).

           If 'ld' is NULL, the functions are installed as the default functions for all new LDAP
           * handles).

           INPUT:
             ld - LDAP Session Handle
             shared - True if the LDAP * handle is used in an MT context

           OUTPUT:
             status - Integer

           AVAILABILITY: V3

CREDITS

       Most of the Perl API module was written by Clayton Donley to interface with C API routines
       from Netscape Communications Corp., Inc.

BUGS

       Documentation needs much work.  LDAPv3 calls not tested or supported in this version.  NT
       can not use Perl Rebind processes, must use 'ldap_set_default_rebindproc'.  Possible
       memory leak in ldap_search* is being investigated.

SEE ALSO

       Mozilla::LDAP::Conn, Mozilla::LDAP::Entry, and Perl

POD ERRORS

       Hey! The above document had some coding errors, which are explained below:

       Around line 500:
           '=item' outside of any '=over'

       Around line 2959:
           You forgot a '=back' before '=head1'