.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28) .\" .\" 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 .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . 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 turned on, 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 .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "API 3pm" .TH API 3pm "2007-06-14" "perl v5.20.0" "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 \s-1LDAP C API\s0 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 \s-1OO\s0 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 \s-1API\s0 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 \s-1HASH\s0 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 \s-1HASH REFERENCE\s0 must be one of the following for a modify operation: \- \*(L"a\*(R" for \s-1LDAP_MOD_ADD \s0(Add these values to the attribute) \- \*(L"r\*(R" for \s-1LDAP_MOD_REPLACE \s0(Replace these values in the attribute) \- \*(L"d\*(R" for \s-1LDAP_MOD_DELETE \s0(Delete these values from the attribute) .PP Additionally, in add and modify operations, you may specify \*(L"b\*(R" if the attributes you are adding are \s-1BINARY \s0(ex. \*(L"rb\*(R" 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 = ( \*(L"cn\*(R", \*(L"Clayton Donley\*(R", # Replace 'cn' values \*(L"givenname\*(R", [\*(L"Clayton\*(R",\*(L"Clay\*(R"], # Replace 'givenname' values \*(L"mail\*(R", {\*(L"a\*(R",[\*(L"donley\e@cig.mcel.mot.com\*(R"], #Add 'mail' values \*(L"jpegphoto\*(R", {\*(L"rb\*(R",[$jpegphotodata]}, # Replace Binary jpegPhoto ); .PP Then remember to call the add or modify operations with a \s-1REFERENCE\s0 to this \s-1HASH.\s0 .SH "API Methods" .IX Header "API Methods" The following are the available \s-1API\s0 methods for Mozilla::LDAP::API. Many of these items have bad examples and \s-1OUTPUT\s0 information. Other information should be correct. .IP "\fBldap_abandon\fR(ld,msgid)" 4 .IX Item "ldap_abandon(ld,msgid)" \&\s-1DESCRIPTION:\s0 .Sp Abandon an asynchronous \s-1LDAP\s0 operation .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle msgid \- Integer .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Abandon an asynchronous \s-1LDAP\s0 operation w/ Controls .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle msgid \- Integer serverctrls \- \s-1LDAP\s0 Control List Pointer clientctrls \- \s-1LDAP\s0 Control List Pointer .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Asynchronously add a \s-1LDAP\s0 entry .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle dn \- String attrs \- \s-1LDAP\s0 Add/Modify Hash .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Asynchronously add a \s-1LDAP\s0 entry w/ Controls .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle dn \- String attrs \- \s-1LDAP\s0 Add/Modify Hash serverctrls \- \s-1LDAP\s0 Control List Pointer clientctrls \- \s-1LDAP\s0 Control List Pointer msgidp \- Integer .Sp \&\s-1OUTPUT: \s0 status \- Integer msgidp \- Integer .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Synchronously add a \s-1LDAP\s0 entry w/ Controls .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle dn \- String attrs \- \s-1LDAP\s0 Add/Modify Hash serverctrls \- \s-1LDAP\s0 Control List Pointer clientctrls \- \s-1LDAP\s0 Control List Pointer .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Synchronously add a \s-1LDAP\s0 entry .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle dn \- String attrs \- \s-1LDAP\s0 Add/Modify Hash .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Free a \s-1BER\s0 element pointer .Sp \&\s-1INPUT: \s0 ber \- \s-1BER\s0 Element Pointer freebuf \- Integer .Sp \&\s-1OUTPUT: \s0 status \- \s-1NONE\s0 .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Asynchronously bind to the \s-1LDAP\s0 server .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle dn \- String passwd \- String authmethod \- Integer .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Synchronously bind to a \s-1LDAP\s0 server .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle dn \- String passwd \- String authmethod \- Integer .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Asynchronously compare an attribute/value pair and an entry .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle dn \- String attr \- String value \- String .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Asynchronously compare an attribute/value pair and an entry w/ Controls .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle dn \- String attr \- String bvalue \- Binary String serverctrls \- \s-1LDAP\s0 Control List Pointer clientctrls \- \s-1LDAP\s0 Control List Pointer msgidp \- Integer .Sp \&\s-1OUTPUT: \s0 status \- Integer msgidp \- Integer .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Synchronously compare an attribute/value pair to an entry w/ Controls .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle dn \- String attr \- String bvalue \- Binary String serverctrls \- \s-1LDAP\s0 Control List Pointer clientctrls \- \s-1LDAP\s0 Control List Pointer .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Synchronously compare an attribute/value pair to an entry .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle dn \- String attr \- String value \- String .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Free a \s-1LDAP\s0 control pointer .Sp \&\s-1INPUT: \s0 ctrl \- \s-1LDAP\s0 Control Pointer .Sp \&\s-1OUTPUT: \s0 status \- \s-1NONE\s0 .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .Sp .Vb 1 \& $status = ldap_control_free($ctrl); .Ve .IP "\fBldap_controls_count\fR(ctrls)" 4 .IX Item "ldap_controls_count(ctrls)" \&\s-1DESCRIPTION:\s0 .Sp Count the number of \s-1LDAP\s0 controls in a \s-1LDAP\s0 Control List .Sp \&\s-1INPUT: \s0 ctrls \- \s-1LDAP\s0 Control List Pointer .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .Sp .Vb 1 \& $status = ldap_controls_count($ctrls); .Ve .IP "\fBldap_controls_free\fR(ctrls)" 4 .IX Item "ldap_controls_free(ctrls)" \&\s-1DESCRIPTION:\s0 .Sp Free a list of \s-1LDAP\s0 controls .Sp \&\s-1INPUT: \s0 ctrls \- \s-1LDAP\s0 Control List Pointer .Sp \&\s-1OUTPUT: \s0 status \- \s-1NONE\s0 .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .Sp .Vb 1 \& $status = ldap_controls_free($ctrls); .Ve .IP "\fBldap_count_entries\fR(ld,result)" 4 .IX Item "ldap_count_entries(ld,result)" \&\s-1DESCRIPTION:\s0 .Sp Count the number of \s-1LDAP\s0 entries returned .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle result \- \s-1LDAP\s0 Message Pointer .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Count the number of \s-1LDAP\s0 messages returned .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle result \- \s-1LDAP\s0 Message Pointer .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Count the number of \s-1LDAP\s0 references returned .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle result \- \s-1LDAP\s0 Message Pointer .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Create a \s-1LDAP\s0 search filter .Sp \&\s-1INPUT: \s0 buf \- String buflen \- Integer pattern \- String prefix \- String suffix \- String attr \- String value \- String valwords \- List Reference .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Create a persistent search control .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle changetypes \- Integer changesonly \- Integer return_echg_ctrls \- Integer ctrl_iscritical \- Integer ctrlp \- \s-1LDAP\s0 Control List Pointer .Sp \&\s-1OUTPUT: \s0 status \- Integer ctrlp \- \s-1LDAP\s0 Control List Pointer .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Create a \s-1LDAP\s0 sort control .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle sortKeyList \- Sort Key Pointer ctrl_iscritical \- Integer ctrlp \- \s-1LDAP\s0 Control List Pointer .Sp \&\s-1OUTPUT: \s0 status \- Integer ctrlp \- \s-1LDAP\s0 Control List Pointer .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Create a list of keys to be used by a sort control .Sp \&\s-1INPUT: \s0 sortKeyList \- Sort Key Pointer string_rep \- String .Sp \&\s-1OUTPUT: \s0 status \- Integer sortKeyList \- Sort Key Pointer .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Create a \s-1LDAP\s0 virtual list control .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle ctrlp \- \s-1LDAP\s0 Control List Pointer .Sp \&\s-1OUTPUT: \s0 status \- Integer ctrlp \- \s-1LDAP\s0 Control List Pointer .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Asynchronously delete a \s-1LDAP\s0 entry .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle dn \- String .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Asynchronously delete a \s-1LDAP\s0 entry w/ Controls .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle dn \- String serverctrls \- \s-1LDAP\s0 Control List Pointer clientctrls \- \s-1LDAP\s0 Control List Pointer msgidp \- Integer .Sp \&\s-1OUTPUT: \s0 status \- Integer msgidp \- Integer .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Synchronously delete a \s-1LDAP\s0 entry w/ Controls .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle dn \- String serverctrls \- \s-1LDAP\s0 Control List Pointer clientctrls \- \s-1LDAP\s0 Control List Pointer .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Synchronously delete a \s-1LDAP\s0 entry .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle dn \- String .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .Sp .Vb 1 \& $status = ldap_delete_s($ld,$dn); .Ve .IP "\fBldap_dn2ufn\fR(dn)" 4 .IX Item "ldap_dn2ufn(dn)" \&\s-1DESCRIPTION:\s0 .Sp Change a \s-1DN\s0 to a \*(L"Friendly\*(R" name .Sp \&\s-1INPUT: \s0 dn \- String .Sp \&\s-1OUTPUT: \s0 status \- String .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .Sp .Vb 1 \& $status = ldap_dn2ufn($dn); .Ve .IP "\fBldap_err2string\fR(err)" 4 .IX Item "ldap_err2string(err)" \&\s-1DESCRIPTION:\s0 .Sp Return the string value of a \s-1LDAP\s0 error code .Sp \&\s-1INPUT: \s0 err \- Integer .Sp \&\s-1OUTPUT: \s0 status \- String .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .Sp .Vb 1 \& $status = ldap_err2string($err); .Ve .IP "\fBldap_explode_dn\fR(dn,notypes)" 4 .IX Item "ldap_explode_dn(dn,notypes)" \&\s-1DESCRIPTION:\s0 .Sp Split a given \s-1DN\s0 into its components. Setting 'notypes' to 1 returns the components without their type names. .Sp \&\s-1INPUT: \s0 dn \- String notypes \- Integer .Sp \&\s-1OUTPUT: \s0 status \- \s-1NONE\s0 .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Split a Relative \s-1DN\s0 into its components .Sp \&\s-1INPUT: \s0 dn \- String notypes \- Integer .Sp \&\s-1OUTPUT: \s0 status \- \s-1NONE\s0 .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Perform an asynchronous extended operation .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle requestoid \- String requestdata \- Binary String serverctrls \- \s-1LDAP\s0 Control List Pointer clientctrls \- \s-1LDAP\s0 Control List Pointer msgidp \- Integer .Sp \&\s-1OUTPUT: \s0 status \- Integer msgidp \- Integer .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Perform a synchronous extended operation .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle requestoid \- String requestdata \- Binary String serverctrls \- \s-1LDAP\s0 Control List Pointer clientctrls \- \s-1LDAP\s0 Control List Pointer retoidp \- String .Sp \&\s-1OUTPUT: \s0 status \- Integer retoidp \- Return \s-1OID \s0 retdatap \- Return Data .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Return the first attribute returned for a \s-1LDAP\s0 entry .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle entry \- \s-1LDAP\s0 Message Pointer ber \- Ber Element Pointer .Sp \&\s-1OUTPUT: \s0 status \- String ber \- Ber Element Pointer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Return the first entry in a \s-1LDAP\s0 result chain .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle chain \- \s-1LDAP\s0 Message Pointer .Sp \&\s-1OUTPUT: \s0 status \- \s-1LDAP\s0 Message Pointer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Return the first message in a \s-1LDAP\s0 result .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle res \- \s-1LDAP\s0 Message Pointer .Sp \&\s-1OUTPUT: \s0 status \- \s-1LDAP\s0 Message Pointer .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Return the first reference in a \s-1LDAP\s0 result .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle res \- \s-1LDAP\s0 Message Pointer .Sp \&\s-1OUTPUT: \s0 status \- \s-1LDAP\s0 Message Pointer .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .Sp .Vb 1 \& $status = ldap_first_reference($ld,$res); .Ve .IP "\fBldap_free_friendlymap\fR(map)" 4 .IX Item "ldap_free_friendlymap(map)" \&\s-1DESCRIPTION:\s0 .Sp Free a \s-1LDAP\s0 friendly map pointer .Sp \&\s-1INPUT: \s0 map \- Friendly Map Pointer .Sp \&\s-1OUTPUT: \s0 status \- \s-1NONE\s0 .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .Sp .Vb 1 \& $status = ldap_free_friendlymap($map); .Ve .IP "\fBldap_free_sort_keylist\fR(sortKeyList)" 4 .IX Item "ldap_free_sort_keylist(sortKeyList)" \&\s-1DESCRIPTION:\s0 .Sp Free a \s-1LDAP\s0 sort key pointer .Sp \&\s-1INPUT: \s0 sortKeyList \- Sort Key Pointer .Sp \&\s-1OUTPUT: \s0 status \- \s-1NONE\s0 .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .Sp .Vb 1 \& $status = ldap_free_sort_keylist($sortKeyList); .Ve .IP "\fBldap_free_urldesc\fR(ludp)" 4 .IX Item "ldap_free_urldesc(ludp)" \&\s-1DESCRIPTION:\s0 .Sp Free a \s-1LDAP URL\s0 description hash reference .Sp \&\s-1INPUT: \s0 ludp \- \s-1URL\s0 Description Hash Reference .Sp \&\s-1OUTPUT: \s0 status \- \s-1NONE\s0 .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Create a \s-1LDAP\s0 friendly name map .Sp \&\s-1INPUT: \s0 filename \- String name \- String map \- Friendly Map Pointer .Sp \&\s-1OUTPUT: \s0 status \- String .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Return the distinguished name for an entry .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle entry \- \s-1LDAP\s0 Message Pointer .Sp \&\s-1OUTPUT: \s0 status \- String .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Return the controls for a \s-1LDAP\s0 entry .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle entry \- \s-1LDAP\s0 Message Pointer serverctrlsp \- \s-1LDAP\s0 Control List Pointer .Sp \&\s-1OUTPUT: \s0 status \- Integer serverctrlsp \- \s-1LDAP\s0 Control List Pointer .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Free a \s-1LDAP\s0 filter .Sp \&\s-1INPUT: \s0 lfdp \- \s-1LDAP\s0 Filter Description Pointer .Sp \&\s-1OUTPUT: \s0 status \- \s-1NONE\s0 .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .Sp .Vb 1 \& $status = ldap_getfilter_free($lfdp); .Ve .IP "\fBldap_getfirstfilter\fR(lfdp,tagpat,value)" 4 .IX Item "ldap_getfirstfilter(lfdp,tagpat,value)" \&\s-1DESCRIPTION:\s0 .Sp Get the first generated filter .Sp \&\s-1INPUT: \s0 lfdp \- \s-1LDAP\s0 Filter Description Pointer tagpat \- String .Sp \&\s-1OUTPUT: \s0 status \- \s-1LDAP\s0 Filter Information Pointer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Get values for an entry .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle entry \- \s-1LDAP\s0 Message Pointer target \- String type \- String .Sp \&\s-1OUTPUT: \s0 status \- \s-1NONE\s0 .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Get binary values for an entry .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle entry \- \s-1LDAP\s0 Message Pointer target \- String type \- String .Sp \&\s-1OUTPUT: \s0 status \- \s-1NONE\s0 .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle m \- String Reference (or undef) s \- String Reference (or undef) .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .Sp .Vb 1 \& $status = ldap_get_lderrno($ld,\e$m,\e$s); .Ve .IP "\fBldap_getnextfilter\fR(lfdp)" 4 .IX Item "ldap_getnextfilter(lfdp)" \&\s-1DESCRIPTION:\s0 .Sp Get the next generated \s-1LDAP\s0 filter .Sp \&\s-1INPUT: \s0 lfdp \- \s-1LDAP\s0 Filter Information Pointer .Sp \&\s-1OUTPUT: \s0 status \- \s-1LDAP\s0 Filter Information Pointer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Get an option for a \s-1LDAP\s0 session .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle option \- Integer optdata \- Integer .Sp \&\s-1OUTPUT: \s0 status \- Integer optdata \- Integer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Get the values for a \s-1LDAP\s0 entry and attribute .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle entry \- \s-1LDAP\s0 Message Pointer target \- String .Sp \&\s-1OUTPUT: \s0 status \- \s-1NONE\s0 .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Get the binary values for a \s-1LDAP\s0 entry and attribute .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle entry \- \s-1LDAP\s0 Message Pointer target \- String .Sp \&\s-1OUTPUT: \s0 status \- \s-1NONE\s0 .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Initialize a \s-1LDAP\s0 session .Sp \&\s-1INPUT: \s0 host \- String port \- Integer .Sp \&\s-1OUTPUT: \s0 status \- \s-1LDAP\s0 Session Handle .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .Sp .Vb 1 \& $status = ldap_init($host,$port); .Ve .IP "\fBldap_init_getfilter\fR(fname)" 4 .IX Item "ldap_init_getfilter(fname)" \&\s-1DESCRIPTION:\s0 .Sp Initialize the \s-1LDAP\s0 filter generation routines to a filename .Sp \&\s-1INPUT: \s0 fname \- Filename String .Sp \&\s-1OUTPUT: \s0 status \- \s-1LDAP\s0 Filter Description Pointer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Initialize the \s-1LDAP\s0 filter generation routines to a buffer .Sp \&\s-1INPUT: \s0 buf \- String buflen \- Integer .Sp \&\s-1OUTPUT: \s0 status \- \s-1LDAP\s0 Filter Description Pointer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Return 1 if an the argument is a valid \s-1LDAP URL\s0 .Sp \&\s-1INPUT: \s0 url \- String .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .Sp .Vb 1 \& $status = ldap_is_ldap_url($url); .Ve .IP "\fBldap_memcache_destroy\fR(cache)" 4 .IX Item "ldap_memcache_destroy(cache)" \&\s-1DESCRIPTION:\s0 .Sp Destroy a memory cache .Sp \&\s-1INPUT: \s0 cache \- \s-1LDAP\s0 Memory Cache Pointer .Sp \&\s-1OUTPUT: \s0 status \- \s-1NONE\s0 .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Flush a specific \s-1DN\s0 from the memory cache .Sp \&\s-1INPUT: \s0 cache \- \s-1LDAP\s0 Memory Cache Pointer dn \- String scope \- Integer .Sp \&\s-1OUTPUT: \s0 status \- \s-1NONE\s0 .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Get the memory cache for a \s-1LDAP\s0 session .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle cachep \- \s-1LDAP\s0 Memory Cache Pointer .Sp \&\s-1OUTPUT: \s0 status \- Integer cachep \- \s-1LDAP\s0 Memory Cache Pointer .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Initialize a \s-1LDAP\s0 memory cache .Sp \&\s-1INPUT: \s0 ttl \- Integer size \- Integer baseDNs \- List Reference cachep \- \s-1LDAP\s0 Memory Cache Pointer .Sp \&\s-1OUTPUT: \s0 status \- Integer cachep \- \s-1LDAP\s0 Memory Cache Pointer .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Set the \s-1LDAP\s0 memory cache for the session .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle cache \- \s-1LDAP\s0 Memory Cache Pointer .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .Sp .Vb 1 \& $status = ldap_memcache_set($ld,$cache); .Ve .IP "\fBldap_memcache_update\fR(cache)" 4 .IX Item "ldap_memcache_update(cache)" \&\s-1DESCRIPTION:\s0 .Sp Update the specified memory cache .Sp \&\s-1INPUT: \s0 cache \- \s-1LDAP\s0 Memory Cache Pointer .Sp \&\s-1OUTPUT: \s0 status \- \s-1NONE\s0 .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .Sp .Vb 1 \& $status = ldap_memcache_update($cache); .Ve .IP "\fBldap_memfree\fR(p)" 4 .IX Item "ldap_memfree(p)" \&\s-1DESCRIPTION:\s0 .Sp Free memory allocated by the \s-1LDAP C API\s0 .Sp \&\s-1INPUT: \s0 p \- Pointer .Sp \&\s-1OUTPUT: \s0 status \- \s-1NONE\s0 .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .Sp .Vb 1 \& $status = ldap_memfree($p); .Ve .IP "\fBldap_modify\fR(ld,dn,mods)" 4 .IX Item "ldap_modify(ld,dn,mods)" \&\s-1DESCRIPTION:\s0 .Sp Asynchronously modify a \s-1LDAP\s0 entry .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle dn \- String mods \- \s-1LDAP\s0 Add/Modify Hash .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Asynchronously modify a \s-1LDAP\s0 entry w/ Controls .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle dn \- String mods \- \s-1LDAP\s0 Add/Modify Hash serverctrls \- \s-1LDAP\s0 Control List Pointer clientctrls \- \s-1LDAP\s0 Control List Pointer msgidp \- Integer .Sp \&\s-1OUTPUT: \s0 status \- Integer msgidp \- Integer .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Synchronously modify a \s-1LDAP\s0 entry w/ Controls .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle dn \- String mods \- \s-1LDAP\s0 Add/Modify Hash serverctrls \- \s-1LDAP\s0 Control List Pointer clientctrls \- \s-1LDAP\s0 Control List Pointer .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Synchronously modify a \s-1LDAP\s0 entry .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle dn \- String mods \- \s-1LDAP\s0 Add/Modify Hash .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Asynchronously modify the relative distinguished name of an entry .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle dn \- String newrdn \- String .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Synchronously modify the relative distinguished name of an entry .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle dn \- String newrdn \- String .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Asynchronously modify the relative distinguished name of an entry. .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle dn \- String newrdn \- String deleteoldrdn \- Integer .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Synchronously modify the relative distinguished name of an entry. .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle dn \- String newrdn \- String deleteoldrdn \- Integer .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .Sp .Vb 1 \& $status = ldap_modrdn2_s($ld,$dn,$newrdn,$deleteoldrdn); .Ve .IP "\fBldap_msgfree\fR(lm)" 4 .IX Item "ldap_msgfree(lm)" \&\s-1DESCRIPTION:\s0 .Sp Free memory allocated by a \s-1LDAP\s0 Message .Sp \&\s-1INPUT: \s0 lm \- \s-1LDAP\s0 Message Pointer .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .Sp .Vb 1 \& $status = ldap_msgfree($lm); .Ve .IP "\fBldap_msgid\fR(lm)" 4 .IX Item "ldap_msgid(lm)" \&\s-1DESCRIPTION:\s0 .Sp Get the message id number from a \s-1LDAP\s0 message .Sp \&\s-1INPUT: \s0 lm \- \s-1LDAP\s0 Message Pointer .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .Sp .Vb 1 \& $status = ldap_msgid($lm); .Ve .IP "\fBldap_msgtype\fR(lm)" 4 .IX Item "ldap_msgtype(lm)" \&\s-1DESCRIPTION:\s0 .Sp Get the message type of a \s-1LDAP\s0 message .Sp \&\s-1INPUT: \s0 lm \- \s-1LDAP\s0 Message Pointer .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Sort entries by multiple keys .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle chain \- \s-1LDAP\s0 Message Pointer attr \- List Reference .Sp \&\s-1OUTPUT: \s0 status \- Integer chain \- \s-1LDAP\s0 Message Pointer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Get the next attribute for a \s-1LDAP\s0 entry .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle entry \- \s-1LDAP\s0 Message Pointer ber \- Ber Element Pointer .Sp \&\s-1OUTPUT: \s0 status \- String ber \- \s-1BER\s0 Element Pointer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Get the next entry in the result chain .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle entry \- \s-1LDAP\s0 Message Pointer .Sp \&\s-1OUTPUT: \s0 status \- \s-1LDAP\s0 Message Pointer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Get the next message in the result chain .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle msg \- \s-1LDAP\s0 Message Pointer .Sp \&\s-1OUTPUT: \s0 status \- \s-1LDAP\s0 Message Pointer .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Get the next reference in the result chain .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle ref \- \s-1LDAP\s0 Message Pointer .Sp \&\s-1OUTPUT: \s0 status \- \s-1LDAP\s0 Message Pointer .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Parse a \s-1LDAP\s0 entry change control .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle ctrls \- \s-1LDAP\s0 Control List Pointer chgtypep \- Integer prevdnp \- String chgnumpresentp \- Integer chgnump \- Integer .Sp \&\s-1OUTPUT: \s0 status \- Integer chgtypep \- Integer prevdnp \- String chgnumpresentp \- Integer chgnump \- Integer .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Parse a \s-1LDAP\s0 extended result .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle res \- \s-1LDAP\s0 Message Pointer retoidp \- String freeit \- Integer .Sp \&\s-1OUTPUT: \s0 status \- Integer retoidp \- String retdatap \- Binary List Reference .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Parse a \s-1LDAP\s0 Reference .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle ref \- \s-1LDAP\s0 Message Pointer referalsp \- List Reference serverctrlsp \- \s-1LDAP\s0 Control List Pointer freeit \- Integer .Sp \&\s-1OUTPUT: \s0 status \- Integer referalsp \- List Reference serverctrlsp \- \s-1LDAP\s0 Control List Pointer .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Parse a \s-1LDAP\s0 result .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle res \- \s-1LDAP\s0 Message Pointer errcodep \- Integer matcheddnp \- String errmsgp \- String referralsp \- List Reference serverctrlsp \- \s-1LDAP\s0 Control List Pointer freeit \- Integer .Sp \&\s-1OUTPUT: \s0 status \- Integer errcodep \- Integer matcheddnp \- String errmsgp \- String referralsp \- List Reference serverctrlsp \- \s-1LDAP\s0 Control List Pointer .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Parse the results of an \s-1SASL\s0 bind operation .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle res \- \s-1LDAP\s0 Message Pointer freeit \- Integer .Sp \&\s-1OUTPUT: \s0 status \- Integer servercredp \- .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Parse a \s-1LDAP\s0 sort control .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle ctrls \- \s-1LDAP\s0 Control List Pointer result \- \s-1LDAP\s0 Message Pointer attribute \- String .Sp \&\s-1OUTPUT: \s0 status \- Integer result \- \s-1LDAP\s0 Message Pointer attribute \- String .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Parse a \s-1LDAP\s0 virtual list control .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle ctrls \- \s-1LDAP\s0 Control List Pointer target_posp \- Integer list_sizep \- Integer errcodep \- Integer .Sp \&\s-1OUTPUT: \s0 status \- Integer target_posp \- Integer list_sizep \- Integer errcodep \- Integer .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Print a \s-1LDAP\s0 error message .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle s \- String .Sp \&\s-1OUTPUT: \s0 status \- \s-1NONE\s0 .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Asynchronously rename a \s-1LDAP\s0 entry .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle dn \- String newrdn \- String newparent \- String deleteoldrdn \- Integer serverctrls \- \s-1LDAP\s0 Control List Pointer clientctrls \- \s-1LDAP\s0 Control List Pointer msgidp \- Integer .Sp \&\s-1OUTPUT: \s0 status \- Integer msgidp \- Integer .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Synchronously rename a \s-1LDAP\s0 entry .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle dn \- String newrdn \- String newparent \- String deleteoldrdn \- Integer serverctrls \- \s-1LDAP\s0 Control List Pointer clientctrls \- \s-1LDAP\s0 Control List Pointer .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Get the result for an asynchronous \s-1LDAP\s0 operation .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle msgid \- Integer all \- Integer timeout \- Time in Seconds result \- \s-1LDAP\s0 Message Pointer .Sp \&\s-1OUTPUT: \s0 status \- Integer result \- \s-1LDAP\s0 Message Pointer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Get the error number for a given result .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle r \- \s-1LDAP\s0 Message Pointer freeit \- Integer .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Asynchronously bind to the \s-1LDAP\s0 server using a \s-1SASL\s0 mechanism .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle dn \- String mechanism \- String cred \- Binary String serverctrls \- \s-1LDAP\s0 Control List Pointer clientctrls \- \s-1LDAP\s0 Control List Pointer msgidp \- Integer .Sp \&\s-1OUTPUT: \s0 status \- Integer msgidp \- Integer .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Synchronously bind to a \s-1LDAP\s0 server using a \s-1SASL\s0 mechanism .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle dn \- String mechanism \- String cred \- Binary String serverctrls \- \s-1LDAP\s0 Control List Pointer clientctrls \- \s-1LDAP\s0 Control List Pointer .Sp \&\s-1OUTPUT: \s0 status \- Integer servercredp \- .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Asynchronously search the \s-1LDAP\s0 server .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle base \- String scope \- Integer filter \- String attrs \- List Reference attrsonly \- Integer .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Asynchronously search the \s-1LDAP\s0 server w/ Controls .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle base \- String scope \- Integer filter \- String attrs \- List Reference attrsonly \- Integer serverctrls \- \s-1LDAP\s0 Control List Pointer clientctrls \- \s-1LDAP\s0 Control List Pointer timeoutp \- Time in Seconds sizelimit \- Integer msgidp \- Integer .Sp \&\s-1OUTPUT: \s0 status \- Integer msgidp \- Integer .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Synchronously search the \s-1LDAP\s0 server w/ Controls .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle base \- String scope \- Integer filter \- String attrs \- List Reference attrsonly \- Integer serverctrls \- \s-1LDAP\s0 Control List Pointer clientctrls \- \s-1LDAP\s0 Control List Pointer timeoutp \- Time in Seconds sizelimit \- Integer res \- \s-1LDAP\s0 Message Pointer .Sp \&\s-1OUTPUT: \s0 status \- Integer res \- \s-1LDAP\s0 Message Pointer .Sp \&\s-1AVAILABILITY: V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Synchronously search the \s-1LDAP\s0 server .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle base \- String scope \- Integer filter \- String attrs \- List Reference attrsonly \- Integer res \- \s-1LDAP\s0 Message Pointer .Sp \&\s-1OUTPUT: \s0 status \- Integer res \- \s-1LDAP\s0 Message Pointer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Synchronously search the \s-1LDAP\s0 server w/ Timeout .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle base \- String scope \- Integer filter \- String attrs \- List Reference attrsonly \- Integer timeout \- Time in Seconds res \- \s-1LDAP\s0 Message Pointer .Sp \&\s-1OUTPUT: \s0 status \- Integer res \- \s-1LDAP\s0 Message Pointer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Add a prefix and suffix for filter generation .Sp \&\s-1INPUT: \s0 lfdp \- \s-1LDAP\s0 Filter Description Pointer prefix \- String suffix \- String .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Set the \s-1LDAP\s0 error structure .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle e \- Integer m \- String s \- String .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Set a \s-1LDAP\s0 session option .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle option \- Integer optdata \- Integer .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Set the \s-1LDAP\s0 rebind process .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle .Sp \&\s-1OUTPUT: \s0 status \- \s-1NONE\s0 .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Asynchronously bind to the \s-1LDAP\s0 server using simple authentication .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle who \- String passwd \- String .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Synchronously bind to the \s-1LDAP\s0 server using simple authentication .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle who \- String passwd \- String .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Sort the results of a \s-1LDAP\s0 search .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle chain \- \s-1LDAP\s0 Message Pointer attr \- String .Sp \&\s-1OUTPUT: \s0 status \- Integer chain \- \s-1LDAP\s0 Message Pointer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .Sp .Vb 1 \& $status = ldap_sort_entries($ld,$chain,$attr); .Ve .IP "\fBldap_unbind\fR(ld)" 4 .IX Item "ldap_unbind(ld)" \&\s-1DESCRIPTION:\s0 .Sp Asynchronously unbind from the \s-1LDAP\s0 server .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .Sp .Vb 1 \& $status = ldap_unbind($ld); .Ve .IP "\fBldap_unbind_s\fR(ld)" 4 .IX Item "ldap_unbind_s(ld)" \&\s-1DESCRIPTION:\s0 .Sp Synchronously unbind from a \s-1LDAP\s0 server .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .Sp .Vb 1 \& $status = ldap_unbind_s($ld); .Ve .IP "\fBldap_url_parse\fR(url)" 4 .IX Item "ldap_url_parse(url)" \&\s-1DESCRIPTION:\s0 .Sp Parse a \s-1LDAP URL,\s0 returning a \s-1HASH\s0 of its components .Sp \&\s-1INPUT: \s0 url \- String .Sp \&\s-1OUTPUT: \s0 status \- .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Asynchronously search using a \s-1LDAP URL\s0 .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle url \- String attrsonly \- Integer .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Synchronously search using a \s-1LDAP URL\s0 .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle url \- String attrsonly \- Integer res \- \s-1LDAP\s0 Message Pointer .Sp \&\s-1OUTPUT: \s0 status \- Integer res \- \s-1LDAP\s0 Message Pointer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Synchronously search using a \s-1LDAP URL\s0 w/ timeout .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle url \- String attrsonly \- Integer timeout \- Time in Seconds res \- \s-1LDAP\s0 Message Pointer .Sp \&\s-1OUTPUT: \s0 status \- Integer res \- \s-1LDAP\s0 Message Pointer .Sp \&\s-1AVAILABILITY: V2/V3\s0 .Sp \&\s-1EXAMPLE:\s0 .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)" \&\s-1DESCRIPTION:\s0 .Sp Install \s-1NSPR I/O,\s0 threading, and \s-1DNS\s0 functions so they can be used by the \s-1LDAP\s0 connection (ld). .Sp If 'ld' is \s-1NULL,\s0 the functions are installed as the default functions for all new \s-1LDAP\s0 * handles). .Sp \&\s-1INPUT: \s0 ld \- \s-1LDAP\s0 Session Handle shared \- True if the \s-1LDAP\s0 * handle is used in an \s-1MT\s0 context .Sp \&\s-1OUTPUT: \s0 status \- Integer .Sp \&\s-1AVAILABILITY: V3\s0 .SH "CREDITS" .IX Header "CREDITS" Most of the Perl \s-1API\s0 module was written by Clayton Donley to interface with C \s-1API\s0 routines from Netscape Communications Corp., Inc. .SH "BUGS" .IX Header "BUGS" Documentation needs much work. LDAPv3 calls not tested or supported in this version. \&\s-1NT\s0 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'