144 lines
6.3 KiB
C
144 lines
6.3 KiB
C
//
|
|
// DNSCTR.h
|
|
//
|
|
// Offset definition file for exensible counter objects and counters
|
|
//
|
|
// These "relative" offsets must start at 0 and be multiples of 2 (i.e.
|
|
// even numbers). In the Open Procedure, they will be added to the
|
|
// "First Counter" and "First Help" values of the device they belong to,
|
|
// in order to determine the absolute location of the counter and
|
|
// object names and corresponding help text in the registry.
|
|
//
|
|
// this file is used by the extensible counter DLL code as well as the
|
|
// counter name and help text definition file (.INI) file that is used
|
|
// by LODCTR to load the names into the registry.
|
|
//
|
|
// We use a version number to keep track of which set of counters we are
|
|
// using, and whether the performance counters in the registry need to be
|
|
// reloaded. If you add or delete any counters, please change the version
|
|
// number at the end of this file.
|
|
//
|
|
#define DNSOBJ 0
|
|
#define TOTALQUERYRECEIVED 2
|
|
#define TOTALQUERYRECEIVED_S 4
|
|
#define UDPQUERYRECEIVED 6
|
|
#define UDPQUERYRECEIVED_S 8
|
|
#define TCPQUERYRECEIVED 10
|
|
#define TCPQUERYRECEIVED_S 12
|
|
#define TOTALRESPONSESENT 14
|
|
#define TOTALRESPONSESENT_S 16
|
|
#define UDPRESPONSESENT 18
|
|
#define UDPRESPONSESENT_S 20
|
|
#define TCPRESPONSESENT 22
|
|
#define TCPRESPONSESENT_S 24
|
|
#define RECURSIVEQUERIES 26
|
|
#define RECURSIVEQUERIES_S 28
|
|
#define RECURSIVETIMEOUT 30
|
|
#define RECURSIVETIMEOUT_S 32
|
|
#define RECURSIVEQUERYFAILURE 34
|
|
#define RECURSIVEQUERYFAILURE_S 36
|
|
#define NOTIFYSENT 38
|
|
#define ZONETRANSFERREQUESTRECEIVED 40
|
|
#define ZONETRANSFERSUCCESS 42
|
|
#define ZONETRANSFERFAILURE 44
|
|
#define AXFRREQUESTRECEIVED 46
|
|
#define AXFRSUCCESSSENT 48
|
|
#define IXFRREQUESTRECEIVED 50
|
|
#define IXFRSUCCESSSENT 52
|
|
#define NOTIFYRECEIVED 54
|
|
#define ZONETRANSFERSOAREQUESTSENT 56
|
|
#define AXFRREQUESTSENT 58
|
|
#define AXFRRESPONSERECEIVED 60
|
|
#define AXFRSUCCESSRECEIVED 62
|
|
#define IXFRREQUESTSENT 64
|
|
#define IXFRRESPONSERECEIVED 66
|
|
#define IXFRSUCCESSRECEIVED 68
|
|
#define IXFRUDPSUCCESSRECEIVED 70
|
|
#define IXFRTCPSUCCESSRECEIVED 72
|
|
#define WINSLOOKUPRECEIVED 74
|
|
#define WINSLOOKUPRECEIVED_S 76
|
|
#define WINSRESPONSESENT 78
|
|
#define WINSRESPONSESENT_S 80
|
|
#define WINSREVERSELOOKUPRECEIVED 82
|
|
#define WINSREVERSELOOKUPRECEIVED_S 84
|
|
#define WINSREVERSERESPONSESENT 86
|
|
#define WINSREVERSERESPONSESENT_S 88
|
|
#define DYNAMICUPDATERECEIVED 90
|
|
#define DYNAMICUPDATERECEIVED_S 92
|
|
#define DYNAMICUPDATENOOP 94
|
|
#define DYNAMICUPDATENOOP_S 96
|
|
#define DYNAMICUPDATEWRITETODB 98
|
|
#define DYNAMICUPDATEWRITETODB_S 100
|
|
#define DYNAMICUPDATEREJECTED 102
|
|
#define DYNAMICUPDATETIMEOUT 104
|
|
#define DYNAMICUPDATEQUEUED 106
|
|
#define SECUREUPDATERECEIVED 108
|
|
#define SECUREUPDATERECEIVED_S 110
|
|
#define SECUREUPDATEFAILURE 112
|
|
#define DATABASENODEMEMORY 114
|
|
#define RECORDFLOWMEMORY 116
|
|
#define CACHINGMEMORY 118
|
|
#define UDPMESSAGEMEMORY 120
|
|
#define TCPMESSAGEMEMORY 122
|
|
#define NBSTATMEMORY 124
|
|
|
|
#define DNS_PERF_COUNTER_BLOCK TEXT("Global\\Microsoft.Windows.DNS.Perf")
|
|
|
|
|
|
extern volatile unsigned long * pcTotalQueryReceived;
|
|
extern volatile unsigned long * pcUdpQueryReceived;
|
|
extern volatile unsigned long * pcTcpQueryReceived;
|
|
extern volatile unsigned long * pcTotalResponseSent;
|
|
extern volatile unsigned long * pcUdpResponseSent;
|
|
extern volatile unsigned long * pcTcpResponseSent;
|
|
extern volatile unsigned long * pcRecursiveQueries;
|
|
extern volatile unsigned long * pcRecursiveTimeOut;
|
|
extern volatile unsigned long * pcRecursiveQueryFailure;
|
|
extern volatile unsigned long * pcNotifySent;
|
|
extern volatile unsigned long * pcZoneTransferRequestReceived;
|
|
extern volatile unsigned long * pcZoneTransferSuccess;
|
|
extern volatile unsigned long * pcZoneTransferFailure;
|
|
extern volatile unsigned long * pcAxfrRequestReceived;
|
|
extern volatile unsigned long * pcAxfrSuccessSent;
|
|
extern volatile unsigned long * pcIxfrRequestReceived;
|
|
extern volatile unsigned long * pcIxfrSuccessSent;
|
|
extern volatile unsigned long * pcNotifyReceived;
|
|
extern volatile unsigned long * pcZoneTransferSoaRequestSent;
|
|
extern volatile unsigned long * pcAxfrRequestSent;
|
|
extern volatile unsigned long * pcAxfrResponseReceived;
|
|
extern volatile unsigned long * pcAxfrSuccessReceived;
|
|
extern volatile unsigned long * pcIxfrRequestSent;
|
|
extern volatile unsigned long * pcIxfrResponseReceived;
|
|
extern volatile unsigned long * pcIxfrSuccessReceived;
|
|
extern volatile unsigned long * pcIxfrUdpSuccessReceived;
|
|
extern volatile unsigned long * pcIxfrTcpSuccessReceived;
|
|
extern volatile unsigned long * pcWinsLookupReceived;
|
|
extern volatile unsigned long * pcWinsResponseSent;
|
|
extern volatile unsigned long * pcWinsReverseLookupReceived;
|
|
extern volatile unsigned long * pcWinsReverseResponseSent;
|
|
extern volatile unsigned long * pcDynamicUpdateReceived;
|
|
extern volatile unsigned long * pcDynamicUpdateNoOp;
|
|
extern volatile unsigned long * pcDynamicUpdateWriteToDB;
|
|
extern volatile unsigned long * pcDynamicUpdateRejected;
|
|
extern volatile unsigned long * pcDynamicUpdateTimeOut;
|
|
extern volatile unsigned long * pcDynamicUpdateQueued;
|
|
extern volatile unsigned long * pcSecureUpdateReceived;
|
|
extern volatile unsigned long * pcSecureUpdateFailure;
|
|
extern volatile unsigned long * pcDatabaseNodeMemory;
|
|
extern volatile unsigned long * pcRecordFlowMemory;
|
|
extern volatile unsigned long * pcCachingMemory;
|
|
extern volatile unsigned long * pcUdpMessageMemory;
|
|
extern volatile unsigned long * pcTcpMessageMemory;
|
|
extern volatile unsigned long * pcNbstatMemory;
|
|
|
|
|
|
#define PERF_INC(p) ( ++(*(p)) )
|
|
#define PERF_DEC(p) ( --(*(p)) )
|
|
#define PERF_ADD(p, c) ( (*(p)) += (c) )
|
|
#define PERF_SUB(p, c) ( (*(p)) -= (c) )
|
|
#define PERF_SET(p, c) ( (*(p)) = (c) )
|
|
|
|
|
|
#define DNS_PERFORMANCE_COUNTER_VERSION 1
|
|
|