Leaked source code of windows server 2003
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.

134 lines
3.6 KiB

  1. /*
  2. Copyright (c) 1992 Microsoft Corporation
  3. Module Name:
  4. atkstat.h
  5. Abstract:
  6. This file defines the statistics structure used whene PROFILING is turned on
  7. Author:
  8. Jameel Hyder (microsoft!jameelh)
  9. Nikhil Kamkolkar (microsoft!nikhilk)
  10. Revision History:
  11. 10 Mar 1993 Initial Version
  12. Notes: Tab stop: 4
  13. --*/
  14. #ifndef _ATKSTAT_
  15. #define _ATKSTAT_
  16. #define MAX_PORTNAME_LEN 32
  17. #define MAX_INTERNAL_PORTNAME_LEN 64
  18. extern ATALK_SPIN_LOCK AtalkStatsLock;
  19. #if DBG
  20. extern LONG AtalkMemLimit;
  21. #endif
  22. // NOTE: This structure should be sized 8*N so that the array of them have all
  23. // LARGE_INTEGERs aligned
  24. typedef struct _AtalkPortStatistics
  25. {
  26. LARGE_INTEGER prtst_DataIn;
  27. LARGE_INTEGER prtst_DataOut;
  28. LARGE_INTEGER prtst_DdpPacketInProcessTime;
  29. LARGE_INTEGER prtst_AarpPacketInProcessTime;
  30. LARGE_INTEGER prtst_NbpPacketInProcessTime;
  31. LARGE_INTEGER prtst_ZipPacketInProcessTime;
  32. LARGE_INTEGER prtst_RtmpPacketInProcessTime;
  33. #ifdef PROFILING
  34. LARGE_INTEGER prtst_RcvIndProcessTime;
  35. LARGE_INTEGER prtst_RcvCompProcessTime;
  36. ULONG prtst_RcvIndCount;
  37. ULONG prtst_RcvCompCount;
  38. ULONG prtst_CurReceiveQueue;
  39. ULONG prtst_CurSendsOutstanding;
  40. #endif
  41. ULONG prtst_NumPacketsIn;
  42. ULONG prtst_NumPacketsOut;
  43. ULONG prtst_NumDdpPacketsIn;
  44. ULONG prtst_NumAarpProbesOut;
  45. ULONG prtst_NumAarpPacketsIn;
  46. ULONG prtst_NumNbpPacketsIn;
  47. ULONG prtst_NumZipPacketsIn;
  48. ULONG prtst_NumRtmpPacketsIn;
  49. // Routing information
  50. ULONG prtst_NumPktRoutedIn;
  51. ULONG prtst_NumPktRoutedOut;
  52. // Keep track of how many packets were dropped.
  53. ULONG prtst_NumPktDropped;
  54. ULONG prtst_Dummy; // Keep the size 8*N for alignment
  55. // Port name for use by perfmon
  56. WCHAR prtst_PortName[MAX_INTERNAL_PORTNAME_LEN];
  57. } ATALK_PORT_STATS, *PATALK_PORT_STATS;
  58. typedef struct _AtalkStatistics
  59. {
  60. LARGE_INTEGER stat_PerfFreq;
  61. LARGE_INTEGER stat_AtpPacketInProcessTime;
  62. #ifdef PROFILING
  63. LARGE_INTEGER stat_AtpIndicationProcessTime;
  64. LARGE_INTEGER stat_AtpReqHndlrProcessTime;
  65. LARGE_INTEGER stat_AtpReqTimerProcessTime;
  66. LARGE_INTEGER stat_AtpRelTimerProcessTime;
  67. LARGE_INTEGER stat_AspSmtProcessTime;
  68. LARGE_INTEGER stat_ExAllocPoolTime;
  69. LARGE_INTEGER stat_ExFreePoolTime;
  70. LARGE_INTEGER stat_BPAllocTime;
  71. LARGE_INTEGER stat_BPFreeTime;
  72. ULONG stat_AtpNumIndications;
  73. ULONG stat_AtpNumRequests;
  74. ULONG stat_AtpNumReqTimer;
  75. ULONG stat_AtpNumRelTimer;
  76. ULONG stat_AtpNumReqHndlr;
  77. ULONG stat_TotalAspSessions;
  78. ULONG stat_AspSessionsDropped;
  79. ULONG stat_AspSessionsClosed;
  80. ULONG stat_AspSmtCount;
  81. ULONG stat_MaxAspSessions;
  82. ULONG stat_CurAspSessions;
  83. ULONG stat_LastAspRTT;
  84. ULONG stat_MaxAspRTT;
  85. ULONG stat_LastPapRTT;
  86. ULONG stat_MaxPapRTT;
  87. ULONG stat_CurAllocCount;
  88. ULONG stat_CurMdlCount;
  89. ULONG stat_ExAllocPoolCount;
  90. ULONG stat_ExFreePoolCount;
  91. ULONG stat_BPAllocCount;
  92. ULONG stat_BPFreeCount;
  93. ULONG stat_NumBPHits;
  94. ULONG stat_NumBPMisses;
  95. ULONG stat_NumBPAge;
  96. ULONG stat_ElapsedTime;
  97. #endif
  98. ULONG stat_AtpNumPackets;
  99. ULONG stat_AtpNumLocalRetries;
  100. ULONG stat_AtpNumRemoteRetries;
  101. ULONG stat_AtpNumXoResponse;
  102. ULONG stat_AtpNumAloResponse;
  103. ULONG stat_AtpNumRecdRelease;
  104. ULONG stat_AtpNumRespTimeout;
  105. ULONG stat_CurAllocSize;
  106. ULONG stat_NumActivePorts;
  107. ULONG stat_Dummy; // Keep the size 8*N for alignment
  108. } ATALK_STATS, *PATALK_STATS;
  109. extern ATALK_STATS AtalkStatistics;
  110. #endif // _ATKSTAT_
  111.