xref: /netbsd-src/external/gpl3/gcc/dist/libphobos/libdruntime/core/sys/windows/lmremutl.d (revision 0a3071956a3a9fdebdbf7f338cf2d439b45fc728)
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  */
9 module core.sys.windows.lmremutl;
10 version (Windows):
11 @system:
12 pragma(lib, "netapi32");
13 
14 // D Conversion Note: DESC_CHAR is defined as TCHAR.
15 
16 import core.sys.windows.lmcons, core.sys.windows.windef;
17 
18 enum SUPPORTS_REMOTE_ADMIN_PROTOCOL =  2;
19 enum SUPPORTS_RPC                   =  4;
20 enum SUPPORTS_SAM_PROTOCOL          =  8;
21 enum SUPPORTS_UNICODE               = 16;
22 enum SUPPORTS_LOCAL                 = 32;
23 enum SUPPORTS_ANY                   = 0xFFFFFFFF;
24 
25 enum NO_PERMISSION_REQUIRED = 1;
26 enum ALLOCATE_RESPONSE      = 2;
27 enum 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?
36 alias TCHAR DESC_CHAR;
37 
38 alias DESC_CHAR* LPDESC;
39 
40 struct 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 }
54 alias TIME_OF_DAY_INFO* PTIME_OF_DAY_INFO, LPTIME_OF_DAY_INFO;
55 
56 extern (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