home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / vc98 / include / lmstats.h < prev    next >
C/C++ Source or Header  |  1998-04-25  |  5KB  |  185 lines

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