282 lines
8.8 KiB
HTML
282 lines
8.8 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
<meta name="Copyright" content="Copyright (c) 2006 by IBM Corporation">
|
|
<title>ldap_modify_ext()--Perform an LDAP Modify Entry Request with
|
|
Controls</title>
|
|
<!-- Begin Header Records ========================================== -->
|
|
<!-- All rights reserved. Licensed Materials Property of IBM -->
|
|
<!-- US Government Users Restricted Rights -->
|
|
<!-- Use, duplication or disclosure restricted by -->
|
|
<!-- GSA ADP Schedule Contract with IBM Corp. -->
|
|
<!-- Change History: -->
|
|
<!-- YYMMDD USERID Change description -->
|
|
<!-- Direct1 SCRIPT J converted by B2H R4.1 (346) (CMS) by V2KEA304 -->
|
|
<!-- at RCHVMW2 on 17 Feb 1999 at 11:05:09 -->
|
|
<!-- File Edited March 2001 -->
|
|
<!-- This file has undergone html cleanup on 2/19/02 by JET -->
|
|
<!-- End Header Records -->
|
|
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
|
|
</head>
|
|
<body>
|
|
<!-- Java sync-link -->
|
|
<script language="Javascript" src="../rzahg/synch.js" type="text/javascript">
|
|
</script>
|
|
|
|
<a name="Top_Of_Page"></a>
|
|
|
|
<h2>ldap_modify_ext()--Perform an LDAP Modify Entry Request with Controls</h2>
|
|
|
|
<div class="box" style="width: 80%;">
|
|
<br>
|
|
Syntax<br>
|
|
<pre>
|
|
#include <ldap.h>
|
|
|
|
typedef struct ldapmod {
|
|
int mod_op;
|
|
char *mod_type;
|
|
union {
|
|
char **modv_strvals;
|
|
struct berval **modv_bvals;
|
|
} mod_vals;
|
|
} LDAPMod;
|
|
|
|
#define mod_values mod_vals.modv_strvals
|
|
#define mod_bvalues mod_vals.modv_bvals
|
|
|
|
|
|
int ldap_modify_ext( LDAP *<em>ld</em>,
|
|
const char *<em>dn</em>,
|
|
LDAPMod **<em>mods</em>,
|
|
LDAPControl **<em>serverctrls</em>,
|
|
LDAPControl **<em>clientctrls</em>,
|
|
int *<em>msgidp</em>)
|
|
</pre>
|
|
|
|
<br>
|
|
Default Public Authority: *USE<br>
|
|
<!-- iddvc RMBR -->
|
|
<br>
|
|
Library Name/Service Program: QSYS/QGLDCLNT<br>
|
|
<!-- iddvc RMBR -->
|
|
<br>
|
|
Threadsafe: Yes<br>
|
|
<!-- iddvc RMBR -->
|
|
<br>
|
|
</div>
|
|
|
|
<p>The <strong>ldap_modify_ext()</strong> routine initiates an asynchronous
|
|
modify operation with controls. <em>dn</em> is the Distinguished name of the
|
|
entry to modify, and <em>mods</em> is a NULL-terminated array of modifications
|
|
to make to the entry. Each element of the <em>mods</em> array is a pointer to
|
|
an LDAPMod structure.</p>
|
|
|
|
<p>The <em>mod_op</em> field is used to specify the type of modification to
|
|
perform and should be one of the following:</p>
|
|
|
|
<table width="100%" cellpadding="5">
|
|
<tr>
|
|
<td width="30%" valign="top"><strong>LDAP_MOD_ADD</strong></td>
|
|
<td width="70%" valign="top">0x00</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><strong>LDAP_MOD_DELETE</strong></td>
|
|
<td valign="top">0x01</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><strong>LDAP_MOD_REPLACE</strong></td>
|
|
<td valign="top">0x02</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
|
|
|
|
<p>This field also indicates the type of values included in the mod_vals union.
|
|
For binary data, you must also bitwise OR the operation type with <strong>
|
|
LDAP_MOD_BVALUES</strong> (0x80). This indicates that the values are specified
|
|
in a NULL-terminated array of struct berval structures. Otherwise, the
|
|
mod_values will be used (that is, the values are assumed to be a NULL-terminated
|
|
array of NULL-terminated character strings).</p>
|
|
|
|
<p>The <em>mod_type</em> field specifies the name of attribute to add, delete,
|
|
or replace.</p>
|
|
|
|
<p>The <em>mod_vals</em> field specifies a pointer to a NULL-terminated array
|
|
of values to add, replace, or delete. Only one of the mod_values or mod_bvalues
|
|
variants should be used, with mod_bvalues being selected by ORing the mod_op
|
|
field with the constant <strong>LDAP_MOD_BVALUES</strong>. <em>mod_values</em>
|
|
is a NULL-terminated array of NULL-terminated strings and <em>mod_bvalues</em>
|
|
is a NULL-terminated array of berval structures that can be used to pass binary
|
|
values such as images.</p>
|
|
|
|
<p>For <strong>LDAP_MOD_ADD</strong> modifications, the given values are added
|
|
to the entry, creating the attribute if necessary.</p>
|
|
|
|
<p>For <strong>LDAP_MOD_DELETE</strong> modifications, the given values are
|
|
deleted from the entry, removing the attribute if no values remain. If the
|
|
entire attribute is to be deleted, the <em>mod_values</em> field should be set
|
|
to NULL. The server will return an error if the attribute doesn't exist.</p>
|
|
|
|
<p>For <strong>LDAP_MOD_REPLACE</strong> modifications, the attribute will have
|
|
the listed values after the modification, having been created if necessary, or
|
|
removed if the <em>mod_vals</em> field is NULL. The server should NOT return an
|
|
error if the value doesn't exist.</p>
|
|
|
|
<p>All modifications are performed in the order in which they are listed.</p>
|
|
|
|
<br>
|
|
|
|
|
|
<h3>Authorities and Locks</h3>
|
|
|
|
<p>No i5/OS authority is required. All authority checking is done by the LDAP
|
|
server.</p>
|
|
|
|
<br>
|
|
|
|
|
|
<h3>Parameters</h3>
|
|
|
|
<dl>
|
|
<dt><em>ld</em></dt>
|
|
|
|
<dd>(Input) Specifies the LDAP pointer returned by a previous call to <a href=
|
|
"ldap_init.htm">ldap_init()</a>, <a href="ldap_ssl_init.htm">
|
|
ldap_ssl_init()</a>, or <a href="ldap_open.htm">ldap_open()</a>.<br>
|
|
</dd>
|
|
|
|
<dt><em>dn</em></dt>
|
|
|
|
<dd>(Input) Specifies the Distinguished Name of the entry to be modified.</dd>
|
|
|
|
<dt><em>mods</em></dt>
|
|
|
|
<dd>(Input) Specifies a NULL-terminated array of modifications to make to the
|
|
entry. Each element of the mods array is a pointer to an LDAPMod
|
|
structure.</dd>
|
|
|
|
<dt><em>serverctrls</em></dt>
|
|
|
|
<dd>(Input) Specifies a list of LDAP server controls. This parameter may be set
|
|
to NULL. See <a href="ldap_controls.htm">LDAP Controls</a> for more information
|
|
about server controls.</dd>
|
|
|
|
<dt><em>clientctrls</em></dt>
|
|
|
|
<dd>(Input) Specifies a list of LDAP client controls. This parameter may be set
|
|
to NULL. See <a href="ldap_controls.htm">LDAP Controls</a> for more information
|
|
about client controls.</dd>
|
|
|
|
<dt><em>msgidp</em></dt>
|
|
|
|
<dd>(output) This result parameter is set to the message id of the request if
|
|
the <strong>ldap_modify_ext()</strong> call succeeds.</dd>
|
|
</dl>
|
|
|
|
<br>
|
|
|
|
|
|
<h3>Return Value</h3>
|
|
|
|
<dl>
|
|
<dt><strong>LDAP_SUCCESS</strong></dt>
|
|
|
|
<dd>if the request was successfully sent. If successful, <strong>
|
|
ldap_modify_ext()</strong> places the message id of the request in
|
|
*<em>msgidp</em>. A subsequent call to <a href="ldap_result.htm">
|
|
ldap_result()</a> can be used to obtain the result of the operation. Once the
|
|
operation has completed, <em>ldap_result()</em> returns a result that contains
|
|
the status of the operation (in the form of an error code). The error code
|
|
indicates whether or not the operation completed successfully. The <a href=
|
|
"ldap_parse_result.htm">ldap_parse_result()</a> API is used to check the error
|
|
code in the result.<br>
|
|
<br>
|
|
</dd>
|
|
|
|
<dt><strong>another LDAP error code</strong></dt>
|
|
|
|
<dd>if the request was not successful.</dd>
|
|
</dl>
|
|
|
|
<br>
|
|
|
|
|
|
<h3>Error Conditions</h3>
|
|
|
|
<p>The <strong>ldap_modify_ext()</strong> API will return an LDAP error code if
|
|
not successful. See <a href="ldap_error_condt.htm">LDAP Client API Error
|
|
Conditions</a> for possible LDAP error code values.</p>
|
|
|
|
<br>
|
|
|
|
|
|
<h3>Error Messages</h3>
|
|
|
|
<p>The following message may be sent from this function.</p>
|
|
|
|
<table width="100%" cellpadding="3">
|
|
<tr>
|
|
<th align="left" valign="top">Message ID</th>
|
|
<th align="left" valign="top">Error Message Text</th>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td width="15%" valign="top">CPF3CF2 E</td>
|
|
<td width="85%" valign="top">Error(s) occurred during running of
|
|
ldap_modify_ext API.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
<br>
|
|
|
|
|
|
<h3>Related Information</h3>
|
|
|
|
<ul>
|
|
<li><a href="ldap_add_ext.htm">ldap_add_ext()</a> -- Asynchronously add an
|
|
entry with controls.</li>
|
|
|
|
<li><a href="ldap_delete_ext.htm">ldap_delete_ext()</a> -- Perform an LDAP
|
|
delete operation with controls.</li>
|
|
|
|
<li><a href="ldap_modify.htm">ldap_modify()</a> -- Asynchronous modify to a
|
|
directory entry.</li>
|
|
|
|
<li><a href="ldap_modify_s.htm">ldap_modify_s()</a> -- Synchronous modify to a
|
|
directory entry.</li>
|
|
|
|
<li><a href="ldap_modify_ext_s.htm">ldap_modify_ext_s()</a> -- Synchronous
|
|
modify to a directory entry with controls.</li>
|
|
|
|
<li><a href="ldap_modrdn.htm">ldap_modrdn()</a> -- Asynchronously modify the
|
|
RDN of an entry.</li>
|
|
|
|
<li><a href="ldap_modrdn_s.htm">ldap_modrdn_s()</a> -- Synchronously modify the
|
|
RDN of an entry.</li>
|
|
</ul>
|
|
|
|
<p>The <strong>ldap_modify_ext()</strong> API supports LDAP V3 server controls
|
|
and client controls.</p>
|
|
|
|
<br>
|
|
<hr>
|
|
API introduced: V4R5
|
|
|
|
<hr>
|
|
<table align="center" cellpadding="2" cellspacing="2">
|
|
<tr align="center">
|
|
<td valign="middle" align="center"><a href="#Top_Of_Page">Top</a> | <a href=
|
|
"dirserv1.htm">LDAP APIs</a> | <a href="aplist.htm">APIs by
|
|
category</a></td>
|
|
</tr>
|
|
</table>
|
|
</body>
|
|
</html>
|
|
|