ldap_add, ldap_add_s, ldap_add_ext, ldap_add_ext_s - perform an LDAP add operation

cc[ flag... ] file... -lldap[ library... ]
#include <lber.h>
#include <ldap.h>
intldap_add(LDAP *ld, char *dn, LDAPMod *attrs[]);

intldap_add_s(LDAP *ld, char *dn, LDAPMod *attrs[]);

int ldap_add_ext(LDAP *ld, char *dn, LDAPMod **attrs,

LDAPControl **serverctrlsint * msgidp);

int ldap_add_ext_s(LDAP *ld, char *dn, LDAPMod **attrs,

LDAPControl **serverctrls, LDAPControl **clientctrls);

The ldap_add_s() function 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(3LDAP), 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(3LDAP) for more details.

The ldap_add() function 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(3LDAP).

The ldap_add_ext() function initiates an asynchronous add operation and returns LDAP_SUCCESS if the request was successfully sent to the server, or else it returns a LDAP error code if not (see ldap_error(3LDAP)). If successful, ldap_add_ext() places the message id of *msgidp. A subsequent call to ldap_result(), can be used to obtain the result of the add request.

The ldap_add_ext_s() function initiates a synchronous add operation and returns the result of the operation itself.

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.

See attributes(7) for a description of the following attributes:

Interface Stability Evolving

ldap(3LDAP), ldap_error(3LDAP), ldap_modify(3LDAP), attributes(7)

January 27, 2002 OmniOS