LDAP_GET_VALUES(3) |  | LDAP_GET_VALUES(3)

# NAME

ldap_get_values, ldap_get_values_len, ldap_count_values - LDAP attribute value handling routines

# LIBRARY

OpenLDAP LDAP (libldap, -lldap)

# SYNOPSIS

#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;

# 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.

# SEE ALSO

ldap(3),
ldap_first_entry(3),
ldap_first_attribute(3),
ldap_error(3)

# ACKNOWLEDGEMENTS

OpenLDAP Software
is developed and maintained by The OpenLDAP Project <http://www.openldap.org/>.
OpenLDAP Software
is derived from University of Michigan LDAP 3.3 Release.

2010/06/30 | OpenLDAP 2.4.23