Synchronously passes extended LDAP operations to the LDAP server.
#include <ldap.h>
int ldap_extended_operation_s (
LDAP *ld,
const char *requestoid,
const struct berval *requestdata,
LDAPControl **serverctrls,
LDAPControl **clientctrls,
char **retoidp,
struct berval **retdatap);
(IN) Points to the handle for the LDAP session.
(IN) Points to the dotted-OID text string identifying the 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 a dotted-OID text string returned by the LDAP server. A NULL values means an OID is not returned. The memory used by the string should be freed with the ldap_memfree function.
(OUT) 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.
|
0x00 |
LDAP_SUCCESS |
|
Non-zero |
Failure. For a complete list, see |
|
0x53 |
LDAP_ENCODING_ERROR |
|
0x59 |
LDAP_PARAM_ERROR |
|
0x5A |
LDAP_NO_MEMORY |
|
0x5C |
LDAP_NOT_SUPPORTED |