DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

ldap_modify_ext_s(3)




LDAP_MODIFY(3)         C LIBRARY FUNCTIONS         LDAP_MODIFY(3)


NAME

     ldap_modify, ldap_modify_s - Perform an LDAP  modify  opera-
     tion


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.

OpenLDAP 2.3.27      Last change: 2006/08/19                    1

LDAP_MODIFY(3)         C LIBRARY FUNCTIONS         LDAP_MODIFY(3)

     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 modifica-
     tions, the attribute will have the listed values  after  the
     modification, 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.   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      Last change: 2006/08/19                    2


Man(1) output converted with man2html