LDAP_EXTENDED_OPERATION(3)                            Library Functions Manual

NAME
       ldap_extended_operation, ldap_extended_operation_s - Extends the LDAP
       operations to the LDAP server.

LIBRARY
       OpenLDAP LDAP (libldap, -lldap)

SYNOPSIS
       #include <ldap.h>

       int ldap_extended_operation(
              LDAP *ld,
              const char *requestoid,
              const struct berval *requestdata,
              LDAPControl **sctrls,
              LDAPControl **cctrls,
              int *msgidp );

       int ldap_extended_operation_s(
              LDAP *ld,
              const char *requestoid,
              const struct berval *requestdata,
              LDAPControl **sctrls,
              LDAPControl **cctrls,
              char **retoidp,
              struct berval **retdatap );

DESCRIPTION
       The ldap_extended_operation_s() routine is used to synchronously
       perform an LDAP extended operation.  It takes requestoid, which points
       to a dotted-decimal OID string identifying the extended operation to
       perform. requestdata is the data required for the request, sctrls is an
       array of LDAPControl structures to use with this extended operation,
       cctrls is an array of LDAPControl structures that list the client
       controls to use with this extended operation.

       The output parameter retoidp points to a dotted-decimal OID string
       returned by the LDAP server.  The memory used by the string should be
       freed with the ldap_memfree(3) function.  The output parameter retdatap
       points to a pointer to a berval structure that contains the returned
       data.  If no data is returned by the server, the pointer is set this to
       NULL.  The memory used by this structure should be freed with the
       ber_bvfree(3) function.

       The ldap_extended_operation() works just like
       ldap_extended_operation_s(), but the operation is asynchronous.  It
       provides the message id of the request it initiated in the integer
       pointed to be msgidp.  The result of this operation can be obtained by
       calling ldap_result(3).

SEE ALSO
       ber_bvfree(3), ldap_memfree(3), ldap_parse_extended_result(3),
       ldap_result(3)

ACKNOWLEDGEMENTS
       OpenLDAP Software is developed and maintained by The OpenLDAP Project
       <http://www.openldap.org/>.  OpenLDAP Software is derived from
       University of Michigan LDAP 3.3 Release.

OpenLDAP 2.4.28                   2011/11/24        LDAP_EXTENDED_OPERATION(3)