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