LDAP_GET_VALUES(3LDAP) LDAP Library Functions LDAP_GET_VALUES(3LDAP)

ldap_get_values, ldap_get_values_len, ldap_count_values, ldap_count_values_len, ldap_value_free, ldap_value_free_len - LDAP attribute value handling functions

cc[ flag... ] file... -lldap[ library... ]
#include <lber.h>
#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);

ldap_count_values(char **vals);

ldap_count_values_len(struct berval **vals);

ldap_value_free(char **vals);

ldap_value_free_len(struct berval **vals);

These functions are used to retrieve and manipulate attribute values from an LDAP entry as returned by ldap_first_entry(3LDAP) or ldap_next_entry(3LDAP). 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(3LDAP) or ldap_next_attribute(3LDAP), 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() function 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().

If an error occurs in ldap_get_values() or ldap_get_values_len(), NULL returned and the ld_errno field in the ld parameter is set to indicate the error. See ldap_error(3LDAP) for a description of possible error codes.

See attributes(7) for a description of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Evolving

ldap(3LDAP), ldap_error(3LDAP), ldap_first_attribute(3LDAP), ldap_first_entry(3LDAP), attributes(7)

These functions allocates memory that the caller must free.

January 28, 2002 OmniOS