#include <ldap.h>
int ldap_rename( LDAP *ld, const char *dn, const char *newrdn,
const char *newparent, int deleteoldrdn,
LDAPControl **serverctrls, LDAPControl **clientctrls,
int *msgidp );
ld |
Connection handle, which is a pointer to an |
dn | |
newrdn | New relative distinguished name (RDN) to assign to the entry. |
newparent | |
deleteoldrdn | |
serverctrls |
Pointer to an array of |
clientctrls |
Pointer to an array of |
msgidp |
Pointer to an integer that will be set to the message ID of the LDAP operation.Pointer to an integer that will be set to the message ID of the LDAP operation. To check the result of this operation, call |
LDAP_SUCCESS if successful. LDAP_PARAM_ERROR if any of the arguments are invalid. LDAP_ENCODING_ERROR if an error occurred when BER-encoding the request. LDAP_SERVER_DOWN if the LDAP server did not receive the request or if the connection to the server was lost. LDAP_NO_MEMORY if memory cannot be allocated. LDAP_NOT_SUPPORTED if controls are included in your request (for example, as a session preference) and your LDAP client does not specify that it is using the LDAP v3 protocol. Make sure that you set the version of your LDAP client to version 3 before calling this function. (For details, see "Specifying the LDAP Version of Your Client" on page 54.) ldap_rename() changes the distinguished name (DN) of an entry in the directory asynchronously and allows you to move the entry under a different parent entry in the directory tree.
This function is a new version of the ldap_modrdn2() function. If you are writing a new LDAP client, you should call this function instead of ldap_modrdn2().
You can specify whether or not the old RDN is retained as an attribute of the entry. Use the deleteoldrdn argument to do this. Suppose an entry has the following values for the cn attribute:
cn: Barbara Jensen
cn: Babs JensenIf you change the RDN to
cn=Barbie Jensen and pass 1 as deleteoldrdn, the resulting entry has the following values:
cn: Barbie Jensen
cn: Babs JensenIf instead you pass
0 as deleteoldrdn, the "Barbara Jensen" value is not removed from the entry:
cn: Barbie Jensen
cn: Babs Jensen
cn: Barbara Jensen
ldap_rename() is an asynchronous function; it does not directly return results. If you want the results to be returned directly by the function, call the synchronous function ldap_rename_s() instead. (For more information on asynchronous and synchronous functions, see "Calling Synchronous and Asynchronous Functions" on page 80.)
In order to get the results of the LDAP rename operation, you need to call the ldap_result() function and the ldap_parse_result() function. (See "Calling Asynchronous Functions" on page 82 for details.) For a list of possible result codes for an LDAP rename operation, see the result code documentation for the ldap_rename_s() function.
For more information on changing the DN of an entry, see "Changing the DN of an Entry" on page 217.
ldap_rename_s(), ldap_result(), ldap_parse_result().
Last Updated: 10/01/98 17:06:23