X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fsilcutil%2Fsilcnet.c;h=2cdac41ab2e0063f1b4bbb8827489d47cd3cc72a;hb=83c73dffa89141bc59e62436abb63b3d3efca6bb;hp=1120529e33ddf0eb04764b4d14332e4be8a468d8;hpb=e2890b9b6f74ba4ab2f4ac67658f5c0fea4380b3;p=silc.git diff --git a/lib/silcutil/silcnet.c b/lib/silcutil/silcnet.c index 1120529e..2cdac41a 100644 --- a/lib/silcutil/silcnet.c +++ b/lib/silcutil/silcnet.c @@ -229,3 +229,25 @@ char *silc_net_localhost(void) return strdup(dest->h_name); } + +/* Returns local IP address */ + +char *silc_net_localip(void) +{ + char hostname[256]; + struct hostent *dest; + struct in_addr ip; + char *ips; + + if (gethostname(hostname, sizeof(hostname))) + return NULL; + + dest = gethostbyname(hostname); + if (!dest) + return NULL; + + SILC_GET32_LSB(ip.s_addr, dest->h_addr_list[0]); + ips = inet_ntoa(ip); + + return strdup(ips); +}