---
name: "ldap_add"
section: "3"
platform: "macos"
package: "OpenLDAP"
version: "561"
release: "macOS 26.5"
platforms: ["linux", "macos"]
url: "https://new.carta.tech/ldap_add"
---

# ldap\_add(3)

Perform an LDAP add operation

## NAME

ldap\_add\_ext, ldap\_add\_ext\_s - Perform an LDAP add operation

## LIBRARY

OpenLDAP LDAP (libldap, -lldap)

## SYNOPSIS

**#include \<ldap.h\>**

```
int ldap_add_ext(
LDAP *ld,
const char *dn,
LDAPMod **attrs,
LDAPControl **sctrls,
LDAPControl **cctrls,
int *msgidp );
```

```
int ldap_add_ext_s(
LDAP *ld,
const char *dn,
LDAPMod **attrs,
LDAPControl *sctrls,
LDAPControl *cctrls );
```

## DESCRIPTION

**The** **ldap\_add\_ext\_s()** **routine is used to perform an LDAP add operation.** **It takes** *dn***, the DN of the entry to add, and** *attrs***, a** **null-terminated array of the entry's attributes.  The LDAPMod structure** **is used to represent attributes, with the** *mod\_type* **and** *mod\_values* **fields being used as described under** [**ldap\_modify\_ext**(3)](/ldap_modify_ext/3.md), **and the** *ldap\_op* **field being used only if you need to specify** **the LDAP\_MOD\_BVALUES option. Otherwise, it should be set to zero.**

**Note that all entries except that** **specified by the last component in the given DN must already exist.** **ldap\_add\_ext\_s()** **returns an code indicating success or, in the case of failure,** **indicating the nature of failure of the operation.  See** [**ldap\_error**(3)](/ldap_error/3.md) **for more details.**

**The** **ldap\_add\_ext()** **routine works just like** **ldap\_add\_ext\_s()**, **but it 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).

## DEPRECATED INTERFACES

**The** **ldap\_add**() **and** **ldap\_add\_s**() **routines are deprecated in favor of the** **ldap\_add\_ext**() **and** **ldap\_add\_ext\_s**() **routines, respectively.**

## SEE ALSO

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

## ACKNOWLEDGEMENTS
