254 lines
7.4 KiB
HTML
254 lines
7.4 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()--Perform an LDAP Modify Entry Request</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()--Perform an LDAP Modify Entry Request</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(
|
|
LDAP *<em>ld</em>,
|
|
const char *<em>dn</em>,
|
|
LDAPMod **<em>mods</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()</strong> API is an asynchronous request. The
|
|
result of the operation can be obtained by a subsequent call to <a href=
|
|
"ldap_result.htm">ldap_result()</a>.</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>.</dd>
|
|
|
|
<dt><em>dn</em></dt>
|
|
|
|
<dd>(Input) Specifies the Distinguished Name (DN) 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>
|
|
</dl>
|
|
|
|
<br>
|
|
|
|
|
|
<h3>Return Value</h3>
|
|
|
|
<dl>
|
|
<dt><strong>Message ID of the Operation Initiated</strong></dt>
|
|
|
|
<dd>if the request was successful. A subsequent call to <a href=
|
|
"ldap_result.htm">ldap_result()</a>, can be used to obtain the result of the
|
|
modify.<br>
|
|
<br>
|
|
</dd>
|
|
|
|
<dt><strong>-1</strong></dt>
|
|
|
|
<dd>if the request was not successful.</dd>
|
|
</dl>
|
|
|
|
<br>
|
|
|
|
|
|
<h3>Error Conditions</h3>
|
|
|
|
<p>If <strong>ldap_modify()</strong> is not successful, <em>ld_errno</em> will
|
|
be set to indicate the error. See <a href="ldap_error_condt.htm">LDAP Client
|
|
API Error Conditions</a> for possible LDAP error code values. Use <a href=
|
|
"ldap_get_errno.htm">ldap_get_errno()</a> function to retrieve the error
|
|
information.</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
|
|
API.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
<br>
|
|
|
|
|
|
<h3>Related Information</h3>
|
|
|
|
<ul>
|
|
<li><a href="ldap_add.htm">ldap_add()</a> -- Asynchronously add an entry.</li>
|
|
|
|
<li><a href="ldap_delete.htm">ldap_delete()</a> -- Perform an LDAP Delete
|
|
Operation.</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.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>
|
|
|
|
<br>
|
|
|
|
|
|
<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>
|
|
|