ldap_modify, ldap_modify_s - Perform an LDAP modify opera
tion
SYNOPSIS
#include <ldap.h>
int ldap_modify(ld, dn, mods)
LDAP *ld;
char *dn;
LDAPMod *mods[];
int ldap_modify_s(ld, dn, mods)
LDAP *ld;
char *dn;
LDAPMod *mods[];
void ldap_mods_free( mods, freemods )
LDAPMod **mods;
int freemods;
DESCRIPTION
The routine ldap_modify_s() is used to perform an LDAP
modify operation. dn is the DN of the entry to modify,
and mods is a null-terminated array of modifications to
make to the entry. Each element of the mods array is a
pointer to an LDAPMod structure, which is defined below.
typedef struct ldapmod {
int mod_op;
char *mod_type;
union {
char **modv_strvals;
struct berval **modv_bvals;
} mod_vals;
struct ldapmod *mod_next;
} LDAPMod;
#define mod_values mod_vals.modv_strvals
#define mod_bvalues mod_vals.modv_bvals
The mod_op field is used to specify the type of modifica
tion to perform and should be one of LDAP_MOD_ADD,
LDAP_MOD_DELETE, or LDAP_MOD_REPLACE. The mod_type and
mod_values fields specify the attribute type to modify and
a null-terminated array of values to add, delete, or
replace respectively. The mod_next field is used only by
the LDAP server and may be ignored by the client.
If you need to specify a non-string value (e.g., to add a
photo or audio attribute value), you should set mod_op to
the logical OR of the operation as above (e.g.,
LDAP_MOD_REPLACE) and the constant LDAP_MOD_BVALUES. In
this case, mod_bvalues should be used instead of mod_val
ues, and it should point to a null-terminated array of
For LDAP_MOD_ADD modifications, the given values are added
to the entry, creating the attribute if necessary. For
LDAP_MOD_DELETE modifications, the given values are
deleted from the entry, removing the attribute if no val
ues remain. If the entire attribute is to be deleted, the
mod_values field should be set to NULL. For
LDAP_MOD_REPLACE modifications, the attribute will have
the listed values after the modification, having been cre
ated if necessary. All modifications are performed in the
order in which they are listed.
ldap_modify_s() returns the LDAP error code resulting from
the modify operation. This code can be interpreted by
ldap_perror(3) and friends.
The ldap_modify() operation works the same way as
ldap_modify_s(), except that it is asynchronous, returning
the message id of the request it initiates, or -1 on
error. The result of the operation can be obtained by
calling ldap_result(3).
ldap_mods_free() can be used to free each element of a
NULL-terminated array of mod structures. If freemods is
non-zero, the mods pointer itself is freed as well.
ERRORS
ldap_modify_s() returns an ldap error code, either
LDAP_SUCCESS or an error if there was trouble. ldap_mod
ify() returns -1 in case of trouble, setting the ld_errno
field of ld.
SEE ALSO
ldap(3), ldap_error(3), ldap_add(3)
ACKNOWLEDGEMENTS
OpenLDAP is developed and maintained by The OpenLDAP Pro
ject (http://www.openldap.org/). OpenLDAP is derived from
University of Michigan LDAP 3.3 Release.
Man(1) output converted with
man2html