ldap_parse_result
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 )
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 opera-
tions.
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 parame-
ter 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_mem-
free(3).
The errmsgp parameter will be filled in with the error message field
from the parsed message. This string should be freed using ldap_mem-
free(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, *serverc-
trlsp 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 mes-
sage. The ldap_msgfree(3) routine can also be used to free the message
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 Univer-
sity of Michigan LDAP 3.3 Release.
OpenLDAP 2.4.21 2009/12/20 LDAP_PARSE_RESULT(3)
Man Pages Copyright Respective Owners. Site Copyright (C) 1994 - 2013
Hurricane Electric.
All Rights Reserved.