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 routines

Synopsis

#include <lber.h> 
#include <ldap.h> 

typedef struct berval { unsigned long bv_len; char *bv_val; };

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

Description

These routines 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 for returning 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.

Return values

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_perror(3ldap) for a description of possible error codes.

Warnings

These routines malloc memory that the caller must free.

References

Intro(3ldap), ldap_first_attribute(3ldap), ldap_first_entry(3ldap), ldap_perror(3ldap)


30 January 1998
© 1998 The Santa Cruz Operation, Inc. All rights reserved.