1 /***********************************************************************\ 2 * lmchdev.d * 3 * * 4 * Windows API header module * 5 * * 6 * Translated from MinGW Windows headers * 7 * * 8 * Placed into public domain * 9 \***********************************************************************/ 10 module win32.lmchdev; 11 version(Windows): 12 13 // COMMENT: This file might be deprecated. 14 15 private import win32.lmcons, win32.windef; 16 17 const CHARDEVQ_NO_REQUESTS = -1; 18 const CHARDEV_CLOSE = 0; 19 const CHARDEVQ_MAX_PRIORITY = 1; 20 const CHARDEVQ_DEV_PARMNUM = 1; 21 22 const HANDLE_INFO_LEVEL_1 = 1; 23 const HANDLE_CHARTIME_PARMNUM = 1; 24 const HANDLE_CHARCOUNT_PARMNUM = 2; 25 26 const CHARDEV_STAT_OPENED = 2; 27 const CHARDEVQ_PRIORITY_PARMNUM = 2; 28 const CHARDEVQ_DEVS_PARMNUM = 3; 29 const CHARDEV_STAT_ERROR = 4; 30 const CHARDEVQ_NUMUSERS_PARMNUM = 4; 31 const CHARDEVQ_NUMAHEAD_PARMNUM = 5; 32 const CHARDEVQ_DEF_PRIORITY = 5; 33 const CHARDEVQ_PRIORITY_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+CHARDEVQ_PRIORITY_PARMNUM; 34 const CHARDEVQ_DEVS_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+CHARDEVQ_DEVS_PARMNUM; 35 const CHARDEVQ_MIN_PRIORITY = 9; 36 37 struct CHARDEV_INFO_0 { 38 LPWSTR ch0_dev; 39 } 40 alias CHARDEV_INFO_0* PCHARDEV_INFO_0, LPCHARDEV_INFO_0; 41 42 struct CHARDEV_INFO_1{ 43 LPWSTR ch1_dev; 44 DWORD ch1_status; 45 LPWSTR ch1_username; 46 DWORD ch1_time; 47 } 48 alias CHARDEV_INFO_1* PCHARDEV_INFO_1, LPCHARDEV_INFO_1; 49 50 struct CHARDEVQ_INFO_0 { 51 LPWSTR cq0_dev; 52 } 53 alias CHARDEVQ_INFO_0* PCHARDEVQ_INFO_0, LPCHARDEVQ_INFO_0; 54 55 struct CHARDEVQ_INFO_1{ 56 LPWSTR cq1_dev; 57 DWORD cq1_priority; 58 LPWSTR cq1_devs; 59 DWORD cq1_numusers; 60 DWORD cq1_numahead; 61 } 62 alias CHARDEVQ_INFO_1* PCHARDEVQ_INFO_1, LPCHARDEVQ_INFO_1; 63 64 struct CHARDEVQ_INFO_1002 { 65 DWORD cq1002_priority; 66 } 67 alias CHARDEVQ_INFO_1002* PCHARDEVQ_INFO_1002, LPCHARDEVQ_INFO_1002; 68 69 struct CHARDEVQ_INFO_1003 { 70 LPWSTR cq1003_devs; 71 } 72 alias CHARDEVQ_INFO_1003* PCHARDEVQ_INFO_1003, LPCHARDEVQ_INFO_1003; 73 74 struct HANDLE_INFO_1{ 75 DWORD hdli1_chartime; 76 DWORD hdli1_charcount; 77 } 78 alias HANDLE_INFO_1* PHANDLE_INFO_1, LPHANDLE_INFO_1; 79 80 extern (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 }