Hello, Thomas Huth, on Mon 07 Mar 2016 16:37:59 +0100, wrote: > Is that "#include <netinet/in.h>" required in ip6.h at all? It also seems > to compile if I omit that include completely here...
Well, it makes sense to put it in ip6.h. That said, since ip6.h is only included through slirp.h which includes netinet/in.h appropriately, we can indeed drop it from ip6.h > Anyway, I just tried with my mingw32 cross-compiler, and once this is fixed, > compilation succeeds, but there are some warnings: > > net/slirp.c: In function 'net_slirp_init': > net/slirp.c:249:5: warning: implicit declaration of function 'inet_pton' > [-Wimplicit-function-declaration] > if (!inet_pton(AF_INET6, vprefix6, &ip6_prefix)) { > ^ > slirp/ip6_icmp.c: In function 'icmp6_send_error': > slirp/ip6_icmp.c:84:5: warning: implicit declaration of function 'inet_ntop' > [-Wimplicit-function-declaration] > inet_ntop(AF_INET6, &rip->ip_dst, addrstr, INET6_ADDRSTRLEN); > ^ > qemu/slirp/ndp_table.c: In function 'ndp_table_add': > qemu/slirp/ndp_table.c:16:5: warning: implicit declaration of function > 'inet_ntop' [-Wimplicit-function-declaration] > inet_ntop(AF_INET6, &(ip_addr), addrstr, INET6_ADDRSTRLEN); > > The warnings go away when I use this piece of code in the beginning of the > affected files: > > #ifdef _WIN32 > #define _WIN32_WINNT _WIN32_WINNT_WIN6 > #include <ws2tcpip.h> > #endif Eeeww, so windows only provides inet_pton since Vista?! Ok, for now I'll just disable using inet_ntop/pton when built with compatibility before vista, i.e. notably #if defined(_WIN32) && (_WIN32_WINNT < 0x0600) hardcode fec0:: #endif and refuse to configure the prefix, host and dns. Samuel