NWDSPutChange(3nw)


NWDSPutChange -- stores change record in request buffer for use by NWDSModifyObject

Synopsis

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

NWDSCCODE N_API NWDSPutChange (NWDSContextHandle context, pBuf_T buf, nuint32 changeType, pnstr8 attrName);

Description

The parameters are as follows:

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

buf
(IN) Points to the request buffer where the request will be stored.

changeType
(IN) Specifies the modification type to be performed.

attrName
(IN) Points to the attribute name to be changed.

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).

Notices

A change record includes the name of the attribute and the type of change to be performed.

changeType indicates the type of modification to be performed on an object. The following types of changes are supported:

C Value Value Name Value Description
0 DS_ADD_ATTRIBUTE Specifies a new attribute to be added to the object. An attempt to add an already-existing attribute results in an error.
1 DS_REMOVE_ATTRIBUTE Specifies an attribute to be removed from the object. An attempt to remove a non-existing attribute results in an error. This operation is not allowed if the attribute is present in the RDN.
2 DS_ADD_VALUE Specifies the values to be added to an attribute. An attempt to add an already-existing value results in an error. An attempt to add a value to a nonexistent attribute results in an error.
3 DS_REMOVE_VALUE Specifies the values to be removed from an attribute. If the values are not present in the attribute, an error results. This operation is not allowed if any of the values is present in the RDN.
4 DS_ADDITIONAL_VALUE Specifies to add an additional value to a multivalued attribute.
5 DS_OVERWRITE_VALUE Specifies to modify an attribute value without needing to remove the old value first and then add the new value.
6 DS_CLEAR_ATTRIBUTE Specifies to delete an attribute without checking to see if the attribute exists.
7 DS_CLEAR_VALUE Specifies to clear an attribute value without checking to see if the value exists.

 
 ------------------------------------------------------ 
| C Value|  Value Name         |  Value Description   | 
|--------|---------------------|----------------------| 
| 0      |  DS_ADD_ATTRIBUTE   |  Specifies a new     | 
|        |                     |  attribute to be     | 
|        |                     |  added to the object.| 
|        |                     |  An attempt to add an| 
|        |                     |  already-existing    | 
|        |                     |  attribute results in| 
|        |                     |  an error.           | 
|--------|---------------------|----------------------| 
| 1      |  DS_REMOVE_ATTRIBUTE|  Specifies an        | 
|        |                     |  attribute to be     | 
|        |                     |  removed from the    | 
|        |                     |  object. An attempt  | 
|        |                     |  to remove a non-    | 
|        |                     |  existing attribute  | 
|        |                     |  results in an error.| 
|        |                     |  This operation is   | 
|        |                     |  not allowed if the  | 
|        |                     |  attribute is present| 
|        |                     |  in the RDN.         | 
|--------|---------------------|----------------------| 
| 2      |  DS_ADD_VALUE       |  Specifies the values| 
|        |                     |  to be added to an   | 
|        |                     |  attribute. An       | 
|        |                     |  attempt to add an   | 
|        |                     |  already-existing    | 
|        |                     |  value results in an | 
|        |                     |  error. An attempt to| 
|        |                     |  add a value to a    | 
|        |                     |  nonexistent         | 
|        |                     |  attribute results in| 
|        |                     |  an error.           | 
|--------|---------------------|----------------------| 
| 3      |  DS_REMOVE_VALUE    |  Specifies the values| 
|        |                     |  to be removed from  | 
|        |                     |  an attribute. If the| 
|        |                     |  values are not      | 
|        |                     |  present in the      | 
|        |                     |  attribute, an error | 
|        |                     |  results. This       | 
|        |                     |  operation is not    | 
|        |                     |  allowed if any of   | 
|        |                     |  the values is       | 
|        |                     |  present in the RDN. | 
|--------|---------------------|----------------------| 
| 4      |  DS_ADDITIONAL_VALUE|  Specifies to add an | 
|        |                     |  additional value to | 
|        |                     |  a multivalued       | 
|        |                     |  attribute.          | 
|--------|---------------------|----------------------| 
| 5      |  DS_OVERWRITE_VALUE |  Specifies  to modify| 
|        |                     |  an attribute value  | 
|        |                     |  without needing to  | 
|        |                     |  remove the old value| 
|        |                     |  first and then add  | 
|        |                     |  the new value.      | 
|--------|---------------------|----------------------| 
| 6      |  DS_CLEAR_ATTRIBUTE |  Specifies to delete | 
|        |                     |  an attribute without| 
|        |                     |  checking to see if  | 
|        |                     |  the attribute       | 
|        |                     |  exists.             | 
|--------|---------------------|----------------------| 
| 7      |  DS_CLEAR_VALUE     |  Specifies to clear  | 
|        |                     |  an attribute value  | 
|        |                     |  without checking to | 
|        |                     |  see if the value    | 
|        |                     |  exists.             | 
|--------|---------------------|----------------------| 

If an attempt is made to modify the Object Class attribute, an error is returned.

A value can be modified by placing a combination of DS_REMOVE_VALUE and DS_ADD_VALUE change records in the same request buffer. This allows the operations to be completed with a single call to NWDSModifyObject.

Services

Directory

NCP calls

None

References

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