1
|
1 /***********************************************************************\
|
|
2 * dhcpcsdk.d *
|
|
3 * *
|
|
4 * Windows API header module *
|
|
5 * *
|
|
6 * Translated from MinGW Windows headers *
|
|
7 * by Stewart Gordon *
|
|
8 * *
|
|
9 * Placed into public domain *
|
|
10 \***********************************************************************/
|
|
11 module win32.dhcpcsdk;
|
|
12
|
|
13 private import win32.w32api, win32.windef;
|
|
14
|
|
15 static assert (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500,
|
|
16 "win32.dhcpcsdk is available only if version WindowsXP, Windows2003
|
|
17 or WindowsVista is set, or both Windows2000 and WindowsNTonly are set");
|
|
18
|
|
19 //#if (_WIN32_WINNT >= 0x0500)
|
|
20
|
|
21 // FIXME: check type
|
|
22 const DHCPCAPI_REGISTER_HANDLE_EVENT = 1;
|
|
23 const DHCPCAPI_REQUEST_PERSISTENT = 1;
|
|
24 const DHCPCAPI_REQUEST_SYNCHRONOUS = 2;
|
|
25
|
|
26 struct DHCPCAPI_CLASSID {
|
|
27 ULONG Flags;
|
|
28 LPBYTE Data;
|
|
29 ULONG nBytesData;
|
|
30 }
|
|
31 alias DHCPCAPI_CLASSID* PDHCPCAPI_CLASSID, LPDHCPCAPI_CLASSID;
|
|
32
|
|
33 struct DHCPAPI_PARAMS {
|
|
34 ULONG Flags;
|
|
35 ULONG OptionId;
|
|
36 BOOL IsVendor;
|
|
37 LPBYTE Data;
|
|
38 DWORD nBytesData;
|
|
39 }
|
|
40 alias DHCPAPI_PARAMS* PDHCPAPI_PARAMS, LPDHCPAPI_PARAMS;
|
|
41
|
|
42 struct DHCPCAPI_PARAMS_ARRAY {
|
|
43 ULONG nParams;
|
|
44 LPDHCPAPI_PARAMS Params;
|
|
45 }
|
|
46 alias DHCPCAPI_PARAMS_ARRAY* PDHCPCAPI_PARAMS_ARRAY, LPDHCPCAPI_PARAMS_ARRAY;
|
|
47
|
|
48 extern (Windows) {
|
|
49 void DhcpCApiCleanup();
|
|
50 DWORD DhcpCApiInitialize(LPDWORD);
|
|
51 DWORD DhcpDeRegisterParamChange(DWORD, LPVOID, LPVOID);
|
|
52 DWORD DhcpRegisterParamChange(DWORD, LPVOID, PWSTR, LPDHCPCAPI_CLASSID,
|
|
53 DHCPCAPI_PARAMS_ARRAY, LPVOID);
|
|
54 DWORD DhcpRemoveDNSRegistrations();
|
|
55 DWORD DhcpUndoRequestParams(DWORD, LPVOID, LPWSTR, LPWSTR);
|
|
56 }
|
|
57
|
|
58 //#endif // (_WIN32_WINNT >= 0x0500)
|