1998-10-25 09:41:42 +08:00
|
|
|
.TH LDAP_FIRST_ATTRIBUTE 3 "22 September 1998" "OpenLDAP LDVERSION"
|
1999-09-12 12:41:47 +08:00
|
|
|
.\" $OpenLDAP$
|
|
|
|
.\" Copyright 1998-1999 The OpenLDAP Foundation All Rights Reserved.
|
|
|
|
.\" Copying restrictions apply. See COPYRIGHT/LICENSE.
|
1998-08-09 08:43:13 +08:00
|
|
|
.SH NAME
|
|
|
|
ldap_first_attribute, ldap_next_attribute \- step through LDAP entry attributes
|
|
|
|
.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;
|
|
|
|
.LP
|
|
|
|
.ft B
|
|
|
|
char *ldap_next_attribute(ld, entry, ber)
|
|
|
|
.ft
|
|
|
|
LDAP *ld;
|
|
|
|
LDAPMessage *entry;
|
|
|
|
BerElement *ber;
|
|
|
|
.SH DESCRIPTION
|
|
|
|
The
|
|
|
|
.B ldap_first_attribute()
|
|
|
|
and
|
|
|
|
.B ldap_next_attribute()
|
|
|
|
routines are used
|
|
|
|
to step through the attributes in an LDAP entry.
|
|
|
|
.B ldap_first_attribute()
|
|
|
|
takes an \fIentry\fP as returned by
|
|
|
|
.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).
|
|
|
|
.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
|
1999-01-21 04:21:38 +08:00
|
|
|
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
|
1998-08-09 08:43:13 +08:00
|
|
|
.BR ber_free (3).
|
|
|
|
When calling
|
|
|
|
.BR ber_free (3)
|
|
|
|
in this instance, be sure the second argument is 0.
|
|
|
|
.LP
|
|
|
|
The attribute names returned are suitable for inclusion in a call
|
|
|
|
to
|
|
|
|
.BR ldap_get_values (3)
|
|
|
|
to retrieve the attribute's values.
|
|
|
|
.SH ERRORS
|
|
|
|
If an error occurs, NULL is returned and the ld_errno field in the
|
|
|
|
\fIld\fP parameter is set to indicate the error. See
|
|
|
|
.BR ldap_error (3)
|
|
|
|
for a description of possible error codes.
|
|
|
|
.SH NOTES
|
|
|
|
The
|
|
|
|
.B ldap_first_attribute()
|
1999-01-21 04:21:38 +08:00
|
|
|
routine dyanamically allocated memory that must be freed by the caller via
|
|
|
|
.BR ber_free (3).
|
1998-08-09 08:43:13 +08:00
|
|
|
.SH SEE ALSO
|
|
|
|
.BR ldap(3),
|
|
|
|
.BR ldap_first_entry(3),
|
|
|
|
.BR ldap_get_values(3),
|
|
|
|
.BR ldap_error(3)
|
1998-10-25 09:41:42 +08:00
|
|
|
.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.
|