/usr/man/cat.3/ldap_modify_ext.3.Z(/usr/man/cat.3/ldap_modify_ext.3.Z)
LDAP_MODIFY(3) OpenLDAP 2.1.12 LDAP_MODIFY(3)
NAME
ldap_modify, ldap_modify_s - Perform an LDAP modify
operation
LIBRARY
OpenLDAP LDAP (libldap, -lldap)
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 modification
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
Page 1 (printed 1/20/103)
LDAP_MODIFY(3) OpenLDAP 2.1.12 LDAP_MODIFY(3)
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_values,
and it should point to a null-terminated array of struct
bervals, as defined in <lber.h>.
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 values 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 created 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_modify() 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 Project
(http://www.openldap.org/). OpenLDAP is derived from
University of Michigan LDAP 3.3 Release.
Page 2 (printed 1/20/103)
Man(1) output converted with
man2html