NAME
ldap_get_values, ldap_get_values_len, ldap_count_values - LDAP attribute value handling routines
LIBRARY
OpenLDAP LDAP (libldap, -lldap)
SYNOPSIS
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
ldap_count_values(vals)
char **vals;
ldap_count_values_len(vals)
struct berval **vals;
ldap_value_free(vals)
char **vals;
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
R ldap_count_values() .
The array of values returned can be freed by calling
R 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
R 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
R ldap_count_values_len() .
The array of values returned can be freed by calling
R ldap_value_free_len() .
ERRORS
If an error occurs in
ldap_get_values()
or
R 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.
SEE ALSO
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.