FreeBSD manual

download PDF document: ldap_parse_result.3.pdf

LDAP_PARSE_RESULT(3) FreeBSD Library Functions Manual LDAP_PARSE_RESULT(3)
NAME ldap_parse_result - Parsing results
LIBRARY OpenLDAP LDAP (libldap, -lldap)
SYNOPSIS #include <ldap.h>
int ldap_parse_result( LDAP *ld, LDAPMessage *result, int *errcodep, char **matcheddnp, char **errmsgp, char ***referralsp, LDAPControl ***serverctrlsp, int freeit )
int ldap_parse_sasl_bind_result( LDAP *ld, LDAPMessage *result, struct berval **servercredp, int freeit )
int ldap_parse_extended_result( LDAP *ld, LDAPMessage *result, char **retoidp, struct berval **retdatap, int freeit )
int ldap_parse_intermediate( LDAP *ld, LDAPMessage *result, char **retoidp, struct berval **retdatap, LDAPControl ***serverctrlsp, int freeit )
DESCRIPTION These routines are used to extract information from a result message. They will operate on the first result message in a chain of search results (skipping past other message types). They take the result as returned by a call to ldap_result(3), ldap_search_s(3) or ldap_search_st(3). In addition to ldap_parse_result(), the routines ldap_parse_sasl_bind_result() and ldap_parse_extended_result() are used to get all the result information from SASL bind and extended operations. To extract information from intermediate responses, ldap_parse_intermediate() can be used.
The errcodep parameter will be filled in with the result code from the result message.
The server might supply a matched DN string in the message indicating how much of a name in a request was recognized. The matcheddnp parameter will be filled in with this string if supplied, else it will be NULL. If a string is returned, it should be freed using ldap_memfree(3).
The errmsgp parameter will be filled in with the error message field from the parsed message. This string should be freed using ldap_memfree(3).
The referralsp parameter will be filled in with an allocated array of referral strings from the parsed message. This array should be freed using ldap_memvfree(3). 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 using ldap_controls_free(3). If no controls were returned, *serverctrlsp is set to NULL. an allocated berval structure containing the credentials from the server if present. The structure should be freed using ber_bvfree(3).
For extended results and intermediate responses, the retoidp parameter will be filled in with the dotted-OID text representation of the name of the extended operation response. The string should be freed using ldap_memfree(3). If no OID was returned, *retoidp is set to NULL.
For extended results and intermediate responses, the retdatap parameter will be filled in with a pointer to a berval structure containing the data from the extended operation response. The structure should be freed using ber_bvfree(3). If no data were returned, *retdatap is set to NULL.
For all the above result parameters, NULL values can be used in calls in order to ignore certain fields.
ERRORS Upon success LDAP_SUCCESS is returned. Otherwise the values of the result parameters are undefined.
SEE ALSO ldap(3), ldap_result(3), ldap_search(3), ldap_memfree(3), ldap_memvfree(3), ldap_get_values(3), ldap_controls_free(3), lber-types(3)
ACKNOWLEDGEMENTS OpenLDAP Software is developed and maintained by The OpenLDAP Project <http://www.openldap.org/>. OpenLDAP Software is derived from the University of Michigan LDAP 3.3 Release.
OpenLDAP 2.6.6 2023/07/31 LDAP_PARSE_RESULT(3)