Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

190 lines
4.9 KiB

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