| #### Other Necessary Objects for ds_read( ) The ds_read( ) procedure takes requests in the form of a DS_C_ENTRY_INFO_SELECTION class object. However, if you refer to the recipe for this object class in XDS/CDS Object Recipes, you will find that it is much simpler than the name object; it contains no subobjects, and its declaration is straightforward. The value of the DS_ALL_ATTRIBUTES attribute specifies that all attributes be read from the CDS entry, which is specified in the Full_Entry_Name_Object variable. Note that the term attribute is used slightly differently in CDS and XDS contexts. In XDS, attributes describe the values that can be held by various object classes; they can be thought of as ''object fields.'' In CDS, attributes describe the values that can be associated with a directory entry. The following code fragment shows the definition of a DS_C_ENTRY_INFO_SELECTION object: static OM_descriptor Entry_Info_Select_Object[] = { OM_OID_DESC(OM_CLASS, DS_C_ENTRY_INFO_SELECTION), {DS_ALL_ATTRIBUTES, OM_S_BOOLEAN, OM_TRUE}, {DS_INFO_TYPE, OM_S_ENUMERATION, DS_TYPES_AND_VALUES}, OM_NULL_DESCRIPTOR }; ####