NWDSModifyRDN(3nw)


NWDSModifyRDN -- changes the least significant name of a Directory object or its alias in the Directory tree

Synopsis

   #include <nwnet.h> 
   or 
   #include <nwdsdsa.h> 
   

NWDSCCODE N_API NWDSModifyRDN (NWDSContextHandle context, pnstr8 objectName, pnstr8 newDN, nbool8 deleteOldRDN);

Description

The parameters are as follows:

context
(IN) Specifies the Directory context for the request.

objectName
(IN) Points to the object's current name.

newDN
(IN) Points to the object's new name.

deleteOldRDN
(IN) Specifies whether to discard the old RDN. If FALSE, the old RDN is retained as an additional attribute value.

Return values

0x0000
SUCCESSFUL

Negative Value
Negative values indicate errors. For errors returned by Directory Services, see ``Directory Services OS Errors'' (-001 to -255), ``Directory Services Client Library Errors'' (-301 to -399), or ``Directory Services Agent in the Server Errors'' (-601 to -699).

0x8996
SERVER_OUT_OF_MEMORY

0x89E2
TOO_FEW_FRAGMENTS

0x89E3
TOO_MANY_FRAGMENTS

0x89E4
PROTOCOL_VIOLATION

0x89E5
SIZE_LIMIT_EXCEEDED

0x89FD
UNKNOWN_REQUEST

0x89FD
INVALID_PACKET_LENGTH

0x89FE
BAD_PACKET

0x89FF
Failure not related to Directory Services

Notices

NWDSModifyRDN does not move an object to a new location in the Directory tree.

NWDSModifyRDN only changes the least significant (left-most) name in a leaf object's distinguished name. It does not change an object's more significant names, since changing those names changes the location of the object in the Directory tree. For example, if the object's name is

   CN=Hector.OU=Graphics.O=WimpleMakers 

you can change the common name ``CN=Hector'' to ``CN=Duke'' since it is a leaf object. However, you cannot change the ``OU=Graphics'' to ``OU=Marketing'' since that would change the location of the object (Hector) within the Directory tree. (To move an object call NWDSMoveObject.)

You cannot change the name of an object that is not a leaf node. For example, in the above case you cannot change the name of

   OU=Graphics.O=WimpleMakers 

to

   OU=Presentation Graphics.O=WimpleMakers 

because Graphics is not a leaf node; it contains the subordinate object named Hector.

objectName identifies the object whose name is to be modified. Aliases in the name are not dereferenced.

newDN specifies the new name of the object. If an attribute value in the new DN does not already exist in the object, it is added. If it cannot be added, an error is returned.

If deleteOldRDN is TRUE, all attribute values in the old DN that are not in the new DN are deleted. If FALSE, old values remain in the object (but not as a part of the DN). deleteOldRDN must be TRUE where a single-value attribute in the DN has its value changed by NWDSModifyRDN.

If NWDSModifyRDN removes the last attribute value of an attribute while identifying a new attribute for the DN, the old attribute is deleted.

Aliases are never dereferenced by NWDSModifyRDN. The context flag associated with DCV_DEREF_ALIASES is not relevant to NWDSModifyRDN and is ignored.

Services

Directory

NCP calls

0x2222 23 17
Get File Server Information

0x2222 23 22
Get Station's Logged Info (old)

0x2222 23 28
Get Station's Logged Info

0x2222 104 01
Ping for NDS NCP

0x2222 104 02
Send NDS Fragmented Request/Reply

References

NWDSModifyDN(3nw), NWDSModifyObject(3nw), NWDSGetContext(3nw), NWDSSetContext(3nw)
30 January 1998
© 1998 The Santa Cruz Operation, Inc. All rights reserved.