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/_lmchdev.d)
8  */
9 /// Automatically imported and edited from the druntime module
10 /// core.sys.windows.lmchdev for the auto-generated win32 package.
11 module win32.lmchdev;
12 //version (Windows):
13 @system:
14 
15 // COMMENT: This file might be deprecated.
16 
17 import win32.lmcons, win32.windef;
18 
19 enum CHARDEVQ_NO_REQUESTS  = -1;
20 enum CHARDEV_CLOSE         = 0;
21 enum CHARDEVQ_MAX_PRIORITY = 1;
22 enum CHARDEVQ_DEV_PARMNUM  = 1;
23 
24 enum HANDLE_INFO_LEVEL_1 = 1;
25 enum HANDLE_CHARTIME_PARMNUM = 1;
26 enum HANDLE_CHARCOUNT_PARMNUM = 2;
27 
28 enum CHARDEV_STAT_OPENED = 2;
29 enum CHARDEVQ_PRIORITY_PARMNUM = 2;
30 enum CHARDEVQ_DEVS_PARMNUM = 3;
31 enum CHARDEV_STAT_ERROR = 4;
32 enum CHARDEVQ_NUMUSERS_PARMNUM = 4;
33 enum CHARDEVQ_NUMAHEAD_PARMNUM = 5;
34 enum CHARDEVQ_DEF_PRIORITY = 5;
35 enum CHARDEVQ_PRIORITY_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+CHARDEVQ_PRIORITY_PARMNUM;
36 enum CHARDEVQ_DEVS_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+CHARDEVQ_DEVS_PARMNUM;
37 enum CHARDEVQ_MIN_PRIORITY = 9;
38 
39 struct CHARDEV_INFO_0 {
40  LPWSTR ch0_dev;
41 }
42 alias CHARDEV_INFO_0* PCHARDEV_INFO_0, LPCHARDEV_INFO_0;
43 
44 struct CHARDEV_INFO_1{
45     LPWSTR ch1_dev;
46     DWORD ch1_status;
47     LPWSTR ch1_username;
48     DWORD ch1_time;
49 }
50 alias CHARDEV_INFO_1* PCHARDEV_INFO_1, LPCHARDEV_INFO_1;
51 
52 struct CHARDEVQ_INFO_0 {
53  LPWSTR cq0_dev;
54 }
55 alias CHARDEVQ_INFO_0* PCHARDEVQ_INFO_0, LPCHARDEVQ_INFO_0;
56 
57 struct CHARDEVQ_INFO_1{
58     LPWSTR cq1_dev;
59     DWORD cq1_priority;
60     LPWSTR cq1_devs;
61     DWORD cq1_numusers;
62     DWORD cq1_numahead;
63 }
64 alias CHARDEVQ_INFO_1* PCHARDEVQ_INFO_1, LPCHARDEVQ_INFO_1;
65 
66 struct CHARDEVQ_INFO_1002 {
67     DWORD cq1002_priority;
68 }
69 alias CHARDEVQ_INFO_1002* PCHARDEVQ_INFO_1002, LPCHARDEVQ_INFO_1002;
70 
71 struct CHARDEVQ_INFO_1003 {
72     LPWSTR cq1003_devs;
73 }
74 alias CHARDEVQ_INFO_1003* PCHARDEVQ_INFO_1003, LPCHARDEVQ_INFO_1003;
75 
76 struct HANDLE_INFO_1{
77     DWORD hdli1_chartime;
78     DWORD hdli1_charcount;
79 }
80 alias HANDLE_INFO_1* PHANDLE_INFO_1, LPHANDLE_INFO_1;
81 
82 extern (Windows) {
83     NET_API_STATUS NetCharDevEnum(LPCWSTR, DWORD, PBYTE*, DWORD, PDWORD, PDWORD, PDWORD);
84     NET_API_STATUS NetCharDevGetInfo(LPCWSTR, LPCWSTR, DWORD, PBYTE*);
85     NET_API_STATUS NetCharDevControl(LPCWSTR, LPCWSTR, DWORD);
86     NET_API_STATUS NetCharDevQEnum(LPCWSTR, LPCWSTR, DWORD, PBYTE*, DWORD, PDWORD, PDWORD, PDWORD);
87     NET_API_STATUS NetCharDevQGetInfo(LPCWSTR, LPCWSTR, LPCWSTR, DWORD, PBYTE*);
88     NET_API_STATUS NetCharDevQSetInfo(LPCWSTR, LPCWSTR, DWORD, PBYTE, PDWORD);
89     NET_API_STATUS NetCharDevQPurge(LPCWSTR, LPCWSTR);
90     NET_API_STATUS NetCharDevQPurgeSelf(LPCWSTR, LPCWSTR, LPCWSTR);
91     NET_API_STATUS NetHandleGetInfo(HANDLE, DWORD, PBYTE*);
92     NET_API_STATUS NetHandleSetInfo(HANDLE, DWORD, PBYTE, DWORD, PDWORD);
93 }