The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 [Cписок руководств | Печать]

ldap_mods_free ()
  • >> ldap_mods_free (3) ( Разные man: Библиотечные вызовы )


    ldap_modify, ldap_modify_s - Perform an LDAP modify operation


    OpenLDAP LDAP (libldap, -lldap)


    #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;


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


    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.  


    ldap(3), ldap_error(3), ldap_add(3)  


    OpenLDAP is developed and maintained by The OpenLDAP Project ( OpenLDAP is derived from University of Michigan LDAP 3.3 Release.




    Поиск по тексту MAN-ов: 

    Inferno Solutions
    Hosting by

    Закладки на сайте
    Проследить за страницей
    Created 1996-2022 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру