Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
LDAP_FIRST_ATTRIBUTE(3)     Library Functions Manual	 LDAP_FIRST_ATTRIBUTE(3)

NAME
     ldap_first_attribute, ldap_next_attribute - step through LDAP entry attrib-
     utes

LIBRARY
     OpenLDAP LDAP (libldap, -lldap)

SYNOPSIS
     #include <ldap.h>

     char *ldap_first_attribute(
	  LDAP *ld, LDAPMessage *entry, BerElement **berptr )

     char *ldap_next_attribute(
	  LDAP *ld, LDAPMessage *entry, BerElement *ber )

     int ldap_get_attribute_ber(
	  LDAP *ld, LDAPMessage *entry, BerElement *ber,
	  BerValue *attr, BerVarray *vals )

DESCRIPTION
     The    ldap_first_attribute(),   ldap_next_attribute()   and   ldap_get_at-
     tribute_ber() routines are used to step through the attributes in	an  LDAP
     entry.  ldap_first_attribute() takes an entry as returned by ldap_first_en-
     try(3) or ldap_next_entry(3) and returns a pointer to character string con-
     taining  the  first  attribute  description  in  the  entry.  ldap_next_at-
     tribute() returns the next attribute description in the entry.

     It also returns, in berptr, a pointer to a BerElement it has  allocated  to
     keep  track of its current position.  This pointer should be passed to sub-
     sequent calls to ldap_next_attribute() and  is  used  to  effectively  step
     through the entry's attributes.  The caller is solely responsible for free-
     ing  the  BerElement  pointed  to	by berptr when it is no longer needed by
     calling ber_free(3).  When calling ber_free(3) in this  instance,	be  sure
     the second argument is 0.

     The  attribute  names  returned  are  suitable  for  inclusion in a call to
     ldap_get_values(3) to retrieve the attribute's values.

     The ldap_get_attribute_ber() routine allows one to iterate over all attrib-
     utes in-place, without allocating memory to hold  text  for  the  attribute
     name  or its values, if requested. The use case is similar to ldap_next_at-
     tribute() except that the attribute name is returned into attr and, if vals
     is non-NULL, the list of values is stored there. Both point into  the  LDAP
     message  and  remain  valid  only	while the entry is valid.  The caller is
     still responsible for freeing vals with ldap_memfree(3), if used.

ERRORS
     If an error occurs, NULL is returned and the ld_errno field in the ld para-
     meter is set to indicate the error.  See ldap_error(3) for a description of
     possible error codes.

NOTES
     The ldap_first_attribute() and ldap_next_attribute() return dynamically al-
     located memory that must be freed by the caller via  ldap_memfree(3).   For
     ldap_get_attribute_ber(),	only  the  actual vals pointer needs to be freed
     with ldap_memfree(3), other data is accounted for as part of ber.

SEE ALSO
     ldap(3), ldap_first_entry(3), ldap_get_values(3), ldap_error(3)

ACKNOWLEDGEMENTS
     OpenLDAP Software is developed  and  maintained  by  The  OpenLDAP  Project
     <http://www.openldap.org/>.   OpenLDAP Software is derived from the Univer-
     sity of Michigan LDAP 3.3 Release.

OpenLDAP 2.6.13 		   2026/03/09		 LDAP_FIRST_ATTRIBUTE(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ldap_get_attribute_ber&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help