ldap_count_values(3) LDAP attribute value handling routines

Other Alias

ldap_get_values, ldap_get_values_len

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.

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.