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