diff options
Diffstat (limited to 'sysdep/linux/sysio.h')
-rw-r--r-- | sysdep/linux/sysio.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/sysdep/linux/sysio.h b/sysdep/linux/sysio.h index bef8a612..58fb9779 100644 --- a/sysdep/linux/sysio.h +++ b/sysdep/linux/sysio.h @@ -7,10 +7,25 @@ */ #ifdef IPV6 + #include <linux/in6.h> /* FIXMEv6: glibc variant? */ +static inline void +set_inaddr(struct in6_addr *ia, ip_addr a) +{ + ipa_hton(a); + memcpy(ia, &a, sizeof(a)); +} + #else +static inline void +set_inaddr(struct in_addr *ia, ip_addr a) +{ + ipa_hton(a); + memcpy(&ia->s_addr, &a, sizeof(a)); +} + /* * Multicasting in Linux systems is a real mess. Not only different kernels * have different interfaces, but also different libc's export it in different |