1 /**
2  * Windows API header module
3  *
4  * Translated from MinGW Windows headers
5  *
6  * Authors: Stewart Gordon
7  * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
8  * Source: $(DRUNTIMESRC core/sys/windows/_dhcpcsdk.d)
9  */
10 /// Automatically imported and edited from the druntime module
11 /// core.sys.windows.dhcpcsdk for the auto-generated win32 package.
12 module win32.dhcpcsdk;
13 //version (Windows):
14 @system:
15 
16 import win32.w32api, win32.windef;
17 
18 /*static assert (_WIN32_WINNT >= 0x500,
19 "win32.dhcpcsdk is available only if version Windows2000, WindowsXP, Windows2003
20 or WindowsVista is set");*/
21 
22 //#if (_WIN32_WINNT >= 0x500)
23 
24 // FIXME: check type
25 enum DHCPCAPI_REGISTER_HANDLE_EVENT = 1;
26 enum DHCPCAPI_REQUEST_PERSISTENT    = 1;
27 enum DHCPCAPI_REQUEST_SYNCHRONOUS   = 2;
28 
29 struct DHCPCAPI_CLASSID {
30     ULONG  Flags;
31     LPBYTE Data;
32     ULONG  nBytesData;
33 }
34 alias DHCPCAPI_CLASSID* PDHCPCAPI_CLASSID, LPDHCPCAPI_CLASSID;
35 
36 struct DHCPAPI_PARAMS {
37     ULONG  Flags;
38     ULONG  OptionId;
39     BOOL   IsVendor;
40     LPBYTE Data;
41     DWORD  nBytesData;
42 }
43 alias DHCPAPI_PARAMS* PDHCPAPI_PARAMS, LPDHCPAPI_PARAMS;
44 
45 struct DHCPCAPI_PARAMS_ARRAY {
46     ULONG            nParams;
47     LPDHCPAPI_PARAMS Params;
48 }
49 alias DHCPCAPI_PARAMS_ARRAY* PDHCPCAPI_PARAMS_ARRAY, LPDHCPCAPI_PARAMS_ARRAY;
50 
51 extern (Windows) {
52     void DhcpCApiCleanup();
53     DWORD DhcpCApiInitialize(LPDWORD);
54     DWORD DhcpDeRegisterParamChange(DWORD, LPVOID, LPVOID);
55     DWORD DhcpRegisterParamChange(DWORD, LPVOID, PWSTR, LPDHCPCAPI_CLASSID,
56       DHCPCAPI_PARAMS_ARRAY, LPVOID);
57     DWORD DhcpRemoveDNSRegistrations();
58     DWORD DhcpUndoRequestParams(DWORD, LPVOID, LPWSTR, LPWSTR);
59 }
60 
61 //#endif // (_WIN32_WINNT >= 0x500)