NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | EXAMPLES | FILES | ATTRIBUTES | SEE ALSO
cc [flags…]-I /usr/cluster/include file -L /usr/cluster/lib -l scha #include <scha.h>scha_err_t scha_resource_open(const char *rname, const char *rgname, scha_resource_t *handle);
The scha_resource_open(), scha_resource_get() and scha_resource_close() functions are used together to access information on a resource that is managed by the Resource Group Manager (RGM) cluster facility.
scha_resource_open() initializes access of the resource and returns a handle to be used by scha_resource_get().
The rname argument of scha_resource_open() names the resource to be accessed. The rgname argument is the name of the resource group that the resource is configured in. The rgname argument may be NULL if the group name is not known. However, the execution of the function is more efficient if it is provided. The handle argument is the address of a variable to hold the value returned from the function call.
scha_resource_get() accesses resource information as indicated by the tag argument. The tag argument should be a string value defined by a macro in the <scha_tags.h> header file. Arguments following the tag depend on the value of tag. An additional argument following the tag may be needed to indicate a cluster node from which the information is to be retrieved, or other information specific to the tag. The last argument in the argument list is to be of a type suitable type to hold the information indicated by tag. This is the out argument for the resource information. No value is returned for the out parameter if the function fails.
Memory that is allocated to hold information returned by scha_resource_get() remains intact until scha_resource_close() is called on the handle used for the scha_resource_get(). Note that repeated calls to scha_resource_get() with the same handle and tag cause new memory to be allocated. Space allocated to return a value in one call will not be overwritten and reused by a subsequent calls.
scha_resource_close() takes a handle argument returned from a previous call to scha_resource_open(). It invalidates the handle and frees memory allocated to return values to scha_resource_get() calls that were made with the handle.
Macros defined in <scha_tags.h> that may be used as tag arguments to scha_resource_get() follow.
The type of the output argument and any additional arguments are indicated. Structure and enum types are described in scha_calls(3HA).
The macros naming resource properties are listed below. The value of the property of the resource is output. The SCHA_RESOURCE_STATE, SCHA_STATUS, SCHA_NUM_RG_RESTARTS, and SCHA_NUM_RESOURCE_RESTARTS properties refer to the value on the node where the command is executed (see r_properties(5)).
The output argument type is char**.
The output argument type is char**.
The output argument type is char**.
The output argument type is scha_switch_t*.
The output argument type is scha_switch_t*.
The output argument type is scha_rsstate_t*.
The output argument type is int*.
The output argument type is int*.
The output argument type is int*.
The output argument type is int*.
The output argument type is scha_failover_mode_t*.
The output argument type is scha_str_array_t**.
The output argument type is scha_str_array_t**.
The output argument type is scha_str_array_t**.
The output argument type is boolean_t*.
The output argument type is scha_str_array_t**.
The output argument type is char**.
The output argument type is scha_str_array_t**.
The output argument type is int*.
The output argument type is boolean_t*.
The output argument type is boolean_t*.
The output argument type is scha_status_value_t**.
The output argument type is int*.
The output argument type is int*.
The output argument type is int*.
The output argument type is int*.
The output argument type is int*.
The output argument type is int*.
The output argument type is int*.
The output argument type is int*.
The output argument type is int*.
The output argument type is int*.
The output argument type is int*.
The output argument type is int*.
The output argument type is int*.
The output argument type is int*.
The output argument type is char**.
The output argument type is scha_status_value_t**. An additional argument type is char*. The additional argument names the node. It returns the status of the resource on that node.
The output argument type is scha_rsstate_value_t*. An additional argument type is char *. The additional argument names the node. It returns the state of the resource on that node.
The output argument type is scha_extprop_value_t**. An additional argument type is char*. The additional argument names an extension property of the resource. It returns a structure containing the type and value of the property.
The output argument type is scha_str_array_t**. It returns the names of all extension properties of the resource.
The output argument type is char**. It returns the name of the resource group that the resource is configured in.
The macros naming resource type properties are listed below. The value of the property of the resource's type is output. For descriptions of resource type properties, see rt_properties(5).
The output argument type is char**.
The output argument type is char**.
The output argument type is boolean_t*.
The output argument type is scha_initnodes_flag_t*.
The output argument type is scha_str_array_t**.
The output argument type is boolean_t*.
The output argument type is int*.
The output argument type is char**.
The output argument type is scha_str_array_t**.
The output argument type is char**.
The output argument type is char**.
The output argument type is char**.
The output argument type is char**.
The output argument type is char**.
The output argument type is char**.
The output argument type is char**.
The output argument type is char**.
The output argument type is char**.
The output argument type is char**.
The output argument type is char**.
The output argument type is char**.
The output argument type is boolean_t*.
The output argument type is boolean_t*.
Function succeeded.
See scha_calls(3HA) for a description of other error codes.
The following example uses scha_resource_get() to get the value of the Retry_count property of a resource, and the value of the extension property named Loglevel.
main() { #include <scha.h> scha_err_t err; int retry_count_out; scha_extprop_value_t *loglevel_out; scha_resource_t handle; /* a configured resource */ char * resource_name = "example_R"; /* resource group containing example_R */ char * group_name = "example_RG"; err = scha_resource_open(resource_name, group_name, &handle); err = scha_resource_get(handle, SCHA_RETRY_COUNT, &retry_count_out); err = scha_resource_get(handle, SCHA_EXTENSION, "LogLevel", &loglevel_out); err = scha_resource_close(handle); printf("The retry count for resource %s is %d\n", resource_name, retry_count_out); printf("The log level for resource %s is %d\n", resource_name, loglevel_out->val_int); }
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE |
ATTRIBUTE VALUE |
---|---|
Availability |
SUNWscdev |
Interface Stability |
Evolving |
scha_resource_get(1HA), scha_calls(3HA), scha_strerror(3HA), attributes(5), r_properties(5), rt_properties(5)
NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | EXAMPLES | FILES | ATTRIBUTES | SEE ALSO