|
|
1.1 root 1: /*++ BUILD Version: 0001 // Increment this if a change has global effects
2:
3: Copyright (c) 1991-1993 Microsoft Corporation
4:
5: Module Name:
6:
7: lmstats.h
8:
9: Abstract:
10:
11: This module defines the API function prototypes and data structures
12: for the following groups of NT API functions:
13: NetStatistics
14:
15: Author:
16:
17: Dan Lafferty (danl) 29-Mar-1991
18:
19: Environment:
20:
21: User Mode - Win32
22:
23: Notes:
24:
25: You must include NETCONS.H before this file, since this file depends
26: on values defined in NETCONS.H.
27:
28: Revision History:
29:
30: 28-Mar-1991 Danl
31: Ported from LM2.0 and the LMNETAPI spec.
32:
33: --*/
34:
35: #ifndef _LMSTATS_
36: #define _LMSTATS_
37:
38: #ifdef __cplusplus
39: extern "C" {
40: #endif
41:
42: //
43: // Function Prototypes - Statistics
44: //
45:
46: NET_API_STATUS NET_API_FUNCTION
47: NetStatisticsGet (
48: IN LPTSTR server,
49: IN LPTSTR service,
50: IN DWORD level,
51: IN DWORD options,
52: OUT LPBYTE *bufptr
53: );
54:
55: //
56: // Data Structures - Statistics
57: //
58:
59: #ifdef LM20_WORKSTATION_STATISTICS
60: typedef struct _STAT_WORKSTATION_0 {
61: DWORD stw0_start;
62: DWORD stw0_numNCB_r;
63: DWORD stw0_numNCB_s;
64: DWORD stw0_numNCB_a;
65: DWORD stw0_fiNCB_r;
66: DWORD stw0_fiNCB_s;
67: DWORD stw0_fiNCB_a;
68: DWORD stw0_fcNCB_r;
69: DWORD stw0_fcNCB_s;
70: DWORD stw0_fcNCB_a;
71: DWORD stw0_sesstart;
72: DWORD stw0_sessfailcon;
73: DWORD stw0_sessbroke;
74: DWORD stw0_uses;
75: DWORD stw0_usefail;
76: DWORD stw0_autorec;
77: DWORD stw0_bytessent_r_lo;
78: DWORD stw0_bytessent_r_hi;
79: DWORD stw0_bytesrcvd_r_lo;
80: DWORD stw0_bytesrcvd_r_hi;
81: DWORD stw0_bytessent_s_lo;
82: DWORD stw0_bytessent_s_hi;
83: DWORD stw0_bytesrcvd_s_lo;
84: DWORD stw0_bytesrcvd_s_hi;
85: DWORD stw0_bytessent_a_lo;
86: DWORD stw0_bytessent_a_hi;
87: DWORD stw0_bytesrcvd_a_lo;
88: DWORD stw0_bytesrcvd_a_hi;
89: DWORD stw0_reqbufneed;
90: DWORD stw0_bigbufneed;
91: } STAT_WORKSTATION_0, *PSTAT_WORKSTATION_0, *LPSTAT_WORKSTATION_0;
92: #else
93:
94: //
95: // NB: The following structure is REDIR_STATISTICS in sdk\inc\ntddnfs.h. If you
96: // change the structure, change it in both places
97: //
98:
99: typedef struct _STAT_WORKSTATION_0 {
100: LARGE_INTEGER StatisticsStartTime;
101:
102: LARGE_INTEGER BytesReceived;
103: LARGE_INTEGER SmbsReceived;
104: LARGE_INTEGER PagingReadBytesRequested;
105: LARGE_INTEGER NonPagingReadBytesRequested;
106: LARGE_INTEGER CacheReadBytesRequested;
107: LARGE_INTEGER NetworkReadBytesRequested;
108:
109: LARGE_INTEGER BytesTransmitted;
110: LARGE_INTEGER SmbsTransmitted;
111: LARGE_INTEGER PagingWriteBytesRequested;
112: LARGE_INTEGER NonPagingWriteBytesRequested;
113: LARGE_INTEGER CacheWriteBytesRequested;
114: LARGE_INTEGER NetworkWriteBytesRequested;
115:
116: DWORD InitiallyFailedOperations;
117: DWORD FailedCompletionOperations;
118:
119: DWORD ReadOperations;
120: DWORD RandomReadOperations;
121: DWORD ReadSmbs;
122: DWORD LargeReadSmbs;
123: DWORD SmallReadSmbs;
124:
125: DWORD WriteOperations;
126: DWORD RandomWriteOperations;
127: DWORD WriteSmbs;
128: DWORD LargeWriteSmbs;
129: DWORD SmallWriteSmbs;
130:
131: DWORD RawReadsDenied;
132: DWORD RawWritesDenied;
133:
134: DWORD NetworkErrors;
135:
136: // Connection/Session counts
137: DWORD Sessions;
138: DWORD FailedSessions;
139: DWORD Reconnects;
140: DWORD CoreConnects;
141: DWORD Lanman20Connects;
142: DWORD Lanman21Connects;
143: DWORD LanmanNtConnects;
144: DWORD ServerDisconnects;
145: DWORD HungSessions;
146: DWORD UseCount;
147: DWORD FailedUseCount;
148:
149: //
150: // Queue Lengths (updates protected by RdrMpxTableSpinLock NOT
151: // RdrStatisticsSpinlock)
152: //
153:
154: DWORD CurrentCommands;
155:
156: } STAT_WORKSTATION_0, *PSTAT_WORKSTATION_0, *LPSTAT_WORKSTATION_0;
157: #endif
158:
159: typedef struct _STAT_SERVER_0 {
160: DWORD sts0_start;
161: DWORD sts0_fopens;
162: DWORD sts0_devopens;
163: DWORD sts0_jobsqueued;
164: DWORD sts0_sopens;
165: DWORD sts0_stimedout;
166: DWORD sts0_serrorout;
167: DWORD sts0_pwerrors;
168: DWORD sts0_permerrors;
169: DWORD sts0_syserrors;
170: DWORD sts0_bytessent_low;
171: DWORD sts0_bytessent_high;
172: DWORD sts0_bytesrcvd_low;
173: DWORD sts0_bytesrcvd_high;
174: DWORD sts0_avresponse;
175: DWORD sts0_reqbufneed;
176: DWORD sts0_bigbufneed;
177: } STAT_SERVER_0, *PSTAT_SERVER_0, *LPSTAT_SERVER_0;
178:
179:
180: //
181: // Special Values and Constants
182: //
183:
184: #define STATSOPT_CLR 1
185: #define STATS_NO_VALUE ((unsigned long) -1L)
186: #define STATS_OVERFLOW ((unsigned long) -2L)
187:
188:
189: #ifdef __cplusplus
190: }
191: #endif
192:
193: #endif // _LMSTATS.H
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.