]> git.sur5r.net Git - openldap/blob - doc/man/man3/ldap_extended_operation.3
3ce8797a8bd970e0e0008408fa61bc84b57f932c
[openldap] / doc / man / man3 / ldap_extended_operation.3
1 .TH LDAP_EXTENDED_OPERATION 3 "RELEASEDATE" "OpenLDAP LDVERSION"
2 .\" $OpenLDAP$
3 .\" Copyright 1998-2017 The OpenLDAP Foundation All Rights Reserved.
4 .\" Copying restrictions apply.  See COPYRIGHT/LICENSE.
5 .SH NAME
6 ldap_extended_operation, ldap_extended_operation_s \- Extends the LDAP operations to the LDAP server.
7 .SH LIBRARY
8 OpenLDAP LDAP (libldap, \-lldap)
9 .SH SYNOPSIS
10 .nf
11 .ft B
12 #include <ldap.h>
13 .LP
14 .ft B
15 int ldap_extended_operation(
16 .RS
17 .ft B
18 LDAP *\fIld\fB,
19 const char *\fIrequestoid\fB,
20 const struct berval *\fIrequestdata\fB,
21 LDAPControl **\fIsctrls\fB,
22 LDAPControl **\fIcctrls\fB,
23 int *\fImsgidp\fB );
24 .RE
25 .LP
26 .ft B
27 int ldap_extended_operation_s(
28 .RS
29 .ft B
30 LDAP *\fIld\fB,
31 const char *\fIrequestoid\fB,
32 const struct berval *\fIrequestdata\fB,
33 LDAPControl **\fIsctrls\fB,
34 LDAPControl **\fIcctrls\fB,
35 char **\fIretoidp\fB,
36 struct berval **\fIretdatap\fB );
37 .RE
38 .SH DESCRIPTION
39 The
40 .B ldap_extended_operation_s()
41 routine is used to synchronously perform an LDAP extended operation.
42 It takes \fIrequestoid\fP, which points to a dotted-decimal OID string
43 identifying the extended operation to perform. \fIrequestdata\fP is the
44 data required for the request, \fIsctrls\fP is an array of LDAPControl
45 structures to use with this extended operation, \fIcctrls\fP is an array
46 of LDAPControl structures that list the client controls to use with
47 this extended operation.
48 .LP
49 The output parameter \fIretoidp\fP points to a dotted-decimal OID
50 string returned by the LDAP server.  The memory used by the string
51 should be freed with the
52 .BR ldap_memfree (3)
53 function.
54 The output parameter \fIretdatap\fP points to a pointer to a berval
55 structure that contains the returned data.  If no data is returned
56 by the server, the pointer is set this to NULL.  The memory used by
57 this structure should be freed with the
58 .BR ber_bvfree (3)
59 function.
60 .LP
61 The
62 .B ldap_extended_operation()
63 works just like
64 .BR ldap_extended_operation_s() ,
65 but the operation is asynchronous.  It provides the message id of
66 the request it initiated in the integer pointed to be \fImsgidp\fP.
67 The result of this operation can be obtained by calling
68 .BR ldap_result(3).
69 .SH SEE ALSO
70 .BR ber_bvfree (3),
71 .BR ldap_memfree (3),
72 .BR ldap_parse_extended_result (3),
73 .BR ldap_result (3)
74 .SH ACKNOWLEDGEMENTS
75 .so ../Project