PreviousNext

The DS_C_AVA Object

The DS_C_AVA class object is used to hold an actual value. The value is usually in the form of one of the many different XOM string types. (For an illustration of its structure, see the figure, DS_C_DS_DN Object Attributes.)

In calls to ds_compare( ), an object of this type is required to hold the type and value of the attribute that you want compared with those in the entry you specify. It holds the type and value in a separate DS_C_DS_DN object.

DS_C_AVA is also included here because it is a required subsubobject of DS_C_DS_DN itself. DS_C_AVA is the subobject in which the name part's actual literal value is held.

· OM_CLASS

The value of this attribute is an OID string that identifies the object's class; its value is always DS_C_AVA.

· DS_ATTRIBUTE_TYPE

The value of this attribute, which is an OID string, identifies the directory attribute whose value is contained in this object.

· DS_ATTRIBUTE_VALUES

This is the literal value of what is represented by this DS_C_AVA object.

If the DS_C_AVA object is a subobject of DS_C_DS_RDN (and therefore also of DS_C_DS_DN), then the value is a string representing the part of the directory entry name represented by this object. For example, if the DS_C_DS_RDN object contains the O=OSF part of an entry name, then the string OSF is the value of the DS_ATTRIBUTE_VALUES attribute, and DS_A_COUNTRY_NAME is the value of the DS_ATTRIBUTE_TYPE attribute.

On the other hand, if DS_C_AVA contains an entry attribute type and value to be passed to ds_compare( ), then DS_ATTRIBUTE_TYPE identifies the type of the attribute, and DS_ATTRIBUTE_VALUES contains a value, which is appropriate for the attribute type, to be compared with the entry value.

For example, suppose you wanted to compare a certain value with a CDS entry's CDS_Class attribute's value. The identifiers for all the valid CDS entry attributes are found in the file /.:/opt/dcelocal/etc/cds_attributes. The value of DS_ATTRIBUTE_TYPE would be CDS_Class, which is the label of an object identifier string, and DS_ATTRIBUTE_VALUES would contain some desired value, in the correct syntax for CDS_Class. The syntax also is found in the cds_attributes file; for CDS_Class it is byte; that is, a character string.