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.

184 lines
4.8 KiB

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