ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages

 

This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

For more information about the manual page format, see the manual page for manpages(5).



LDAP_MODIFY(3)                                                                                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 respec-tively. respectively.
       tively.  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_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.



OpenLDAP 2.3.27                                  2006/08/19                                   LDAP_MODIFY(3)

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.