scds_get_ext_property(3HA) Sun Cluster HA and Data Services scds_get_ext_property(3HA)
NAME
scds_get_ext_property - retrieve an extension property
SYNOPSIS
cc [flags...] -I /usr/cluster/include file -L /usr/cluster/lib -l dsdev
#include <rgm/libdsdev.h>
scha_err_t scds_get_ext_property(scds_handle_t handle, const char *property_name,
scha_prop_type_t property_type, scha_extprop_value_t **property_value
DESCRIPTION
The scds_get_ext_property() function retrieves the value of a given extension property.
The name of the property is first looked up in the list of properties specified in the method argument list ( argv[], which was parsed by
scds_initialize()). If the property name is not in the method argument list, it is retrieved using the Sun Cluster API. See
scha_calls(3HA).
Upon successful completion, the value of the property is placed in the appropriate variable in the union in a scha_extprop_value_t struc-
ture and a pointer to this structure is passed back to the caller in property_value.
You are responsible for freeing memory by using scds_free_ext_property().
You can find information about the data types scha_prop_type_t and scha_extprop_value_t in scha_calls(3HA) and in the <scha_types.h> header
file.
DSDL provides convenience functions to retrieve the values of some of the more commonly used resource extension properties. See the
scds_property_functions(3HA) man page.
PARAMETERS
The following parameters are supported:
handle The handle returned from scds_initialize(3HA)
property_name Name of the property being retrieved
property_type Property value type. Valid types are defined in scha_calls(3HA) and property_attributes(5).
property_value Pointer to a property value
RETURN VALUES
The scds_get_ext_property() function returns the following values:
0 The function succeeded.
nonzero The function failed.
ERRORS
SCHA_ERR_PROP RTR file does not define the specified property.
SCHA_ERR_NOERR The function succeeded.
Other values Indicate that the function failed. See scha_calls(3HA) for the meaning of the failure codes.
EXAMPLES
Example 1 Using scds_get_ext_property()
#include <scha_types.h>
#include <libdsdev.h>
#define INT_EXT_PROP "Int_extension_property"
...
int retCode;
scha_extprop_value_t *intExtProp;
int retrievedValue;
...
retCode = scds_get_ext_property(handle,
INT_EXT_PROP, SCHA_PTYPE_INT, &intExtProp);
if (retCode != SCHA_ERR_NOERR) {
scds_syslog(LOG_ERR,
"Failed to retrieve the extension property %s: %s.",
INT_EXT_PROP, scds_error_string(retCode));
...
} else {
retrievedValue = intExtProp->val.val_int;
...
scds_free_ext_property(intExtProp);
...
}
...
FILES
/usr/cluster/include/rgm/libdsdev.h
Include file
/usr/cluster/lib/libdsdev.so
Library
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWscdev |
+-----------------------------+-----------------------------+
|Interface Stability |Evolving |
+-----------------------------+-----------------------------+
SEE ALSO
scds_free_ext_property(3HA), scds_initialize(3HA), scds_property_functions(3HA), scha_calls(3HA), rt_reg(4), attributes(5), prop-
erty_attributes(5)
NOTES
Only the values of extension properties that are defined in the RTR file can be retrieved by using this function. See rt_reg(4).
Sun Cluster 3.2 7 Sep 2007 scds_get_ext_property(3HA)