dwww Home | Manual pages | Find package

LDAP_PARSE_RESULT(3)       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  re-
       sults  (skipping past other message types). They take the result as re-
       turned   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.   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 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  us-
       ing ldap_controls_free(3).  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 mes-
       sage. The ldap_msgfree(3) routine can also be used to free the  message
       later.

       For SASL bind results, the servercredp parameter will be filled in with
       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 re-
       sult 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 Uni-
       versity of Michigan LDAP 3.3 Release.

OpenLDAP 2.5.13+dfsg-5            2022/07/14              LDAP_PARSE_RESULT(3)

Generated by dwww version 1.15 on Wed Jun 26 18:11:12 CEST 2024.