+#if defined(WIN32)
+ /* Try to get getaddrinfo() and freeaddrinfo() from wship6.dll */
+ typedef int (CALLBACK * GETADDRINFO) ( const char *nodename,
+ const char *servname,
+ const struct addrinfo *hints,
+ struct addrinfo **res );
+ typedef void (CALLBACK * FREEADDRINFO) ( struct addrinfo FAR *ai );
+
+ struct addrinfo hints, *res;
+ GETADDRINFO _getaddrinfo = NULL;
+ FREEADDRINFO _freeaddrinfo = NULL;
+
+ HINSTANCE wship6_dll = LoadLibrary("wship6.dll");
+ if( wship6_dll )
+ {
+ _getaddrinfo = (GETADDRINFO) GetProcAddress( wship6_dll,
+ "getaddrinfo" );
+ _freeaddrinfo = (FREEADDRINFO) GetProcAddress( wship6_dll,
+ "freeaddrinfo" );
+ }
+ if( !_getaddrinfo || !_freeaddrinfo )
+ {
+//X msg_Err( p_this, "no IPv6 stack installed" );
+ if( wship6_dll ) FreeLibrary( wship6_dll );
+ return( -1 );
+ }
+#endif
+