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.