Oracle® Solaris Cluster 参考手册

退出打印视图

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

scha_get_fullname (3HA)

名称

scha_get_fullname - 返回执行资源组的群集节点名称

用法概要

scha_err_tscha_get_fullname(const char *zonename, char **fullname)

描述

scha_get_fullname() 函数返回本地节点上区域上下文的逻辑节点名称。输出参数 fullname 设置为包含群集节点名称的字符串。该字符串需要由调用方释放。

如果 zonename 为 NULL,则区域上下文取决于执行该调用的位置。

  • 如果在全局区域中执行,则返回本地节点名称。

  • 如果在区域群集中执行,则返回区域群集节点名称,而不是全局群集节点名称。

如果 zonename 为非 NULL 值,则意味着要在全局区域中代表 zonename 指定的非全局区域中配置的资源调用该函数。如果 zonename 是区域群集的名称,同时也是底层非全局区域的名称,将返回区域群集节点名称。

如果该函数通过资源回调方法调用,并且 zonename 参数设置为 scds_get_zone_name() 函数的输出,则在所有情况下,生成的 fullname 都将与资源组节点列表中当前的条目匹配:

  • 全局群集或区域群集

  • global_zone 资源类型或常规资源类型

返回值

此函数会返回以下值:

0

该函数成功。

非零值

该函数失败。

错误

SCHA_ERR_NOERR

该函数成功。

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

示例

示例 1 使用 scha_get_fullname() 函数

以下示例使用 scha_get_fullname() 获取表示执行当前程序的 nodename 上下文的 fullname 字符串,并在资源组的节点列表中搜索该名称:

       #include <scha.h>
       #include <libdsdev.h>

       main(int argc, char *argv[])

       {
               scha_err_t        err;
               scds_handle_t     handle;
               char              *myzonename;
               char              *fullname;
               const scha_str_array_t  *rgnodelist;
               uint_t            ix;

               if (scds_initialize(&handle) != SCHA_ERR_NOERR) {
                       /* handle the error */
                       ...
               }
               myzonename = scds_get_zone_name(handle);
               rgnodelist = scds_get_rg_nodelist(handle);
               err = scha_get_fullname(myzonename, &fullname);
               ...
               for (ix = 0; ix < rgnodelist->array_cnt; ix++) {
                       if (strcmp(fullname, rgnodelist->str_array[ix]) == 0) {
                               /* found this node in the node list */
                               ...
                       }
               }
               ...
       }

属性

有关下列属性的说明,请参见 attributes(5)

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

另请参见

scds_calls(3HA)scds_initialize(3HA)scha_cluster_getnodename(3HA)attributes(5)