-fixes
[oweals/gnunet.git] / src / gns / w32nsp-install.c
1 #define INITGUID\r
2 #include <windows.h>\r
3 #include <nspapi.h>\r
4 #include <ws2spi.h>\r
5 #include "gnunet_w32nsp_lib.h"\r
6 #include <stdio.h>\r
7 \r
8 int\r
9 main (int argc, char **argv)\r
10 {\r
11   int ret;\r
12   int r = 1;\r
13   WSADATA wsd;\r
14   GUID id = GNUNET_NAMESPACE_PROVIDER_DNS;\r
15   wchar_t *cmdl;\r
16   int wargc;\r
17   wchar_t **wargv;\r
18 \r
19   if (WSAStartup(MAKEWORD(2,2), &wsd) != 0)\r
20   {\r
21     fprintf (stderr, "WSAStartup() failed: %lu\n", GetLastError());\r
22     return 5;\r
23   }\r
24 \r
25   cmdl = GetCommandLineW ();\r
26   if (cmdl == NULL)\r
27   {\r
28     WSACleanup();\r
29     return 2;\r
30   }\r
31   wargv = CommandLineToArgvW (cmdl, &wargc);\r
32   if (wargv == NULL)\r
33   {\r
34     WSACleanup();\r
35     return 3;\r
36   }\r
37   r = 4;\r
38 \r
39   if (wargc == 2)\r
40   {\r
41     ret = WSCInstallNameSpace (L"GNUnet DNS provider", wargv[1], NS_DNS, 1, &id);\r
42     if (ret == NO_ERROR)\r
43     {\r
44       r = 0;\r
45     }\r
46     else\r
47     {\r
48       r = 1;\r
49       fprintf (stderr,\r
50           "WSCInstallNameSpace(L\"GNUnet DNS provider\", \"%S\", %d, 0, %p) failed: %lu\n",\r
51           wargv[1], NS_DNS, &id, GetLastError ());\r
52     }\r
53   }\r
54   WSACleanup();\r
55   return r;\r
56 }