cl_getgroupsbynode 例程

cl_getgroupsbynode 例程将返回所指定节点所隶属的所有资源组的信息。 注意,此例程将分配用于存放返回信息的存储器,调用程序必须释放此存储器。

语法

int cl_getgroupsbynode (int clusterid, int nodeid,
  struct cl_group **groupbufp, int *groupcountp);

参数

项目 描述
集群标识 期望集群的集群标识。
NodeID 集群节点的标识。
组 (groupbufp) 指向 cl_group 结构的指针,将使用该结构来返回信息。
组计数 (groupcountp) 指向一个整数的指针,将使用该整数来存储返回的组数。

状态码

项目 描述
清除 (CLE_OK) 成功。
清除 BADARGS 缺少自变量或自变量无效。
清除 SYSERR 系统错误。
清除 NOCLINFO 未获得集群信息。
cle_ivclusterid 集群标识无效。
CLE_IVNODENAME 节点标识无效。

示例

  int clusterid = 1113325332;
  int nodeid = 1;
  int status;
  int groupcount;
  int j;
  struct cl_group *groups;

  status = cl_getgroupsbynode(clusterid, nodeid, &groups, &groupcount);
  if (status != CLE_OK){
      cl_perror(status,"failed to get resource group information");
  } else {
      printf("node %d is a member of %d groups:\n",nodeid, groupcount);
      for(j=0; j < groupcount; j++){
printf("node %d is in group %s\n", 
 nodeid, groups[j].clg_name);}
      if (groupcount) free (groups);
  }