ldap_get_values,  ldap_get_values_len, ldap_count_values -
       LDAP attribute value handling routines


SYNOPSIS

       #include <ldap.h>

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

       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

       ldap_count_values(vals)
       char **vals;

       ldap_count_values_len(vals)
       struct berval **vals;

       ldap_value_free(vals)
       char **vals;

       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_val­
       ues()  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  call­
       ing 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

       a value.

       The number of values in the array can be counted by  call­
       ing 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_val­
       ues_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

       OpenLDAP  is developed and maintained by The OpenLDAP Pro­
       ject (http://www.openldap.org/).  OpenLDAP is derived from
       University of Michigan LDAP 3.3 Release.


Man(1) output converted with man2html