Scroll to navigation

API(3pm) User Contributed Perl Documentation API(3pm)
 

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'
2007-06-14 perl v5.20.0