Oracle® Solaris Cluster 参考手册

退出打印视图

更新时间: 2014 年 7 月,E51743-01
 
 

scds_initialize(3HA)

名称

scds_initialize - 分配和初始化 DSDL 环境

用法概要

cc [flags…] –I /usr/cluster/include file –L /usr/cluster/lib –l dsdev#include <rgm/libdsdev.h>
     scha_err_t scds_initialize(scds_handle_t *handleint argc, char *argv[]);

描述

scds_initialize() 函数初始化 DSDL 环境。必须在使用任何其他 DSDL 函数的每个程序或故障监视器的开头调用一次该函数。

scds_initialize() 函数执行以下操作:

  • 检查并处理框架传送到调用程序且必须传送到 scds_initialize () 的命令行参数( argcargv[])。调用程序无需进一步处理命令行参数。请参见 示例。

  • 使用 DSDL 中其他函数所需的信息设置内部数据结构。它检索资源、资源类型和资源组属性值,并将其存储在这些数据结构中。在命令行上通过使用 argv[] 参数提供的任何属性的值优先于从 RGM 中检索到的值。即,如果在传送给数据服务方法的命令行参数 (argv[]) 中已指定属性的新值,那么检索该属性的值的函数将返回此新值。否则,将返回从 RGM 中检索到的现有值。

  • 初始化数据服务故障监视信息

  • 初始化日志记录环境。所有系统日志消息都带有以下前缀:SC[<resourceTypeName>,< resourceGroupName>,<resourceName>,< methodName>

    将消息发送到系统日志的函数使用由 scha_cluster_getlogfacility() 返回的设备。这些消息可以转发给相应的日志文件和用户。有关更多信息,请参见 syslog.conf(4)

  • 验证故障监视器探测设置。它可验证 Retry_interval 是否大于或等于 (Thorough_probe_interval * Retry_count)。如果结果不为 true,则会向系统日志设备发送相应的消息。您可以在 VALIDATE() 方法中调用 scds_initialize()scds_close 以验证故障监视器探测设置,即使不在 VALIDATE 方法中调用其他 DSDL 函数。

如果 scds_initialize() 成功,必须在退出调用程序之前调用 scds_close()

如果 scds_initialize() 失败,不得调用 scds_close() 进行清理。在 scds_initialize() 失败时,不要调用任何其他 DSDL 函数。否则,它们会返回 SCHA_ERR_INVALNULL 值。请改为调用具有非零参数的 exit()

参数

支持以下参数:

handle

scds_initialize() 初始化且由其他 DSDL 函数使用的句柄。

argc

传送给调用程序的参数数目。

argv

指向传送给调用程序的参数数组的指针。

错误

SCHA_ERR_NOERR

该函数成功。

有关其他错误代码的描述,请参见 scha_calls(3HA)

示例

示例 1 使用 scds_initialize()
int main(int argc, char *argv[]){
 scds_handle_t handle;

 if (scds_initialize(&handle, argc, argv) !=
 SCHA_ERR_NOERR)
 exit(1);
 ...
 /* data service code */
...
 scds_close(&handle);
}

文件

/usr/cluster/include/rgm/libdsdev.h

头文件

/usr/cluster/lib/libdsdev.so

属性

有关以下属性的描述,请参见 attributes(5)

属性类型
属性值
可用性
ha-cluster/developer/api
接口稳定性
Evolving(发展中)

另请参见

scds_close(3HA)scds_property_functions(3HA)scha_calls(3HA)scha_cluster_getlogfacility(3HA )syslog.conf(4)r_properties(5)