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.
OpenLDAP is developed and maintained by The OpenLDAP Project (http://www.openldap.org/).
OpenLDAP is derived from University of Michigan LDAP 3.3 Release.