ldap_add_ext(3) Perform an LDAP add operation

Other Alias



OpenLDAP LDAP (libldap, -lldap)


#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 );


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), 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) 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).


The ldap_add() and ldap_add_s() routines are deprecated in favor of the ldap_add_ext() and ldap_add_ext_s() routines, respectively.

Deprecated interfaces generally remain in the library. The macro LDAP_DEPRECATED can be defined to a non-zero value (e.g., -DLDAP_DEPRECATED=1) when compiling program designed to use deprecated interfaces. It is recommended that developers writing new programs, or updating old programs, avoid use of deprecated interfaces. Over time, it is expected that documentation (and, eventually, support) for deprecated interfaces to be eliminated.


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