aboutsummaryrefslogtreecommitdiffstats
path: root/sockaddr_util.c
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2011-07-28 17:43:12 +0200
committerNatanael Copa <ncopa@alpinelinux.org>2011-07-28 17:43:12 +0200
commit39eb92db66600bd1bf8a63f24145c9ff1fd7f966 (patch)
tree085e39909fd173de5a57b625231032d0e98fb800 /sockaddr_util.c
parenta6ed4816fa8c39484dfa5f763efff7d8d7291d9e (diff)
downloadpingu-39eb92db66600bd1bf8a63f24145c9ff1fd7f966.tar.bz2
pingu-39eb92db66600bd1bf8a63f24145c9ff1fd7f966.tar.xz
pingu: add gw to list and minor cleanup
- add default gateways to our gw list - use sockaddr_init to init our gw - implement sockaddr_to_string TODO: delete default gateways from list
Diffstat (limited to 'sockaddr_util.c')
-rw-r--r--sockaddr_util.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/sockaddr_util.c b/sockaddr_util.c
index ab67b2e..8dbb30a 100644
--- a/sockaddr_util.c
+++ b/sockaddr_util.c
@@ -1,4 +1,5 @@
+#include <arpa/inet.h>
#include <netinet/in.h>
#include <string.h>
@@ -39,3 +40,16 @@ union sockaddr_any *sockaddr_init(union sockaddr_any *sa, int family,
}
return sa;
}
+
+char *sockaddr_to_string(union sockaddr_any *sa, char *str, size_t size)
+{
+ switch (sa->sa.sa_family) {
+ case AF_INET:
+ inet_ntop(sa->sa.sa_family, &sa->sin.sin_addr, str, size);
+ break;
+ case AF_INET6:
+ inet_ntop(sa->sa.sa_family, &sa->sin6.sin6_addr, str, size);
+ break;
+ }
+ return str;
+}