1/**
2 * Windows API header module
3 *
4 * Translated from MinGW Windows headers
5 *
6 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
7 * Source: $(DRUNTIMESRC core/sys/windows/_lmremutl.d)
8 */
9module core.sys.windows.lmremutl;
10version (Windows):
11@system:
12pragma(lib, "netapi32");
13
14// D Conversion Note: DESC_CHAR is defined as TCHAR.
15
16import core.sys.windows.lmcons, core.sys.windows.windef;
17
18enum SUPPORTS_REMOTE_ADMIN_PROTOCOL =  2;
19enum SUPPORTS_RPC                   =  4;
20enum SUPPORTS_SAM_PROTOCOL          =  8;
21enum SUPPORTS_UNICODE               = 16;
22enum SUPPORTS_LOCAL                 = 32;
23enum SUPPORTS_ANY                   = 0xFFFFFFFF;
24
25enum NO_PERMISSION_REQUIRED = 1;
26enum ALLOCATE_RESPONSE      = 2;
27enum USE_SPECIFIC_TRANSPORT = 0x80000000;
28
29//[Yes] #ifndef DESC_CHAR_UNICODE
30//alias CHAR DESC_CHAR;
31//} else {
32//[No] #else
33//[No] typedef WCHAR DESC_CHAR;
34//[No] #endif
35// FIXME (D): Is this OK?
36alias TCHAR DESC_CHAR;
37
38alias DESC_CHAR* LPDESC;
39
40struct TIME_OF_DAY_INFO {
41    DWORD tod_elapsedt;
42    DWORD tod_msecs;
43    DWORD tod_hours;
44    DWORD tod_mins;
45    DWORD tod_secs;
46    DWORD tod_hunds;
47    LONG  tod_timezone;
48    DWORD tod_tinterval;
49    DWORD tod_day;
50    DWORD tod_month;
51    DWORD tod_year;
52    DWORD tod_weekday;
53}
54alias TIME_OF_DAY_INFO* PTIME_OF_DAY_INFO, LPTIME_OF_DAY_INFO;
55
56extern (Windows) {
57    NET_API_STATUS NetRemoteTOD(LPCWSTR, PBYTE*);
58    NET_API_STATUS NetRemoteComputerSupports(LPCWSTR, DWORD, PDWORD);
59    NET_API_STATUS RxRemoteApi(DWORD, LPCWSTR, LPDESC, LPDESC, LPDESC,
60      LPDESC, LPDESC, LPDESC, LPDESC, DWORD, ...);
61}
62