cl_getclusteridbyifaddr 例程
返回具有所指定网络接口地址的集群的集群标识。 此例程只能处理 IPv4 地址。
语法
int cl_getclusteridbyifaddr (struct sockaddr_in *addr)参数
| 项目 | 描述 |
|---|---|
| addr | 期望获得其集群标识的网络接口地址。 |
状态码
非负数字(表示集群标识)指示成功。 否则,将返回下列其中一个错误状态码:
| 项目 | 描述 |
|---|---|
| 清除 SYSERR | 系统错误。 请检查 AIX® 全局变量 errno 以获取其他信息。 |
| 清除 BADARGS | 缺少参数或参数无效。 此状态通常指示对输出参数地址指定了 NULL 指针。 |
| 清除 IVADDRESS | 该请求指定了无效网络接口地址。 |
示例
char ifaddr[CL_MAXNAMELEN] = "9.57.28.23";
int clusterid;
struct sockaddr_in addr;
/*
* inet_addr converts addrs to
* Internet numbers.
*/
addr.sin_family = AF_INET;
addr.sin_addr.s_addr = inet_addr (ifaddr);
clusterid = cl_getclusteridbyifaddr (&addr);
if (clusterid < 0) {
cl_perror (clusterid,"can't get cluster ID");
} else {
printf("cluster id w/ interface address %s is %d\n",
inet_ntoa (addr.sin_addr.s_addr), clusterid);
}