ldap_get_values, ldap_get_values_len, ldap_count_values - LDAP attribute value
handling routines
OpenLDAP LDAP (libldap, -lldap)
#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;
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().
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.
These routines dynamically allocate memory which the caller must free using the
supplied routines.
ldap(3),
ldap_first_entry(3),
ldap_first_attribute(3),
ldap_error(3)
OpenLDAP Software is developed and maintained by The OpenLDAP Project
<
http://www.openldap.org/>.
OpenLDAP Software is derived from the
University of Michigan LDAP 3.3 Release.