Section (3) ldap_get_values
Name
ldap_get_values, ldap_get_values_len, ldap_count_values — LDAP attribute value handling routines
Synopsis
#include <ldap.h>
char
**ldap_get_values( |
LDAP *ld, |
LDAPMessage *entry, | |
char *attr) ; |
struct berval
**ldap_get_values_len( |
LDAP *ld, |
LDAPMessage *entry, | |
char *attr) ; |
int
ldap_count_values( |
char **vals) ; |
int
ldap_count_values_len( |
struct berval **vals) ; |
void
ldap_value_free( |
char **vals) ; |
void
ldap_value_free_len( |
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_zsingle_quotesz_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 *_zsingle_quotesz_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.
ACKNOWLEDGEMENTS
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.