#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);
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.
ld_errno
field in the ld parameter is set to
indicate the error. See
ldap_perror(3ldap)
for a description of possible error codes.