Sun Microsystems, Inc.
   www.sun.com docs.sun.com | | |  
   
A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z  
    
 
Sun Cluster HA and Data Servicesscha_resource_open(3HA)


NAME

 scha_resource_open, scha_resource_close, scha_resource_get - resource information access functions.

SYNOPSIS

 
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);
 scha_err_t scha_resource_close(scha_err_t handle);
 scha_err_t scha_resource_get(scha_resource_t handle, const char *tag,...);

DESCRIPTION

 

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).

Tag Arguments

 

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)).

SCHA_R_DESCRIPTION
The output argument type is char**.
SCHA_TYPE
The output argument type is char**.
SCHA_RESOURCE_PROJECT_NAME
The output argument type is char**.
SCHA_ON_OFF_SWITCH
The output argument type is scha_switch_t*.
SCHA_MONITORED_SWITCH
The output argument type is scha_switch_t*.
SCHA_RESOURCE_STATE
The output argument type is scha_rsstate_t*.
SCHA_CHEAP_PROBE_INTERVAL
The output argument type is int*.
SCHA_THOROUGH_PROBE_INTERVAL
The output argument type is int*.
SCHA_RETRY_COUNT
The output argument type is int*.
SCHA_RETRY_INTERVAL
The output argument type is int*.
SCHA_FAILOVER_MODE
The output argument type is scha_failover_mode_t*.
SCHA_RESOURCE_DEPENDENCIES
The output argument type is scha_str_array_t**.
SCHA_RESOURCE_DEPENDENCIES_WEAK
The output argument type is scha_str_array_t**.
SCHA_NETWORK_RESOURCES_USED
The output argument type is scha_str_array_t**.
SCHA_SCALABLE
The output argument type is boolean_t*.
SCHA_PORT_LIST
The output argument type is scha_str_array_t**.
SCHA_LOAD_BALANCING_POLICY
The output argument type is char**.
SCHA_LOAD_BALANCING_WEIGHTS
The output argument type is scha_str_array_t**.
SCHA_AFFINITY_TIMEOUT
The output argument type is int*.
SCHA_WEAK_AFFINITY
The output argument type is boolean_t*.
SCHA_UDP_AFFINITY
The output argument type is boolean_t*.
SCHA_STATUS
The output argument type is scha_status_value_t**.
SCHA_START_TIMEOUT
The output argument type is int*.
SCHA_STOP_TIMEOUT
The output argument type is int*.
SCHA_VALIDATE_TIMEOUT
The output argument type is int*.
SCHA_UPDATE_TIMEOUT
The output argument type is int*.
SCHA_INIT_TIMEOUT
The output argument type is int*.
SCHA_FINI_TIMEOUT
The output argument type is int*.
SCHA_BOOT_TIMEOUT
The output argument type is int*.
SCHA_MONITOR_START_TIMEOUT
The output argument type is int*.
SCHA_MONITOR_STOP_TIMEOUT
The output argument type is int*.
SCHA_MONITOR_CHECK_TIMEOUT
The output argument type is int*.
SCHA_PRENET_START_TIMEOUT
The output argument type is int*.
SCHA_POSTNET_STOP_TIMEOUT
The output argument type is int*.
SCHA_NUM_RG_RESTARTS
The output argument type is int*.
SCHA_NUM_RESOURCE_RESTARTS
The output argument type is int*.
SCHA_TYPE_VERSION
The output argument type is char**.
SCHA_STATUS_NODE
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.
SCHA_RESOURCE_STATE_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.
SCHA_EXTENSION
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.
SCHA_ALL_EXTENSIONS
The output argument type is scha_str_array_t**. It returns the names of all extension properties of the resource.
SCHA_GROUP
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).

SCHA_RT_DESCRIPTION
The output argument type is char**.
SCHA_RT_BASEDIR
The output argument type is char**.
SCHA_RT_SYSTEM
The output argument type is boolean_t*.
SCHA_SINGLE_INSTANCE
The output argument type is boolean_t*.
SCHA_INIT_NODES
The output argument type is scha_initnodes_flag_t*.
SCHA_INSTALLED_NODES
The output argument type is scha_str_array_t**.
SCHA_FAILOVER
The output argument type is boolean_t*.
SCHA_API_VERSION
The output argument type is int*.
SCHA_RT_VERSION
The output argument type is char**.
SCHA_PKGLIST
The output argument type is scha_str_array_t**.
SCHA_START
The output argument type is char**.
SCHA_STOP
The output argument type is char**.
SCHA_VALIDATE
The output argument type is char**.
SCHA_UPDATE
The output argument type is char**.
SCHA_INIT
The output argument type is char**.
SCHA_FINI
The output argument type is char**.
SCHA_BOOT
The output argument type is char**.
SCHA_MONITOR_START
The output argument type is char**.
SCHA_MONITOR_STOP
The output argument type is char**.
SCHA_MONITOR_CHECK
The output argument type is char**.
SCHA_PRENET_START
The output argument type is char**.
SCHA_POSTNET_STOP
The output argument type is char**.
SCHA_IS_LOGICAL_HOSTNAME
The output argument type is boolean_t*.
SCHA_IS_SHARED_ADDRESS
The output argument type is boolean_t*.

RETURN VALUES

 

These functions returns the following:

0
The function succeeded.
non-zero
The function failed.

ERRORS

 
SCHA_ERR_NOERR
Function succeeded.

See scha_calls(3HA) for a description of other error codes.


EXAMPLES

 Example 1. Using the scha_resource_get() Function
 

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);
}

FILES

 
/usr/cluster/include/scha.h
include file
/usr/cluster/lib/libscha.so
library

ATTRIBUTES

 

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPEATTRIBUTE VALUE
AvailabilitySUNWscdev
Interface StabilityEvolving

SEE ALSO

 

scha_resource_get(1HA), scha_calls(3HA), scha_strerror(3HA), attributes(5), r_properties(5), rt_properties(5)



Sun Cluster 3.1Go To TopLast Changed 02 May 2003

 
      
      
Copyright 2003 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.