result = dhcpcBind (pLeaseCookie, TRUE); // Synchronous execution.
if (result != OK)
{
printf("dhcpcBind error\n");
return (ERROR);
}
/****************************************************************/
/**************** Using dhcpcParamsGet() ***********************/
/* prepare to use dhcpcParamsGet() */
memset((char *)¶mList, 0x00, sizeof(paramList));
paramList.subnet_mask = (struct in_addr *)malloc(sizeof(struct
in_addr));
memset((char *)paramList.subnet_mask, 0x00,
sizeof(paramList.subnet_mask));
paramList.sname = (char *)malloc(256);
memset((char *)paramList.sname, 0x00, sizeof(paramList.sname));
paramList.dns_server = (struct in_addrs *)malloc(sizeof(struct in_addrs));
memset((char *)paramList.dns_server, 0x00,
sizeof(paramList.dns_server));
paramList.dns_domain = (char *)malloc(256);
if (dhcpcParamsGet(pLeaseCookie, ¶mList) == ERROR)
logMsg("Can not get parameter list. % x \n", errno,0,0,0,0,0);
else
{
logMsg("DHCP server host name is: %s. \n", paramList.sname,0,0,0,0,0);
logMsg("DHCP dns domain name is: %s. \n",
paramList.dns_domain,0,0,0,0,0);
logMsg("DHCP server's IP address is: %s.\n",
inet_ntoa(paramList.server_id),0,0,0,0,0);
logMsg("This client's pre-dhcp assigned address is: %s.\n",
inet_ntoa(paramList.ciaddr),0,0,0,0,0);
logMsg("This client's assigned address is: %s.\n",
inet_ntoa(paramList.yiaddr),0,0,0,0,0);
logMsg("This client's subnet mask is:%s.\n",
inet_ntoa(*(paramList.subnet_mask)),0,0,0,0,0);
/* next log msg was commented out by sjk since it doesn't work */
//logMsg("DNS server IP address is: %s. \n",
//inet_ntoa(*(paramList.dns_server)),0,0,0,0,0);
/* dhcpcParamsShow() gives the dns IP addresses */
}