LDAP_GET_VALUES 3 "RELEASEDATE" "OpenLDAP LDVERSION"
$OpenLDAP$
Copyright 1998-2011 The OpenLDAP Foundation All Rights Reserved.
Copying restrictions apply. See COPYRIGHT/LICENSE.
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
.so ../Project