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.

143 lines
6.3 KiB

  1. //
  2. // DNSCTR.h
  3. //
  4. // Offset definition file for exensible counter objects and counters
  5. //
  6. // These "relative" offsets must start at 0 and be multiples of 2 (i.e.
  7. // even numbers). In the Open Procedure, they will be added to the
  8. // "First Counter" and "First Help" values of the device they belong to,
  9. // in order to determine the absolute location of the counter and
  10. // object names and corresponding help text in the registry.
  11. //
  12. // this file is used by the extensible counter DLL code as well as the
  13. // counter name and help text definition file (.INI) file that is used
  14. // by LODCTR to load the names into the registry.
  15. //
  16. // We use a version number to keep track of which set of counters we are
  17. // using, and whether the performance counters in the registry need to be
  18. // reloaded. If you add or delete any counters, please change the version
  19. // number at the end of this file.
  20. //
  21. #define DNSOBJ 0
  22. #define TOTALQUERYRECEIVED 2
  23. #define TOTALQUERYRECEIVED_S 4
  24. #define UDPQUERYRECEIVED 6
  25. #define UDPQUERYRECEIVED_S 8
  26. #define TCPQUERYRECEIVED 10
  27. #define TCPQUERYRECEIVED_S 12
  28. #define TOTALRESPONSESENT 14
  29. #define TOTALRESPONSESENT_S 16
  30. #define UDPRESPONSESENT 18
  31. #define UDPRESPONSESENT_S 20
  32. #define TCPRESPONSESENT 22
  33. #define TCPRESPONSESENT_S 24
  34. #define RECURSIVEQUERIES 26
  35. #define RECURSIVEQUERIES_S 28
  36. #define RECURSIVETIMEOUT 30
  37. #define RECURSIVETIMEOUT_S 32
  38. #define RECURSIVEQUERYFAILURE 34
  39. #define RECURSIVEQUERYFAILURE_S 36
  40. #define NOTIFYSENT 38
  41. #define ZONETRANSFERREQUESTRECEIVED 40
  42. #define ZONETRANSFERSUCCESS 42
  43. #define ZONETRANSFERFAILURE 44
  44. #define AXFRREQUESTRECEIVED 46
  45. #define AXFRSUCCESSSENT 48
  46. #define IXFRREQUESTRECEIVED 50
  47. #define IXFRSUCCESSSENT 52
  48. #define NOTIFYRECEIVED 54
  49. #define ZONETRANSFERSOAREQUESTSENT 56
  50. #define AXFRREQUESTSENT 58
  51. #define AXFRRESPONSERECEIVED 60
  52. #define AXFRSUCCESSRECEIVED 62
  53. #define IXFRREQUESTSENT 64
  54. #define IXFRRESPONSERECEIVED 66
  55. #define IXFRSUCCESSRECEIVED 68
  56. #define IXFRUDPSUCCESSRECEIVED 70
  57. #define IXFRTCPSUCCESSRECEIVED 72
  58. #define WINSLOOKUPRECEIVED 74
  59. #define WINSLOOKUPRECEIVED_S 76
  60. #define WINSRESPONSESENT 78
  61. #define WINSRESPONSESENT_S 80
  62. #define WINSREVERSELOOKUPRECEIVED 82
  63. #define WINSREVERSELOOKUPRECEIVED_S 84
  64. #define WINSREVERSERESPONSESENT 86
  65. #define WINSREVERSERESPONSESENT_S 88
  66. #define DYNAMICUPDATERECEIVED 90
  67. #define DYNAMICUPDATERECEIVED_S 92
  68. #define DYNAMICUPDATENOOP 94
  69. #define DYNAMICUPDATENOOP_S 96
  70. #define DYNAMICUPDATEWRITETODB 98
  71. #define DYNAMICUPDATEWRITETODB_S 100
  72. #define DYNAMICUPDATEREJECTED 102
  73. #define DYNAMICUPDATETIMEOUT 104
  74. #define DYNAMICUPDATEQUEUED 106
  75. #define SECUREUPDATERECEIVED 108
  76. #define SECUREUPDATERECEIVED_S 110
  77. #define SECUREUPDATEFAILURE 112
  78. #define DATABASENODEMEMORY 114
  79. #define RECORDFLOWMEMORY 116
  80. #define CACHINGMEMORY 118
  81. #define UDPMESSAGEMEMORY 120
  82. #define TCPMESSAGEMEMORY 122
  83. #define NBSTATMEMORY 124
  84. #define DNS_PERF_COUNTER_BLOCK TEXT("Global\\Microsoft.Windows.DNS.Perf")
  85. extern volatile unsigned long * pcTotalQueryReceived;
  86. extern volatile unsigned long * pcUdpQueryReceived;
  87. extern volatile unsigned long * pcTcpQueryReceived;
  88. extern volatile unsigned long * pcTotalResponseSent;
  89. extern volatile unsigned long * pcUdpResponseSent;
  90. extern volatile unsigned long * pcTcpResponseSent;
  91. extern volatile unsigned long * pcRecursiveQueries;
  92. extern volatile unsigned long * pcRecursiveTimeOut;
  93. extern volatile unsigned long * pcRecursiveQueryFailure;
  94. extern volatile unsigned long * pcNotifySent;
  95. extern volatile unsigned long * pcZoneTransferRequestReceived;
  96. extern volatile unsigned long * pcZoneTransferSuccess;
  97. extern volatile unsigned long * pcZoneTransferFailure;
  98. extern volatile unsigned long * pcAxfrRequestReceived;
  99. extern volatile unsigned long * pcAxfrSuccessSent;
  100. extern volatile unsigned long * pcIxfrRequestReceived;
  101. extern volatile unsigned long * pcIxfrSuccessSent;
  102. extern volatile unsigned long * pcNotifyReceived;
  103. extern volatile unsigned long * pcZoneTransferSoaRequestSent;
  104. extern volatile unsigned long * pcAxfrRequestSent;
  105. extern volatile unsigned long * pcAxfrResponseReceived;
  106. extern volatile unsigned long * pcAxfrSuccessReceived;
  107. extern volatile unsigned long * pcIxfrRequestSent;
  108. extern volatile unsigned long * pcIxfrResponseReceived;
  109. extern volatile unsigned long * pcIxfrSuccessReceived;
  110. extern volatile unsigned long * pcIxfrUdpSuccessReceived;
  111. extern volatile unsigned long * pcIxfrTcpSuccessReceived;
  112. extern volatile unsigned long * pcWinsLookupReceived;
  113. extern volatile unsigned long * pcWinsResponseSent;
  114. extern volatile unsigned long * pcWinsReverseLookupReceived;
  115. extern volatile unsigned long * pcWinsReverseResponseSent;
  116. extern volatile unsigned long * pcDynamicUpdateReceived;
  117. extern volatile unsigned long * pcDynamicUpdateNoOp;
  118. extern volatile unsigned long * pcDynamicUpdateWriteToDB;
  119. extern volatile unsigned long * pcDynamicUpdateRejected;
  120. extern volatile unsigned long * pcDynamicUpdateTimeOut;
  121. extern volatile unsigned long * pcDynamicUpdateQueued;
  122. extern volatile unsigned long * pcSecureUpdateReceived;
  123. extern volatile unsigned long * pcSecureUpdateFailure;
  124. extern volatile unsigned long * pcDatabaseNodeMemory;
  125. extern volatile unsigned long * pcRecordFlowMemory;
  126. extern volatile unsigned long * pcCachingMemory;
  127. extern volatile unsigned long * pcUdpMessageMemory;
  128. extern volatile unsigned long * pcTcpMessageMemory;
  129. extern volatile unsigned long * pcNbstatMemory;
  130. #define PERF_INC(p) ( ++(*(p)) )
  131. #define PERF_DEC(p) ( --(*(p)) )
  132. #define PERF_ADD(p, c) ( (*(p)) += (c) )
  133. #define PERF_SUB(p, c) ( (*(p)) -= (c) )
  134. #define PERF_SET(p, c) ( (*(p)) = (c) )
  135. #define DNS_PERFORMANCE_COUNTER_VERSION 1