source: trunk/src/wnetap32/lanman.h@ 5280

Last change on this file since 5280 was 4394, checked in by phaller, 25 years ago

.

File size: 15.7 KB
Line 
1/* $Id: lanman.h,v 1.1 2000-10-02 21:20:08 phaller Exp $ */
2/*
3 * Wrappers for NT/LAN Manager specific data structures
4 *
5 * Copyright 2000 Patrick Haller (patrick.haller@innotek.de)
6 *
7 * Project Odin Software License can be found in LICENSE.TXT
8 *
9 */
10
11#ifndef __LANMAN_H__
12#define __LANMAN_H__
13
14
15/****************************************************************************
16 * OS/2 LAN Server structures *
17 ****************************************************************************/
18#pragma pack(1)
19
20struct wksta_info_0 {
21 unsigned short wki0_reserved_1;
22 unsigned long wki0_reserved_2;
23 unsigned char *wki0_root;
24 unsigned char *wki0_computername;
25 unsigned char *wki0_username;
26 unsigned char *wki0_langroup;
27 unsigned char wki0_ver_major;
28 unsigned char wki0_ver_minor;
29 unsigned long wki0_reserved_3;
30 unsigned short wki0_charwait;
31 unsigned long wki0_chartime;
32 unsigned short wki0_charcount;
33 unsigned short wki0_reserved_4;
34 unsigned short wki0_reserved_5;
35 unsigned short wki0_keepconn;
36 unsigned short wki0_keepsearch;
37 unsigned short wki0_maxthreads;
38 unsigned short wki0_maxcmds;
39 unsigned short wki0_reserved_6;
40 unsigned short wki0_numworkbuf;
41 unsigned short wki0_sizworkbuf;
42 unsigned short wki0_maxwrkcache;
43 unsigned short wki0_sesstimeout;
44 unsigned short wki0_sizerror;
45 unsigned short wki0_numalerts;
46 unsigned short wki0_numservices;
47 unsigned short wki0_errlogsz;
48 unsigned short wki0_printbuftime;
49 unsigned short wki0_numcharbuf;
50 unsigned short wki0_sizcharbuf;
51 unsigned char *wki0_logon_server;
52 unsigned char *wki0_wrkheuristics;
53 unsigned short wki0_mailslots;
54}; /* wksta_info_0 */
55
56struct wksta_info_1 {
57 unsigned short wki1_reserved_1;
58 unsigned long wki1_reserved_2;
59 unsigned char *wki1_root;
60 unsigned char *wki1_computername;
61 unsigned char *wki1_username;
62 unsigned char *wki1_langroup;
63 unsigned char wki1_ver_major;
64 unsigned char wki1_ver_minor;
65 unsigned long wki1_reserved_3;
66 unsigned short wki1_charwait;
67 unsigned long wki1_chartime;
68 unsigned short wki1_charcount;
69 unsigned short wki1_reserved_4;
70 unsigned short wki1_reserved_5;
71 unsigned short wki1_keepconn;
72 unsigned short wki1_keepsearch;
73 unsigned short wki1_maxthreads;
74 unsigned short wki1_maxcmds;
75 unsigned short wki1_reserved_6;
76 unsigned short wki1_numworkbuf;
77 unsigned short wki1_sizworkbuf;
78 unsigned short wki1_maxwrkcache;
79 unsigned short wki1_sesstimeout;
80 unsigned short wki1_sizerror;
81 unsigned short wki1_numalerts;
82 unsigned short wki1_numservices;
83 unsigned short wki1_errlogsz;
84 unsigned short wki1_printbuftime;
85 unsigned short wki1_numcharbuf;
86 unsigned short wki1_sizcharbuf;
87 unsigned char *wki1_logon_server;
88 unsigned char *wki1_wrkheuristics;
89 unsigned short wki1_mailslots;
90 unsigned char *wki1_logon_domain;
91 unsigned char *wki1_oth_domains;
92 unsigned short wki1_numdgrambuf;
93}; /* wksta_info_1 */
94
95struct wksta_info_10 {
96 unsigned char *wki10_computername;
97 unsigned char *wki10_username;
98 unsigned char *wki10_langroup;
99 unsigned char wki10_ver_major;
100 unsigned char wki10_ver_minor;
101 unsigned char *wki10_logon_domain;
102 unsigned char *wki10_oth_domains;
103}; /* wksta_info_10 */
104
105
106struct statistics_info_0 {
107 unsigned long st0_start; /* time statistics collection started */
108 unsigned long st0_wknumNCBs; /* # workstation NCBs issued */
109 unsigned long st0_wkfiNCBs; /* # workstation NCBs failed issue */
110 unsigned long st0_wkfcNCBs; /* # workstation NCBs failed completion */
111 unsigned long st0_wksesstart; /* # workstation sessions started */
112 unsigned long st0_wksessfail; /* # workstation session failures */
113 unsigned long st0_wkuses; /* # workstation uses */
114 unsigned long st0_wkusefail; /* # workstation use failures */
115 unsigned long st0_wkautorec; /* # workstation auto-reconnects */
116 unsigned long st0_rdrnumNCBs; /* # redir NCBs issued */
117 unsigned long st0_srvnumNCBs; /* # NCBs issued for the server */
118 unsigned long st0_usrnumNCBs; /* # user NCBs issued */
119 unsigned long st0_reserved4; /* reserved for future use */
120 unsigned long st0_reserved5; /* reserved for future use */
121 unsigned long st0_reserved6; /* reserved for future use */
122 unsigned long st0_reserved7; /* reserved for future use */
123 unsigned long st0_reserved8; /* reserved for future use */
124 unsigned long st0_svfopens; /* # of server file opens */
125 unsigned long st0_svdevopens; /* # of server device opens */
126 unsigned long st0_svjobsqueued; /* # of server print jobs spooled */
127 unsigned long st0_svsopens; /* # of server session starts */
128 unsigned long st0_svstimedout; /* # of server session auto-disconnects */
129 unsigned long st0_svserrorout; /* # of server sessions errored out */
130 unsigned long st0_svpwerrors; /* # of server password violations */
131 unsigned long st0_svpermerrors; /* # of server access permission errors */
132 unsigned long st0_svsyserrors; /* # of server system errors */
133 unsigned long st0_svbytessent; /* # of server bytes sent to net */
134 unsigned long st0_svbytesrcvd; /* # of server bytes received from net */
135 unsigned long st0_svavresponse; /* average server response time in msec */
136}; /* statistics_info_0 */
137
138
139
140struct stat_workstation_0 {
141 unsigned long stw0_start;
142 unsigned long stw0_numNCB_r;
143 unsigned long stw0_numNCB_s;
144 unsigned long stw0_numNCB_a;
145 unsigned long stw0_fiNCB_r;
146 unsigned long stw0_fiNCB_s;
147 unsigned long stw0_fiNCB_a;
148 unsigned long stw0_fcNCB_r;
149 unsigned long stw0_fcNCB_s;
150 unsigned long stw0_fcNCB_a;
151 unsigned long stw0_sesstart;
152 unsigned long stw0_sessfailcon;
153 unsigned long stw0_sessbroke;
154 unsigned long stw0_uses;
155 unsigned long stw0_usefail;
156 unsigned long stw0_autorec;
157 unsigned long stw0_bytessent_r_lo;
158 unsigned long stw0_bytessent_r_hi;
159 unsigned long stw0_bytesrcvd_r_lo;
160 unsigned long stw0_bytesrcvd_r_hi;
161 unsigned long stw0_bytessent_s_lo;
162 unsigned long stw0_bytessent_s_hi;
163 unsigned long stw0_bytesrcvd_s_lo;
164 unsigned long stw0_bytesrcvd_s_hi;
165 unsigned long stw0_bytessent_a_lo;
166 unsigned long stw0_bytessent_a_hi;
167 unsigned long stw0_bytesrcvd_a_lo;
168 unsigned long stw0_bytesrcvd_a_hi;
169 unsigned long stw0_reqbufneed;
170 unsigned long stw0_bigbufneed;
171}; /* stat_workstation_0 */
172
173
174struct stat_server_0 {
175 unsigned long sts0_start;
176 unsigned long sts0_fopens;
177 unsigned long sts0_devopens;
178 unsigned long sts0_jobsqueued;
179 unsigned long sts0_sopens;
180 unsigned long sts0_stimedout;
181 unsigned long sts0_serrorout;
182 unsigned long sts0_pwerrors;
183 unsigned long sts0_permerrors;
184 unsigned long sts0_syserrors;
185 unsigned long sts0_bytessent_low;
186 unsigned long sts0_bytessent_high;
187 unsigned long sts0_bytesrcvd_low;
188 unsigned long sts0_bytesrcvd_high;
189 unsigned long sts0_avresponse;
190 unsigned long sts0_reqbufneed;
191 unsigned long sts0_bigbufneed;
192}; /* stat_server_0 */
193
194
195
196
197
198#pragma pack()
199
200
201/****************************************************************************
202 * NT/LAN MANAGER structures *
203 ****************************************************************************/
204// NetWkstaGetInfo System Information / guest access
205typedef struct _WKSTA_INFO_100
206{
207 DWORD wki100_platform_id;
208 LPWSTR wki100_computername;
209 LPWSTR wki100_langroup;
210 DWORD wki100_ver_major;
211 DWORD wki100_ver_minor;
212} WKSTA_INFO_100, *PWKSTA_INFO_100, *LPWKSTA_INFO_100;
213
214
215// NetWkstaGetInfo System Information / user access
216typedef struct _WKSTA_INFO_101
217{
218 DWORD wki101_platform_id;
219 LPWSTR wki101_computername;
220 LPWSTR wki101_langroup;
221 DWORD wki101_ver_major;
222 DWORD wki101_ver_minor;
223 LPWSTR wki101_lanroot;
224} WKSTA_INFO_101, *PWKSTA_INFO_101, *LPWKSTA_INFO_101;
225
226
227// NetWkstaGetInfo System Information / admin access
228typedef struct _WKSTA_INFO_102
229{
230 DWORD wki102_platform_id;
231 LPWSTR wki102_computername;
232 LPWSTR wki102_langroup;
233 DWORD wki102_ver_major;
234 DWORD wki102_ver_minor;
235 LPWSTR wki102_lanroot;
236 DWORD wki102_logged_on_users;
237} WKSTA_INFO_102, *PWKSTA_INFO_102, *LPWKSTA_INFO_102;
238
239//
240// Down-level NetWkstaGetInfo and NetWkstaSetInfo.
241//
242// DOS specific workstation information -
243// admin or domain operator access
244//
245typedef struct _WKSTA_INFO_302{
246 DWORD wki302_char_wait;
247 DWORD wki302_collection_time;
248 DWORD wki302_maximum_collection_count;
249 DWORD wki302_keep_conn;
250 DWORD wki302_keep_search;
251 DWORD wki302_max_cmds;
252 DWORD wki302_num_work_buf;
253 DWORD wki302_siz_work_buf;
254 DWORD wki302_max_wrk_cache;
255 DWORD wki302_sess_timeout;
256 DWORD wki302_siz_error;
257 DWORD wki302_num_alerts;
258 DWORD wki302_num_services;
259 DWORD wki302_errlog_sz;
260 DWORD wki302_print_buf_time;
261 DWORD wki302_num_char_buf;
262 DWORD wki302_siz_char_buf;
263 LPTSTR wki302_wrk_heuristics;
264 DWORD wki302_mailslots;
265 DWORD wki302_num_dgram_buf;
266}WKSTA_INFO_302, *PWKSTA_INFO_302, *LPWKSTA_INFO_302;
267
268//
269// Down-level NetWkstaGetInfo and NetWkstaSetInfo
270//
271// OS/2 specific workstation information -
272// admin or domain operator access
273//
274typedef struct _WKSTA_INFO_402{
275 DWORD wki402_char_wait;
276 DWORD wki402_collection_time;
277 DWORD wki402_maximum_collection_count;
278 DWORD wki402_keep_conn;
279 DWORD wki402_keep_search;
280 DWORD wki402_max_cmds;
281 DWORD wki402_num_work_buf;
282 DWORD wki402_siz_work_buf;
283 DWORD wki402_max_wrk_cache;
284 DWORD wki402_sess_timeout;
285 DWORD wki402_siz_error;
286 DWORD wki402_num_alerts;
287 DWORD wki402_num_services;
288 DWORD wki402_errlog_sz;
289 DWORD wki402_print_buf_time;
290 DWORD wki402_num_char_buf;
291 DWORD wki402_siz_char_buf;
292 LPTSTR wki402_wrk_heuristics;
293 DWORD wki402_mailslots;
294 DWORD wki402_num_dgram_buf;
295 DWORD wki402_max_threads;
296}WKSTA_INFO_402, *PWKSTA_INFO_402, *LPWKSTA_INFO_402;
297
298//
299// Same-level NetWkstaGetInfo and NetWkstaSetInfo.
300//
301// NT specific workstation information -
302// admin or domain operator access
303//
304typedef struct _WKSTA_INFO_502{
305 DWORD wki502_char_wait;
306 DWORD wki502_collection_time;
307 DWORD wki502_maximum_collection_count;
308 DWORD wki502_keep_conn;
309 DWORD wki502_max_cmds;
310 DWORD wki502_sess_timeout;
311 DWORD wki502_siz_char_buf;
312 DWORD wki502_max_threads;
313
314 DWORD wki502_lock_quota;
315 DWORD wki502_lock_increment;
316 DWORD wki502_lock_maximum;
317 DWORD wki502_pipe_increment;
318 DWORD wki502_pipe_maximum;
319 DWORD wki502_cache_file_timeout;
320 DWORD wki502_dormant_file_limit;
321 DWORD wki502_read_ahead_throughput;
322
323 DWORD wki502_num_mailslot_buffers;
324 DWORD wki502_num_srv_announce_buffers;
325 DWORD wki502_max_illegal_datagram_events;
326 DWORD wki502_illegal_datagram_event_reset_frequency;
327 BOOL wki502_log_election_packets;
328
329 BOOL wki502_use_opportunistic_locking;
330 BOOL wki502_use_unlock_behind;
331 BOOL wki502_use_close_behind;
332 BOOL wki502_buf_named_pipes;
333 BOOL wki502_use_lock_read_unlock;
334 BOOL wki502_utilize_nt_caching;
335 BOOL wki502_use_raw_read;
336 BOOL wki502_use_raw_write;
337 BOOL wki502_use_write_raw_data;
338 BOOL wki502_use_encryption;
339 BOOL wki502_buf_files_deny_write;
340 BOOL wki502_buf_read_only_files;
341 BOOL wki502_force_core_create_mode;
342 BOOL wki502_use_512_byte_max_transfer;
343}WKSTA_INFO_502, *PWKSTA_INFO_502, *LPWKSTA_INFO_502;
344
345
346typedef struct _STAT_WORKSTATION_LM_0 {
347 DWORD stw0_start;
348 DWORD stw0_numNCB_r;
349 DWORD stw0_numNCB_s;
350 DWORD stw0_numNCB_a;
351 DWORD stw0_fiNCB_r;
352 DWORD stw0_fiNCB_s;
353 DWORD stw0_fiNCB_a;
354 DWORD stw0_fcNCB_r;
355 DWORD stw0_fcNCB_s;
356 DWORD stw0_fcNCB_a;
357 DWORD stw0_sesstart;
358 DWORD stw0_sessfailcon;
359 DWORD stw0_sessbroke;
360 DWORD stw0_uses;
361 DWORD stw0_usefail;
362 DWORD stw0_autorec;
363 DWORD stw0_bytessent_r_lo;
364 DWORD stw0_bytessent_r_hi;
365 DWORD stw0_bytesrcvd_r_lo;
366 DWORD stw0_bytesrcvd_r_hi;
367 DWORD stw0_bytessent_s_lo;
368 DWORD stw0_bytessent_s_hi;
369 DWORD stw0_bytesrcvd_s_lo;
370 DWORD stw0_bytesrcvd_s_hi;
371 DWORD stw0_bytessent_a_lo;
372 DWORD stw0_bytessent_a_hi;
373 DWORD stw0_bytesrcvd_a_lo;
374 DWORD stw0_bytesrcvd_a_hi;
375 DWORD stw0_reqbufneed;
376 DWORD stw0_bigbufneed;
377} STAT_WORKSTATION_LM_0, *PSTAT_WORKSTATION_LM_0, *LPSTAT_WORKSTATION_LM_0;
378
379
380typedef struct _STAT_WORKSTATION_NT_0 {
381 LARGE_INTEGER StatisticsStartTime;
382
383 LARGE_INTEGER BytesReceived;
384 LARGE_INTEGER SmbsReceived;
385 LARGE_INTEGER PagingReadBytesRequested;
386 LARGE_INTEGER NonPagingReadBytesRequested;
387 LARGE_INTEGER CacheReadBytesRequested;
388 LARGE_INTEGER NetworkReadBytesRequested;
389
390 LARGE_INTEGER BytesTransmitted;
391 LARGE_INTEGER SmbsTransmitted;
392 LARGE_INTEGER PagingWriteBytesRequested;
393 LARGE_INTEGER NonPagingWriteBytesRequested;
394 LARGE_INTEGER CacheWriteBytesRequested;
395 LARGE_INTEGER NetworkWriteBytesRequested;
396
397 DWORD InitiallyFailedOperations;
398 DWORD FailedCompletionOperations;
399
400 DWORD ReadOperations;
401 DWORD RandomReadOperations;
402 DWORD ReadSmbs;
403 DWORD LargeReadSmbs;
404 DWORD SmallReadSmbs;
405
406 DWORD WriteOperations;
407 DWORD RandomWriteOperations;
408 DWORD WriteSmbs;
409 DWORD LargeWriteSmbs;
410 DWORD SmallWriteSmbs;
411
412 DWORD RawReadsDenied;
413 DWORD RawWritesDenied;
414
415 DWORD NetworkErrors;
416
417 // Connection/Session counts
418 DWORD Sessions;
419 DWORD FailedSessions;
420 DWORD Reconnects;
421 DWORD CoreConnects;
422 DWORD Lanman20Connects;
423 DWORD Lanman21Connects;
424 DWORD LanmanNtConnects;
425 DWORD ServerDisconnects;
426 DWORD HungSessions;
427 DWORD UseCount;
428 DWORD FailedUseCount;
429
430 //
431 // Queue Lengths (updates protected by RdrMpxTableSpinLock NOT
432 // RdrStatisticsSpinlock)
433 //
434
435 DWORD CurrentCommands;
436
437} STAT_WORKSTATION_NT_0, *PSTAT_WORKSTATION_NT_0, *LPSTAT_WORKSTATION_NT_0;
438
439
440typedef struct _STAT_SERVER_0 {
441 DWORD sts0_start;
442 DWORD sts0_fopens;
443 DWORD sts0_devopens;
444 DWORD sts0_jobsqueued;
445 DWORD sts0_sopens;
446 DWORD sts0_stimedout;
447 DWORD sts0_serrorout;
448 DWORD sts0_pwerrors;
449 DWORD sts0_permerrors;
450 DWORD sts0_syserrors;
451 DWORD sts0_bytessent_low;
452 DWORD sts0_bytessent_high;
453 DWORD sts0_bytesrcvd_low;
454 DWORD sts0_bytesrcvd_high;
455 DWORD sts0_avresponse;
456 DWORD sts0_reqbufneed;
457 DWORD sts0_bigbufneed;
458} STAT_SERVER_0, *PSTAT_SERVER_0, *LPSTAT_SERVER_0;
459
460
461#endif
Note: See TracBrowser for help on using the repository browser.