.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "API 3pm" .TH API 3pm 2024-03-07 "perl v5.38.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME .Vb 1 \& Mozilla::LDAP::API \- Perl methods for LDAP C API calls .Ve .SH SYNOPSIS .IX Header "SYNOPSIS" .Vb 7 \& 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); .Ve .SH DESCRIPTION .IX Header "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. .SH "THIS DOCUMENT" .IX Header "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. .SH "CREATING AN ADD/MODIFY HASH" .IX Header "CREATING AN ADD/MODIFY HASH" For the add and modify routines you will need to generate a list of attributes and values. .PP 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. .PP .Vb 5 \& \- 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. .Ve .PP 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) .PP Additionally, in add and modify operations, you may specify "b" if the attributes you are adding are BINARY (ex. "rb" to replace binary). .PP Currently, it is only possible to do one operation per add/modify operation, meaning you can't do something like: .PP .Vb 1 \& {"d",["Clayton"],"a",["Clay"]} <\-\- WRONG! .Ve .PP Using any combination of the above value types, you can do things like: .PP \&\f(CW%ldap_modifications\fR = ( "cn", "Clayton Donley", # Replace 'cn' values "givenname", ["Clayton","Clay"], # Replace 'givenname' values "mail", {"a",["donley\e@cig.mcel.mot.com"], #Add 'mail' values "jpegphoto", {"rb",[$jpegphotodata]}, # Replace Binary jpegPhoto ); .PP Then remember to call the add or modify operations with a REFERENCE to this HASH. .SH "API Methods" .IX Header "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. .IP \fBldap_abandon\fR(ld,msgid) 4 .IX Item "ldap_abandon(ld,msgid)" DESCRIPTION: .Sp Abandon an asynchronous LDAP operation .Sp INPUT: ld \- LDAP Session Handle msgid \- Integer .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_abandon($ld,$msgid); .Ve .IP \fBldap_abandon_ext\fR(ld,msgid,serverctrls,clientctrls) 4 .IX Item "ldap_abandon_ext(ld,msgid,serverctrls,clientctrls)" DESCRIPTION: .Sp Abandon an asynchronous LDAP operation w/ Controls .Sp INPUT: ld \- LDAP Session Handle msgid \- Integer serverctrls \- LDAP Control List Pointer clientctrls \- LDAP Control List Pointer .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_abandon_ext($ld,$msgid,$serverctrls,$clientctrls); .Ve .IP \fBldap_add\fR(ld,dn,attrs) 4 .IX Item "ldap_add(ld,dn,attrs)" DESCRIPTION: .Sp Asynchronously add a LDAP entry .Sp INPUT: ld \- LDAP Session Handle dn \- String attrs \- LDAP Add/Modify Hash .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_add($ld,$dn,$attrs); .Ve .IP \fBldap_add_ext\fR(ld,dn,attrs,serverctrls,clientctrls,msgidp) 4 .IX Item "ldap_add_ext(ld,dn,attrs,serverctrls,clientctrls,msgidp)" DESCRIPTION: .Sp Asynchronously add a LDAP entry w/ Controls .Sp INPUT: ld \- LDAP Session Handle dn \- String attrs \- LDAP Add/Modify Hash serverctrls \- LDAP Control List Pointer clientctrls \- LDAP Control List Pointer msgidp \- Integer .Sp OUTPUT: status \- Integer msgidp \- Integer .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_add_ext($ld,$dn,$attrs,$serverctrls,$clientctrls,$msgidp); .Ve .IP \fBldap_add_ext_s\fR(ld,dn,attrs,serverctrls,clientctrls) 4 .IX Item "ldap_add_ext_s(ld,dn,attrs,serverctrls,clientctrls)" DESCRIPTION: .Sp Synchronously add a LDAP entry w/ Controls .Sp INPUT: ld \- LDAP Session Handle dn \- String attrs \- LDAP Add/Modify Hash serverctrls \- LDAP Control List Pointer clientctrls \- LDAP Control List Pointer .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_add_ext_s($ld,$dn,$attrs,$serverctrls,$clientctrls); .Ve .IP \fBldap_add_s\fR(ld,dn,attrs) 4 .IX Item "ldap_add_s(ld,dn,attrs)" DESCRIPTION: .Sp Synchronously add a LDAP entry .Sp INPUT: ld \- LDAP Session Handle dn \- String attrs \- LDAP Add/Modify Hash .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_add_s($ld,$dn,$attrs); .Ve .IP \fBldap_ber_free\fR(ber,freebuf) 4 .IX Item "ldap_ber_free(ber,freebuf)" DESCRIPTION: .Sp Free a BER element pointer .Sp INPUT: ber \- BER Element Pointer freebuf \- Integer .Sp OUTPUT: status \- NONE .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_ber_free($ber,$freebuf); .Ve .IP \fBldap_bind\fR(ld,dn,passwd,authmethod) 4 .IX Item "ldap_bind(ld,dn,passwd,authmethod)" DESCRIPTION: .Sp Asynchronously bind to the LDAP server .Sp INPUT: ld \- LDAP Session Handle dn \- String passwd \- String authmethod \- Integer .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_bind($ld,$dn,$passwd,$authmethod); .Ve .IP \fBldap_bind_s\fR(ld,dn,passwd,authmethod) 4 .IX Item "ldap_bind_s(ld,dn,passwd,authmethod)" DESCRIPTION: .Sp Synchronously bind to a LDAP server .Sp INPUT: ld \- LDAP Session Handle dn \- String passwd \- String authmethod \- Integer .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_bind_s($ld,$dn,$passwd,$authmethod); .Ve .IP \fBldap_compare\fR(ld,dn,attr,value) 4 .IX Item "ldap_compare(ld,dn,attr,value)" DESCRIPTION: .Sp Asynchronously compare an attribute/value pair and an entry .Sp INPUT: ld \- LDAP Session Handle dn \- String attr \- String value \- String .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_compare($ld,$dn,$attr,$value); .Ve .IP \fBldap_compare_ext\fR(ld,dn,attr,bvalue,serverctrls,clientctrls,msgidp) 4 .IX Item "ldap_compare_ext(ld,dn,attr,bvalue,serverctrls,clientctrls,msgidp)" DESCRIPTION: .Sp Asynchronously compare an attribute/value pair and an entry w/ Controls .Sp INPUT: ld \- LDAP Session Handle dn \- String attr \- String bvalue \- Binary String serverctrls \- LDAP Control List Pointer clientctrls \- LDAP Control List Pointer msgidp \- Integer .Sp OUTPUT: status \- Integer msgidp \- Integer .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_compare_ext($ld,$dn,$attr,$bvalue,$serverctrls,$clientctrls,$msgidp); .Ve .IP \fBldap_compare_ext_s\fR(ld,dn,attr,bvalue,serverctrls,clientctrls) 4 .IX Item "ldap_compare_ext_s(ld,dn,attr,bvalue,serverctrls,clientctrls)" DESCRIPTION: .Sp Synchronously compare an attribute/value pair to an entry w/ Controls .Sp INPUT: ld \- LDAP Session Handle dn \- String attr \- String bvalue \- Binary String serverctrls \- LDAP Control List Pointer clientctrls \- LDAP Control List Pointer .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_compare_ext_s($ld,$dn,$attr,$bvalue,$serverctrls,$clientctrls); .Ve .IP \fBldap_compare_s\fR(ld,dn,attr,value) 4 .IX Item "ldap_compare_s(ld,dn,attr,value)" DESCRIPTION: .Sp Synchronously compare an attribute/value pair to an entry .Sp INPUT: ld \- LDAP Session Handle dn \- String attr \- String value \- String .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_compare_s($ld,$dn,$attr,$value); .Ve .IP \fBldap_control_free\fR(ctrl) 4 .IX Item "ldap_control_free(ctrl)" DESCRIPTION: .Sp Free a LDAP control pointer .Sp INPUT: ctrl \- LDAP Control Pointer .Sp OUTPUT: status \- NONE .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_control_free($ctrl); .Ve .IP \fBldap_controls_count\fR(ctrls) 4 .IX Item "ldap_controls_count(ctrls)" DESCRIPTION: .Sp Count the number of LDAP controls in a LDAP Control List .Sp INPUT: ctrls \- LDAP Control List Pointer .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_controls_count($ctrls); .Ve .IP \fBldap_controls_free\fR(ctrls) 4 .IX Item "ldap_controls_free(ctrls)" DESCRIPTION: .Sp Free a list of LDAP controls .Sp INPUT: ctrls \- LDAP Control List Pointer .Sp OUTPUT: status \- NONE .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_controls_free($ctrls); .Ve .IP \fBldap_count_entries\fR(ld,result) 4 .IX Item "ldap_count_entries(ld,result)" DESCRIPTION: .Sp Count the number of LDAP entries returned .Sp INPUT: ld \- LDAP Session Handle result \- LDAP Message Pointer .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $count = ldap_count_entries($ld,$result); .Ve .IP \fBldap_count_messages\fR(ld,result) 4 .IX Item "ldap_count_messages(ld,result)" DESCRIPTION: .Sp Count the number of LDAP messages returned .Sp INPUT: ld \- LDAP Session Handle result \- LDAP Message Pointer .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_count_messages($ld,$result); .Ve .IP \fBldap_count_references\fR(ld,result) 4 .IX Item "ldap_count_references(ld,result)" DESCRIPTION: .Sp Count the number of LDAP references returned .Sp INPUT: ld \- LDAP Session Handle result \- LDAP Message Pointer .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_count_references($ld,$result); .Ve .IP \fBldap_create_filter\fR(buf,buflen,pattern,prefix,suffix,attr,value,valwords) 4 .IX Item "ldap_create_filter(buf,buflen,pattern,prefix,suffix,attr,value,valwords)" DESCRIPTION: .Sp Create a LDAP search filter .Sp INPUT: buf \- String buflen \- Integer pattern \- String prefix \- String suffix \- String attr \- String value \- String valwords \- List Reference .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_create_filter($buf,$buflen,$pattern,$prefix,$suffix,$attr,$value,$valwords); .Ve .IP \fBldap_create_persistentsearch_control\fR(ld,changetypes,changesonly,return_echg_ctrls,ctrl_iscritical,ctrlp) 4 .IX Item "ldap_create_persistentsearch_control(ld,changetypes,changesonly,return_echg_ctrls,ctrl_iscritical,ctrlp)" DESCRIPTION: .Sp Create a persistent search control .Sp INPUT: ld \- LDAP Session Handle changetypes \- Integer changesonly \- Integer return_echg_ctrls \- Integer ctrl_iscritical \- Integer ctrlp \- LDAP Control List Pointer .Sp OUTPUT: status \- Integer ctrlp \- LDAP Control List Pointer .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_create_persistentsearch_control($ld,$changetypes,$changesonly,$return_echg_ctrls,$ctrl_iscritical,$ctrlp); .Ve .IP \fBldap_create_sort_control\fR(ld,sortKeyList,ctrl_iscritical,ctrlp) 4 .IX Item "ldap_create_sort_control(ld,sortKeyList,ctrl_iscritical,ctrlp)" DESCRIPTION: .Sp Create a LDAP sort control .Sp INPUT: ld \- LDAP Session Handle sortKeyList \- Sort Key Pointer ctrl_iscritical \- Integer ctrlp \- LDAP Control List Pointer .Sp OUTPUT: status \- Integer ctrlp \- LDAP Control List Pointer .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_create_sort_control($ld,$sortKeyList,$ctrl_iscritical,$ctrlp); .Ve .IP \fBldap_create_sort_keylist\fR(sortKeyList,string_rep) 4 .IX Item "ldap_create_sort_keylist(sortKeyList,string_rep)" DESCRIPTION: .Sp Create a list of keys to be used by a sort control .Sp INPUT: sortKeyList \- Sort Key Pointer string_rep \- String .Sp OUTPUT: status \- Integer sortKeyList \- Sort Key Pointer .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_create_sort_keylist($sortKeyList,$string_rep); .Ve .IP \fBldap_create_virtuallist_control\fR(ld,ldvlistp,ctrlp) 4 .IX Item "ldap_create_virtuallist_control(ld,ldvlistp,ctrlp)" DESCRIPTION: .Sp Create a LDAP virtual list control .Sp INPUT: ld \- LDAP Session Handle ctrlp \- LDAP Control List Pointer .Sp OUTPUT: status \- Integer ctrlp \- LDAP Control List Pointer .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_create_virtuallist_control($ld,$ldvlistp,$ctrlp); .Ve .IP \fBldap_delete\fR(ld,dn) 4 .IX Item "ldap_delete(ld,dn)" DESCRIPTION: .Sp Asynchronously delete a LDAP entry .Sp INPUT: ld \- LDAP Session Handle dn \- String .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_delete($ld,$dn); .Ve .IP \fBldap_delete_ext\fR(ld,dn,serverctrls,clientctrls,msgidp) 4 .IX Item "ldap_delete_ext(ld,dn,serverctrls,clientctrls,msgidp)" DESCRIPTION: .Sp Asynchronously delete a LDAP entry w/ Controls .Sp INPUT: ld \- LDAP Session Handle dn \- String serverctrls \- LDAP Control List Pointer clientctrls \- LDAP Control List Pointer msgidp \- Integer .Sp OUTPUT: status \- Integer msgidp \- Integer .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_delete_ext($ld,$dn,$serverctrls,$clientctrls,$msgidp); .Ve .IP \fBldap_delete_ext_s\fR(ld,dn,serverctrls,clientctrls) 4 .IX Item "ldap_delete_ext_s(ld,dn,serverctrls,clientctrls)" DESCRIPTION: .Sp Synchronously delete a LDAP entry w/ Controls .Sp INPUT: ld \- LDAP Session Handle dn \- String serverctrls \- LDAP Control List Pointer clientctrls \- LDAP Control List Pointer .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_delete_ext_s($ld,$dn,$serverctrls,$clientctrls); .Ve .IP \fBldap_delete_s\fR(ld,dn) 4 .IX Item "ldap_delete_s(ld,dn)" DESCRIPTION: .Sp Synchronously delete a LDAP entry .Sp INPUT: ld \- LDAP Session Handle dn \- String .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_delete_s($ld,$dn); .Ve .IP \fBldap_dn2ufn\fR(dn) 4 .IX Item "ldap_dn2ufn(dn)" DESCRIPTION: .Sp Change a DN to a "Friendly" name .Sp INPUT: dn \- String .Sp OUTPUT: status \- String .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_dn2ufn($dn); .Ve .IP \fBldap_err2string\fR(err) 4 .IX Item "ldap_err2string(err)" DESCRIPTION: .Sp Return the string value of a LDAP error code .Sp INPUT: err \- Integer .Sp OUTPUT: status \- String .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_err2string($err); .Ve .IP \fBldap_explode_dn\fR(dn,notypes) 4 .IX Item "ldap_explode_dn(dn,notypes)" DESCRIPTION: .Sp Split a given DN into its components. Setting 'notypes' to 1 returns the components without their type names. .Sp INPUT: dn \- String notypes \- Integer .Sp OUTPUT: status \- NONE .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_explode_dn($dn,$notypes); .Ve .IP \fBldap_explode_rdn\fR(dn,notypes) 4 .IX Item "ldap_explode_rdn(dn,notypes)" DESCRIPTION: .Sp Split a Relative DN into its components .Sp INPUT: dn \- String notypes \- Integer .Sp OUTPUT: status \- NONE .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_explode_rdn($dn,$notypes); .Ve .IP \fBldap_extended_operation\fR(ld,requestoid,requestdata,serverctrls,clientctrls,msgidp) 4 .IX Item "ldap_extended_operation(ld,requestoid,requestdata,serverctrls,clientctrls,msgidp)" DESCRIPTION: .Sp Perform an asynchronous extended operation .Sp INPUT: ld \- LDAP Session Handle requestoid \- String requestdata \- Binary String serverctrls \- LDAP Control List Pointer clientctrls \- LDAP Control List Pointer msgidp \- Integer .Sp OUTPUT: status \- Integer msgidp \- Integer .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_extended_operation($ld,$requestoid,$requestdata,$serverctrls,$clientctrls,$msgidp); .Ve .IP \fBldap_extended_operation_s\fR(ld,requestoid,requestdata,serverctrls,clientctrls,retoidp,retdatap) 4 .IX Item "ldap_extended_operation_s(ld,requestoid,requestdata,serverctrls,clientctrls,retoidp,retdatap)" DESCRIPTION: .Sp Perform a synchronous extended operation .Sp INPUT: ld \- LDAP Session Handle requestoid \- String requestdata \- Binary String serverctrls \- LDAP Control List Pointer clientctrls \- LDAP Control List Pointer retoidp \- String .Sp OUTPUT: status \- Integer retoidp \- Return OID retdatap \- Return Data .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_extended_operation_s($ld,$requestoid,$requestdata,$serverctrls,$clientctrls,$retoidp,$retdatap); .Ve .IP \fBldap_first_attribute\fR(ld,entry,ber) 4 .IX Item "ldap_first_attribute(ld,entry,ber)" DESCRIPTION: .Sp Return the first attribute returned for a LDAP entry .Sp INPUT: ld \- LDAP Session Handle entry \- LDAP Message Pointer ber \- Ber Element Pointer .Sp OUTPUT: status \- String ber \- Ber Element Pointer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_first_attribute($ld,$entry,$ber); .Ve .IP \fBldap_first_entry\fR(ld,chain) 4 .IX Item "ldap_first_entry(ld,chain)" DESCRIPTION: .Sp Return the first entry in a LDAP result chain .Sp INPUT: ld \- LDAP Session Handle chain \- LDAP Message Pointer .Sp OUTPUT: status \- LDAP Message Pointer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_first_entry($ld,$chain); .Ve .IP \fBldap_first_message\fR(ld,res) 4 .IX Item "ldap_first_message(ld,res)" DESCRIPTION: .Sp Return the first message in a LDAP result .Sp INPUT: ld \- LDAP Session Handle res \- LDAP Message Pointer .Sp OUTPUT: status \- LDAP Message Pointer .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_first_message($ld,$res); .Ve .IP \fBldap_first_reference\fR(ld,res) 4 .IX Item "ldap_first_reference(ld,res)" DESCRIPTION: .Sp Return the first reference in a LDAP result .Sp INPUT: ld \- LDAP Session Handle res \- LDAP Message Pointer .Sp OUTPUT: status \- LDAP Message Pointer .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_first_reference($ld,$res); .Ve .IP \fBldap_free_friendlymap\fR(map) 4 .IX Item "ldap_free_friendlymap(map)" DESCRIPTION: .Sp Free a LDAP friendly map pointer .Sp INPUT: map \- Friendly Map Pointer .Sp OUTPUT: status \- NONE .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_free_friendlymap($map); .Ve .IP \fBldap_free_sort_keylist\fR(sortKeyList) 4 .IX Item "ldap_free_sort_keylist(sortKeyList)" DESCRIPTION: .Sp Free a LDAP sort key pointer .Sp INPUT: sortKeyList \- Sort Key Pointer .Sp OUTPUT: status \- NONE .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_free_sort_keylist($sortKeyList); .Ve .IP \fBldap_free_urldesc\fR(ludp) 4 .IX Item "ldap_free_urldesc(ludp)" DESCRIPTION: .Sp Free a LDAP URL description hash reference .Sp INPUT: ludp \- URL Description Hash Reference .Sp OUTPUT: status \- NONE .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_free_urldesc($ludp); .Ve .IP \fBldap_friendly_name\fR(filename,name,map) 4 .IX Item "ldap_friendly_name(filename,name,map)" DESCRIPTION: .Sp Create a LDAP friendly name map .Sp INPUT: filename \- String name \- String map \- Friendly Map Pointer .Sp OUTPUT: status \- String .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_friendly_name($filename,$name,$map); .Ve .IP \fBldap_get_dn\fR(ld,entry) 4 .IX Item "ldap_get_dn(ld,entry)" DESCRIPTION: .Sp Return the distinguished name for an entry .Sp INPUT: ld \- LDAP Session Handle entry \- LDAP Message Pointer .Sp OUTPUT: status \- String .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_get_dn($ld,$entry); .Ve .IP \fBldap_get_entry_controls\fR(ld,entry,serverctrlsp) 4 .IX Item "ldap_get_entry_controls(ld,entry,serverctrlsp)" DESCRIPTION: .Sp Return the controls for a LDAP entry .Sp INPUT: ld \- LDAP Session Handle entry \- LDAP Message Pointer serverctrlsp \- LDAP Control List Pointer .Sp OUTPUT: status \- Integer serverctrlsp \- LDAP Control List Pointer .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_get_entry_controls($ld,$entry,$serverctrlsp); .Ve .IP \fBldap_getfilter_free\fR(lfdp) 4 .IX Item "ldap_getfilter_free(lfdp)" DESCRIPTION: .Sp Free a LDAP filter .Sp INPUT: lfdp \- LDAP Filter Description Pointer .Sp OUTPUT: status \- NONE .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_getfilter_free($lfdp); .Ve .IP \fBldap_getfirstfilter\fR(lfdp,tagpat,value) 4 .IX Item "ldap_getfirstfilter(lfdp,tagpat,value)" DESCRIPTION: .Sp Get the first generated filter .Sp INPUT: lfdp \- LDAP Filter Description Pointer tagpat \- String .Sp OUTPUT: status \- LDAP Filter Information Pointer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_getfirstfilter($lfdp,$tagpat,$value); .Ve .IP \fBldap_get_lang_values\fR(ld,entry,target,type) 4 .IX Item "ldap_get_lang_values(ld,entry,target,type)" DESCRIPTION: .Sp Get values for an entry .Sp INPUT: ld \- LDAP Session Handle entry \- LDAP Message Pointer target \- String type \- String .Sp OUTPUT: status \- NONE .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_get_lang_values($ld,$entry,$target,$type); .Ve .IP \fBldap_get_lang_values_len\fR(ld,entry,target,type) 4 .IX Item "ldap_get_lang_values_len(ld,entry,target,type)" DESCRIPTION: .Sp Get binary values for an entry .Sp INPUT: ld \- LDAP Session Handle entry \- LDAP Message Pointer target \- String type \- String .Sp OUTPUT: status \- NONE .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_get_lang_values_len($ld,$entry,$target,$type); .Ve .IP \fBldap_get_lderrno\fR(ld,m,s) 4 .IX Item "ldap_get_lderrno(ld,m,s)" DESCRIPTION: .Sp INPUT: ld \- LDAP Session Handle m \- String Reference (or undef) s \- String Reference (or undef) .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_get_lderrno($ld,\e$m,\e$s); .Ve .IP \fBldap_getnextfilter\fR(lfdp) 4 .IX Item "ldap_getnextfilter(lfdp)" DESCRIPTION: .Sp Get the next generated LDAP filter .Sp INPUT: lfdp \- LDAP Filter Information Pointer .Sp OUTPUT: status \- LDAP Filter Information Pointer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_getnextfilter($lfdp); .Ve .IP \fBldap_get_option\fR(ld,option,optdata) 4 .IX Item "ldap_get_option(ld,option,optdata)" DESCRIPTION: .Sp Get an option for a LDAP session .Sp INPUT: ld \- LDAP Session Handle option \- Integer optdata \- Integer .Sp OUTPUT: status \- Integer optdata \- Integer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_get_option($ld,$option,$optdata); .Ve .IP \fBldap_get_values\fR(ld,entry,target) 4 .IX Item "ldap_get_values(ld,entry,target)" DESCRIPTION: .Sp Get the values for a LDAP entry and attribute .Sp INPUT: ld \- LDAP Session Handle entry \- LDAP Message Pointer target \- String .Sp OUTPUT: status \- NONE .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_get_values($ld,$entry,$target); .Ve .IP \fBldap_get_values_len\fR(ld,entry,target) 4 .IX Item "ldap_get_values_len(ld,entry,target)" DESCRIPTION: .Sp Get the binary values for a LDAP entry and attribute .Sp INPUT: ld \- LDAP Session Handle entry \- LDAP Message Pointer target \- String .Sp OUTPUT: status \- NONE .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_get_values_len($ld,$entry,$target); .Ve .IP \fBldap_init\fR(host,port) 4 .IX Item "ldap_init(host,port)" DESCRIPTION: .Sp Initialize a LDAP session .Sp INPUT: host \- String port \- Integer .Sp OUTPUT: status \- LDAP Session Handle .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_init($host,$port); .Ve .IP \fBldap_init_getfilter\fR(fname) 4 .IX Item "ldap_init_getfilter(fname)" DESCRIPTION: .Sp Initialize the LDAP filter generation routines to a filename .Sp INPUT: fname \- Filename String .Sp OUTPUT: status \- LDAP Filter Description Pointer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_init_getfilter($fname); .Ve .IP \fBldap_init_getfilter_buf\fR(buf,buflen) 4 .IX Item "ldap_init_getfilter_buf(buf,buflen)" DESCRIPTION: .Sp Initialize the LDAP filter generation routines to a buffer .Sp INPUT: buf \- String buflen \- Integer .Sp OUTPUT: status \- LDAP Filter Description Pointer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_init_getfilter_buf($buf,$buflen); .Ve .IP \fBldap_is_ldap_url\fR(url) 4 .IX Item "ldap_is_ldap_url(url)" DESCRIPTION: .Sp Return 1 if an the argument is a valid LDAP URL .Sp INPUT: url \- String .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_is_ldap_url($url); .Ve .IP \fBldap_memcache_destroy\fR(cache) 4 .IX Item "ldap_memcache_destroy(cache)" DESCRIPTION: .Sp Destroy a memory cache .Sp INPUT: cache \- LDAP Memory Cache Pointer .Sp OUTPUT: status \- NONE .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_memcache_destroy($cache); .Ve .IP \fBldap_memcache_flush\fR(cache,dn,scope) 4 .IX Item "ldap_memcache_flush(cache,dn,scope)" DESCRIPTION: .Sp Flush a specific DN from the memory cache .Sp INPUT: cache \- LDAP Memory Cache Pointer dn \- String scope \- Integer .Sp OUTPUT: status \- NONE .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_memcache_flush($cache,$dn,$scope); .Ve .IP \fBldap_memcache_get\fR(ld,cachep) 4 .IX Item "ldap_memcache_get(ld,cachep)" DESCRIPTION: .Sp Get the memory cache for a LDAP session .Sp INPUT: ld \- LDAP Session Handle cachep \- LDAP Memory Cache Pointer .Sp OUTPUT: status \- Integer cachep \- LDAP Memory Cache Pointer .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_memcache_get($ld,$cachep); .Ve .IP \fBldap_memcache_init\fR(ttl,size,baseDNs,cachep) 4 .IX Item "ldap_memcache_init(ttl,size,baseDNs,cachep)" DESCRIPTION: .Sp Initialize a LDAP memory cache .Sp INPUT: ttl \- Integer size \- Integer baseDNs \- List Reference cachep \- LDAP Memory Cache Pointer .Sp OUTPUT: status \- Integer cachep \- LDAP Memory Cache Pointer .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_memcache_init($ttl,$size,$baseDNs,$cachep); .Ve .IP \fBldap_memcache_set\fR(ld,cache) 4 .IX Item "ldap_memcache_set(ld,cache)" DESCRIPTION: .Sp Set the LDAP memory cache for the session .Sp INPUT: ld \- LDAP Session Handle cache \- LDAP Memory Cache Pointer .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_memcache_set($ld,$cache); .Ve .IP \fBldap_memcache_update\fR(cache) 4 .IX Item "ldap_memcache_update(cache)" DESCRIPTION: .Sp Update the specified memory cache .Sp INPUT: cache \- LDAP Memory Cache Pointer .Sp OUTPUT: status \- NONE .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_memcache_update($cache); .Ve .IP \fBldap_memfree\fR(p) 4 .IX Item "ldap_memfree(p)" DESCRIPTION: .Sp Free memory allocated by the LDAP C API .Sp INPUT: p \- Pointer .Sp OUTPUT: status \- NONE .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_memfree($p); .Ve .IP \fBldap_modify\fR(ld,dn,mods) 4 .IX Item "ldap_modify(ld,dn,mods)" DESCRIPTION: .Sp Asynchronously modify a LDAP entry .Sp INPUT: ld \- LDAP Session Handle dn \- String mods \- LDAP Add/Modify Hash .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_modify($ld,$dn,$mods); .Ve .IP \fBldap_modify_ext\fR(ld,dn,mods,serverctrls,clientctrls,msgidp) 4 .IX Item "ldap_modify_ext(ld,dn,mods,serverctrls,clientctrls,msgidp)" DESCRIPTION: .Sp Asynchronously modify a LDAP entry w/ Controls .Sp INPUT: ld \- LDAP Session Handle dn \- String mods \- LDAP Add/Modify Hash serverctrls \- LDAP Control List Pointer clientctrls \- LDAP Control List Pointer msgidp \- Integer .Sp OUTPUT: status \- Integer msgidp \- Integer .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_modify_ext($ld,$dn,$mods,$serverctrls,$clientctrls,$msgidp); .Ve .IP \fBldap_modify_ext_s\fR(ld,dn,mods,serverctrls,clientctrls) 4 .IX Item "ldap_modify_ext_s(ld,dn,mods,serverctrls,clientctrls)" DESCRIPTION: .Sp Synchronously modify a LDAP entry w/ Controls .Sp INPUT: ld \- LDAP Session Handle dn \- String mods \- LDAP Add/Modify Hash serverctrls \- LDAP Control List Pointer clientctrls \- LDAP Control List Pointer .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_modify_ext_s($ld,$dn,$mods,$serverctrls,$clientctrls); .Ve .IP \fBldap_modify_s\fR(ld,dn,mods) 4 .IX Item "ldap_modify_s(ld,dn,mods)" DESCRIPTION: .Sp Synchronously modify a LDAP entry .Sp INPUT: ld \- LDAP Session Handle dn \- String mods \- LDAP Add/Modify Hash .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_modify_s($ld,$dn,$mods); .Ve .IP \fBldap_modrdn\fR(ld,dn,newrdn) 4 .IX Item "ldap_modrdn(ld,dn,newrdn)" DESCRIPTION: .Sp Asynchronously modify the relative distinguished name of an entry .Sp INPUT: ld \- LDAP Session Handle dn \- String newrdn \- String .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_modrdn($ld,$dn,$newrdn); .Ve .IP \fBldap_modrdn_s\fR(ld,dn,newrdn) 4 .IX Item "ldap_modrdn_s(ld,dn,newrdn)" DESCRIPTION: .Sp Synchronously modify the relative distinguished name of an entry .Sp INPUT: ld \- LDAP Session Handle dn \- String newrdn \- String .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_modrdn_s($ld,$dn,$newrdn); .Ve .IP \fBldap_modrdn2\fR(ld,dn,newrdn,deleteoldrdn) 4 .IX Item "ldap_modrdn2(ld,dn,newrdn,deleteoldrdn)" DESCRIPTION: .Sp Asynchronously modify the relative distinguished name of an entry. .Sp INPUT: ld \- LDAP Session Handle dn \- String newrdn \- String deleteoldrdn \- Integer .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_modrdn2($ld,$dn,$newrdn,$deleteoldrdn); .Ve .IP \fBldap_modrdn2_s\fR(ld,dn,newrdn,deleteoldrdn) 4 .IX Item "ldap_modrdn2_s(ld,dn,newrdn,deleteoldrdn)" DESCRIPTION: .Sp Synchronously modify the relative distinguished name of an entry. .Sp INPUT: ld \- LDAP Session Handle dn \- String newrdn \- String deleteoldrdn \- Integer .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_modrdn2_s($ld,$dn,$newrdn,$deleteoldrdn); .Ve .IP \fBldap_msgfree\fR(lm) 4 .IX Item "ldap_msgfree(lm)" DESCRIPTION: .Sp Free memory allocated by a LDAP Message .Sp INPUT: lm \- LDAP Message Pointer .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_msgfree($lm); .Ve .IP \fBldap_msgid\fR(lm) 4 .IX Item "ldap_msgid(lm)" DESCRIPTION: .Sp Get the message id number from a LDAP message .Sp INPUT: lm \- LDAP Message Pointer .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_msgid($lm); .Ve .IP \fBldap_msgtype\fR(lm) 4 .IX Item "ldap_msgtype(lm)" DESCRIPTION: .Sp Get the message type of a LDAP message .Sp INPUT: lm \- LDAP Message Pointer .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_msgtype($lm); .Ve .IP \fBldap_multisort_entries\fR(ld,chain,attr) 4 .IX Item "ldap_multisort_entries(ld,chain,attr)" DESCRIPTION: .Sp Sort entries by multiple keys .Sp INPUT: ld \- LDAP Session Handle chain \- LDAP Message Pointer attr \- List Reference .Sp OUTPUT: status \- Integer chain \- LDAP Message Pointer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_multisort_entries($ld,$chain,$attr); .Ve .IP \fBldap_next_attribute\fR(ld,entry,ber) 4 .IX Item "ldap_next_attribute(ld,entry,ber)" DESCRIPTION: .Sp Get the next attribute for a LDAP entry .Sp INPUT: ld \- LDAP Session Handle entry \- LDAP Message Pointer ber \- Ber Element Pointer .Sp OUTPUT: status \- String ber \- BER Element Pointer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_next_attribute($ld,$entry,$ber); .Ve .IP \fBldap_next_entry\fR(ld,entry) 4 .IX Item "ldap_next_entry(ld,entry)" DESCRIPTION: .Sp Get the next entry in the result chain .Sp INPUT: ld \- LDAP Session Handle entry \- LDAP Message Pointer .Sp OUTPUT: status \- LDAP Message Pointer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_next_entry($ld,$entry); .Ve .IP \fBldap_next_message\fR(ld,msg) 4 .IX Item "ldap_next_message(ld,msg)" DESCRIPTION: .Sp Get the next message in the result chain .Sp INPUT: ld \- LDAP Session Handle msg \- LDAP Message Pointer .Sp OUTPUT: status \- LDAP Message Pointer .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_next_message($ld,$msg); .Ve .IP \fBldap_next_reference\fR(ld,ref) 4 .IX Item "ldap_next_reference(ld,ref)" DESCRIPTION: .Sp Get the next reference in the result chain .Sp INPUT: ld \- LDAP Session Handle ref \- LDAP Message Pointer .Sp OUTPUT: status \- LDAP Message Pointer .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_next_reference($ld,$ref); .Ve .IP \fBldap_parse_entrychange_control\fR(ld,ctrls,chgtypep,prevdnp,chgnumpresentp,chgnump) 4 .IX Item "ldap_parse_entrychange_control(ld,ctrls,chgtypep,prevdnp,chgnumpresentp,chgnump)" DESCRIPTION: .Sp Parse a LDAP entry change control .Sp INPUT: ld \- LDAP Session Handle ctrls \- LDAP Control List Pointer chgtypep \- Integer prevdnp \- String chgnumpresentp \- Integer chgnump \- Integer .Sp OUTPUT: status \- Integer chgtypep \- Integer prevdnp \- String chgnumpresentp \- Integer chgnump \- Integer .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_parse_entrychange_control($ld,$ctrls,$chgtypep,$prevdnp,$chgnumpresentp,$chgnump); .Ve .IP \fBldap_parse_extended_result\fR(ld,res,retoidp,retdatap,freeit) 4 .IX Item "ldap_parse_extended_result(ld,res,retoidp,retdatap,freeit)" DESCRIPTION: .Sp Parse a LDAP extended result .Sp INPUT: ld \- LDAP Session Handle res \- LDAP Message Pointer retoidp \- String freeit \- Integer .Sp OUTPUT: status \- Integer retoidp \- String retdatap \- Binary List Reference .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_parse_extended_result($ld,$res,$retoidp,$retdatap,$freeit); .Ve .IP \fBldap_parse_reference\fR(ld,ref,referalsp,serverctrlsp,freeit) 4 .IX Item "ldap_parse_reference(ld,ref,referalsp,serverctrlsp,freeit)" DESCRIPTION: .Sp Parse a LDAP Reference .Sp INPUT: ld \- LDAP Session Handle ref \- LDAP Message Pointer referalsp \- List Reference serverctrlsp \- LDAP Control List Pointer freeit \- Integer .Sp OUTPUT: status \- Integer referalsp \- List Reference serverctrlsp \- LDAP Control List Pointer .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_parse_reference($ld,$ref,$referalsp,$serverctrlsp,$freeit); .Ve .IP \fBldap_parse_result\fR(ld,res,errcodep,matcheddnp,errmsgp,referralsp,serverctrlsp,freeit) 4 .IX Item "ldap_parse_result(ld,res,errcodep,matcheddnp,errmsgp,referralsp,serverctrlsp,freeit)" DESCRIPTION: .Sp Parse a LDAP result .Sp 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 .Sp OUTPUT: status \- Integer errcodep \- Integer matcheddnp \- String errmsgp \- String referralsp \- List Reference serverctrlsp \- LDAP Control List Pointer .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_parse_result($ld,$res,$errcodep,$matcheddnp,$errmsgp,$referralsp,$serverctrlsp,$freeit); .Ve .IP \fBldap_parse_sasl_bind_result\fR(ld,res,servercredp,freeit) 4 .IX Item "ldap_parse_sasl_bind_result(ld,res,servercredp,freeit)" DESCRIPTION: .Sp Parse the results of an SASL bind operation .Sp INPUT: ld \- LDAP Session Handle res \- LDAP Message Pointer freeit \- Integer .Sp OUTPUT: status \- Integer servercredp \- .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_parse_sasl_bind_result($ld,$res,$servercredp,$freeit); .Ve .IP \fBldap_parse_sort_control\fR(ld,ctrls,result,attribute) 4 .IX Item "ldap_parse_sort_control(ld,ctrls,result,attribute)" DESCRIPTION: .Sp Parse a LDAP sort control .Sp INPUT: ld \- LDAP Session Handle ctrls \- LDAP Control List Pointer result \- LDAP Message Pointer attribute \- String .Sp OUTPUT: status \- Integer result \- LDAP Message Pointer attribute \- String .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_parse_sort_control($ld,$ctrls,$result,$attribute); .Ve .IP \fBldap_parse_virtuallist_control\fR(ld,ctrls,target_posp,list_sizep,errcodep) 4 .IX Item "ldap_parse_virtuallist_control(ld,ctrls,target_posp,list_sizep,errcodep)" DESCRIPTION: .Sp Parse a LDAP virtual list control .Sp INPUT: ld \- LDAP Session Handle ctrls \- LDAP Control List Pointer target_posp \- Integer list_sizep \- Integer errcodep \- Integer .Sp OUTPUT: status \- Integer target_posp \- Integer list_sizep \- Integer errcodep \- Integer .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_parse_virtuallist_control($ld,$ctrls,$target_posp,$list_sizep,$errcodep); .Ve .IP \fBldap_perror\fR(ld,s) 4 .IX Item "ldap_perror(ld,s)" DESCRIPTION: .Sp Print a LDAP error message .Sp INPUT: ld \- LDAP Session Handle s \- String .Sp OUTPUT: status \- NONE .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_perror($ld,$s); .Ve .IP \fBldap_rename\fR(ld,dn,newrdn,newparent,deleteoldrdn,serverctrls,clientctrls,msgidp) 4 .IX Item "ldap_rename(ld,dn,newrdn,newparent,deleteoldrdn,serverctrls,clientctrls,msgidp)" DESCRIPTION: .Sp Asynchronously rename a LDAP entry .Sp 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 .Sp OUTPUT: status \- Integer msgidp \- Integer .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_rename($ld,$dn,$newrdn,$newparent,$deleteoldrdn,$serverctrls,$clientctrls,$msgidp); .Ve .IP \fBldap_rename_s\fR(ld,dn,newrdn,newparent,deleteoldrdn,serverctrls,clientctrls) 4 .IX Item "ldap_rename_s(ld,dn,newrdn,newparent,deleteoldrdn,serverctrls,clientctrls)" DESCRIPTION: .Sp Synchronously rename a LDAP entry .Sp INPUT: ld \- LDAP Session Handle dn \- String newrdn \- String newparent \- String deleteoldrdn \- Integer serverctrls \- LDAP Control List Pointer clientctrls \- LDAP Control List Pointer .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_rename_s($ld,$dn,$newrdn,$newparent,$deleteoldrdn,$serverctrls,$clientctrls); .Ve .IP \fBldap_result\fR(ld,msgid,all,timeout,result) 4 .IX Item "ldap_result(ld,msgid,all,timeout,result)" DESCRIPTION: .Sp Get the result for an asynchronous LDAP operation .Sp INPUT: ld \- LDAP Session Handle msgid \- Integer all \- Integer timeout \- Time in Seconds result \- LDAP Message Pointer .Sp OUTPUT: status \- Integer result \- LDAP Message Pointer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_result($ld,$msgid,$all,$timeout,$result); .Ve .IP \fBldap_result2error\fR(ld,r,freeit) 4 .IX Item "ldap_result2error(ld,r,freeit)" DESCRIPTION: .Sp Get the error number for a given result .Sp INPUT: ld \- LDAP Session Handle r \- LDAP Message Pointer freeit \- Integer .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_result2error($ld,$r,$freeit); .Ve .IP \fBldap_sasl_bind\fR(ld,dn,mechanism,cred,serverctrls,clientctrls,msgidp) 4 .IX Item "ldap_sasl_bind(ld,dn,mechanism,cred,serverctrls,clientctrls,msgidp)" DESCRIPTION: .Sp Asynchronously bind to the LDAP server using a SASL mechanism .Sp INPUT: ld \- LDAP Session Handle dn \- String mechanism \- String cred \- Binary String serverctrls \- LDAP Control List Pointer clientctrls \- LDAP Control List Pointer msgidp \- Integer .Sp OUTPUT: status \- Integer msgidp \- Integer .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_sasl_bind($ld,$dn,$mechanism,$cred,$serverctrls,$clientctrls,$msgidp); .Ve .IP \fBldap_sasl_bind_s\fR(ld,dn,mechanism,cred,serverctrls,clientctrls,servercredp) 4 .IX Item "ldap_sasl_bind_s(ld,dn,mechanism,cred,serverctrls,clientctrls,servercredp)" DESCRIPTION: .Sp Synchronously bind to a LDAP server using a SASL mechanism .Sp INPUT: ld \- LDAP Session Handle dn \- String mechanism \- String cred \- Binary String serverctrls \- LDAP Control List Pointer clientctrls \- LDAP Control List Pointer .Sp OUTPUT: status \- Integer servercredp \- .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_sasl_bind_s($ld,$dn,$mechanism,$cred,$serverctrls,$clientctrls,$servercredp); .Ve .IP \fBldap_search\fR(ld,base,scope,filter,attrs,attrsonly) 4 .IX Item "ldap_search(ld,base,scope,filter,attrs,attrsonly)" DESCRIPTION: .Sp Asynchronously search the LDAP server .Sp INPUT: ld \- LDAP Session Handle base \- String scope \- Integer filter \- String attrs \- List Reference attrsonly \- Integer .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_search($ld,$base,$scope,$filter,$attrs,$attrsonly); .Ve .IP \fBldap_search_ext\fR(ld,base,scope,filter,attrs,attrsonly,serverctrls,clientctrls,timeoutp,sizelimit,msgidp) 4 .IX Item "ldap_search_ext(ld,base,scope,filter,attrs,attrsonly,serverctrls,clientctrls,timeoutp,sizelimit,msgidp)" DESCRIPTION: .Sp Asynchronously search the LDAP server w/ Controls .Sp 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 .Sp OUTPUT: status \- Integer msgidp \- Integer .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_search_ext($ld,$base,$scope,$filter,$attrs,$attrsonly,$serverctrls,$clientctrls,$timeoutp,$sizelimit,$msgidp); .Ve .IP \fBldap_search_ext_s\fR(ld,base,scope,filter,attrs,attrsonly,serverctrls,clientctrls,timeoutp,sizelimit,res) 4 .IX Item "ldap_search_ext_s(ld,base,scope,filter,attrs,attrsonly,serverctrls,clientctrls,timeoutp,sizelimit,res)" DESCRIPTION: .Sp Synchronously search the LDAP server w/ Controls .Sp 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 .Sp OUTPUT: status \- Integer res \- LDAP Message Pointer .Sp AVAILABILITY: V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_search_ext_s($ld,$base,$scope,$filter,$attrs,$attrsonly,$serverctrls,$clientctrls,$timeoutp,$sizelimit,$res); .Ve .IP \fBldap_search_s\fR(ld,base,scope,filter,attrs,attrsonly,res) 4 .IX Item "ldap_search_s(ld,base,scope,filter,attrs,attrsonly,res)" DESCRIPTION: .Sp Synchronously search the LDAP server .Sp INPUT: ld \- LDAP Session Handle base \- String scope \- Integer filter \- String attrs \- List Reference attrsonly \- Integer res \- LDAP Message Pointer .Sp OUTPUT: status \- Integer res \- LDAP Message Pointer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_search_s($ld,$base,$scope,$filter,$attrs,$attrsonly,$res); .Ve .IP \fBldap_search_st\fR(ld,base,scope,filter,attrs,attrsonly,timeout,res) 4 .IX Item "ldap_search_st(ld,base,scope,filter,attrs,attrsonly,timeout,res)" DESCRIPTION: .Sp Synchronously search the LDAP server w/ Timeout .Sp INPUT: ld \- LDAP Session Handle base \- String scope \- Integer filter \- String attrs \- List Reference attrsonly \- Integer timeout \- Time in Seconds res \- LDAP Message Pointer .Sp OUTPUT: status \- Integer res \- LDAP Message Pointer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_search_st($ld,$base,$scope,$filter,$attrs,$attrsonly,$timeout,$res); .Ve .IP \fBldap_set_filter_additions\fR(lfdp,prefix,suffix) 4 .IX Item "ldap_set_filter_additions(lfdp,prefix,suffix)" DESCRIPTION: .Sp Add a prefix and suffix for filter generation .Sp INPUT: lfdp \- LDAP Filter Description Pointer prefix \- String suffix \- String .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_set_filter_additions($lfdp,$prefix,$suffix); .Ve .IP \fBldap_set_lderrno\fR(ld,e,m,s) 4 .IX Item "ldap_set_lderrno(ld,e,m,s)" DESCRIPTION: .Sp Set the LDAP error structure .Sp INPUT: ld \- LDAP Session Handle e \- Integer m \- String s \- String .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_set_lderrno($ld,$e,$m,$s); .Ve .IP \fBldap_set_option\fR(ld,option,optdata) 4 .IX Item "ldap_set_option(ld,option,optdata)" DESCRIPTION: .Sp Set a LDAP session option .Sp INPUT: ld \- LDAP Session Handle option \- Integer optdata \- Integer .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_set_option($ld,$option,$optdata); .Ve .IP \fBldap_set_rebind_proc\fR(ld,rebindproc) 4 .IX Item "ldap_set_rebind_proc(ld,rebindproc)" DESCRIPTION: .Sp Set the LDAP rebind process .Sp INPUT: ld \- LDAP Session Handle .Sp OUTPUT: status \- NONE .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_set_rebind_proc($ld,$rebindproc); .Ve .IP \fBldap_simple_bind\fR(ld,who,passwd) 4 .IX Item "ldap_simple_bind(ld,who,passwd)" DESCRIPTION: .Sp Asynchronously bind to the LDAP server using simple authentication .Sp INPUT: ld \- LDAP Session Handle who \- String passwd \- String .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_simple_bind($ld,$who,$passwd); .Ve .IP \fBldap_simple_bind_s\fR(ld,who,passwd) 4 .IX Item "ldap_simple_bind_s(ld,who,passwd)" DESCRIPTION: .Sp Synchronously bind to the LDAP server using simple authentication .Sp INPUT: ld \- LDAP Session Handle who \- String passwd \- String .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_simple_bind_s($ld,$who,$passwd); .Ve .IP \fBldap_sort_entries\fR(ld,chain,attr) 4 .IX Item "ldap_sort_entries(ld,chain,attr)" DESCRIPTION: .Sp Sort the results of a LDAP search .Sp INPUT: ld \- LDAP Session Handle chain \- LDAP Message Pointer attr \- String .Sp OUTPUT: status \- Integer chain \- LDAP Message Pointer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_sort_entries($ld,$chain,$attr); .Ve .IP \fBldap_unbind\fR(ld) 4 .IX Item "ldap_unbind(ld)" DESCRIPTION: .Sp Asynchronously unbind from the LDAP server .Sp INPUT: ld \- LDAP Session Handle .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_unbind($ld); .Ve .IP \fBldap_unbind_s\fR(ld) 4 .IX Item "ldap_unbind_s(ld)" DESCRIPTION: .Sp Synchronously unbind from a LDAP server .Sp INPUT: ld \- LDAP Session Handle .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_unbind_s($ld); .Ve .IP \fBldap_url_parse\fR(url) 4 .IX Item "ldap_url_parse(url)" DESCRIPTION: .Sp Parse a LDAP URL, returning a HASH of its components .Sp INPUT: url \- String .Sp OUTPUT: status \- .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_url_parse($url); .Ve .IP \fBldap_url_search\fR(ld,url,attrsonly) 4 .IX Item "ldap_url_search(ld,url,attrsonly)" DESCRIPTION: .Sp Asynchronously search using a LDAP URL .Sp INPUT: ld \- LDAP Session Handle url \- String attrsonly \- Integer .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_url_search($ld,$url,$attrsonly); .Ve .IP \fBldap_url_search_s\fR(ld,url,attrsonly,res) 4 .IX Item "ldap_url_search_s(ld,url,attrsonly,res)" DESCRIPTION: .Sp Synchronously search using a LDAP URL .Sp INPUT: ld \- LDAP Session Handle url \- String attrsonly \- Integer res \- LDAP Message Pointer .Sp OUTPUT: status \- Integer res \- LDAP Message Pointer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_url_search_s($ld,$url,$attrsonly,$res); .Ve .IP \fBldap_url_search_st\fR(ld,url,attrsonly,timeout,res) 4 .IX Item "ldap_url_search_st(ld,url,attrsonly,timeout,res)" DESCRIPTION: .Sp Synchronously search using a LDAP URL w/ timeout .Sp INPUT: ld \- LDAP Session Handle url \- String attrsonly \- Integer timeout \- Time in Seconds res \- LDAP Message Pointer .Sp OUTPUT: status \- Integer res \- LDAP Message Pointer .Sp AVAILABILITY: V2/V3 .Sp EXAMPLE: .Sp .Vb 1 \& $status = ldap_url_search_st($ld,$url,$attrsonly,$timeout,$res); .Ve .IP \fBprldap_install_routines\fR(ld,shared) 4 .IX Item "prldap_install_routines(ld,shared)" DESCRIPTION: .Sp Install NSPR I/O, threading, and DNS functions so they can be used by the LDAP connection (ld). .Sp If 'ld' is NULL, the functions are installed as the default functions for all new LDAP * handles). .Sp INPUT: ld \- LDAP Session Handle shared \- True if the LDAP * handle is used in an MT context .Sp OUTPUT: status \- Integer .Sp AVAILABILITY: V3 .SH CREDITS .IX Header "CREDITS" Most of the Perl API module was written by Clayton Donley to interface with C API routines from Netscape Communications Corp., Inc. .SH BUGS .IX Header "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. .SH "SEE ALSO" .IX Header "SEE ALSO" Mozilla::LDAP::Conn, Mozilla::LDAP::Entry, and Perl .SH "POD ERRORS" .IX Header "POD ERRORS" Hey! \fBThe above document had some coding errors, which are explained below:\fR .IP "Around line 500:" 4 .IX Item "Around line 500:" \&'=item' outside of any '=over' .IP "Around line 2959:" 4 .IX Item "Around line 2959:" You forgot a '=back' before '=head1'