int
kpds_match_attributes(
kobject object1,
kobject object2,
kvalist)
ATTRIBUTE_NAME1, ATTRIBUTE_NAME2, ..., NULL
none
Data Services manages two versions of some of the attributes associated with each object. These attributes are the size and data type. Internally, the two versions of these attributes are referred to as the physical attribute and the presentation attribute. Typically, the programmer has access to only the presentation versions of these attributes. The physical attributes are set indirectly depending on the setting of KPDS_COUPLING. See kpds_get_data for a description of how the presentation and physical attributes affect interaction with the data object.
Other attributes are classified as either shared or unshared. Shared attributes are stored at the physical layer of the attribute, and thus can be shared by multiple references of the data object (see kpds_reference_object for more information about references). Unshared attributes, on the other hand, can only be used by the local object (see kpds_query_attribute for information on how to determine whether an attribute is shared or unshared).
This routine will return TRUE if all of the specified attributes have the same value in the objects. This routine will return FALSE if any of the attributes do not match kpds_match_attributes will also return FALSE if any of the attributes do not exist in either or both of the two objects.
The last argument to this function must be NULL. If it is not NULL, then the behavior of this function will be unpredictable (the NULL argument is used as a sentinal to indicate the end of the variable argument list. If the sentinal is not present, then this function will continue to attempt to pull arguments off of the stack, until it finds a NULL).
A complete list of the polymorphic attributes can be found in Chapter 2 of Programming Services Volume II.
none
none
$DATASERV/objects/library/kappserv/src/polymorph.c