diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2011-07-28 17:43:12 +0200 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2011-07-28 17:43:12 +0200 |
commit | 39eb92db66600bd1bf8a63f24145c9ff1fd7f966 (patch) | |
tree | 085e39909fd173de5a57b625231032d0e98fb800 /sockaddr_util.c | |
parent | a6ed4816fa8c39484dfa5f763efff7d8d7291d9e (diff) | |
download | pingu-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.c | 14 |
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; +} |