LDAP_EXTENDED_OPERATION(3)

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( ld, requestoid, requestdata, sctrls[], cctrls[], msgidp );
LDAP *ld;
const char *requestoid;
const struct berval *requestdata;
LDAPControl *sctrls[], *cctrls[];
int *msgidp;

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

DESCRIPTION
The ldap_extended_operation_s method is used to synchronously send an extended operation to the server. It takes requestoid, which points to a dotted OID text string identifying the extended operation to perform. requestdata is the data required for the operation, severctrls is an array of LDAPControl structures to use with this extended operation,clientctrls is an array of LDAPControl structures that list the client controls to use with this extended operation .The input parameter retoidp points to a dotted-OID text string returned by the LDAP server. The memory used by the string should be freed with the ldap_memfree function. retdatap is an output parameter which points to a pointer to a berval structure that contains the returned data. If no data is returned, the server set this to NULL. The memory used by this structure should be freed with the ber_bvfree function.

The ldap_extended_operation works just like ldap_extended_operation_s, but the operation is asynchornous. It returns the message id of the request it initiated. The result of this operation can be obtained by calling ldap_result(3).

NOTES
The LDAP server must support the operation; otherwise an LDAP_NOT_SUPPORTED error is returned.

SEE ALSO
ldap_result(3), ldap_parse_extended_result(3)

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