home *** CD-ROM | disk | FTP | other *** search
/ QBasic & Borland Pascal & C / Delphi5.iso / C / BC_502 / RTLWIN32.PAK / LMSTATS.H < prev    next >
Encoding:
C/C++ Source or Header  |  1997-05-06  |  5.2 KB  |  197 lines

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