Sun Microsystems, Inc.
spacerspacer
spacer   www.sun.com docs.sun.com | | |  
spacer
black dot
   
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z
    
 
LDAP Library Functionsldap_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 <lber.h>
#include <ldap.h>
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, 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;
	    } 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.

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 <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.

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(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 a LDAP error code if not. See ldap_error(3LDAP). If successful, 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).

ldap_modify() returns -1 in case of trouble, setting the error field of ld.

ATTRIBUTES

 

See attributes(5) for a description of the following attributes:

ATTRIBUTE TYPEATTRIBUTE VALUE
AvailabilitySUNWcsl (32-bit)
 SUNWcslx (64-bit)
Interface StabilityEvolving

SEE ALSO

 

ldap(3LDAP), ldap_add(3LDAP), ldap_error(3LDAP), ldap_get_option(3LDAP), attributes(5)


SunOS 5.9Go To TopLast Changed 28 Jan 2002

 
      
      
Copyright 2002 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.