LDAP_FIRST_ATTRIBUTE(3) LDAP_FIRST_ATTRIBUTE(3)
NAME
ldap_first_attribute, ldap_next_attribute - step through LDAP entry
attributes
LIBRARY
OpenLDAP LDAP (libldap, -lldap)
SYNOPSIS
#include <ldap.h>
char *ldap_first_attribute(
LDAP *ld(1,8), LDAPMessage entry, BerElement **berptr )
char *ldap_next_attribute(
LDAP *ld(1,8), LDAPMessage entry, BerElement *ber )
DESCRIPTION
The ldap_first_attribute() and ldap_next_attribute() routines are used
to step through the attributes in(1,8) an LDAP entry.
ldap_first_attribute() takes an entry as returned by
ldap_first_entry(3) or ldap_next_entry(3) and returns a pointer to
character string(3,n) containing the first attribute description in(1,8) the
entry. ldap_next_attribute() returns the next attribute description in(1,8)
the entry.
It also returns, in(1,8) berptr, a pointer to a BerElement it has allocated
to keep track of its current position. This pointer should be passed
to subsequent calls to ldap_next_attribute() and is used used to effec-
tively step through the entry's attributes. The caller is solely
responsible for freeing the BerElement pointed to by berptr when it is
no longer needed by calling ber_free(3). When calling ber_free(3) in(1,8)
this instance, be sure the second argument is 0.
The attribute names returned are suitable for inclusion in(1,8) a call to
ldap_get_values(3) to retrieve the attribute's values.
ERRORS
If an error(8,n) occurs, NULL is returned and the ld_errno field in(1,8) the ld(1,8)
parameter is set(7,n,1 builtins) to indicate the error. See ldap_error(3) for a
description of possible error(8,n) codes.
NOTES
The ldap_first_attribute() and ldap_next_attribute() return dynamically
allocated memory that must be freed by the caller via ldap_memfree(3).
SEE ALSO
ldap(3,5,n)(3), ldap_first_entry(3), ldap_get_values(3), ldap_error(3)
ACKNOWLEDGEMENTS
OpenLDAP is developed and maintained by The OpenLDAP Project
(http://www.openldap.org/). OpenLDAP is derived from University of
Michigan LDAP 3.3 Release.
OpenLDAP 2.2.15 2004/07/27 LDAP_FIRST_ATTRIBUTE(3)