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); |
LIBRARY
OpenLDAP LDAP (libldap, -lldap)
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.
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.