Asynchronously passes extended LDAP operations to the LDAP server.
#include <ldap.h>
int ldap_extended_operation (
LDAP *ld,
const char *requestoid,
const struct berval *requestdata,
LDAPControl **serverctrls,
LDAPControl **clientctrls,
int *msgidp);
(IN) Points to the handle for the LDAP session.
(IN) Points to the dotted-OID text string identifying the extended operation to perform.
(IN) Points to the data required for the operation. If NULL, no data is sent to the server.
(IN) Points to an array of LDAPControl structures that list the server controls to use with this extended operation. Use NULL to specify no server controls.
(IN) Points to an array of LDAPControl structures that list the client controls to use with this extended operation. Use NULL to specify no client controls.
(OUT) Points to the integer value to set as the message ID of the request. When the extended operation succeeds, the results are identified by this value.
The data returned in the msgidp parameter is opaque to the caller. You must use the ldap_result and ldap_parse_extended_result functions to obtain the result, the OID, and the data.
The LDAP server must support the operation; otherwise an LDAP_NOT_SUPPORTED error is returned.