int
kdms_vmatch_attributes(
kobject object1,
kobject object2,
char *segment,
kva_list *list)
ATTRIBUTE_NAME1, ATTRIBUTE_NAME2, ..., NULL
none
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 kdms_match_attributes will also return FALSE if any of the attributes do not exist in either or both of the two objects.
Data services manages two sets of attributes with each object. Internally, they are referred to as the physical attributes and the presentation attributes. The presentation version of an attribute is the value that is desired by the programmer. The corresponding physical attribute is what is physically stored on the file or transport associated with the object. If the two versions of an attribute result in different presentations of data, then data services automatically translates the data from the physical interpretation to the presentation interpretation, or visa-versa, as appropriate. For example, if the data type attribute (KDMS_DATA_TYPE) is physically unsigned int (KULONG), but the presentation value of that attribute is float (KFLOAT), then data services will retrieve the data from the object and and cast it to float before returning it to the user. Similar behavior will occur for attributes such as index order (KDMS_INDEX_ORDER) and size (KDMS_SIZE).
The presentation attributes are settable at any time throughout a object's lifetime. The physical attributes, however, at some point are locked and thereafter cannot change. An object that was opened as an input object (via kdms_input or kdms_open) has its physical attributes locked immediately.
If the segment argument is NULL, then that implies that the attributes are global attributes in each of the abstract data objects.
none
none
$DATASERV/objects/library/kdataman/src/attributes.c