int
kpds_get_attribute(
kobject object,
char *attribute,
kvalist)
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 function accepts an object, the name of the attribute that is desired and the address of a location in which to return the value of the attribute. Certain KPDS attributes require more than one argument in order to return the entire attribute. For example, KPDS_VALUE_SIZE requires five (5) arguments. Getting the KPDS_VALUE_DATA_TYPE attribute might look like this:
kpds_get_attribute(object, KPDS_VALUE_DATA_TYPE, &typ);
Getting the KPDS_VALUE_SIZE attribute, is a little more complex:
kpds_get_attribute(object, KPDS_VALUE_SIZE, &w, &h, &d, &t, &e);
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