Hi,

How do i get the local ip address of palm when it is connected thru dialup?
I tried with gethostname and gethostbyname routines. But both fails.

char* get_ipaddr(char* HostnameOrAddr)
{
 char* ipAddr;
 struct in_addr *addr;
 struct in_addr inaddr;
 struct hostent *hp;
 inaddr.s_addr = inet_addr(HostnameOrAddr);
    if (inaddr.s_addr == INADDR_NONE)
    {
        // Not an IP address string, assume it is a name
        hp = gethostbyname(HostnameOrAddr);
    }
    else
    {
        // It was a valid IP address string
        hp = gethostbyaddr((const char *)&inaddr,
                        sizeof(struct in_addr), AF_INET);
    }
 if (hp != NULL)
 {
  if (hp->h_addr_list[0] != 0)
   addr = (struct in_addr *) (hp->h_addr_list[0]);
  else
   if (hp->h_addr_list[1] != 0)
    addr = (struct in_addr *) (hp->h_addr_list[1]);
   else
    if (hp->h_addr_list[2] != 0)
     addr = (struct in_addr *) (hp->h_addr_list[2]);
    else
     if (hp->h_addr_list[3] != 0)
      addr = (struct in_addr *) (hp->h_addr_list[3]);
     else
     printf("Can't assign IP Address");
  strcpy(ipAddr, inet_ntoa(*addr));
 }
 else
 {
  ipAddr = NULL;
 }

 return ipAddr;

}

Thanks in Advance.

--
Dinesh







-- 
For information on using the ACCESS Developer Forums, or to unsubscribe, please 
see http://www.access-company.com/developers/forums/

Reply via email to