home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 May / Chip_2000-05_cd1.bin / zkuste / Perl / ActivePerl-5.6.0.613.msi / 䆊䌷䈹䈙䏵-䞅䞆䞀㡆䞃䄦䠥 / _cbbc9c21a36c6a4117bc9e833c121ed7 < prev    next >
Text File  |  2000-03-23  |  58KB  |  1,906 lines

  1.  
  2. <HTML>
  3. <HEAD>
  4. <TITLE>Mozilla::LDAP::API - Perl methods for LDAP C API calls</TITLE>
  5. <LINK REL="stylesheet" HREF="../../../../Active.css" TYPE="text/css">
  6. <LINK REV="made" HREF="mailto:">
  7. </HEAD>
  8.  
  9. <BODY>
  10. <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
  11. <TR><TD CLASS=block VALIGN=MIDDLE WIDTH=100% BGCOLOR="#cccccc">
  12. <STRONG><P CLASS=block> Mozilla::LDAP::API - Perl methods for LDAP C API calls</P></STRONG>
  13. </TD></TR>
  14. </TABLE>
  15.  
  16. <A NAME="__index__"></A>
  17. <!-- INDEX BEGIN -->
  18.  
  19. <UL>
  20.  
  21.     <LI><A HREF="#name">NAME</A></LI><LI><A HREF="#supportedplatforms">SUPPORTED PLATFORMS</A></LI>
  22.  
  23.     <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
  24.     <LI><A HREF="#description">DESCRIPTION</A></LI>
  25.     <LI><A HREF="#this document">THIS DOCUMENT</A></LI>
  26.     <LI><A HREF="#creating an add/modify hash">CREATING AN ADD/MODIFY HASH</A></LI>
  27.     <LI><A HREF="#api methods">API Methods</A></LI>
  28.     <LI><A HREF="#credits">CREDITS</A></LI>
  29.     <LI><A HREF="#bugs">BUGS</A></LI>
  30.     <LI><A HREF="#see also">SEE ALSO</A></LI>
  31. </UL>
  32. <!-- INDEX END -->
  33.  
  34. <HR>
  35. <P>
  36. <H1><A NAME="name">NAME</A></H1>
  37. <PRE>
  38.   Mozilla::LDAP::API - Perl methods for LDAP C API calls</PRE>
  39. <P>
  40. <HR>
  41. <H1><A NAME="supportedplatforms">SUPPORTED PLATFORMS</A></H1>
  42. <UL>
  43. <LI>Windows</LI>
  44. </UL>
  45. <HR>
  46. <H1><A NAME="synopsis">SYNOPSIS</A></H1>
  47. <PRE>
  48.   use Mozilla::LDAP::API;
  49.        or
  50.   use Mozilla::LDAP::API qw(:api :ssl :constant);
  51.        or
  52.   use Mozilla::LDAP::API qw(:api :ssl :apiv3 :constant);</PRE>
  53. <P>
  54. <HR>
  55. <H1><A NAME="description">DESCRIPTION</A></H1>
  56. <P>This package offers a direct interface to the LDAP C API calls from Perl.
  57. It is used internally by the other Mozilla::LDAP modules.  It is highly
  58. suggested that you use the object oriented interface in
  59. Mozilla::LDAP::Conn and Mozilla::LDAP::Entry unless you need to use
  60. asynchronous calls or other functionality not available in the OO interface.</P>
  61. <P>
  62. <HR>
  63. <H1><A NAME="this document">THIS DOCUMENT</A></H1>
  64. <P>This document has a number of known errors that will be corrected in the
  65. next revision.  Since it is not expected that users will need to use this
  66. interface frequently, priority was placed on other documents.  You can find
  67. examples of how to actually use the API calls under the test_api directory.</P>
  68. <P>
  69. <HR>
  70. <H1><A NAME="creating an add/modify hash">CREATING AN ADD/MODIFY HASH</A></H1>
  71. <P>For the add and modify routines you will need to generate
  72. a list of attributes and values.</P>
  73. <P>You will do this by creating a HASH table.  Each attribute in the
  74. hash contains associated values.  These values can be one of three
  75. things.</P>
  76. <PRE>
  77.   - SCALAR VALUE    (ex. "Clayton Donley")
  78.   - ARRAY REFERENCE (ex. ["Clayton Donley","Clay Donley"])
  79.   - HASH REFERENCE  (ex. {"r",["Clayton Donley"]}
  80.        note:  the value inside the HASH REFERENCE must currently
  81.                be an ARRAY REFERENCE.</PRE>
  82. <P>The key inside the HASH REFERENCE must be one of the following for a
  83. modify operation:
  84.   - ``a'' for LDAP_MOD_ADD (Add these values to the attribute)
  85.   - ``r'' for LDAP_MOD_REPLACE (Replace these values in the attribute)
  86.   - ``d'' for LDAP_MOD_DELETE (Delete these values from the attribute)</P>
  87. <P>Additionally, in add and modify operations, you may specify ``b'' if the
  88. attributes you are adding are BINARY (ex. ``rb'' to replace binary).</P>
  89. <P>Currently, it is only possible to do one operation per add/modify
  90. operation, meaning you can't do something like:</P>
  91. <PRE>
  92.    {"d",["Clayton"],"a",["Clay"]}   <-- WRONG!</PRE>
  93. <P>Using any combination of the above value types, you can do things like:</P>
  94. <P>%ldap_modifications = (
  95.    ``cn'', ``Clayton Donley'',                    # Replace 'cn' values
  96.    ``givenname'', [``Clayton'',``Clay''],           # Replace 'givenname' values
  97.    ``mail'', {``a'',[``donley\@cig.mcel.mot.com''],  #Add 'mail' values
  98.    ``jpegphoto'', {``rb'',[$jpegphotodata]},      # Replace Binary jpegPhoto
  99. );</P>
  100. <P>Then remember to call the add or modify operations with a REFERENCE to
  101. this HASH.</P>
  102. <P>
  103. <HR>
  104. <H1><A NAME="api methods">API Methods</A></H1>
  105. <P>The following are the available API methods for Mozilla::LDAP::API.  Many
  106. of these items have bad examples and OUTPUT information.  Other information
  107. should be correct.</P>
  108. <DL>
  109. <DT><STRONG><A NAME="item_ldap_abandon"><STRONG>ldap_abandon</STRONG>(ld,msgid)</A></STRONG><BR>
  110. <DD>
  111. DESCRIPTION:
  112. <P>Abandon an asynchronous LDAP operation</P>
  113. <P>INPUT:
  114.   ld - LDAP Session Handle
  115.   msgid - Integer</P>
  116. <P>OUTPUT:
  117.   status - Integer</P>
  118. <P>AVAILABILITY: V2/V3</P>
  119. <P>EXAMPLE:</P>
  120. <PRE>
  121.   $status = ldap_abandon($ld,$msgid);</PRE>
  122. <P></P>
  123. <DT><STRONG><A NAME="item_ldap_abandon_ext"><STRONG>ldap_abandon_ext</STRONG>(ld,msgid,serverctrls,clientctrls)</A></STRONG><BR>
  124. <DD>
  125. DESCRIPTION:
  126. <P>Abandon an asynchronous LDAP operation w/ Controls</P>
  127. <P>INPUT:
  128.   ld - LDAP Session Handle
  129.   msgid - Integer
  130.   serverctrls - LDAP Control List Pointer
  131.   clientctrls - LDAP Control List Pointer</P>
  132. <P>OUTPUT:
  133.   status - Integer</P>
  134. <P>AVAILABILITY: V3</P>
  135. <P>EXAMPLE:</P>
  136. <PRE>
  137.   $status = ldap_abandon_ext($ld,$msgid,$serverctrls,$clientctrls);</PRE>
  138. <P></P>
  139. <DT><STRONG><A NAME="item_ldap_add"><STRONG>ldap_add</STRONG>(ld,dn,attrs)</A></STRONG><BR>
  140. <DD>
  141. DESCRIPTION:
  142. <P>Asynchronously add a LDAP entry</P>
  143. <P>INPUT:
  144.   ld - LDAP Session Handle
  145.   dn - String
  146.   attrs - LDAP Add/Modify Hash</P>
  147. <P>OUTPUT:
  148.   status - Integer</P>
  149. <P>AVAILABILITY: V2/V3</P>
  150. <P>EXAMPLE:</P>
  151. <PRE>
  152.   $status = ldap_add($ld,$dn,$attrs);</PRE>
  153. <P></P>
  154. <DT><STRONG><A NAME="item_ldap_add_ext"><STRONG>ldap_add_ext</STRONG>(ld,dn,attrs,serverctrls,clientctrls,msgidp)</A></STRONG><BR>
  155. <DD>
  156. DESCRIPTION:
  157. <P>Asynchronously add a LDAP entry w/ Controls</P>
  158. <P>INPUT:
  159.   ld - LDAP Session Handle
  160.   dn - String
  161.   attrs - LDAP Add/Modify Hash
  162.   serverctrls - LDAP Control List Pointer
  163.   clientctrls - LDAP Control List Pointer
  164.   msgidp - Integer</P>
  165. <P>OUTPUT:
  166.   status - Integer
  167.   msgidp - Integer</P>
  168. <P>AVAILABILITY: V2/V3</P>
  169. <P>EXAMPLE:</P>
  170. <PRE>
  171.   $status = ldap_add_ext($ld,$dn,$attrs,$serverctrls,$clientctrls,$msgidp);</PRE>
  172. <P></P>
  173. <DT><STRONG><A NAME="item_ldap_add_ext_s"><STRONG>ldap_add_ext_s</STRONG>(ld,dn,attrs,serverctrls,clientctrls)</A></STRONG><BR>
  174. <DD>
  175. DESCRIPTION:
  176. <P>Synchronously add a LDAP entry w/ Controls</P>
  177. <P>INPUT:
  178.   ld - LDAP Session Handle
  179.   dn - String
  180.   attrs - LDAP Add/Modify Hash
  181.   serverctrls - LDAP Control List Pointer
  182.   clientctrls - LDAP Control List Pointer</P>
  183. <P>OUTPUT:
  184.   status - Integer</P>
  185. <P>AVAILABILITY: V3</P>
  186. <P>EXAMPLE:</P>
  187. <PRE>
  188.   $status = ldap_add_ext_s($ld,$dn,$attrs,$serverctrls,$clientctrls);</PRE>
  189. <P></P>
  190. <DT><STRONG><A NAME="item_ldap_add_s"><STRONG>ldap_add_s</STRONG>(ld,dn,attrs)</A></STRONG><BR>
  191. <DD>
  192. DESCRIPTION:
  193. <P>Synchronously add a LDAP entry</P>
  194. <P>INPUT:
  195.   ld - LDAP Session Handle
  196.   dn - String
  197.   attrs - LDAP Add/Modify Hash</P>
  198. <P>OUTPUT:
  199.   status - Integer</P>
  200. <P>AVAILABILITY: V2/V3</P>
  201. <P>EXAMPLE:</P>
  202. <PRE>
  203.   $status = ldap_add_s($ld,$dn,$attrs);</PRE>
  204. <P></P>
  205. <DT><STRONG><A NAME="item_ldap_ber_free"><STRONG>ldap_ber_free</STRONG>(ber,freebuf)</A></STRONG><BR>
  206. <DD>
  207. DESCRIPTION:
  208. <P>Free a BER element pointer</P>
  209. <P>INPUT:
  210.   ber - BER Element Pointer
  211.   freebuf - Integer</P>
  212. <P>OUTPUT:
  213.   status - NONE</P>
  214. <P>AVAILABILITY: V2/V3</P>
  215. <P>EXAMPLE:</P>
  216. <PRE>
  217.   $status = ldap_ber_free($ber,$freebuf);</PRE>
  218. <P></P>
  219. <DT><STRONG><A NAME="item_ldap_bind"><STRONG>ldap_bind</STRONG>(ld,dn,passwd,authmethod)</A></STRONG><BR>
  220. <DD>
  221. DESCRIPTION:
  222. <P>Asynchronously bind to the LDAP server</P>
  223. <P>INPUT:
  224.   ld - LDAP Session Handle
  225.   dn - String
  226.   passwd - String
  227.   authmethod - Integer</P>
  228. <P>OUTPUT:
  229.   status - Integer</P>
  230. <P>AVAILABILITY: V2/V3</P>
  231. <P>EXAMPLE:</P>
  232. <PRE>
  233.   $status = ldap_bind($ld,$dn,$passwd,$authmethod);</PRE>
  234. <P></P>
  235. <DT><STRONG><A NAME="item_ldap_bind_s"><STRONG>ldap_bind_s</STRONG>(ld,dn,passwd,authmethod)</A></STRONG><BR>
  236. <DD>
  237. DESCRIPTION:
  238. <P>Synchronously bind to a LDAP server</P>
  239. <P>INPUT:
  240.   ld - LDAP Session Handle
  241.   dn - String
  242.   passwd - String
  243.   authmethod - Integer</P>
  244. <P>OUTPUT:
  245.   status - Integer</P>
  246. <P>AVAILABILITY: V2/V3</P>
  247. <P>EXAMPLE:</P>
  248. <PRE>
  249.   $status = ldap_bind_s($ld,$dn,$passwd,$authmethod);</PRE>
  250. <P></P>
  251. <DT><STRONG><A NAME="item_ldap_compare"><STRONG>ldap_compare</STRONG>(ld,dn,attr,value)</A></STRONG><BR>
  252. <DD>
  253. DESCRIPTION:
  254. <P>Asynchronously compare an attribute/value pair and an entry</P>
  255. <P>INPUT:
  256.   ld - LDAP Session Handle
  257.   dn - String
  258.   attr - String
  259.   value - String</P>
  260. <P>OUTPUT:
  261.   status - Integer</P>
  262. <P>AVAILABILITY: V2/V3</P>
  263. <P>EXAMPLE:</P>
  264. <PRE>
  265.   $status = ldap_compare($ld,$dn,$attr,$value);</PRE>
  266. <P></P>
  267. <DT><STRONG><A NAME="item_ldap_compare_ext"><STRONG>ldap_compare_ext</STRONG>(ld,dn,attr,bvalue,serverctrls,clientctrls,msgidp)</A></STRONG><BR>
  268. <DD>
  269. DESCRIPTION:
  270. <P>Asynchronously compare an attribute/value pair and an entry w/ Controls</P>
  271. <P>INPUT:
  272.   ld - LDAP Session Handle
  273.   dn - String
  274.   attr - String
  275.   bvalue - Binary String
  276.   serverctrls - LDAP Control List Pointer
  277.   clientctrls - LDAP Control List Pointer
  278.   msgidp - Integer</P>
  279. <P>OUTPUT:
  280.   status - Integer
  281.   msgidp - Integer</P>
  282. <P>AVAILABILITY: V2/V3</P>
  283. <P>EXAMPLE:</P>
  284. <PRE>
  285.   $status = ldap_compare_ext($ld,$dn,$attr,$bvalue,$serverctrls,$clientctrls,$msgidp);</PRE>
  286. <P></P>
  287. <DT><STRONG><A NAME="item_ldap_compare_ext_s"><STRONG>ldap_compare_ext_s</STRONG>(ld,dn,attr,bvalue,serverctrls,clientctrls)</A></STRONG><BR>
  288. <DD>
  289. DESCRIPTION:
  290. <P>Synchronously compare an attribute/value pair to an entry w/ Controls</P>
  291. <P>INPUT:
  292.   ld - LDAP Session Handle
  293.   dn - String
  294.   attr - String
  295.   bvalue - Binary String
  296.   serverctrls - LDAP Control List Pointer
  297.   clientctrls - LDAP Control List Pointer</P>
  298. <P>OUTPUT:
  299.   status - Integer</P>
  300. <P>AVAILABILITY: V3</P>
  301. <P>EXAMPLE:</P>
  302. <PRE>
  303.   $status = ldap_compare_ext_s($ld,$dn,$attr,$bvalue,$serverctrls,$clientctrls);</PRE>
  304. <P></P>
  305. <DT><STRONG><A NAME="item_ldap_compare_s"><STRONG>ldap_compare_s</STRONG>(ld,dn,attr,value)</A></STRONG><BR>
  306. <DD>
  307. DESCRIPTION:
  308. <P>Synchronously compare an attribute/value pair to an entry</P>
  309. <P>INPUT:
  310.   ld - LDAP Session Handle
  311.   dn - String
  312.   attr - String
  313.   value - String</P>
  314. <P>OUTPUT:
  315.   status - Integer</P>
  316. <P>AVAILABILITY: V2/V3</P>
  317. <P>EXAMPLE:</P>
  318. <PRE>
  319.   $status = ldap_compare_s($ld,$dn,$attr,$value);</PRE>
  320. <P></P>
  321. <DT><STRONG><A NAME="item_ldap_control_free"><STRONG>ldap_control_free</STRONG>(ctrl)</A></STRONG><BR>
  322. <DD>
  323. DESCRIPTION:
  324. <P>Free a LDAP control pointer</P>
  325. <P>INPUT:
  326.   ctrl - LDAP Control Pointer</P>
  327. <P>OUTPUT:
  328.   status - NONE</P>
  329. <P>AVAILABILITY: V3</P>
  330. <P>EXAMPLE:</P>
  331. <PRE>
  332.   $status = ldap_control_free($ctrl);</PRE>
  333. <P></P>
  334. <DT><STRONG><A NAME="item_ldap_controls_count"><STRONG>ldap_controls_count</STRONG>(ctrls)</A></STRONG><BR>
  335. <DD>
  336. DESCRIPTION:
  337. <P>Count the number of LDAP controls in a LDAP Control List</P>
  338. <P>INPUT:
  339.   ctrls - LDAP Control List Pointer</P>
  340. <P>OUTPUT:
  341.   status - Integer</P>
  342. <P>AVAILABILITY: V3</P>
  343. <P>EXAMPLE:</P>
  344. <PRE>
  345.   $status = ldap_controls_count($ctrls);</PRE>
  346. <P></P>
  347. <DT><STRONG><A NAME="item_ldap_controls_free"><STRONG>ldap_controls_free</STRONG>(ctrls)</A></STRONG><BR>
  348. <DD>
  349. DESCRIPTION:
  350. <P>Free a list of LDAP controls</P>
  351. <P>INPUT:
  352.   ctrls - LDAP Control List Pointer</P>
  353. <P>OUTPUT:
  354.   status - NONE</P>
  355. <P>AVAILABILITY: V3</P>
  356. <P>EXAMPLE:</P>
  357. <PRE>
  358.   $status = ldap_controls_free($ctrls);</PRE>
  359. <P></P>
  360. <DT><STRONG><A NAME="item_ldap_count_entries"><STRONG>ldap_count_entries</STRONG>(ld,result)</A></STRONG><BR>
  361. <DD>
  362. DESCRIPTION:
  363. <P>Count the number of LDAP entries returned</P>
  364. <P>INPUT:
  365.   ld - LDAP Session Handle
  366.   result - LDAP Message Pointer</P>
  367. <P>OUTPUT:
  368.   status - Integer</P>
  369. <P>AVAILABILITY: V2/V3</P>
  370. <P>EXAMPLE:</P>
  371. <PRE>
  372.   $count = ldap_count_entries($ld,$result);</PRE>
  373. <P></P>
  374. <DT><STRONG><A NAME="item_ldap_count_messages"><STRONG>ldap_count_messages</STRONG>(ld,result)</A></STRONG><BR>
  375. <DD>
  376. DESCRIPTION:
  377. <P>Count the number of LDAP messages returned</P>
  378. <P>INPUT:
  379.   ld - LDAP Session Handle
  380.   result - LDAP Message Pointer</P>
  381. <P>OUTPUT:
  382.   status - Integer</P>
  383. <P>AVAILABILITY: V3</P>
  384. <P>EXAMPLE:</P>
  385. <PRE>
  386.   $status = ldap_count_messages($ld,$result);</PRE>
  387. <P></P>
  388. <DT><STRONG><A NAME="item_ldap_count_references"><STRONG>ldap_count_references</STRONG>(ld,result)</A></STRONG><BR>
  389. <DD>
  390. DESCRIPTION:
  391. <P>Count the number of LDAP references returned</P>
  392. <P>INPUT:
  393.   ld - LDAP Session Handle
  394.   result - LDAP Message Pointer</P>
  395. <P>OUTPUT:
  396.   status - Integer</P>
  397. <P>AVAILABILITY: V3</P>
  398. <P>EXAMPLE:</P>
  399. <PRE>
  400.   $status = ldap_count_references($ld,$result);</PRE>
  401. <P></P>
  402. <DT><STRONG><A NAME="item_ldap_create_filter"><STRONG>ldap_create_filter</STRONG>(buf,buflen,pattern,prefix,suffix,attr,value,valwords)</A></STRONG><BR>
  403. <DD>
  404. DESCRIPTION:
  405. <P>Create a LDAP search filter</P>
  406. <P>INPUT:
  407.   buf - String
  408.   buflen - Integer
  409.   pattern - String
  410.   prefix - String
  411.   suffix - String
  412.   attr - String
  413.   value - String
  414.   valwords - List Reference</P>
  415. <P>OUTPUT:
  416.   status - Integer</P>
  417. <P>AVAILABILITY: V2/V3</P>
  418. <P>EXAMPLE:</P>
  419. <PRE>
  420.   $status = ldap_create_filter($buf,$buflen,$pattern,$prefix,$suffix,$attr,$value,$valwords);</PRE>
  421. <P></P>
  422. <DT><STRONG><A NAME="item_ldap_create_persistentsearch_control"><STRONG>ldap_create_persistentsearch_control</STRONG>(ld,changetypes,changesonly,return_echg_ctrls,ctrl_iscritical,ctrlp)</A></STRONG><BR>
  423. <DD>
  424. DESCRIPTION:
  425. <P>Create a persistent search control</P>
  426. <P>INPUT:
  427.   ld - LDAP Session Handle
  428.   changetypes - Integer
  429.   changesonly - Integer
  430.   return_echg_ctrls - Integer
  431.   ctrl_iscritical - Integer
  432.   ctrlp - LDAP Control List Pointer</P>
  433. <P>OUTPUT:
  434.   status - Integer
  435.   ctrlp - LDAP Control List Pointer</P>
  436. <P>AVAILABILITY: V3</P>
  437. <P>EXAMPLE:</P>
  438. <PRE>
  439.   $status = ldap_create_persistentsearch_control($ld,$changetypes,$changesonly,$return_echg_ctrls,$ctrl_iscritical,$ctrlp);</PRE>
  440. <P></P>
  441. <DT><STRONG><A NAME="item_ldap_create_sort_control"><STRONG>ldap_create_sort_control</STRONG>(ld,sortKeyList,ctrl_iscritical,ctrlp)</A></STRONG><BR>
  442. <DD>
  443. DESCRIPTION:
  444. <P>Create a LDAP sort control</P>
  445. <P>INPUT:
  446.   ld - LDAP Session Handle
  447.   sortKeyList - Sort Key Pointer
  448.   ctrl_iscritical - Integer
  449.   ctrlp - LDAP Control List Pointer</P>
  450. <P>OUTPUT:
  451.   status - Integer
  452.   ctrlp - LDAP Control List Pointer</P>
  453. <P>AVAILABILITY: V3</P>
  454. <P>EXAMPLE:</P>
  455. <PRE>
  456.   $status = ldap_create_sort_control($ld,$sortKeyList,$ctrl_iscritical,$ctrlp);</PRE>
  457. <P></P>
  458. <DT><STRONG><A NAME="item_ldap_create_sort_keylist"><STRONG>ldap_create_sort_keylist</STRONG>(sortKeyList,string_rep)</A></STRONG><BR>
  459. <DD>
  460. DESCRIPTION:
  461. <P>Create a list of keys to be used by a sort control</P>
  462. <P>INPUT:
  463.   sortKeyList - Sort Key Pointer
  464.   string_rep - String</P>
  465. <P>OUTPUT:
  466.   status - Integer
  467.   sortKeyList - Sort Key Pointer</P>
  468. <P>AVAILABILITY: V3</P>
  469. <P>EXAMPLE:</P>
  470. <PRE>
  471.   $status = ldap_create_sort_keylist($sortKeyList,$string_rep);</PRE>
  472. <P></P>
  473. <DT><STRONG><A NAME="item_ldap_create_virtuallist_control"><STRONG>ldap_create_virtuallist_control</STRONG>(ld,ldvlistp,ctrlp)</A></STRONG><BR>
  474. <DD>
  475. DESCRIPTION:
  476. <P>Create a LDAP virtual list control</P>
  477. <P>INPUT:
  478.   ld - LDAP Session Handle
  479.   ctrlp - LDAP Control List Pointer</P>
  480. <P>OUTPUT:
  481.   status - Integer
  482.   ctrlp - LDAP Control List Pointer</P>
  483. <P>AVAILABILITY: V3</P>
  484. <P>EXAMPLE:</P>
  485. <PRE>
  486.   $status = ldap_create_virtuallist_control($ld,$ldvlistp,$ctrlp);</PRE>
  487. <P></P>
  488. <DT><STRONG><A NAME="item_ldap_delete"><STRONG>ldap_delete</STRONG>(ld,dn)</A></STRONG><BR>
  489. <DD>
  490. DESCRIPTION:
  491. <P>Asynchronously delete a LDAP entry</P>
  492. <P>INPUT:
  493.   ld - LDAP Session Handle
  494.   dn - String</P>
  495. <P>OUTPUT:
  496.   status - Integer</P>
  497. <P>AVAILABILITY: V2/V3</P>
  498. <P>EXAMPLE:</P>
  499. <PRE>
  500.   $status = ldap_delete($ld,$dn);</PRE>
  501. <P></P>
  502. <DT><STRONG><A NAME="item_ldap_delete_ext"><STRONG>ldap_delete_ext</STRONG>(ld,dn,serverctrls,clientctrls,msgidp)</A></STRONG><BR>
  503. <DD>
  504. DESCRIPTION:
  505. <P>Asynchronously delete a LDAP entry w/ Controls</P>
  506. <P>INPUT:
  507.   ld - LDAP Session Handle
  508.   dn - String
  509.   serverctrls - LDAP Control List Pointer
  510.   clientctrls - LDAP Control List Pointer
  511.   msgidp - Integer</P>
  512. <P>OUTPUT:
  513.   status - Integer
  514.   msgidp - Integer</P>
  515. <P>AVAILABILITY: V3</P>
  516. <P>EXAMPLE:</P>
  517. <PRE>
  518.   $status = ldap_delete_ext($ld,$dn,$serverctrls,$clientctrls,$msgidp);</PRE>
  519. <P></P>
  520. <DT><STRONG><A NAME="item_ldap_delete_ext_s"><STRONG>ldap_delete_ext_s</STRONG>(ld,dn,serverctrls,clientctrls)</A></STRONG><BR>
  521. <DD>
  522. DESCRIPTION:
  523. <P>Synchronously delete a LDAP entry w/ Controls</P>
  524. <P>INPUT:
  525.   ld - LDAP Session Handle
  526.   dn - String
  527.   serverctrls - LDAP Control List Pointer
  528.   clientctrls - LDAP Control List Pointer</P>
  529. <P>OUTPUT:
  530.   status - Integer</P>
  531. <P>AVAILABILITY: V3</P>
  532. <P>EXAMPLE:</P>
  533. <PRE>
  534.   $status = ldap_delete_ext_s($ld,$dn,$serverctrls,$clientctrls);</PRE>
  535. <P></P>
  536. <DT><STRONG><A NAME="item_ldap_delete_s"><STRONG>ldap_delete_s</STRONG>(ld,dn)</A></STRONG><BR>
  537. <DD>
  538. DESCRIPTION:
  539. <P>Synchronously delete a LDAP entry</P>
  540. <P>INPUT:
  541.   ld - LDAP Session Handle
  542.   dn - String</P>
  543. <P>OUTPUT:
  544.   status - Integer</P>
  545. <P>AVAILABILITY: V2/V3</P>
  546. <P>EXAMPLE:</P>
  547. <PRE>
  548.   $status = ldap_delete_s($ld,$dn);</PRE>
  549. <P></P>
  550. <DT><STRONG><A NAME="item_ldap_dn2ufn"><STRONG>ldap_dn2ufn</STRONG>(dn)</A></STRONG><BR>
  551. <DD>
  552. DESCRIPTION:
  553. <P>Change a DN to a ``Friendly'' name</P>
  554. <P>INPUT:
  555.   dn - String</P>
  556. <P>OUTPUT:
  557.   status - String</P>
  558. <P>AVAILABILITY: V2/V3</P>
  559. <P>EXAMPLE:</P>
  560. <PRE>
  561.   $status = ldap_dn2ufn($dn);</PRE>
  562. <P></P>
  563. <DT><STRONG><A NAME="item_ldap_err2string"><STRONG>ldap_err2string</STRONG>(err)</A></STRONG><BR>
  564. <DD>
  565. DESCRIPTION:
  566. <P>Return the string value of a LDAP error code</P>
  567. <P>INPUT:
  568.   err - Integer</P>
  569. <P>OUTPUT:
  570.   status - String</P>
  571. <P>AVAILABILITY: V2/V3</P>
  572. <P>EXAMPLE:</P>
  573. <PRE>
  574.   $status = ldap_err2string($err);</PRE>
  575. <P></P>
  576. <DT><STRONG><A NAME="item_ldap_explode_dn"><STRONG>ldap_explode_dn</STRONG>(dn,notypes)</A></STRONG><BR>
  577. <DD>
  578. DESCRIPTION:
  579. <P>Split a given DN into its components.  Setting 'notypes' to 1 returns the
  580. components without their type names.</P>
  581. <P>INPUT:
  582.   dn - String
  583.   notypes - Integer</P>
  584. <P>OUTPUT:
  585.   status - NONE</P>
  586. <P>AVAILABILITY: V2/V3</P>
  587. <P>EXAMPLE:</P>
  588. <PRE>
  589.   $status = ldap_explode_dn($dn,$notypes);</PRE>
  590. <P></P>
  591. <DT><STRONG><A NAME="item_ldap_explode_rdn"><STRONG>ldap_explode_rdn</STRONG>(dn,notypes)</A></STRONG><BR>
  592. <DD>
  593. DESCRIPTION:
  594. <P>Split a Relative DN into its components</P>
  595. <P>INPUT:
  596.   dn - String
  597.   notypes - Integer</P>
  598. <P>OUTPUT:
  599.   status - NONE</P>
  600. <P>AVAILABILITY: V2/V3</P>
  601. <P>EXAMPLE:</P>
  602. <PRE>
  603.   $status = ldap_explode_rdn($dn,$notypes);</PRE>
  604. <P></P>
  605. <DT><STRONG><A NAME="item_ldap_extended_operation"><STRONG>ldap_extended_operation</STRONG>(ld,requestoid,requestdata,serverctrls,clientctrls,msgidp)</A></STRONG><BR>
  606. <DD>
  607. DESCRIPTION:
  608. <P>Perform an asynchronous extended operation</P>
  609. <P>INPUT:
  610.   ld - LDAP Session Handle
  611.   requestoid - String
  612.   requestdata - Binary String
  613.   serverctrls - LDAP Control List Pointer
  614.   clientctrls - LDAP Control List Pointer
  615.   msgidp - Integer</P>
  616. <P>OUTPUT:
  617.   status - Integer
  618.   msgidp - Integer</P>
  619. <P>AVAILABILITY: V3</P>
  620. <P>EXAMPLE:</P>
  621. <PRE>
  622.   $status = ldap_extended_operation($ld,$requestoid,$requestdata,$serverctrls,$clientctrls,$msgidp);</PRE>
  623. <P></P>
  624. <DT><STRONG><A NAME="item_ldap_extended_operation_s"><STRONG>ldap_extended_operation_s</STRONG>(ld,requestoid,requestdata,serverctrls,clientctrls,retoidp,retdatap)</A></STRONG><BR>
  625. <DD>
  626. DESCRIPTION:
  627. <P>Perform a synchronous extended operation</P>
  628. <P>INPUT:
  629.   ld - LDAP Session Handle
  630.   requestoid - String
  631.   requestdata - Binary String
  632.   serverctrls - LDAP Control List Pointer
  633.   clientctrls - LDAP Control List Pointer
  634.   retoidp - String</P>
  635. <P>OUTPUT:
  636.   status - Integer
  637.   retoidp - Return OID
  638.   retdatap - Return Data</P>
  639. <P>AVAILABILITY: V3</P>
  640. <P>EXAMPLE:</P>
  641. <PRE>
  642.   $status = ldap_extended_operation_s($ld,$requestoid,$requestdata,$serverctrls,$clientctrls,$retoidp,$retdatap);</PRE>
  643. <P></P>
  644. <DT><STRONG><A NAME="item_ldap_first_attribute"><STRONG>ldap_first_attribute</STRONG>(ld,entry,ber)</A></STRONG><BR>
  645. <DD>
  646. DESCRIPTION:
  647. <P>Return the first attribute returned for a LDAP entry</P>
  648. <P>INPUT:
  649.   ld - LDAP Session Handle
  650.   entry - LDAP Message Pointer
  651.   ber - Ber Element Pointer</P>
  652. <P>OUTPUT:
  653.   status - String
  654.   ber - Ber Element Pointer</P>
  655. <P>AVAILABILITY: V2/V3</P>
  656. <P>EXAMPLE:</P>
  657. <PRE>
  658.   $status = ldap_first_attribute($ld,$entry,$ber);</PRE>
  659. <P></P>
  660. <DT><STRONG><A NAME="item_ldap_first_entry"><STRONG>ldap_first_entry</STRONG>(ld,chain)</A></STRONG><BR>
  661. <DD>
  662. DESCRIPTION:
  663. <P>Return the first entry in a LDAP result chain</P>
  664. <P>INPUT:
  665.   ld - LDAP Session Handle
  666.   chain - LDAP Message Pointer</P>
  667. <P>OUTPUT:
  668.   status - LDAP Message Pointer</P>
  669. <P>AVAILABILITY: V2/V3</P>
  670. <P>EXAMPLE:</P>
  671. <PRE>
  672.   $status = ldap_first_entry($ld,$chain);</PRE>
  673. <P></P>
  674. <DT><STRONG><A NAME="item_ldap_first_message"><STRONG>ldap_first_message</STRONG>(ld,res)</A></STRONG><BR>
  675. <DD>
  676. DESCRIPTION:
  677. <P>Return the first message in a LDAP result</P>
  678. <P>INPUT:
  679.   ld - LDAP Session Handle
  680.   res - LDAP Message Pointer</P>
  681. <P>OUTPUT:
  682.   status - LDAP Message Pointer</P>
  683. <P>AVAILABILITY: V3</P>
  684. <P>EXAMPLE:</P>
  685. <PRE>
  686.   $status = ldap_first_message($ld,$res);</PRE>
  687. <P></P>
  688. <DT><STRONG><A NAME="item_ldap_first_reference"><STRONG>ldap_first_reference</STRONG>(ld,res)</A></STRONG><BR>
  689. <DD>
  690. DESCRIPTION:
  691. <P>Return the first reference in a LDAP result</P>
  692. <P>INPUT:
  693.   ld - LDAP Session Handle
  694.   res - LDAP Message Pointer</P>
  695. <P>OUTPUT:
  696.   status - LDAP Message Pointer</P>
  697. <P>AVAILABILITY: V3</P>
  698. <P>EXAMPLE:</P>
  699. <PRE>
  700.   $status = ldap_first_reference($ld,$res);</PRE>
  701. <P></P>
  702. <DT><STRONG><A NAME="item_ldap_free_friendlymap"><STRONG>ldap_free_friendlymap</STRONG>(map)</A></STRONG><BR>
  703. <DD>
  704. DESCRIPTION:
  705. <P>Free a LDAP friendly map pointer</P>
  706. <P>INPUT:
  707.   map - Friendly Map Pointer</P>
  708. <P>OUTPUT:
  709.   status - NONE</P>
  710. <P>AVAILABILITY: V2/V3</P>
  711. <P>EXAMPLE:</P>
  712. <PRE>
  713.   $status = ldap_free_friendlymap($map);</PRE>
  714. <P></P>
  715. <DT><STRONG><A NAME="item_ldap_free_sort_keylist"><STRONG>ldap_free_sort_keylist</STRONG>(sortKeyList)</A></STRONG><BR>
  716. <DD>
  717. DESCRIPTION:
  718. <P>Free a LDAP sort key pointer</P>
  719. <P>INPUT:
  720.   sortKeyList - Sort Key Pointer</P>
  721. <P>OUTPUT:
  722.   status - NONE</P>
  723. <P>AVAILABILITY: V3</P>
  724. <P>EXAMPLE:</P>
  725. <PRE>
  726.   $status = ldap_free_sort_keylist($sortKeyList);</PRE>
  727. <P></P>
  728. <DT><STRONG><A NAME="item_ldap_free_urldesc"><STRONG>ldap_free_urldesc</STRONG>(ludp)</A></STRONG><BR>
  729. <DD>
  730. DESCRIPTION:
  731. <P>Free a LDAP URL description hash reference</P>
  732. <P>INPUT:
  733.   ludp - URL Description Hash Reference</P>
  734. <P>OUTPUT:
  735.   status - NONE</P>
  736. <P>AVAILABILITY: V3</P>
  737. <P>EXAMPLE:</P>
  738. <PRE>
  739.   $status = ldap_free_urldesc($ludp);</PRE>
  740. <P></P>
  741. <DT><STRONG><A NAME="item_ldap_friendly_name"><STRONG>ldap_friendly_name</STRONG>(filename,name,map)</A></STRONG><BR>
  742. <DD>
  743. DESCRIPTION:
  744. <P>Create a LDAP friendly name map</P>
  745. <P>INPUT:
  746.   filename - String
  747.   name - String
  748.   map - Friendly Map Pointer</P>
  749. <P>OUTPUT:
  750.   status - String</P>
  751. <P>AVAILABILITY: V3</P>
  752. <P>EXAMPLE:</P>
  753. <PRE>
  754.   $status = ldap_friendly_name($filename,$name,$map);</PRE>
  755. <P></P>
  756. <DT><STRONG><A NAME="item_ldap_get_dn"><STRONG>ldap_get_dn</STRONG>(ld,entry)</A></STRONG><BR>
  757. <DD>
  758. DESCRIPTION:
  759. <P>Return the distinguished name for an entry</P>
  760. <P>INPUT:
  761.   ld - LDAP Session Handle
  762.   entry - LDAP Message Pointer</P>
  763. <P>OUTPUT:
  764.   status - String</P>
  765. <P>AVAILABILITY: V2/V3</P>
  766. <P>EXAMPLE:</P>
  767. <PRE>
  768.   $status = ldap_get_dn($ld,$entry);</PRE>
  769. <P></P>
  770. <DT><STRONG><A NAME="item_ldap_get_entry_controls"><STRONG>ldap_get_entry_controls</STRONG>(ld,entry,serverctrlsp)</A></STRONG><BR>
  771. <DD>
  772. DESCRIPTION:
  773. <P>Return the controls for a LDAP entry</P>
  774. <P>INPUT:
  775.   ld - LDAP Session Handle
  776.   entry - LDAP Message Pointer
  777.   serverctrlsp - LDAP Control List Pointer</P>
  778. <P>OUTPUT:
  779.   status - Integer
  780.   serverctrlsp - LDAP Control List Pointer</P>
  781. <P>AVAILABILITY: V3</P>
  782. <P>EXAMPLE:</P>
  783. <PRE>
  784.   $status = ldap_get_entry_controls($ld,$entry,$serverctrlsp);</PRE>
  785. <P></P>
  786. <DT><STRONG><A NAME="item_ldap_getfilter_free"><STRONG>ldap_getfilter_free</STRONG>(lfdp)</A></STRONG><BR>
  787. <DD>
  788. DESCRIPTION:
  789. <P>Free a LDAP filter</P>
  790. <P>INPUT:
  791.   lfdp - LDAP Filter Description Pointer</P>
  792. <P>OUTPUT:
  793.   status - NONE</P>
  794. <P>AVAILABILITY: V3</P>
  795. <P>EXAMPLE:</P>
  796. <PRE>
  797.   $status = ldap_getfilter_free($lfdp);</PRE>
  798. <P></P>
  799. <DT><STRONG><A NAME="item_ldap_getfirstfilter"><STRONG>ldap_getfirstfilter</STRONG>(lfdp,tagpat,value)</A></STRONG><BR>
  800. <DD>
  801. DESCRIPTION:
  802. <P>Get the first generated filter</P>
  803. <P>INPUT:
  804.   lfdp - LDAP Filter Description Pointer
  805.   tagpat - String</P>
  806. <P>OUTPUT:
  807.   status - LDAP Filter Information Pointer</P>
  808. <P>AVAILABILITY: V2/V3</P>
  809. <P>EXAMPLE:</P>
  810. <PRE>
  811.   $status = ldap_getfirstfilter($lfdp,$tagpat,$value);</PRE>
  812. <P></P>
  813. <DT><STRONG><A NAME="item_ldap_get_lang_values"><STRONG>ldap_get_lang_values</STRONG>(ld,entry,target,type)</A></STRONG><BR>
  814. <DD>
  815. DESCRIPTION:
  816. <P>Get values for an entry</P>
  817. <P>INPUT:
  818.   ld - LDAP Session Handle
  819.   entry - LDAP Message Pointer
  820.   target - String
  821.   type - String</P>
  822. <P>OUTPUT:
  823.   status - NONE</P>
  824. <P>AVAILABILITY: V3</P>
  825. <P>EXAMPLE:</P>
  826. <PRE>
  827.   $status = ldap_get_lang_values($ld,$entry,$target,$type);</PRE>
  828. <P></P>
  829. <DT><STRONG><A NAME="item_ldap_get_lang_values_len"><STRONG>ldap_get_lang_values_len</STRONG>(ld,entry,target,type)</A></STRONG><BR>
  830. <DD>
  831. DESCRIPTION:
  832. <P>Get binary values for an entry</P>
  833. <P>INPUT:
  834.   ld - LDAP Session Handle
  835.   entry - LDAP Message Pointer
  836.   target - String
  837.   type - String</P>
  838. <P>OUTPUT:
  839.   status - NONE</P>
  840. <P>AVAILABILITY: V3</P>
  841. <P>EXAMPLE:</P>
  842. <PRE>
  843.   $status = ldap_get_lang_values_len($ld,$entry,$target,$type);</PRE>
  844. <P></P>
  845. <DT><STRONG><A NAME="item_ldap_get_lderrno"><STRONG>ldap_get_lderrno</STRONG>(ld,m,s)</A></STRONG><BR>
  846. <DD>
  847. DESCRIPTION:
  848. <P>INPUT:
  849.   ld - LDAP Session Handle
  850.   m  - String Reference (or undef)
  851.   s  - String Reference (or undef)</P>
  852. <P>OUTPUT:
  853.   status - Integer</P>
  854. <P>AVAILABILITY: V2/V3</P>
  855. <P>EXAMPLE:</P>
  856. <PRE>
  857.   $status = ldap_get_lderrno($ld,\$m,\$s);</PRE>
  858. <P></P>
  859. <DT><STRONG><A NAME="item_ldap_getnextfilter"><STRONG>ldap_getnextfilter</STRONG>(lfdp)</A></STRONG><BR>
  860. <DD>
  861. DESCRIPTION:
  862. <P>Get the next generated LDAP filter</P>
  863. <P>INPUT:
  864.   lfdp - LDAP Filter Information Pointer
  865. </P>
  866. <PRE>
  867.  
  868. OUTPUT:
  869.   status - LDAP Filter Information Pointer</PRE>
  870. <P>AVAILABILITY: V2/V3</P>
  871. <P>EXAMPLE:</P>
  872. <PRE>
  873.   $status = ldap_getnextfilter($lfdp);</PRE>
  874. <P></P>
  875. <DT><STRONG><A NAME="item_ldap_get_option"><STRONG>ldap_get_option</STRONG>(ld,option,optdata)</A></STRONG><BR>
  876. <DD>
  877. DESCRIPTION:
  878. <P>Get an option for a LDAP session</P>
  879. <P>INPUT:
  880.   ld - LDAP Session Handle
  881.   option - Integer
  882.   optdata - Integer</P>
  883. <P>OUTPUT:
  884.   status - Integer
  885.   optdata - Integer</P>
  886. <P>AVAILABILITY: V2/V3</P>
  887. <P>EXAMPLE:</P>
  888. <PRE>
  889.   $status = ldap_get_option($ld,$option,$optdata);</PRE>
  890. <P></P>
  891. <DT><STRONG><A NAME="item_ldap_get_values"><STRONG>ldap_get_values</STRONG>(ld,entry,target)</A></STRONG><BR>
  892. <DD>
  893. DESCRIPTION:
  894. <P>Get the values for a LDAP entry and attribute</P>
  895. <P>INPUT:
  896.   ld - LDAP Session Handle
  897.   entry - LDAP Message Pointer
  898.   target - String</P>
  899. <P>OUTPUT:
  900.   status - NONE</P>
  901. <P>AVAILABILITY: V3</P>
  902. <P>EXAMPLE:</P>
  903. <PRE>
  904.   $status = ldap_get_values($ld,$entry,$target);</PRE>
  905. <P></P>
  906. <DT><STRONG><A NAME="item_ldap_get_values_len"><STRONG>ldap_get_values_len</STRONG>(ld,entry,target)</A></STRONG><BR>
  907. <DD>
  908. DESCRIPTION:
  909. <P>Get the binary values for a LDAP entry and attribute</P>
  910. <P>INPUT:
  911.   ld - LDAP Session Handle
  912.   entry - LDAP Message Pointer
  913.   target - String</P>
  914. <P>OUTPUT:
  915.   status - NONE</P>
  916. <P>AVAILABILITY: V3</P>
  917. <P>EXAMPLE:</P>
  918. <PRE>
  919.   $status = ldap_get_values_len($ld,$entry,$target);</PRE>
  920. <P></P>
  921. <DT><STRONG><A NAME="item_ldap_init"><STRONG>ldap_init</STRONG>(host,port)</A></STRONG><BR>
  922. <DD>
  923. DESCRIPTION:
  924. <P>Initialize a LDAP session</P>
  925. <P>INPUT:
  926.   host - String
  927.   port - Integer</P>
  928. <P>OUTPUT:
  929.   status - LDAP Session Handle</P>
  930. <P>AVAILABILITY: V2/V3</P>
  931. <P>EXAMPLE:</P>
  932. <PRE>
  933.   $status = ldap_init($host,$port);</PRE>
  934. <P></P>
  935. <DT><STRONG><A NAME="item_ldap_init_getfilter"><STRONG>ldap_init_getfilter</STRONG>(fname)</A></STRONG><BR>
  936. <DD>
  937. DESCRIPTION:
  938. <P>Initialize the LDAP filter generation routines to a filename</P>
  939. <P>INPUT:
  940.   fname - Filename String</P>
  941. <P>OUTPUT:
  942.   status - LDAP Filter Description Pointer</P>
  943. <P>AVAILABILITY: V2/V3</P>
  944. <P>EXAMPLE:</P>
  945. <PRE>
  946.   $status = ldap_init_getfilter($fname);</PRE>
  947. <P></P>
  948. <DT><STRONG><A NAME="item_ldap_init_getfilter_buf"><STRONG>ldap_init_getfilter_buf</STRONG>(buf,buflen)</A></STRONG><BR>
  949. <DD>
  950. DESCRIPTION:
  951. <P>Initialize the LDAP filter generation routines to a buffer</P>
  952. <P>INPUT:
  953.   buf - String
  954.   buflen - Integer</P>
  955. <P>OUTPUT:
  956.   status - LDAP Filter Description Pointer</P>
  957. <P>AVAILABILITY: V2/V3</P>
  958. <P>EXAMPLE:</P>
  959. <PRE>
  960.   $status = ldap_init_getfilter_buf($buf,$buflen);</PRE>
  961. <P></P>
  962. <DT><STRONG><A NAME="item_ldap_is_ldap_url"><STRONG>ldap_is_ldap_url</STRONG>(url)</A></STRONG><BR>
  963. <DD>
  964. DESCRIPTION:
  965. <P>Return 1 if an the argument is a valid LDAP URL</P>
  966. <P>INPUT:
  967.   url - String</P>
  968. <P>OUTPUT:
  969.   status - Integer</P>
  970. <P>AVAILABILITY: V2/V3</P>
  971. <P>EXAMPLE:</P>
  972. <PRE>
  973.   $status = ldap_is_ldap_url($url);</PRE>
  974. <P></P>
  975. <DT><STRONG><A NAME="item_ldap_memcache_destroy"><STRONG>ldap_memcache_destroy</STRONG>(cache)</A></STRONG><BR>
  976. <DD>
  977. DESCRIPTION:
  978. <P>Destroy a memory cache</P>
  979. <P>INPUT:
  980.   cache - LDAP Memory Cache Pointer</P>
  981. <P>OUTPUT:
  982.   status - NONE</P>
  983. <P>AVAILABILITY: V3</P>
  984. <P>EXAMPLE:</P>
  985. <PRE>
  986.   $status = ldap_memcache_destroy($cache);</PRE>
  987. <P></P>
  988. <DT><STRONG><A NAME="item_ldap_memcache_flush"><STRONG>ldap_memcache_flush</STRONG>(cache,dn,scope)</A></STRONG><BR>
  989. <DD>
  990. DESCRIPTION:
  991. <P>Flush a specific DN from the memory cache</P>
  992. <P>INPUT:
  993.   cache - LDAP Memory Cache Pointer
  994.   dn - String
  995.   scope - Integer</P>
  996. <P>OUTPUT:
  997.   status - NONE</P>
  998. <P>AVAILABILITY: V3</P>
  999. <P>EXAMPLE:</P>
  1000. <PRE>
  1001.   $status = ldap_memcache_flush($cache,$dn,$scope);</PRE>
  1002. <P></P>
  1003. <DT><STRONG><A NAME="item_ldap_memcache_get"><STRONG>ldap_memcache_get</STRONG>(ld,cachep)</A></STRONG><BR>
  1004. <DD>
  1005. DESCRIPTION:
  1006. <P>Get the memory cache for a LDAP session</P>
  1007. <P>INPUT:
  1008.   ld - LDAP Session Handle
  1009.   cachep - LDAP Memory Cache Pointer</P>
  1010. <P>OUTPUT:
  1011.   status - Integer
  1012.   cachep - LDAP Memory Cache Pointer</P>
  1013. <P>AVAILABILITY: V3</P>
  1014. <P>EXAMPLE:</P>
  1015. <PRE>
  1016.   $status = ldap_memcache_get($ld,$cachep);</PRE>
  1017. <P></P>
  1018. <DT><STRONG><A NAME="item_ldap_memcache_init"><STRONG>ldap_memcache_init</STRONG>(ttl,size,baseDNs,cachep)</A></STRONG><BR>
  1019. <DD>
  1020. DESCRIPTION:
  1021. <P>Initialize a LDAP memory cache</P>
  1022. <P>INPUT:
  1023.   ttl - Integer
  1024.   size - Integer
  1025.   baseDNs - List Reference
  1026.   cachep - LDAP Memory Cache Pointer</P>
  1027. <P>OUTPUT:
  1028.   status - Integer
  1029.   cachep - LDAP Memory Cache Pointer</P>
  1030. <P>AVAILABILITY: V3</P>
  1031. <P>EXAMPLE:</P>
  1032. <PRE>
  1033.   $status = ldap_memcache_init($ttl,$size,$baseDNs,$cachep);</PRE>
  1034. <P></P>
  1035. <DT><STRONG><A NAME="item_ldap_memcache_set"><STRONG>ldap_memcache_set</STRONG>(ld,cache)</A></STRONG><BR>
  1036. <DD>
  1037. DESCRIPTION:
  1038. <P>Set the LDAP memory cache for the session</P>
  1039. <P>INPUT:
  1040.   ld - LDAP Session Handle
  1041.   cache - LDAP Memory Cache Pointer</P>
  1042. <P>OUTPUT:
  1043.   status - Integer</P>
  1044. <P>AVAILABILITY: V2/V3</P>
  1045. <P>EXAMPLE:</P>
  1046. <PRE>
  1047.   $status = ldap_memcache_set($ld,$cache);</PRE>
  1048. <P></P>
  1049. <DT><STRONG><A NAME="item_ldap_memcache_update"><STRONG>ldap_memcache_update</STRONG>(cache)</A></STRONG><BR>
  1050. <DD>
  1051. DESCRIPTION:
  1052. <P>Update the specified memory cache</P>
  1053. <P>INPUT:
  1054.   cache - LDAP Memory Cache Pointer</P>
  1055. <P>OUTPUT:
  1056.   status - NONE</P>
  1057. <P>AVAILABILITY: V3</P>
  1058. <P>EXAMPLE:</P>
  1059. <PRE>
  1060.   $status = ldap_memcache_update($cache);</PRE>
  1061. <P></P>
  1062. <DT><STRONG><A NAME="item_ldap_memfree"><STRONG>ldap_memfree</STRONG>(p)</A></STRONG><BR>
  1063. <DD>
  1064. DESCRIPTION:
  1065. <P>Free memory allocated by the LDAP C API</P>
  1066. <P>INPUT:
  1067.   p - Pointer</P>
  1068. <P>OUTPUT:
  1069.   status - NONE</P>
  1070. <P>AVAILABILITY: V2/V3</P>
  1071. <P>EXAMPLE:</P>
  1072. <PRE>
  1073.   $status = ldap_memfree($p);</PRE>
  1074. <P></P>
  1075. <DT><STRONG><A NAME="item_ldap_modify"><STRONG>ldap_modify</STRONG>(ld,dn,mods)</A></STRONG><BR>
  1076. <DD>
  1077. DESCRIPTION:
  1078. <P>Asynchronously modify a LDAP entry</P>
  1079. <P>INPUT:
  1080.   ld - LDAP Session Handle
  1081.   dn - String
  1082.   mods - LDAP Add/Modify Hash</P>
  1083. <P>OUTPUT:
  1084.   status - Integer</P>
  1085. <P>AVAILABILITY: V2/V3</P>
  1086. <P>EXAMPLE:</P>
  1087. <PRE>
  1088.   $status = ldap_modify($ld,$dn,$mods);</PRE>
  1089. <P></P>
  1090. <DT><STRONG><A NAME="item_ldap_modify_ext"><STRONG>ldap_modify_ext</STRONG>(ld,dn,mods,serverctrls,clientctrls,msgidp)</A></STRONG><BR>
  1091. <DD>
  1092. DESCRIPTION:
  1093. <P>Asynchronously modify a LDAP entry w/ Controls</P>
  1094. <P>INPUT:
  1095.   ld - LDAP Session Handle
  1096.   dn - String
  1097.   mods - LDAP Add/Modify Hash
  1098.   serverctrls - LDAP Control List Pointer
  1099.   clientctrls - LDAP Control List Pointer
  1100.   msgidp - Integer</P>
  1101. <P>OUTPUT:
  1102.   status - Integer
  1103.   msgidp - Integer</P>
  1104. <P>AVAILABILITY: V3</P>
  1105. <P>EXAMPLE:</P>
  1106. <PRE>
  1107.   $status = ldap_modify_ext($ld,$dn,$mods,$serverctrls,$clientctrls,$msgidp);</PRE>
  1108. <P></P>
  1109. <DT><STRONG><A NAME="item_ldap_modify_ext_s"><STRONG>ldap_modify_ext_s</STRONG>(ld,dn,mods,serverctrls,clientctrls)</A></STRONG><BR>
  1110. <DD>
  1111. DESCRIPTION:
  1112. <P>Synchronously modify a LDAP entry w/ Controls</P>
  1113. <P>INPUT:
  1114.   ld - LDAP Session Handle
  1115.   dn - String
  1116.   mods - LDAP Add/Modify Hash
  1117.   serverctrls - LDAP Control List Pointer
  1118.   clientctrls - LDAP Control List Pointer</P>
  1119. <P>OUTPUT:
  1120.   status - Integer</P>
  1121. <P>AVAILABILITY: V3</P>
  1122. <P>EXAMPLE:</P>
  1123. <PRE>
  1124.   $status = ldap_modify_ext_s($ld,$dn,$mods,$serverctrls,$clientctrls);</PRE>
  1125. <P></P>
  1126. <DT><STRONG><A NAME="item_ldap_modify_s"><STRONG>ldap_modify_s</STRONG>(ld,dn,mods)</A></STRONG><BR>
  1127. <DD>
  1128. DESCRIPTION:
  1129. <P>Synchronously modify a LDAP entry</P>
  1130. <P>INPUT:
  1131.   ld - LDAP Session Handle
  1132.   dn - String
  1133.   mods - LDAP Add/Modify Hash</P>
  1134. <P>OUTPUT:
  1135.   status - Integer</P>
  1136. <P>AVAILABILITY: V2/V3</P>
  1137. <P>EXAMPLE:</P>
  1138. <PRE>
  1139.   $status = ldap_modify_s($ld,$dn,$mods);</PRE>
  1140. <P></P>
  1141. <DT><STRONG><A NAME="item_ldap_modrdn"><STRONG>ldap_modrdn</STRONG>(ld,dn,newrdn)</A></STRONG><BR>
  1142. <DD>
  1143. DESCRIPTION:
  1144. <P>Asynchronously modify the relative distinguished name of an entry</P>
  1145. <P>INPUT:
  1146.   ld - LDAP Session Handle
  1147.   dn - String
  1148.   newrdn - String</P>
  1149. <P>OUTPUT:
  1150.   status - Integer</P>
  1151. <P>AVAILABILITY: V2/V3</P>
  1152. <P>EXAMPLE:</P>
  1153. <PRE>
  1154.   $status = ldap_modrdn($ld,$dn,$newrdn);</PRE>
  1155. <P></P>
  1156. <DT><STRONG><A NAME="item_ldap_modrdn_s"><STRONG>ldap_modrdn_s</STRONG>(ld,dn,newrdn)</A></STRONG><BR>
  1157. <DD>
  1158. DESCRIPTION:
  1159. <P>Synchronously modify the relative distinguished name of an entry</P>
  1160. <P>INPUT:
  1161.   ld - LDAP Session Handle
  1162.   dn - String
  1163.   newrdn - String</P>
  1164. <P>OUTPUT:
  1165.   status - Integer</P>
  1166. <P>AVAILABILITY: V2/V3</P>
  1167. <P>EXAMPLE:</P>
  1168. <PRE>
  1169.   $status = ldap_modrdn_s($ld,$dn,$newrdn);</PRE>
  1170. <P></P>
  1171. <DT><STRONG><A NAME="item_ldap_modrdn2"><STRONG>ldap_modrdn2</STRONG>(ld,dn,newrdn,deleteoldrdn)</A></STRONG><BR>
  1172. <DD>
  1173. DESCRIPTION:
  1174. <P>Asynchronously modify the relative distinguished name of an entry.</P>
  1175. <P>INPUT:
  1176.   ld - LDAP Session Handle
  1177.   dn - String
  1178.   newrdn - String
  1179.   deleteoldrdn - Integer</P>
  1180. <P>OUTPUT:
  1181.   status - Integer</P>
  1182. <P>AVAILABILITY: V2/V3</P>
  1183. <P>EXAMPLE:</P>
  1184. <PRE>
  1185.   $status = ldap_modrdn2($ld,$dn,$newrdn,$deleteoldrdn);</PRE>
  1186. <P></P>
  1187. <DT><STRONG><A NAME="item_ldap_modrdn2_s"><STRONG>ldap_modrdn2_s</STRONG>(ld,dn,newrdn,deleteoldrdn)</A></STRONG><BR>
  1188. <DD>
  1189. DESCRIPTION:
  1190. <P>Synchronously modify the relative distinguished name of an entry.</P>
  1191. <P>INPUT:
  1192.   ld - LDAP Session Handle
  1193.   dn - String
  1194.   newrdn - String
  1195.   deleteoldrdn - Integer</P>
  1196. <P>OUTPUT:
  1197.   status - Integer</P>
  1198. <P>AVAILABILITY: V2/V3</P>
  1199. <P>EXAMPLE:</P>
  1200. <PRE>
  1201.   $status = ldap_modrdn2_s($ld,$dn,$newrdn,$deleteoldrdn);</PRE>
  1202. <P></P>
  1203. <DT><STRONG><A NAME="item_ldap_msgfree"><STRONG>ldap_msgfree</STRONG>(lm)</A></STRONG><BR>
  1204. <DD>
  1205. DESCRIPTION:
  1206. <P>Free memory allocated by a LDAP Message</P>
  1207. <P>INPUT:
  1208.   lm - LDAP Message Pointer</P>
  1209. <P>OUTPUT:
  1210.   status - Integer</P>
  1211. <P>AVAILABILITY: V2/V3</P>
  1212. <P>EXAMPLE:</P>
  1213. <PRE>
  1214.   $status = ldap_msgfree($lm);</PRE>
  1215. <P></P>
  1216. <DT><STRONG><A NAME="item_ldap_msgid"><STRONG>ldap_msgid</STRONG>(lm)</A></STRONG><BR>
  1217. <DD>
  1218. DESCRIPTION:
  1219. <P>Get the message id number from a LDAP message</P>
  1220. <P>INPUT:
  1221.   lm - LDAP Message Pointer</P>
  1222. <P>OUTPUT:
  1223.   status - Integer</P>
  1224. <P>AVAILABILITY: V2/V3</P>
  1225. <P>EXAMPLE:</P>
  1226. <PRE>
  1227.   $status = ldap_msgid($lm);</PRE>
  1228. <P></P>
  1229. <DT><STRONG><A NAME="item_ldap_msgtype"><STRONG>ldap_msgtype</STRONG>(lm)</A></STRONG><BR>
  1230. <DD>
  1231. DESCRIPTION:
  1232. <P>Get the message type of a LDAP message</P>
  1233. <P>INPUT:
  1234.   lm - LDAP Message Pointer</P>
  1235. <P>OUTPUT:
  1236.   status - Integer</P>
  1237. <P>AVAILABILITY: V2/V3</P>
  1238. <P>EXAMPLE:</P>
  1239. <PRE>
  1240.   $status = ldap_msgtype($lm);</PRE>
  1241. <P></P>
  1242. <DT><STRONG><A NAME="item_ldap_multisort_entries"><STRONG>ldap_multisort_entries</STRONG>(ld,chain,attr)</A></STRONG><BR>
  1243. <DD>
  1244. DESCRIPTION:
  1245. <P>Sort entries by multiple keys</P>
  1246. <P>INPUT:
  1247.   ld - LDAP Session Handle
  1248.   chain - LDAP Message Pointer
  1249.   attr - List Reference</P>
  1250. <P>OUTPUT:
  1251.   status - Integer
  1252.   chain - LDAP Message Pointer</P>
  1253. <P>AVAILABILITY: V2/V3</P>
  1254. <P>EXAMPLE:</P>
  1255. <PRE>
  1256.   $status = ldap_multisort_entries($ld,$chain,$attr);</PRE>
  1257. <P></P>
  1258. <DT><STRONG><A NAME="item_ldap_next_attribute"><STRONG>ldap_next_attribute</STRONG>(ld,entry,ber)</A></STRONG><BR>
  1259. <DD>
  1260. DESCRIPTION:
  1261. <P>Get the next attribute for a LDAP entry</P>
  1262. <P>INPUT:
  1263.   ld - LDAP Session Handle
  1264.   entry - LDAP Message Pointer
  1265.   ber - Ber Element Pointer</P>
  1266. <P>OUTPUT:
  1267.   status - String
  1268.   ber - BER Element Pointer</P>
  1269. <P>AVAILABILITY: V2/V3</P>
  1270. <P>EXAMPLE:</P>
  1271. <PRE>
  1272.   $status = ldap_next_attribute($ld,$entry,$ber);</PRE>
  1273. <P></P>
  1274. <DT><STRONG><A NAME="item_ldap_next_entry"><STRONG>ldap_next_entry</STRONG>(ld,entry)</A></STRONG><BR>
  1275. <DD>
  1276. DESCRIPTION:
  1277. <P>Get the next entry in the result chain</P>
  1278. <P>INPUT:
  1279.   ld - LDAP Session Handle
  1280.   entry - LDAP Message Pointer</P>
  1281. <P>OUTPUT:
  1282.   status - LDAP Message Pointer</P>
  1283. <P>AVAILABILITY: V2/V3</P>
  1284. <P>EXAMPLE:</P>
  1285. <PRE>
  1286.   $status = ldap_next_entry($ld,$entry);</PRE>
  1287. <P></P>
  1288. <DT><STRONG><A NAME="item_ldap_next_message"><STRONG>ldap_next_message</STRONG>(ld,msg)</A></STRONG><BR>
  1289. <DD>
  1290. DESCRIPTION:
  1291. <P>Get the next message in the result chain</P>
  1292. <P>INPUT:
  1293.   ld - LDAP Session Handle
  1294.   msg - LDAP Message Pointer</P>
  1295. <P>OUTPUT:
  1296.   status - LDAP Message Pointer</P>
  1297. <P>AVAILABILITY: V3</P>
  1298. <P>EXAMPLE:</P>
  1299. <PRE>
  1300.   $status = ldap_next_message($ld,$msg);</PRE>
  1301. <P></P>
  1302. <DT><STRONG><A NAME="item_ldap_next_reference"><STRONG>ldap_next_reference</STRONG>(ld,ref)</A></STRONG><BR>
  1303. <DD>
  1304. DESCRIPTION:
  1305. <P>Get the next reference in the result chain</P>
  1306. <P>INPUT:
  1307.   ld - LDAP Session Handle
  1308.   ref - LDAP Message Pointer</P>
  1309. <P>OUTPUT:
  1310.   status - LDAP Message Pointer</P>
  1311. <P>AVAILABILITY: V3</P>
  1312. <P>EXAMPLE:</P>
  1313. <PRE>
  1314.   $status = ldap_next_reference($ld,$ref);</PRE>
  1315. <P></P>
  1316. <DT><STRONG><A NAME="item_ldap_parse_entrychange_control"><STRONG>ldap_parse_entrychange_control</STRONG>(ld,ctrls,chgtypep,prevdnp,chgnumpresentp,chgnump)</A></STRONG><BR>
  1317. <DD>
  1318. DESCRIPTION:
  1319. <P>Parse a LDAP entry change control</P>
  1320. <P>INPUT:
  1321.   ld - LDAP Session Handle
  1322.   ctrls - LDAP Control List Pointer
  1323.   chgtypep - Integer
  1324.   prevdnp - String
  1325.   chgnumpresentp - Integer
  1326.   chgnump - Integer</P>
  1327. <P>OUTPUT:
  1328.   status - Integer
  1329.   chgtypep - Integer
  1330.   prevdnp - String
  1331.   chgnumpresentp - Integer
  1332.   chgnump - Integer</P>
  1333. <P>AVAILABILITY: V3</P>
  1334. <P>EXAMPLE:</P>
  1335. <PRE>
  1336.   $status = ldap_parse_entrychange_control($ld,$ctrls,$chgtypep,$prevdnp,$chgnumpresentp,$chgnump);</PRE>
  1337. <P></P>
  1338. <DT><STRONG><A NAME="item_ldap_parse_extended_result"><STRONG>ldap_parse_extended_result</STRONG>(ld,res,retoidp,retdatap,freeit)</A></STRONG><BR>
  1339. <DD>
  1340. DESCRIPTION:
  1341. <P>Parse a LDAP extended result</P>
  1342. <P>INPUT:
  1343.   ld - LDAP Session Handle
  1344.   res - LDAP Message Pointer
  1345.   retoidp - String
  1346.   freeit - Integer</P>
  1347. <P>OUTPUT:
  1348.   status - Integer
  1349.   retoidp - String
  1350.   retdatap - Binary List Reference</P>
  1351. <P>AVAILABILITY: V3</P>
  1352. <P>EXAMPLE:</P>
  1353. <PRE>
  1354.   $status = ldap_parse_extended_result($ld,$res,$retoidp,$retdatap,$freeit);</PRE>
  1355. <P></P>
  1356. <DT><STRONG><A NAME="item_ldap_parse_reference"><STRONG>ldap_parse_reference</STRONG>(ld,ref,referalsp,serverctrlsp,freeit)</A></STRONG><BR>
  1357. <DD>
  1358. DESCRIPTION:
  1359. <P>Parse a LDAP Reference</P>
  1360. <P>INPUT:
  1361.   ld - LDAP Session Handle
  1362.   ref - LDAP Message Pointer
  1363.   referalsp - List Reference
  1364.   serverctrlsp - LDAP Control List Pointer
  1365.   freeit - Integer</P>
  1366. <P>OUTPUT:
  1367.   status - Integer
  1368.   referalsp - List Reference
  1369.   serverctrlsp - LDAP Control List Pointer</P>
  1370. <P>AVAILABILITY: V3</P>
  1371. <P>EXAMPLE:</P>
  1372. <PRE>
  1373.   $status = ldap_parse_reference($ld,$ref,$referalsp,$serverctrlsp,$freeit);</PRE>
  1374. <P></P>
  1375. <DT><STRONG><A NAME="item_ldap_parse_result"><STRONG>ldap_parse_result</STRONG>(ld,res,errcodep,matcheddnp,errmsgp,referralsp,serverctrlsp,freeit)</A></STRONG><BR>
  1376. <DD>
  1377. DESCRIPTION:
  1378. <P>Parse a LDAP result</P>
  1379. <P>INPUT:
  1380.   ld - LDAP Session Handle
  1381.   res - LDAP Message Pointer
  1382.   errcodep - Integer
  1383.   matcheddnp - String
  1384.   errmsgp - String
  1385.   referralsp - List Reference
  1386.   serverctrlsp - LDAP Control List Pointer
  1387.   freeit - Integer</P>
  1388. <P>OUTPUT:
  1389.   status - Integer
  1390.   errcodep - Integer
  1391.   matcheddnp - String
  1392.   errmsgp - String
  1393.   referralsp - List Reference
  1394.   serverctrlsp - LDAP Control List Pointer</P>
  1395. <P>AVAILABILITY: V3</P>
  1396. <P>EXAMPLE:</P>
  1397. <PRE>
  1398.   $status = ldap_parse_result($ld,$res,$errcodep,$matcheddnp,$errmsgp,$referralsp,$serverctrlsp,$freeit);</PRE>
  1399. <P></P>
  1400. <DT><STRONG><A NAME="item_ldap_parse_sasl_bind_result"><STRONG>ldap_parse_sasl_bind_result</STRONG>(ld,res,servercredp,freeit)</A></STRONG><BR>
  1401. <DD>
  1402. DESCRIPTION:
  1403. <P>Parse the results of an SASL bind operation</P>
  1404. <P>INPUT:
  1405.   ld - LDAP Session Handle
  1406.   res - LDAP Message Pointer
  1407.   freeit - Integer</P>
  1408. <P>OUTPUT:
  1409.   status - Integer
  1410.   servercredp -</P>
  1411. <P>AVAILABILITY: V3</P>
  1412. <P>EXAMPLE:</P>
  1413. <PRE>
  1414.   $status = ldap_parse_sasl_bind_result($ld,$res,$servercredp,$freeit);</PRE>
  1415. <P></P>
  1416. <DT><STRONG><A NAME="item_ldap_parse_sort_control"><STRONG>ldap_parse_sort_control</STRONG>(ld,ctrls,result,attribute)</A></STRONG><BR>
  1417. <DD>
  1418. DESCRIPTION:
  1419. <P>Parse a LDAP sort control</P>
  1420. <P>INPUT:
  1421.   ld - LDAP Session Handle
  1422.   ctrls - LDAP Control List Pointer
  1423.   result - LDAP Message Pointer
  1424.   attribute - String</P>
  1425. <P>OUTPUT:
  1426.   status - Integer
  1427.   result - LDAP Message Pointer
  1428.   attribute - String</P>
  1429. <P>AVAILABILITY: V3</P>
  1430. <P>EXAMPLE:</P>
  1431. <PRE>
  1432.   $status = ldap_parse_sort_control($ld,$ctrls,$result,$attribute);</PRE>
  1433. <P></P>
  1434. <DT><STRONG><A NAME="item_ldap_parse_virtuallist_control"><STRONG>ldap_parse_virtuallist_control</STRONG>(ld,ctrls,target_posp,list_sizep,errcodep)</A></STRONG><BR>
  1435. <DD>
  1436. DESCRIPTION:
  1437. <P>Parse a LDAP virtual list control</P>
  1438. <P>INPUT:
  1439.   ld - LDAP Session Handle
  1440.   ctrls - LDAP Control List Pointer
  1441.   target_posp - Integer
  1442.   list_sizep - Integer
  1443.   errcodep - Integer</P>
  1444. <P>OUTPUT:
  1445.   status - Integer
  1446.   target_posp - Integer
  1447.   list_sizep - Integer
  1448.   errcodep - Integer</P>
  1449. <P>AVAILABILITY: V3</P>
  1450. <P>EXAMPLE:</P>
  1451. <PRE>
  1452.   $status = ldap_parse_virtuallist_control($ld,$ctrls,$target_posp,$list_sizep,$errcodep);</PRE>
  1453. <P></P>
  1454. <DT><STRONG><A NAME="item_ldap_perror"><STRONG>ldap_perror</STRONG>(ld,s)</A></STRONG><BR>
  1455. <DD>
  1456. DESCRIPTION:
  1457. <P>Print a LDAP error message</P>
  1458. <P>INPUT:
  1459.   ld - LDAP Session Handle
  1460.   s - String</P>
  1461. <P>OUTPUT:
  1462.   status - NONE</P>
  1463. <P>AVAILABILITY: V2/V3</P>
  1464. <P>EXAMPLE:</P>
  1465. <PRE>
  1466.   $status = ldap_perror($ld,$s);</PRE>
  1467. <P></P>
  1468. <DT><STRONG><A NAME="item_ldap_rename"><STRONG>ldap_rename</STRONG>(ld,dn,newrdn,newparent,deleteoldrdn,serverctrls,clientctrls,msgidp)</A></STRONG><BR>
  1469. <DD>
  1470. DESCRIPTION:
  1471. <P>Asynchronously rename a LDAP entry</P>
  1472. <P>INPUT:
  1473.   ld - LDAP Session Handle
  1474.   dn - String
  1475.   newrdn - String
  1476.   newparent - String
  1477.   deleteoldrdn - Integer
  1478.   serverctrls - LDAP Control List Pointer
  1479.   clientctrls - LDAP Control List Pointer
  1480.   msgidp - Integer</P>
  1481. <P>OUTPUT:
  1482.   status - Integer
  1483.   msgidp - Integer</P>
  1484. <P>AVAILABILITY: V3</P>
  1485. <P>EXAMPLE:</P>
  1486. <PRE>
  1487.   $status = ldap_rename($ld,$dn,$newrdn,$newparent,$deleteoldrdn,$serverctrls,$clientctrls,$msgidp);</PRE>
  1488. <P></P>
  1489. <DT><STRONG><A NAME="item_ldap_rename_s"><STRONG>ldap_rename_s</STRONG>(ld,dn,newrdn,newparent,deleteoldrdn,serverctrls,clientctrls)</A></STRONG><BR>
  1490. <DD>
  1491. DESCRIPTION:
  1492. <P>Synchronously rename a LDAP entry</P>
  1493. <P>INPUT:
  1494.   ld - LDAP Session Handle
  1495.   dn - String
  1496.   newrdn - String
  1497.   newparent - String
  1498.   deleteoldrdn - Integer
  1499.   serverctrls - LDAP Control List Pointer
  1500.   clientctrls - LDAP Control List Pointer</P>
  1501. <P>OUTPUT:
  1502.   status - Integer</P>
  1503. <P>AVAILABILITY: V3</P>
  1504. <P>EXAMPLE:</P>
  1505. <PRE>
  1506.   $status = ldap_rename_s($ld,$dn,$newrdn,$newparent,$deleteoldrdn,$serverctrls,$clientctrls);</PRE>
  1507. <P></P>
  1508. <DT><STRONG><A NAME="item_ldap_result"><STRONG>ldap_result</STRONG>(ld,msgid,all,timeout,result)</A></STRONG><BR>
  1509. <DD>
  1510. DESCRIPTION:
  1511. <P>Get the result for an asynchronous LDAP operation</P>
  1512. <P>INPUT:
  1513.   ld - LDAP Session Handle
  1514.   msgid - Integer
  1515.   all - Integer
  1516.   timeout - Time in Seconds
  1517.   result - LDAP Message Pointer</P>
  1518. <P>OUTPUT:
  1519.   status - Integer
  1520.   result - LDAP Message Pointer</P>
  1521. <P>AVAILABILITY: V2/V3</P>
  1522. <P>EXAMPLE:</P>
  1523. <PRE>
  1524.   $status = ldap_result($ld,$msgid,$all,$timeout,$result);</PRE>
  1525. <P></P>
  1526. <DT><STRONG><A NAME="item_ldap_result2error"><STRONG>ldap_result2error</STRONG>(ld,r,freeit)</A></STRONG><BR>
  1527. <DD>
  1528. DESCRIPTION:
  1529. <P>Get the error number for a given result</P>
  1530. <P>INPUT:
  1531.   ld - LDAP Session Handle
  1532.   r - LDAP Message Pointer
  1533.   freeit - Integer</P>
  1534. <P>OUTPUT:
  1535.   status - Integer</P>
  1536. <P>AVAILABILITY: V2/V3</P>
  1537. <P>EXAMPLE:</P>
  1538. <PRE>
  1539.   $status = ldap_result2error($ld,$r,$freeit);</PRE>
  1540. <P></P>
  1541. <DT><STRONG><A NAME="item_ldap_sasl_bind"><STRONG>ldap_sasl_bind</STRONG>(ld,dn,mechanism,cred,serverctrls,clientctrls,msgidp)</A></STRONG><BR>
  1542. <DD>
  1543. DESCRIPTION:
  1544. <P>Asynchronously bind to the LDAP server using a SASL mechanism</P>
  1545. <P>INPUT:
  1546.   ld - LDAP Session Handle
  1547.   dn - String
  1548.   mechanism - String
  1549.   cred - Binary String
  1550.   serverctrls - LDAP Control List Pointer
  1551.   clientctrls - LDAP Control List Pointer
  1552.   msgidp - Integer</P>
  1553. <P>OUTPUT:
  1554.   status - Integer
  1555.   msgidp - Integer</P>
  1556. <P>AVAILABILITY: V3</P>
  1557. <P>EXAMPLE:</P>
  1558. <PRE>
  1559.   $status = ldap_sasl_bind($ld,$dn,$mechanism,$cred,$serverctrls,$clientctrls,$msgidp);</PRE>
  1560. <P></P>
  1561. <DT><STRONG><A NAME="item_ldap_sasl_bind_s"><STRONG>ldap_sasl_bind_s</STRONG>(ld,dn,mechanism,cred,serverctrls,clientctrls,servercredp)</A></STRONG><BR>
  1562. <DD>
  1563. DESCRIPTION:
  1564. <P>Synchronously bind to a LDAP server using a SASL mechanism</P>
  1565. <P>INPUT:
  1566.   ld - LDAP Session Handle
  1567.   dn - String
  1568.   mechanism - String
  1569.   cred - Binary String
  1570.   serverctrls - LDAP Control List Pointer
  1571.   clientctrls - LDAP Control List Pointer</P>
  1572. <P>OUTPUT:
  1573.   status - Integer
  1574.   servercredp -</P>
  1575. <P>AVAILABILITY: V3</P>
  1576. <P>EXAMPLE:</P>
  1577. <PRE>
  1578.   $status = ldap_sasl_bind_s($ld,$dn,$mechanism,$cred,$serverctrls,$clientctrls,$servercredp);</PRE>
  1579. <P></P>
  1580. <DT><STRONG><A NAME="item_ldap_search"><STRONG>ldap_search</STRONG>(ld,base,scope,filter,attrs,attrsonly)</A></STRONG><BR>
  1581. <DD>
  1582. DESCRIPTION:
  1583. <P>Asynchronously search the LDAP server</P>
  1584. <P>INPUT:
  1585.   ld - LDAP Session Handle
  1586.   base - String
  1587.   scope - Integer
  1588.   filter - String
  1589.   attrs - List Reference
  1590.   attrsonly - Integer</P>
  1591. <P>OUTPUT:
  1592.   status - Integer</P>
  1593. <P>AVAILABILITY: V2/V3</P>
  1594. <P>EXAMPLE:</P>
  1595. <PRE>
  1596.   $status = ldap_search($ld,$base,$scope,$filter,$attrs,$attrsonly);</PRE>
  1597. <P></P>
  1598. <DT><STRONG><A NAME="item_ldap_search_ext"><STRONG>ldap_search_ext</STRONG>(ld,base,scope,filter,attrs,attrsonly,serverctrls,clientctrls,timeoutp,sizelimit,msgidp)</A></STRONG><BR>
  1599. <DD>
  1600. DESCRIPTION:
  1601. <P>Asynchronously search the LDAP server w/ Controls</P>
  1602. <P>INPUT:
  1603.   ld - LDAP Session Handle
  1604.   base - String
  1605.   scope - Integer
  1606.   filter - String
  1607.   attrs - List Reference
  1608.   attrsonly - Integer
  1609.   serverctrls - LDAP Control List Pointer
  1610.   clientctrls - LDAP Control List Pointer
  1611.   timeoutp - Time in Seconds
  1612.   sizelimit - Integer
  1613.   msgidp - Integer</P>
  1614. <P>OUTPUT:
  1615.   status - Integer
  1616.   msgidp - Integer</P>
  1617. <P>AVAILABILITY: V3</P>
  1618. <P>EXAMPLE:</P>
  1619. <PRE>
  1620.   $status = ldap_search_ext($ld,$base,$scope,$filter,$attrs,$attrsonly,$serverctrls,$clientctrls,$timeoutp,$sizelimit,$msgidp);</PRE>
  1621. <P></P>
  1622. <DT><STRONG><A NAME="item_ldap_search_ext_s"><STRONG>ldap_search_ext_s</STRONG>(ld,base,scope,filter,attrs,attrsonly,serverctrls,clientctrls,timeoutp,sizelimit,res)</A></STRONG><BR>
  1623. <DD>
  1624. DESCRIPTION:
  1625. <P>Synchronously search the LDAP server w/ Controls</P>
  1626. <P>INPUT:
  1627.   ld - LDAP Session Handle
  1628.   base - String
  1629.   scope - Integer
  1630.   filter - String
  1631.   attrs - List Reference
  1632.   attrsonly - Integer
  1633.   serverctrls - LDAP Control List Pointer
  1634.   clientctrls - LDAP Control List Pointer
  1635.   timeoutp - Time in Seconds
  1636.   sizelimit - Integer
  1637.   res - LDAP Message Pointer</P>
  1638. <P>OUTPUT:
  1639.   status - Integer
  1640.   res - LDAP Message Pointer</P>
  1641. <P>AVAILABILITY: V3</P>
  1642. <P>EXAMPLE:</P>
  1643. <PRE>
  1644.   $status = ldap_search_ext_s($ld,$base,$scope,$filter,$attrs,$attrsonly,$serverctrls,$clientctrls,$timeoutp,$sizelimit,$res);</PRE>
  1645. <P></P>
  1646. <DT><STRONG><A NAME="item_ldap_search_s"><STRONG>ldap_search_s</STRONG>(ld,base,scope,filter,attrs,attrsonly,res)</A></STRONG><BR>
  1647. <DD>
  1648. DESCRIPTION:
  1649. <P>Synchronously search the LDAP server</P>
  1650. <P>INPUT:
  1651.   ld - LDAP Session Handle
  1652.   base - String
  1653.   scope - Integer
  1654.   filter - String
  1655.   attrs - List Reference
  1656.   attrsonly - Integer
  1657.   res - LDAP Message Pointer</P>
  1658. <P>OUTPUT:
  1659.   status - Integer
  1660.   res - LDAP Message Pointer</P>
  1661. <P>AVAILABILITY: V2/V3</P>
  1662. <P>EXAMPLE:</P>
  1663. <PRE>
  1664.   $status = ldap_search_s($ld,$base,$scope,$filter,$attrs,$attrsonly,$res);</PRE>
  1665. <P></P>
  1666. <DT><STRONG><A NAME="item_ldap_search_st"><STRONG>ldap_search_st</STRONG>(ld,base,scope,filter,attrs,attrsonly,timeout,res)</A></STRONG><BR>
  1667. <DD>
  1668. DESCRIPTION:
  1669. <P>Synchronously search the LDAP server w/ Timeout</P>
  1670. <P>INPUT:
  1671.   ld - LDAP Session Handle
  1672.   base - String
  1673.   scope - Integer
  1674.   filter - String
  1675.   attrs - List Reference
  1676.   attrsonly - Integer
  1677.   timeout - Time in Seconds
  1678.   res - LDAP Message Pointer</P>
  1679. <P>OUTPUT:
  1680.   status - Integer
  1681.   res - LDAP Message Pointer</P>
  1682. <P>AVAILABILITY: V2/V3</P>
  1683. <P>EXAMPLE:</P>
  1684. <PRE>
  1685.   $status = ldap_search_st($ld,$base,$scope,$filter,$attrs,$attrsonly,$timeout,$res);</PRE>
  1686. <P></P>
  1687. <DT><STRONG><A NAME="item_ldap_set_filter_additions"><STRONG>ldap_set_filter_additions</STRONG>(lfdp,prefix,suffix)</A></STRONG><BR>
  1688. <DD>
  1689. DESCRIPTION:
  1690. <P>Add a prefix and suffix for filter generation</P>
  1691. <P>INPUT:
  1692.   lfdp - LDAP Filter Description Pointer
  1693.   prefix - String
  1694.   suffix - String</P>
  1695. <P>OUTPUT:
  1696.   status - Integer</P>
  1697. <P>AVAILABILITY: V2/V3</P>
  1698. <P>EXAMPLE:</P>
  1699. <PRE>
  1700.   $status = ldap_set_filter_additions($lfdp,$prefix,$suffix);</PRE>
  1701. <P></P>
  1702. <DT><STRONG><A NAME="item_ldap_set_lderrno"><STRONG>ldap_set_lderrno</STRONG>(ld,e,m,s)</A></STRONG><BR>
  1703. <DD>
  1704. DESCRIPTION:
  1705. <P>Set the LDAP error structure</P>
  1706. <P>INPUT:
  1707.   ld - LDAP Session Handle
  1708.   e - Integer
  1709.   m - String
  1710.   s - String</P>
  1711. <P>OUTPUT:
  1712.   status - Integer</P>
  1713. <P>AVAILABILITY: V2/V3</P>
  1714. <P>EXAMPLE:</P>
  1715. <PRE>
  1716.   $status = ldap_set_lderrno($ld,$e,$m,$s);</PRE>
  1717. <P></P>
  1718. <DT><STRONG><A NAME="item_ldap_set_option"><STRONG>ldap_set_option</STRONG>(ld,option,optdata)</A></STRONG><BR>
  1719. <DD>
  1720. DESCRIPTION:
  1721. <P>Set a LDAP session option</P>
  1722. <P>INPUT:
  1723.   ld - LDAP Session Handle
  1724.   option - Integer
  1725.   optdata - Integer</P>
  1726. <P>OUTPUT:
  1727.   status - Integer</P>
  1728. <P>AVAILABILITY: V2/V3</P>
  1729. <P>EXAMPLE:</P>
  1730. <PRE>
  1731.   $status = ldap_set_option($ld,$option,$optdata);</PRE>
  1732. <P></P>
  1733. <DT><STRONG><A NAME="item_ldap_set_rebind_proc"><STRONG>ldap_set_rebind_proc</STRONG>(ld,rebindproc)</A></STRONG><BR>
  1734. <DD>
  1735. DESCRIPTION:
  1736. <P>Set the LDAP rebind process</P>
  1737. <P>INPUT:
  1738.   ld - LDAP Session Handle</P>
  1739. <P>OUTPUT:
  1740.   status - NONE</P>
  1741. <P>AVAILABILITY: V2/V3</P>
  1742. <P>EXAMPLE:</P>
  1743. <PRE>
  1744.   $status = ldap_set_rebind_proc($ld,$rebindproc);</PRE>
  1745. <P></P>
  1746. <DT><STRONG><A NAME="item_ldap_simple_bind"><STRONG>ldap_simple_bind</STRONG>(ld,who,passwd)</A></STRONG><BR>
  1747. <DD>
  1748. DESCRIPTION:
  1749. <P>Asynchronously bind to the LDAP server using simple authentication</P>
  1750. <P>INPUT:
  1751.   ld - LDAP Session Handle
  1752.   who - String
  1753.   passwd - String</P>
  1754. <P>OUTPUT:
  1755.   status - Integer</P>
  1756. <P>AVAILABILITY: V2/V3</P>
  1757. <P>EXAMPLE:</P>
  1758. <PRE>
  1759.   $status = ldap_simple_bind($ld,$who,$passwd);</PRE>
  1760. <P></P>
  1761. <DT><STRONG><A NAME="item_ldap_simple_bind_s"><STRONG>ldap_simple_bind_s</STRONG>(ld,who,passwd)</A></STRONG><BR>
  1762. <DD>
  1763. DESCRIPTION:
  1764. <P>Synchronously bind to the LDAP server using simple authentication</P>
  1765. <P>INPUT:
  1766.   ld - LDAP Session Handle
  1767.   who - String
  1768.   passwd - String</P>
  1769. <P>OUTPUT:
  1770.   status - Integer</P>
  1771. <P>AVAILABILITY: V2/V3</P>
  1772. <P>EXAMPLE:</P>
  1773. <PRE>
  1774.   $status = ldap_simple_bind_s($ld,$who,$passwd);</PRE>
  1775. <P></P>
  1776. <DT><STRONG><A NAME="item_ldap_sort_entries"><STRONG>ldap_sort_entries</STRONG>(ld,chain,attr)</A></STRONG><BR>
  1777. <DD>
  1778. DESCRIPTION:
  1779. <P>Sort the results of a LDAP search</P>
  1780. <P>INPUT:
  1781.   ld - LDAP Session Handle
  1782.   chain - LDAP Message Pointer
  1783.   attr - String</P>
  1784. <P>OUTPUT:
  1785.   status - Integer
  1786.   chain - LDAP Message Pointer</P>
  1787. <P>AVAILABILITY: V2/V3</P>
  1788. <P>EXAMPLE:</P>
  1789. <PRE>
  1790.   $status = ldap_sort_entries($ld,$chain,$attr);</PRE>
  1791. <P></P>
  1792. <DT><STRONG><A NAME="item_ldap_unbind"><STRONG>ldap_unbind</STRONG>(ld)</A></STRONG><BR>
  1793. <DD>
  1794. DESCRIPTION:
  1795. <P>Asynchronously unbind from the LDAP server</P>
  1796. <P>INPUT:
  1797.   ld - LDAP Session Handle</P>
  1798. <P>OUTPUT:
  1799.   status - Integer</P>
  1800. <P>AVAILABILITY: V2/V3</P>
  1801. <P>EXAMPLE:</P>
  1802. <PRE>
  1803.   $status = ldap_unbind($ld);</PRE>
  1804. <P></P>
  1805. <DT><STRONG><A NAME="item_ldap_unbind_s"><STRONG>ldap_unbind_s</STRONG>(ld)</A></STRONG><BR>
  1806. <DD>
  1807. DESCRIPTION:
  1808. <P>Synchronously unbind from a LDAP server</P>
  1809. <P>INPUT:
  1810.   ld - LDAP Session Handle</P>
  1811. <P>OUTPUT:
  1812.   status - Integer</P>
  1813. <P>AVAILABILITY: V2/V3</P>
  1814. <P>EXAMPLE:</P>
  1815. <PRE>
  1816.   $status = ldap_unbind_s($ld);</PRE>
  1817. <P></P>
  1818. <DT><STRONG><A NAME="item_ldap_url_parse"><STRONG>ldap_url_parse</STRONG>(url)</A></STRONG><BR>
  1819. <DD>
  1820. DESCRIPTION:
  1821. <P>Parse a LDAP URL, returning a HASH of its components</P>
  1822. <P>INPUT:
  1823.   url - String</P>
  1824. <P>OUTPUT:
  1825.   status -</P>
  1826. <P>AVAILABILITY: V2/V3</P>
  1827. <P>EXAMPLE:</P>
  1828. <PRE>
  1829.   $status = ldap_url_parse($url);</PRE>
  1830. <P></P>
  1831. <DT><STRONG><A NAME="item_ldap_url_search"><STRONG>ldap_url_search</STRONG>(ld,url,attrsonly)</A></STRONG><BR>
  1832. <DD>
  1833. DESCRIPTION:
  1834. <P>Asynchronously search using a LDAP URL</P>
  1835. <P>INPUT:
  1836.   ld - LDAP Session Handle
  1837.   url - String
  1838.   attrsonly - Integer</P>
  1839. <P>OUTPUT:
  1840.   status - Integer</P>
  1841. <P>AVAILABILITY: V2/V3</P>
  1842. <P>EXAMPLE:</P>
  1843. <PRE>
  1844.   $status = ldap_url_search($ld,$url,$attrsonly);</PRE>
  1845. <P></P>
  1846. <DT><STRONG><A NAME="item_ldap_url_search_s"><STRONG>ldap_url_search_s</STRONG>(ld,url,attrsonly,res)</A></STRONG><BR>
  1847. <DD>
  1848. DESCRIPTION:
  1849. <P>Synchronously search using a LDAP URL</P>
  1850. <P>INPUT:
  1851.   ld - LDAP Session Handle
  1852.   url - String
  1853.   attrsonly - Integer
  1854.   res - LDAP Message Pointer</P>
  1855. <P>OUTPUT:
  1856.   status - Integer
  1857.   res - LDAP Message Pointer</P>
  1858. <P>AVAILABILITY: V2/V3</P>
  1859. <P>EXAMPLE:</P>
  1860. <PRE>
  1861.   $status = ldap_url_search_s($ld,$url,$attrsonly,$res);</PRE>
  1862. <P></P>
  1863. <DT><STRONG><A NAME="item_ldap_url_search_st"><STRONG>ldap_url_search_st</STRONG>(ld,url,attrsonly,timeout,res)</A></STRONG><BR>
  1864. <DD>
  1865. DESCRIPTION:
  1866. <P>Synchronously search using a LDAP URL w/ timeout</P>
  1867. <P>INPUT:
  1868.   ld - LDAP Session Handle
  1869.   url - String
  1870.   attrsonly - Integer
  1871.   timeout - Time in Seconds
  1872.   res - LDAP Message Pointer</P>
  1873. <P>OUTPUT:
  1874.   status - Integer
  1875.   res - LDAP Message Pointer</P>
  1876. <P>AVAILABILITY: V2/V3</P>
  1877. <P>EXAMPLE:</P>
  1878. <PRE>
  1879.   $status = ldap_url_search_st($ld,$url,$attrsonly,$timeout,$res);</PRE>
  1880. <P></P></DL>
  1881. <P>
  1882. <HR>
  1883. <H1><A NAME="credits">CREDITS</A></H1>
  1884. <P>Most of the Perl API module was written by Clayton Donley to interface with
  1885. C API routines from Netscape Communications Corp., Inc.</P>
  1886. <P>
  1887. <HR>
  1888. <H1><A NAME="bugs">BUGS</A></H1>
  1889. <P>Documentation needs much work.
  1890. LDAPv3 calls not tested or supported in this version.
  1891. NT can not use Perl Rebind processes, must use 'ldap_set_default_rebindproc'.
  1892. Possible memory leak in ldap_search* is being investigated.</P>
  1893. <P>
  1894. <HR>
  1895. <H1><A NAME="see also">SEE ALSO</A></H1>
  1896. <P><A HREF="../../../../site/lib/Mozilla/LDAP/Conn.html">the Mozilla::LDAP::Conn manpage</A>, <A HREF="../../../../site/lib/Mozilla/LDAP/Entry.html">the Mozilla::LDAP::Entry manpage</A>, and <EM>Perl</EM></P>
  1897. <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
  1898. <TR><TD CLASS=block VALIGN=MIDDLE WIDTH=100% BGCOLOR="#cccccc">
  1899. <STRONG><P CLASS=block> Mozilla::LDAP::API - Perl methods for LDAP C API calls</P></STRONG>
  1900. </TD></TR>
  1901. </TABLE>
  1902.  
  1903. </BODY>
  1904.  
  1905. </HTML>
  1906.