+ GInetAddress *address;
+ GResolver *resolver;
+ GError *error = NULL;
+#ifdef G_OS_WIN32
+ WSADATA wsaData;
+#endif
+
+ g_thread_init (NULL);
+
+ g_type_init ();
+
+#ifdef G_OS_WIN32
+ if (WSAStartup (MAKEWORD (2, 2), &wsaData) != 0)
+ return 0;
+#endif
+
+ loop = g_main_loop_new (NULL, FALSE);
+
+ address = (GInetAddress *) g_inet4_address_from_string ("127.0.0.1");
+
+ g_printf ("%s:\n", g_inet4_address_to_string (G_INET4_ADDRESS (address)));
+
+ g_printf ("is_any: %d, is_linklocal: %d, is_loopback: %d\n", g_inet_address_is_any (address), g_inet_address_is_linklocal (address), g_inet_address_is_loopback (address));
+
+ g_object_unref (address);
+
+ address = (GInetAddress *) g_inet4_address_from_string ("0.0.0.0");
+
+ g_printf ("\n%s:\n", g_inet4_address_to_string (G_INET4_ADDRESS (address)));
+
+ g_printf ("is_any: %d, is_linklocal: %d, is_loopback: %d\n", g_inet_address_is_any (address), g_inet_address_is_linklocal (address), g_inet_address_is_loopback (address));
+
+ g_object_unref (address);
+
+ address = (GInetAddress *) g_inet4_address_from_string ("169.254.0.0");
+
+ g_printf ("\n%s:\n", g_inet4_address_to_string (G_INET4_ADDRESS (address)));
+
+ g_printf ("is_any: %d, is_linklocal: %d, is_loopback: %d\n", g_inet_address_is_any (address), g_inet_address_is_linklocal (address), g_inet_address_is_loopback (address));
+
+ g_object_unref (address);
+
+ resolver = G_RESOLVER (g_object_new (G_TYPE_RESOLVER, NULL));
+
+ address = g_resolver_resolve (resolver, "www.yahoo.com", NULL, &error);
+
+ if (!address) {
+ g_error (error->message);
+ return 0;
+ }
+
+ g_printf ("\nwww.yahoo.com: %s\n", g_inet4_address_to_string (G_INET4_ADDRESS (address)));
+
+ g_printf ("is_any: %d, is_linklocal: %d, is_loopback: %d\n", g_inet_address_is_any (address), g_inet_address_is_linklocal (address), g_inet_address_is_loopback (address));
+
+ g_object_unref (address);
+
+ g_resolver_resolve_list_async (resolver, "www.google.com", NULL, resolve_callback, NULL);
+
+ g_main_loop_run (loop);
+
+ return 0;