#include <ifaddrs.h>
const char* http_ip_address(void)
{
struct ifaddrs *interfaces = NULL;
struct ifaddrs *temp_addr = NULL;
int success = 0;
// retrieve the current interfaces - returns 0 on success
success = getifaddrs(&interfaces);
if (success != 0) return NULL;
// Loop through linked list of interfaces
temp_addr = interfaces;
while(temp_addr != NULL)
{
if(temp_addr->ifa_addr->sa_family == AF_INET)
{
// Check if interface is en0 which is the wifi connection on the iPhone
if(!strcmp(temp_addr->ifa_name,"en0"))
{
freeifaddrs(interfaces);
return inet_ntoa(((struct sockaddr_in *)temp_addr->ifa_addr)->sin_addr);
}
}
temp_addr = temp_addr->ifa_next;
}
// Free memory
freeifaddrs(interfaces);
return NULL;
}
Thursday, July 15, 2010
Finding Wi-Fi IP address of iphone
It will work for any unix-like system- might need to change "en0" to something else
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment