int linphone_core_get_local_ip_for(int type, const char *dest, char *result){ int err; strcpy(result,type==AF_INET ? "127.0.0.1" : "::1"); if (dest==NULL){ if (type==AF_INET) dest="87.98.157.38"; /*a public IP address*/ else dest="2a00:1450:8002::68"; } err=get_local_ip_for_with_connect(type,dest,result); if (err==0) return 0; /* if the connect method failed, which happens when no default route is set, * try to find 'the' running interface with getifaddrs*/ #ifdef HAVE_GETIFADDRS /*we use getifaddrs for lookup of default interface */ int found_ifs; found_ifs=get_local_ip_with_getifaddrs(type,result,LINPHONE_IPADDR_SIZE); if (found_ifs==1){ return 0; }else if (found_ifs<=0){ /*absolutely no network on this machine */ return -1; } #endif return 0; }
int linphone_core_get_local_ip_for(int type, const char *dest, char *result){ strcpy(result,type==AF_INET ? "127.0.0.1" : "::1"); #ifdef HAVE_GETIFADDRS if (dest==NULL) { /*we use getifaddrs for lookup of default interface */ int found_ifs; found_ifs=get_local_ip_with_getifaddrs(type,result,LINPHONE_IPADDR_SIZE); if (found_ifs==1){ return 0; }else if (found_ifs<=0){ /*absolutely no network on this machine */ return -1; } } #endif /*else use connect to find the best local ip address */ if (type==AF_INET) dest="87.98.157.38"; /*a public IP address*/ else dest="2a00:1450:8002::68"; return get_local_ip_for_with_connect(type,dest,result); }