#include <ldap.h> int ldap_parse_reference( LDAP *ld, LDAPMessage *reference, char ***referralsp, LDAPControl ***serverctrlsp, int freeit )
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.