int
kdms_vget_attributes(
kobject object,
char *segment,
kva_list *list)
none
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 this instructs kdms_set_attributes to get a series of global attributes, if available. In either case, if an attribute does not exist, then this routine returns FALSE, indicating a failure.
none
none
$DATASERV/objects/library/kdataman/src/attributes.c