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 () 的命令行参数( argc 和 argv[])。调用程序无需进一步处理命令行参数。请参见 示例。
使用 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_INVAL 或 NULL 值。请改为调用具有非零参数的 exit()。
支持以下参数:
由 scds_initialize() 初始化且由其他 DSDL 函数使用的句柄。
传送给调用程序的参数数目。
指向传送给调用程序的参数数组的指针。
该函数成功。
有关其他错误代码的描述,请参见 scha_calls(3HA)。
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); }
头文件
库
有关以下属性的描述,请参见 attributes(5):
|
scds_close(3HA)、scds_property_functions(3HA)、scha_calls(3HA)、scha_cluster_getlogfacility(3HA )、syslog.conf(4)、r_properties(5)