LDAP Library Functions ldap_modify(3LDAP)
NAME
ldap_modify, ldap_modify_s, ldap_mods_free, ldap_modify_ext,
ldap_modify_ext_s - LDAP entry modification functions
SYNOPSIS
cc[ flag... ] file... -lldap[ library... ]
#include
#include
int ldap_modify(LDAP *ld, char *dn, LDAPMod *mods[]);
int ldap_modify_s(LDAP *ld, char *dn, LDAPMod *mods[]);
void ldap_mods_free(LDAPMod **mods, int freemods);
int ldap_modify_ext(LDAP *ld, char *dn, LDAPMod **mods,
LDAPControl **serverctrls, LDAPControl **clientctrls, int *msgidp);int ldap_modify_ext_s(LDAP *ld, char *dn, LDAPMod **mods,
LDAPControl **serverctrls, LDAPControl **clientctrls);DESCRIPTION
The function ldap_modify_s() is used to perform an LDAP
modify operation. dn is the DN of the entry to modify, andmods 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;
} 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.SunOS 5.11 Last change: 28 Jan 2002 1
LDAP Library Functions ldap_modify(3LDAP)
If you need to specify a non-string value (for example, to
add a photo or audio attribute value), you should set mod_op
to the logical OR of the operation as above (for example,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. For LDAP_MOD_ADD modifications, the given values are added
to the entry, creating the attribute if necessary. ForLDAP_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 modifi-
cations, the attribute will have the listed values after themodification, having been created if necessary. All modifi-
cations are performed in the order in which they are listed.ldap_modify_s() returns the LDAP error code resulting from
the modify operation.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 callingldap_result(3LDAP).
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.
The ldap_modify_ext() function initiates an asynchronous
modify operation and returns LDAP_SUCCESS if the request
was successfully sent to the server, or else it returns aLDAP error code if not. See ldap_error(3LDAP). If success-
ful, ldap_modify_ext() places the message id of the request
in *msgidp. A subsequent call to ldap_result(3LDAP), can
be used to obtain the result of the add request.The ldap_modify_ext_s() function initiates a synchronous
modify operation and returns the result of the operation itself.ERRORS
ldap_modify_s() returns an LDAP error code, either
LDAP_SUCCESS or an error. See ldap_error(3LDAP).
SunOS 5.11 Last change: 28 Jan 2002 2
LDAP Library Functions ldap_modify(3LDAP)
ldap_modify() returns -1 in case of trouble, setting the
error field of ld.ATTRIBUTES
See attributes(5) for a description of the following attri-
butes:____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Availability | system/library (32-bit) |
| | SUNWcslx (64-bit) |
| Interface Stability | Committed ||_____________________________|_____________________________|
SEE ALSO
ldap(3LDAP), ldap_add(3LDAP), ldap_error(3LDAP),
ldap_get_option(3LDAP), attributes(5)
SunOS 5.11 Last change: 28 Jan 2002 3