DATASERV (kappserv) functions


LIBRARY ROUTINE

kpds_copy_attributes - copy multiple attributes from one object to another.

LIBRARY CALL

int
kpds_copy_attributes(
   kobject object1, 
   kobject object2, 
   kvalist)

INPUT

OUTPUT

none

RETURN VALUE

TRUE on success, FALSE otherwise

DESCRIPTION

This function is used to copy multiple attributes from one object to another. The attributes should be provided in a NULL terminated variable argument list.

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 a source object, a destination object, and a list of attribute names. 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). If each of the attributes exist in the source object, then it will be copied to the destination object. If an attribute does not exist in the source object, then an error condition is returned. In the event that an attribute does not exist, then the remainder of the attributes on the list will not be copied.

A complete list of the polymorphic attributes can be found in Chapter 2 of Programming Services Volume II.

ADDITIONAL INFORMATION

none

EXAMPLES

none

SIDE EFFECTS

none

RESTRICTIONS

none

MODIFICATION

none

FILES

$DATASERV/objects/library/kappserv/src/polymorph.c

SEE ALSO

kappserv(3)

COPYRIGHT

Copyright (C) 1993 - 1997, Khoral Research, Inc. ("KRI") All rights reserved.