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