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/_lmstats.d)
8  */
9 /// Automatically imported and edited from the druntime module
10 /// core.sys.windows.lmstats for the auto-generated win32 package.
11 module win32.lmstats;
12 //version (Windows):
13 @system:
14 version (Win32_UseLib) pragma(lib, "netapi32");
15 
16 import win32.lmcons, win32.windef;
17 
18 enum ULONG
19     STATSOPT_CLR   = 1,
20     STATS_NO_VALUE = -1,
21     STATS_OVERFLOW = -2;
22 
23 struct STAT_SERVER_0{
24     DWORD sts0_start;
25     DWORD sts0_fopens;
26     DWORD sts0_devopens;
27     DWORD sts0_jobsqueued;
28     DWORD sts0_sopens;
29     DWORD sts0_stimedout;
30     DWORD sts0_serrorout;
31     DWORD sts0_pwerrors;
32     DWORD sts0_permerrors;
33     DWORD sts0_syserrors;
34     DWORD sts0_bytessent_low;
35     DWORD sts0_bytessent_high;
36     DWORD sts0_bytesrcvd_low;
37     DWORD sts0_bytesrcvd_high;
38     DWORD sts0_avresponse;
39     DWORD sts0_reqbufneed;
40     DWORD sts0_bigbufneed;
41 }
42 alias STAT_SERVER_0* PSTAT_SERVER_0, LPSTAT_SERVER_0;
43 
44 // #ifdef LM20_WORKSTATION_STATISTICS
45 // typedef struct _STAT_WORKSTATION_0 {
46 //  DWORD stw0_start;
47 //  DWORD stw0_numNCB_r;
48 //  DWORD stw0_numNCB_s;
49 //  DWORD stw0_numNCB_a;
50 //  DWORD stw0_fiNCB_r;
51 //  DWORD stw0_fiNCB_s;
52 //  DWORD stw0_fiNCB_a;
53 //  DWORD stw0_fcNCB_r;
54 //  DWORD stw0_fcNCB_s;
55 //  DWORD stw0_fcNCB_a;
56 //  DWORD stw0_sesstart;
57 //  DWORD stw0_sessfailcon;
58 //  DWORD stw0_sessbroke;
59 //  DWORD stw0_uses;
60 //  DWORD stw0_usefail;
61 //  DWORD stw0_autorec;
62 //  DWORD stw0_bytessent_r_lo;
63 //  DWORD stw0_bytessent_r_hi;
64 //  DWORD stw0_bytesrcvd_r_lo;
65 //  DWORD stw0_bytesrcvd_r_hi;
66 //  DWORD stw0_bytessent_s_lo;
67 //  DWORD stw0_bytessent_s_hi;
68 //  DWORD stw0_bytesrcvd_s_lo;
69 //  DWORD stw0_bytesrcvd_s_hi;
70 //  DWORD stw0_bytessent_a_lo;
71 //  DWORD stw0_bytessent_a_hi;
72 //  DWORD stw0_bytesrcvd_a_lo;
73 //  DWORD stw0_bytesrcvd_a_hi;
74 //  DWORD stw0_reqbufneed;
75 //  DWORD stw0_bigbufneed;
76 // } STAT_WORKSTATION_0,*PSTAT_WORKSTATION_0,*LPSTAT_WORKSTATION_0;
77 // #else
78 
79 struct STAT_WORKSTATION_0{
80     LARGE_INTEGER StatisticsStartTime;
81     LARGE_INTEGER BytesReceived;
82     LARGE_INTEGER SmbsReceived;
83     LARGE_INTEGER PagingReadBytesRequested;
84     LARGE_INTEGER NonPagingReadBytesRequested;
85     LARGE_INTEGER CacheReadBytesRequested;
86     LARGE_INTEGER NetworkReadBytesRequested;
87     LARGE_INTEGER BytesTransmitted;
88     LARGE_INTEGER SmbsTransmitted;
89     LARGE_INTEGER PagingWriteBytesRequested;
90     LARGE_INTEGER NonPagingWriteBytesRequested;
91     LARGE_INTEGER CacheWriteBytesRequested;
92     LARGE_INTEGER NetworkWriteBytesRequested;
93     DWORD InitiallyFailedOperations;
94     DWORD FailedCompletionOperations;
95     DWORD ReadOperations;
96     DWORD RandomReadOperations;
97     DWORD ReadSmbs;
98     DWORD LargeReadSmbs;
99     DWORD SmallReadSmbs;
100     DWORD WriteOperations;
101     DWORD RandomWriteOperations;
102     DWORD WriteSmbs;
103     DWORD LargeWriteSmbs;
104     DWORD SmallWriteSmbs;
105     DWORD RawReadsDenied;
106     DWORD RawWritesDenied;
107     DWORD NetworkErrors;
108     DWORD Sessions;
109     DWORD FailedSessions;
110     DWORD Reconnects;
111     DWORD CoreConnects;
112     DWORD Lanman20Connects;
113     DWORD Lanman21Connects;
114     DWORD LanmanNtConnects;
115     DWORD ServerDisconnects;
116     DWORD HungSessions;
117     DWORD UseCount;
118     DWORD FailedUseCount;
119     DWORD CurrentCommands;
120 }
121 alias STAT_WORKSTATION_0* PSTAT_WORKSTATION_0, LPSTAT_WORKSTATION_0;
122 
123 extern (Windows):
124 NET_API_STATUS NetStatisticsGet(LPWSTR,LPWSTR,DWORD,DWORD,PBYTE*);