LDAP_ADD(3)

NAME
ldap_add, ldap_add_s, ldap_add_ext, ldap_add_ext_s - Perform an LDAP add operation

LIBRARY
OpenLDAP LDAP (libldap, -lldap)

SYNOPSIS
#include <ldap.h>

int ldap_add(LDAP *ld, const char *dn, LDAPMod *attrs[]);

int ldap_add_s(LDAP *ld, const char *dn, LDAPMod *attrs[]);

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_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(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_s() returns an LDAP error code indicating success or failure of the operation. See ldap_error(3) for more details.

The ldap_add() routine works just like ldap_add_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_ext() routine allows server and client controls to be specified to extend the add request. This routine is asynchronous like ldap_add(), but its return value is an LDAP error code. It stores the message id of the request in the integer pointed to by msgidp.

The ldap_add_ext_s() routine is the synchronous version of ldap_add_ext(). It also returns an LDAP error code indicating success or failure of the operation.

ERRORS
ldap_add() 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_add_s() will return an LDAP error code directly (LDAP_SUCCESS if everything went ok, some error otherwise). ldap_add_ext() and ldap_add_ext_s() also directly return LDAP error codes.

SEE ALSO
ldap(3), ldap_modify(3)

ACKNOWLEDGEMENTS
OpenLDAP is developed and maintained by The OpenLDAP Project (http://www.openldap.org/). OpenLDAP is derived from University of Michigan LDAP 3.3 Release.