-.TH LDAP_FIRST_ATTRIBUTE 3 "22 September 1998" "OpenLDAP LDVERSION"
+.TH LDAP_FIRST_ATTRIBUTE 3 "RELEASEDATE" "OpenLDAP LDVERSION"
.\" $OpenLDAP$
-.\" Copyright 1998-2000 The OpenLDAP Foundation All Rights Reserved.
+.\" Copyright 1998-2009 The OpenLDAP Foundation All Rights Reserved.
.\" Copying restrictions apply. See COPYRIGHT/LICENSE.
.SH NAME
ldap_first_attribute, ldap_next_attribute \- step through LDAP entry attributes
+.SH LIBRARY
+OpenLDAP LDAP (libldap, -lldap)
.SH SYNOPSIS
.nf
.ft B
#include <ldap.h>
.LP
.ft B
-char *ldap_first_attribute(ld, entry, berptr)
-.ft
-LDAP *ld;
-LDAPMessage *entry;
-BerElement **berptr;
+char *ldap_first_attribute(
+ LDAP *ld, LDAPMessage *entry, BerElement **berptr )
.LP
.ft B
-char *ldap_next_attribute(ld, entry, ber)
-.ft
-LDAP *ld;
-LDAPMessage *entry;
-BerElement *ber;
+char *ldap_next_attribute(
+ LDAP *ld, LDAPMessage *entry, BerElement *ber )
.SH DESCRIPTION
The
.B ldap_first_attribute()
.BR ldap_first_entry (3)
or
.BR ldap_next_entry (3)
-and returns a pointer to a per-connection buffer
-containing the first attribute type in the entry. The return value
-should be treated as if it is a pointer to a static area (i.e.,
-.BR strdup (3)
-it if you want to save it).
+and returns a pointer to character string
+containing the first attribute description in the entry.
+.B ldap_next_attribute()
+returns the next attribute description in the entry.
.LP
It also returns, in \fIberptr\fP, a pointer to a BerElement it has
allocated to keep track of its current position. This pointer should
be passed to subsequent calls to
.B ldap_next_attribute()
-and is used used
+and is used
to effectively step through the entry's attributes. The caller is
solely responsible for freeing the BerElement pointed to by \fIberptr\fP
when it is no longer needed by calling
.SH NOTES
The
.B ldap_first_attribute()
-routine dyanamically allocated memory that must be freed by the caller via
-.BR ber_free (3).
+and
+.B ldap_next_attribute()
+return dynamically allocated memory that must be freed by the caller via
+.BR ldap_memfree (3).
.SH SEE ALSO
-.BR ldap(3),
-.BR ldap_first_entry(3),
-.BR ldap_get_values(3),
-.BR ldap_error(3)
+.BR ldap (3),
+.BR ldap_first_entry (3),
+.BR ldap_get_values (3),
+.BR ldap_error (3)
.SH ACKNOWLEDGEMENTS
-.B OpenLDAP
-is developed and maintained by The OpenLDAP Project (http://www.openldap.org/).
-.B OpenLDAP
-is derived from University of Michigan LDAP 3.3 Release.
+.so ../Project