--- /dev/null
+.TH LDAP_EXTENDED_OPERATION 3 "RELEASEDATE" "OpenLDAP LDVERSION"
+.\" $OpenLDAP$
+.\" Copyright 1998-2006 The OpenLDAP Foundation All Rights Reserved.
+.\" Copying restrictions apply. See COPYRIGHT/LICENSE.
+.SH NAME
+ldap_extended_operation, ldap_extended_operation_s \- Extends the LDAP operations to the LDAP server.
+.SH LIBRARY
+OpenLDAP LDAP (libldap, -lldap)
+.SH SYNOPSIS
+.nf
+.ft B
+#include <ldap.h>
+.LP
+.ft B
+int ldap_extended_operation( ld, requestoid, requestdata, sctrls[], cctrls[], msgidp );
+.ft
+LDAP *ld;
+const char *requestoid;
+const struct berval *requestdata;
+LDAPControl *sctrls[], *cctrls[];
+int *msgidp;
+.LP
+.ft B
+int ldap_extended_operation_s( ld, requestoid, requestdata, sctrls[], cctrls[], retoidp, retdatap );
+.ft
+LDAP *ld,
+const char *requestoid;
+const struct berval *requestdata;
+LDAPControl *sctrls[], *cctrls[];
+char **retoidp;
+struct berval **retdatap;
+.SH DESCRIPTION
+The
+.B ldap_extended_operation_s
+method is used to synchronously send an extended operation to the server.
+It takes \fIrequestoid\fP, which points to a dotted OID text string identifying
+the extended operation to perform. \fIrequestdata\fP is the data required for the
+operation, \fIseverctrls\fP is an array of LDAPControl structures to use with this
+extended operation,\fIclientctrls\fP is an array of LDAPControl structures that list
+the client controls to use with this extended operation .The input parameter
+\fIretoidp\fP 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.
+.LP
+The
+.B 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
+.BR ldap_result(3).
+.SH NOTES
+The LDAP server must support the operation; otherwise an
+LDAP_NOT_SUPPORTED error is returned.
+.SH SEE ALSO
+.BR ldap_result (3),
+.BR ldap_parse_extended_result (3)
+.SH ACKNOWLEDGEMENTS
+.B OpenLDAP
+is developed and maintained by The OpenLDAP Project (http://www.openldap.org/).
+.B OpenLDAP
+is derived from University of Michigan LDAP 3.3 Release.