1 /**
2  * This file has no copyright assigned and is placed in the Public Domain.
3  * This file is part of the mingw-w64 runtime package.
4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5  */
6 #ifndef _LMSTATS_
7 #define _LMSTATS_
8 
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12 
13 #include <lmcons.h>
14 
15   NET_API_STATUS WINAPI NetStatisticsGet(LMSTR server,LMSTR service,DWORD level,DWORD options,LPBYTE *bufptr);
16 
17 #ifdef LM20_WORKSTATION_STATISTICS
18   typedef struct _STAT_WORKSTATION_0 {
19     DWORD stw0_start;
20     DWORD stw0_numNCB_r;
21     DWORD stw0_numNCB_s;
22     DWORD stw0_numNCB_a;
23     DWORD stw0_fiNCB_r;
24     DWORD stw0_fiNCB_s;
25     DWORD stw0_fiNCB_a;
26     DWORD stw0_fcNCB_r;
27     DWORD stw0_fcNCB_s;
28     DWORD stw0_fcNCB_a;
29     DWORD stw0_sesstart;
30     DWORD stw0_sessfailcon;
31     DWORD stw0_sessbroke;
32     DWORD stw0_uses;
33     DWORD stw0_usefail;
34     DWORD stw0_autorec;
35     DWORD stw0_bytessent_r_lo;
36     DWORD stw0_bytessent_r_hi;
37     DWORD stw0_bytesrcvd_r_lo;
38     DWORD stw0_bytesrcvd_r_hi;
39     DWORD stw0_bytessent_s_lo;
40     DWORD stw0_bytessent_s_hi;
41     DWORD stw0_bytesrcvd_s_lo;
42     DWORD stw0_bytesrcvd_s_hi;
43     DWORD stw0_bytessent_a_lo;
44     DWORD stw0_bytessent_a_hi;
45     DWORD stw0_bytesrcvd_a_lo;
46     DWORD stw0_bytesrcvd_a_hi;
47     DWORD stw0_reqbufneed;
48     DWORD stw0_bigbufneed;
49   } STAT_WORKSTATION_0,*PSTAT_WORKSTATION_0,*LPSTAT_WORKSTATION_0;
50 #else
51   typedef struct _STAT_WORKSTATION_0 {
52     LARGE_INTEGER StatisticsStartTime;
53 
54     LARGE_INTEGER BytesReceived;
55     LARGE_INTEGER SmbsReceived;
56     LARGE_INTEGER PagingReadBytesRequested;
57     LARGE_INTEGER NonPagingReadBytesRequested;
58     LARGE_INTEGER CacheReadBytesRequested;
59     LARGE_INTEGER NetworkReadBytesRequested;
60     LARGE_INTEGER BytesTransmitted;
61     LARGE_INTEGER SmbsTransmitted;
62     LARGE_INTEGER PagingWriteBytesRequested;
63     LARGE_INTEGER NonPagingWriteBytesRequested;
64     LARGE_INTEGER CacheWriteBytesRequested;
65     LARGE_INTEGER NetworkWriteBytesRequested;
66     DWORD InitiallyFailedOperations;
67     DWORD FailedCompletionOperations;
68     DWORD ReadOperations;
69     DWORD RandomReadOperations;
70     DWORD ReadSmbs;
71     DWORD LargeReadSmbs;
72     DWORD SmallReadSmbs;
73     DWORD WriteOperations;
74     DWORD RandomWriteOperations;
75     DWORD WriteSmbs;
76     DWORD LargeWriteSmbs;
77     DWORD SmallWriteSmbs;
78     DWORD RawReadsDenied;
79     DWORD RawWritesDenied;
80     DWORD NetworkErrors;
81     DWORD Sessions;
82     DWORD FailedSessions;
83     DWORD Reconnects;
84     DWORD CoreConnects;
85     DWORD Lanman20Connects;
86     DWORD Lanman21Connects;
87     DWORD LanmanNtConnects;
88     DWORD ServerDisconnects;
89     DWORD HungSessions;
90     DWORD UseCount;
91     DWORD FailedUseCount;
92     DWORD CurrentCommands;
93   } STAT_WORKSTATION_0,*PSTAT_WORKSTATION_0,*LPSTAT_WORKSTATION_0;
94 #endif
95 
96   typedef struct _STAT_SERVER_0 {
97     DWORD sts0_start;
98     DWORD sts0_fopens;
99     DWORD sts0_devopens;
100     DWORD sts0_jobsqueued;
101     DWORD sts0_sopens;
102     DWORD sts0_stimedout;
103     DWORD sts0_serrorout;
104     DWORD sts0_pwerrors;
105     DWORD sts0_permerrors;
106     DWORD sts0_syserrors;
107     DWORD sts0_bytessent_low;
108     DWORD sts0_bytessent_high;
109     DWORD sts0_bytesrcvd_low;
110     DWORD sts0_bytesrcvd_high;
111     DWORD sts0_avresponse;
112     DWORD sts0_reqbufneed;
113     DWORD sts0_bigbufneed;
114   } STAT_SERVER_0,*PSTAT_SERVER_0,*LPSTAT_SERVER_0;
115 
116 #define STATSOPT_CLR 1
117 #define STATS_NO_VALUE ((unsigned __LONG32) -1)
118 #define STATS_OVERFLOW ((unsigned __LONG32) -2)
119 
120 #ifdef __cplusplus
121 }
122 #endif
123 #endif
124