ldap_add, ldap_add_s, ldap_add_ext, ldap_add_ext_s — Perform an LDAP add operation
#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); |
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.
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.