Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ ds_modify_rdn(3xds) — DCE 3.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

ds_modify_rdn(3xds)  —  Subroutines

Name

ds_modify_rdn - Changes the RDN of a leaf entry

Synopsis

#include <xom.h>
#include <xds.h> DS_status ds_modify_rdn(
OM_private_object session,
OM_private_object context,
OM_object name,
OM_object new_RDN,
OM_boolean delete_old_RDN,
OM_sint ∗invoke_id_return);

Parameters

Input

session(Object(DS_C_SESSION)).  The directory session against which this operation is performed.  This must be a private object. 

context(Object(DS_C_CONTEXT)).  The directory context to be used for this operation.  Note that DS_SIZE_LIMIT and DS_­DONT_­DEREFERENCE_­ALIASES do not apply to this operation.  This parameter must be a private object or the DS_­DEFAULT_­CONTEXT constant. 

name(Object(DS_C_NAME)).  The current name of the target leaf entry.  Any aliases in the name are not dereferenced.  The immediate superior must not have any nonspecific subordinate references; if it does, the function can fail with a DS_C_UPDATE_ERROR (DS_E_AFFECTS_MULTIPLE_DSAS).  A nonspecific subordinate reference is an indication that another DSA holds some number of children, but does not indicate their RDNs. This means that it is not possible to check the uniqueness of the requested new RDN within a single DSA.

new_RDN(Object(DS_C_RELATIVE_NAME)).  The requested new RDN.  If an attribute value in the new RDN does not already exist in the entry (either as part of the old RDN or as a nondistinguished value), the new value is added.  If it cannot be added, an error is reported. 

delete_old_RDN
(Boolean).  If this value is OM_TRUE, all attribute values that are in the old RDN but not in the new RDN are deleted.  If the value is OM_FALSE, the old values should remain in the entry (not as part of the RDN).  The value must be OM_TRUE when a single value attribute in the RDN has its value changed by the operation.  If this operation removes the last attribute value of an attribute, that attribute is deleted. 

Output

invoke_id_return
(Integer).  Not supported.

Description

The ds_modify_rdn() function is used to change the RDN of a leaf entry (either an object entry or an alias entry). 

Notes

CDS does not support ds_modify_rdn(), and returns with DS_­C_­SERVICE_­ERROR (DS_­E_­UNWILLING_­TO_%PERFORM). 

Return Values

DS_statusIndicates whether the name of the entry is changed (DS_SUCCESS is returned); otherwise, an error is returned. 

Errors

The following describes a partial list of errors that might be returned.  Refer to the OSF DCE Problem Determination Guide for complete descriptions of all error messages. 

This function can return a DS_C_SYSTEM_ERROR or one of the following DS_C_LIBRARY_ERROR errors:

       •DS_E_BAD_ARGUMENT

       •DS_E_BAD_CONTEXT

       •DS_E_BAD_NAME

       •DS_E_BAD_SESSION

       •DS_E_MISCELLANEOUS

       •DS_E_MISSING_TYPE

       •DS_E_TOO_MANY_OPERATIONS

The following directory errors can be returned by the function:

       •DS_C_ATTRIBUTE_ERROR

       •DS_C_NAME_ERROR

       •DS_C_REFERRAL

       •DS_C_SECURITY_ERROR

       •DS_C_SERVICE_ERROR

       •DS_C_UPDATE_ERROR

The DS_C_UPDATE_ERROR (DS_E_AFFECTS_MULTIPLE_DSAS) error, referred to earlier in this reference page, need not be returned if there is local agreement between the DSAs to allow the entry to be modified. 

This function can return a DS_C_COMMUNICATIONS_ERROR, as well as the error constant DS_NO_WORKSPACE. 

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026