LDAP_PARSE_REFERENCE(3)

NAME
ldap_parse_reference - Extract referrals and controls from a reference message

LIBRARY
OpenLDAP LDAP (libldap, -lldap)

SYNOPSIS
#include <ldap.h>

int ldap_parse_reference( LDAP *ld, LDAPMessage *reference,
	char ***referralsp, LDAPControl ***serverctrlsp, int freeit )

DESCRIPTION

The ldap_parse_reference() routine is used to extract referrals and controls from a reference message. The reference parameter is a reference message as returned by a call to ldap_first_reference(3), ldap_next_reference(3), ldap_first_message(3), ldap_next_message(3), or ldap_result(3).

The referralsp parameter will be filled in with an allocated array of character strings. The strings are copies of the referrals contained in the parsed message. The array should be freed by calling ldap_value_free(3). If referralsp is NULL, no referrals are returned. If no referrals were returned, *referralsp is set to NULL.

The serverctrlsp parameter will be filled in with an allocated array of controls copied from the parsed message. The array should be freed by calling ldap_controls_free(3). If serverctrlsp is NULL, no controls are returned. If no controls were returned, *serverctrlsp is set to NULL.

The freeit parameter determines whether the parsed message is freed or not after the extraction. Any non-zero value will make it free the message. The ldap_msgfree(3) routine can also be used to free the message later.

ERRORS
Upon success LDAP_SUCCESS is returned. Otherwise the values of the referralsp and serverctrlsp parameters are undefined.

SEE ALSO
ldap(3), ldap_first_reference(3), ldap_first_message(3), ldap_result(3), ldap_get_values(3), ldap_controls_free(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.