Back to main site | Back to man page index

LDAP_GET_VALUES(3)                             Library Functions Manual                            LDAP_GET_VALUES(3)



NAME
       ldap_get_values, ldap_get_values_len, ldap_count_values - LDAP attribute value handling routines

LIBRARY
       OpenLDAP LDAP (libldap, -lldap)

SYNOPSIS
       #include <ldap.h>


       char **ldap_get_values(ld, entry, attr)
       LDAP *ld;
       LDAPMessage *entry;
       char *attr;

       struct berval **ldap_get_values_len(ld, entry, attr)
       LDAP *ld;
       LDAPMessage *entry;
       char *attr;

       int ldap_count_values(vals)
       char **vals;

       int ldap_count_values_len(vals)
       struct berval **vals;

       void ldap_value_free(vals)
       char **vals;

       void ldap_value_free_len(vals)
       struct berval **vals;

DESCRIPTION
       These  routines  are  used  to  retrieve  and  manipulate  attribute  values from an LDAP entry as returned by
       ldap_first_entry(3) or ldap_next_entry(3).  ldap_get_values() takes the entry and  the  attribute  attr  whose
       values  are  desired  and returns a NULL-terminated array of the attribute's values.  attr may be an attribute
       type as returned from ldap_first_attribute(3) or ldap_next_attribute(3), or if the attribute type is known  it
       can simply be given.

       The number of values in the array can be counted by calling ldap_count_values().  The array of values returned
       can be freed by calling ldap_value_free().

       If the attribute values are binary in nature, and thus not suitable to be returned as an array  of  char  *'s,
       the ldap_get_values_len() routine can be used instead.  It takes the same parameters as ldap_get_values(), but
       returns a NULL-terminated array of pointers to berval structures, each containing the length of and a  pointer
       to a value.

       The  number  of  values  in  the array can be counted by calling ldap_count_values_len().  The array of values
       returned can be freed by calling ldap_value_free_len().

ERRORS
       If an error occurs in ldap_get_values() or ldap_get_values_len(), NULL is returned and the ld_errno  field  in
       the ld parameter is set to indicate the error.  See ldap_error(3) for a description of possible error codes.

NOTES
       These routines dynamically allocate memory which the caller must free using the supplied routines.