PreviousNext

The XDS Functions

As mentioned already, the standards define abstract services that requesters use to interact with the directory. Each of these abstract services maps to a single function call, and the detailed specifications are given in the XDS reference pages. The services and the function calls to which they map are as follows:

DirectoryBind
Maps to ds_bind( )

DirectoryUnbind
Maps to ds_unbind( )

Read
Maps to ds_read( )

Compare
Maps to ds_compare( )

Abandon
Maps to ds_abandon( )

List
Maps to ds_list( )

Search
Maps to ds_search( )

AddEntry
Maps to ds_add_entry( )

RemoveEntry
Maps to ds_remove_entry( )

ModifyEntry
Maps to ds_modify_entry( )

ModifyRDN
Maps to ds_modify_rdn( )

There is a function called ds_receive_result( ), which has no counterpart in the abstract service. It is used with asynchronous operations. (See the xds_intro(3xds) reference page for information on how the asynchronous functions ds_abandon( ) and ds_receive_result( ) are handled by the DCE XDS API.)

The ds_initialize( ), ds_shutdown( ), and ds_version( ) functions are used to control the XDS API and do not initiate any directory operations.

The interface functions are summarized in the following table.


The XDS Interface Functions

Name Description
ds_abandon( ) Abandons the result of a pending asynchronous operation. This function is not supported. See xds_intro(3xds).
ds_add_entry( ) Adds a leaf entry to the DIT.
ds_bind( ) Opens a session with a DUA, which in turn connects to a DSA.
ds_compare( ) Compares a purported attribute value with the attribute value stored in the DIB for a particular entry.
ds_initialize( ) Initializes the XDS interface.
ds_list( ) Enumerates the names of the immediate subordinates of a particular directory entry.
ds_modify_entry( ) Atomically performs modification to a directory entry.
ds_modify_rdn( ) Changes the RDN of a leaf entry.
ds_read( ) Queries information on a particular directory entry by name.
ds_receive_result( ) Retrieves the result of an asynchronously executed function. See xds_intro(3xds) .
ds_remove_entry( ) Removes a leaf entry from the DIT.
ds_search( ) Finds entries of interest in a portion of the DIT.
ds_shutdown( ) Discards a workspace.
ds_unbind( ) Unbinds from a directory session.
ds_version( ) Negotiates features of the interface and service.