ibm-information-center/dist/eclipse/plugins/i5OS.ic.apis_5.4.0.1/ldap_modify_s.htm

252 lines
7.1 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_s()--Perform an LDAP Modify Entry Request
(Synchronous)</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_s()--Perform an LDAP Modify Entry Request (Synchronous)</h2>
<br>
<div class="box" style="width: 80%;">
<br>
&nbsp;&nbsp;Syntax<br>
<pre>
#include &lt;ldap.h&gt;
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_s(
LDAP *<em>ld</em>,
const char *<em>dn</em>,
LDAPMod **<em>mods</em>)
</pre>
<br>
&nbsp;&nbsp;Default Public Authority: *USE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Library Name/Service Program: QSYS/QGLDCLNT<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: Yes<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>The <strong>ldap_modify_s()</strong> performs a synchronous request.</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, modify or delete respectively. Only one of the mod_values or
mod_bvalues variants should be used, with mod_bvalues being selected by ORing
the <em>mod_op</em> 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 <strong>NULL</strong>. 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_values</em> field is <strong>NULL</strong>. The server
will 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>
<br>
</dd>
<dt><em>dn</em></dt>
<dd>(Input) Specifies the Distinguished Name of the entry to be modified.<br>
<br>
</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>
</dl>
<br>
<h3>Return Value</h3>
<dl>
<dt><strong>LDAP_SUCCESS</strong></dt>
<dd>if the request was successful.<br>
<br>
</dd>
<dt><strong>another LDAP error</strong></dt>
<dd>if the request was not successful.</dd>
</dl>
<br>
<h3>Error Conditions</h3>
<p>The <strong>ldap_modify_s()</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_s
API.</td>
</tr>
</table>
<br>
<br>
<h3>Related Information</h3>
<ul>
<li><a href="ldap_add_s.htm">ldap_add_s()</a> -- Perform an LDAP add operation
(synchronous).</li>
<li><a href="ldap_delete_s.htm">ldap_delete_s()</a> -- Perform an LDAP delete
operation (synchronous).</li>
<li><a href="ldap_modify_s.htm">ldap_modify()</a> -- Perform an LDAP modify
entry request.</li>
<li><a href="ldap_modify_ext.htm">ldap_modify_ext()</a> -- Asynchronous modify
to a directory entry with controls.</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>
<hr>
API introduced: V4R3
<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>