---
name: "ldap_rename"
section: "3"
platform: "linux"
package: "libldap"
version: "2.7.2-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux", "macos"]
url: "https://new.carta.tech/ldap_rename"
---

# ldap\_rename(3)

Renames the specified entry.

## NAME

ldap\_rename, ldap\_rename\_s - Renames the specified entry.

## LIBRARY

OpenLDAP LDAP (libldap, -lldap)

## SYNOPSIS

```
#include <ldap.h>
```

**int ldap\_rename( ld, dn, newrdn, newparent, deleteoldrdn, sctrls\[\], cctrls\[\], msgidp );** **LDAP \*ld;** **const char \*dn, \*newrdn, \*newparent;** **int deleteoldrdn;** **LDAPControl \*sctrls\[\], \*cctrls\[\];** **int \*msgidp);**

**int ldap\_rename\_s( ld, dn, newrdn, newparent, deleteoldrdn, sctrls\[\], cctrls\[\] );** **LDAP \*ld;** **const char \*dn, \*newrdn, \*newparent;** **int deleteoldrdn;** **LDAPControl \*sctrls\[\], \*cctrls\[\];**

## DESCRIPTION

**These routines are used to perform a LDAP rename operation.** **The function changes the leaf component of an entry's distinguished** **name and  optionally moves the entry to a new parent container. The**  **ldap\_rename\_s** **performs a rename operation synchronously.** **The method takes** *dn***, which points to the distinguished name of** **the entry whose attribute is being compared,** *newparent***,the distinguished** **name of the entry's new parent. If this parameter is NULL, only the RDN is changed.** **The root DN is specified by passing a zero length string, "".**  *deleteoldrdn* **specifies whether the old RDN should be retained or deleted.** **Zero indicates that the old RDN should be retained. If you choose this option,** **the attribute will contain both names (the old and the new).** **Non-zero indicates that the old RDN should be deleted.** *serverctrls* **points to an array of LDAPControl structures that list the** **client controls to use with this extended operation. Use NULL to specify** **no client controls.** *clientctrls* **points to an array of LDAPControl**  **structures that list the client controls to use with the search.**

**ldap\_rename** **works just like** **ldap\_rename\_s,** **but the operation is asynchronous. It returns the message id of the request** **it initiated. The result of this operation can be obtained by calling** **[ldap\_result(3)](/ldap_result/3.md).**

## ERRORS

**ldap\_rename()** **returns -1 in case of error initiating the request, and** **will set the** *ld\_errno* **field in the** *ld* **parameter to** **indicate the error.** **ldap\_rename\_s()** **returns the LDAP error code resulting from the rename operation.**

## SEE ALSO

[**ldap**(3)](/ldap/3.md), [**ldap\_modify**(3)](/ldap_modify/3.md)

## ACKNOWLEDGEMENTS

**OpenLDAP Software** **is developed and maintained by The OpenLDAP Project \<http://www.openldap.org/\>.** **OpenLDAP Software** **is derived from the University of Michigan LDAP 3.3 Release.**
