windows-nt/Source/XPSP1/NT/base/screg/winreg/perfdlls/perfctrs/datatcp.c
2020-09-26 16:20:57 +08:00

968 lines
19 KiB
C

/*++ BUILD Version: 0001 // Increment this if a change has global effects
Copyright (c) 1992 Microsoft Corporation
Module Name:
datatcp.c
Abstract:
The file containing the constant data structures
for the Performance Monitor data for the TCP/IP
Extensible Objects (Network Interface, IP, ICMP, TCP
and UDP).
This file contains a set of constant data structures which are
currently defined for the TCP/IP Extensible Objects. This is an
example of how other such objects could be defined.
Created:
Christos Tsollis 08/28/92
Revision History:
--*/
//
//
// Include Files
//
#include <nt.h>
#include <ntrtl.h>
#include <nturtl.h>
#include <windows.h>
#include <winperf.h>
#include "datatcp.h"
//
// Constant structure initializations
//
NET_INTERFACE_DATA_DEFINITION NetInterfaceDataDefinition = {
{ sizeof(NET_INTERFACE_DATA_DEFINITION) + SIZE_OF_IF_DATA,
sizeof(NET_INTERFACE_DATA_DEFINITION),
sizeof(PERF_OBJECT_TYPE),
510,
0,
511,
0,
PERF_DETAIL_ADVANCED,
(sizeof(NET_INTERFACE_DATA_DEFINITION)-sizeof(PERF_OBJECT_TYPE))/
sizeof(PERF_COUNTER_DEFINITION),
0, // default is Byte Total/sec
0,
0
},
{ sizeof(PERF_COUNTER_DEFINITION),
388,
0,
513,
0,
-4,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_BULK_COUNT,
sizeof(LONGLONG),
IF_OCTETS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
400,
0,
515,
0,
-1,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_COUNTER,
sizeof(DWORD),
IF_PACKETS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
266,
0,
517,
0,
-1,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_COUNTER,
sizeof(DWORD),
IF_INPKTS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
452,
0,
519,
0,
-1,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_COUNTER,
sizeof(DWORD),
IF_OUTPKTS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
520,
0,
521,
0,
-6,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_RAWCOUNT,
sizeof(DWORD),
IF_SPEED_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
264,
0,
523,
0,
-4,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_COUNTER,
sizeof(DWORD),
IF_INOCTETS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
524,
0,
525,
0,
-1,
PERF_DETAIL_EXPERT,
PERF_COUNTER_COUNTER,
sizeof(DWORD),
IF_INUCASTPKTS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
526,
0,
527,
0,
-1,
PERF_DETAIL_EXPERT,
PERF_COUNTER_COUNTER,
sizeof(DWORD),
IF_INNUCASTPKTS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
528,
0,
529,
0,
0,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_RAWCOUNT,
sizeof(DWORD),
IF_INDISCARDS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
530,
0,
531,
0,
0,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_RAWCOUNT,
sizeof(DWORD),
IF_INERRORS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
532,
0,
533,
0,
0,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_RAWCOUNT,
sizeof(DWORD),
IF_INUNKNOWNPROTOS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
506,
0,
535,
0,
-4,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_COUNTER,
sizeof(DWORD),
IF_OUTOCTETS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
536,
0,
537,
0,
-1,
PERF_DETAIL_EXPERT,
PERF_COUNTER_COUNTER,
sizeof(DWORD),
IF_OUTUCASTPKTS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
538,
0,
539,
0,
-1,
PERF_DETAIL_EXPERT,
PERF_COUNTER_COUNTER,
sizeof(DWORD),
IF_OUTNUCASTPKTS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
540,
0,
541,
0,
0,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_RAWCOUNT,
sizeof(DWORD),
IF_OUTDISCARDS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
542,
0,
543,
0,
0,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_RAWCOUNT,
sizeof(DWORD),
IF_OUTERRORS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
544,
0,
545,
0,
0,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_RAWCOUNT,
sizeof(DWORD),
IF_OUTQLEN_OFFSET
}
};
IP_DATA_DEFINITION IpDataDefinition = {
{ sizeof(IP_DATA_DEFINITION) + SIZE_OF_IP_DATA,
sizeof(IP_DATA_DEFINITION),
sizeof(PERF_OBJECT_TYPE),
546,
0,
547,
0,
PERF_DETAIL_ADVANCED,
(sizeof(IP_DATA_DEFINITION)-sizeof(PERF_OBJECT_TYPE))/
sizeof(PERF_COUNTER_DEFINITION),
0,
-1,
0
},
{ sizeof(PERF_COUNTER_DEFINITION),
438,
0,
549,
0,
-1,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_COUNTER,
sizeof(DWORD),
IP_DATAGRAMS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
446,
0,
551,
0,
-1,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_COUNTER,
sizeof(DWORD),
IP_INRECEIVES_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
552,
0,
553,
0,
0,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_RAWCOUNT,
sizeof(DWORD),
IP_INHDRERRORS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
554,
0,
555,
0,
0,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_RAWCOUNT,
sizeof(DWORD),
IP_INADDRERRORS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
556,
0,
557,
0,
-1,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_COUNTER,
sizeof(DWORD),
IP_FORWDATAGRAMS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
558,
0,
559,
0,
0,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_RAWCOUNT,
sizeof(DWORD),
IP_INUNKNOWNPROTOS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
560,
0,
561,
0,
0,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_RAWCOUNT,
sizeof(DWORD),
IP_INDISCARDS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
562,
0,
563,
0,
-1,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_COUNTER,
sizeof(DWORD),
IP_INDELIVERS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
442,
0,
565,
0,
-1,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_COUNTER,
sizeof(DWORD),
IP_OUTREQUESTS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
566,
0,
567,
0,
0,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_RAWCOUNT,
sizeof(DWORD),
IP_OUTDISCARDS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
568,
0,
569,
0,
0,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_RAWCOUNT,
sizeof(DWORD),
IP_OUTNOROUTES_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
570,
0,
571,
0,
-1,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_COUNTER,
sizeof(DWORD),
IP_REASMREQDS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
572,
0,
573,
0,
-1,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_COUNTER,
sizeof(DWORD),
IP_REASMOKS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
574,
0,
575,
0,
0,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_RAWCOUNT,
sizeof(DWORD),
IP_REASMFAILS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
576,
0,
577,
0,
-1,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_COUNTER,
sizeof(DWORD),
IP_FRAGOKS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
578,
0,
579,
0,
0,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_RAWCOUNT,
sizeof(DWORD),
IP_FRAGFAILS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
580,
0,
581,
0,
-1,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_COUNTER,
sizeof(DWORD),
IP_FRAGCREATES_OFFSET
}
};
ICMP_DATA_DEFINITION IcmpDataDefinition = {
{ sizeof(ICMP_DATA_DEFINITION) + SIZE_OF_ICMP_DATA,
sizeof(ICMP_DATA_DEFINITION),
sizeof(PERF_OBJECT_TYPE),
582,
0,
583,
0,
PERF_DETAIL_ADVANCED,
(sizeof(ICMP_DATA_DEFINITION)-sizeof(PERF_OBJECT_TYPE))/
sizeof(PERF_COUNTER_DEFINITION),
0,
-1,
0
},
{ sizeof(PERF_COUNTER_DEFINITION),
584,
0,
585,
0,
-1,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_COUNTER,
sizeof(DWORD),
ICMP_MESSAGES_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
586,
0,
587,
0,
-1,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_COUNTER,
sizeof(DWORD),
ICMP_INMSGS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
588,
0,
589,
0,
0,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_RAWCOUNT,
sizeof(DWORD),
ICMP_INERRORS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
590,
0,
591,
0,
0,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_RAWCOUNT,
sizeof(DWORD),
ICMP_INDESTUNREACHS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
592,
0,
593,
0,
0,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_RAWCOUNT,
sizeof(DWORD),
ICMP_INTIMEEXCDS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
594,
0,
595,
0,
0,
PERF_DETAIL_EXPERT,
PERF_COUNTER_RAWCOUNT,
sizeof(DWORD),
ICMP_INPARMPROBS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
596,
0,
597,
0,
0,
PERF_DETAIL_WIZARD,
PERF_COUNTER_RAWCOUNT,
sizeof(DWORD),
ICMP_INSRCQUENCHS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
598,
0,
599,
0,
-1,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_COUNTER,
sizeof(DWORD),
ICMP_INREDIRECTS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
600,
0,
601,
0,
-1,
PERF_DETAIL_EXPERT,
PERF_COUNTER_COUNTER,
sizeof(DWORD),
ICMP_INECHOS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
602,
0,
603,
0,
-1,
PERF_DETAIL_EXPERT,
PERF_COUNTER_COUNTER,
sizeof(DWORD),
ICMP_INECHOREPS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
604,
0,
605,
0,
-1,
PERF_DETAIL_EXPERT,
PERF_COUNTER_COUNTER,
sizeof(DWORD),
ICMP_INTIMESTAMPS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
606,
0,
607,
0,
-1,
PERF_DETAIL_EXPERT,
PERF_COUNTER_COUNTER,
sizeof(DWORD),
ICMP_INTIMESTAMPREPS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
608,
0,
609,
0,
0,
PERF_DETAIL_EXPERT,
PERF_COUNTER_RAWCOUNT,
sizeof(DWORD),
ICMP_INADDRMASKS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
610,
0,
611,
0,
0,
PERF_DETAIL_EXPERT,
PERF_COUNTER_RAWCOUNT,
sizeof(DWORD),
ICMP_INADDRMASKREPS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
612,
0,
613,
0,
-1,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_COUNTER,
sizeof(DWORD),
ICMP_OUTMSGS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
614,
0,
615,
0,
0,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_RAWCOUNT,
sizeof(DWORD),
ICMP_OUTERRORS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
616,
0,
617,
0,
0,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_RAWCOUNT,
sizeof(DWORD),
ICMP_OUTDESTUNREACHS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
618,
0,
619,
0,
0,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_RAWCOUNT,
sizeof(DWORD),
ICMP_OUTTIMEEXCDS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
620,
0,
621,
0,
0,
PERF_DETAIL_EXPERT,
PERF_COUNTER_RAWCOUNT,
sizeof(DWORD),
ICMP_OUTPARMPROBS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
622,
0,
623,
0,
0,
PERF_DETAIL_WIZARD,
PERF_COUNTER_RAWCOUNT,
sizeof(DWORD),
ICMP_OUTSRCQUENCHS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
624,
0,
625,
0,
-1,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_COUNTER,
sizeof(DWORD),
ICMP_OUTREDIRECTS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
626,
0,
627,
0,
-1,
PERF_DETAIL_EXPERT,
PERF_COUNTER_COUNTER,
sizeof(DWORD),
ICMP_OUTECHOS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
628,
0,
629,
0,
-1,
PERF_DETAIL_EXPERT,
PERF_COUNTER_COUNTER,
sizeof(DWORD),
ICMP_OUTECHOREPS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
630,
0,
631,
0,
-1,
PERF_DETAIL_EXPERT,
PERF_COUNTER_COUNTER,
sizeof(DWORD),
ICMP_OUTTIMESTAMPS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
632,
0,
633,
0,
-1,
PERF_DETAIL_EXPERT,
PERF_COUNTER_COUNTER,
sizeof(DWORD),
ICMP_OUTTIMESTAMPREPS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
634,
0,
635,
0,
0,
PERF_DETAIL_EXPERT,
PERF_COUNTER_RAWCOUNT,
sizeof(DWORD),
ICMP_OUTADDRMASKS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
636,
0,
637,
0,
0,
PERF_DETAIL_EXPERT,
PERF_COUNTER_RAWCOUNT,
sizeof(DWORD),
ICMP_OUTADDRMASKREPS_OFFSET
}
};
TCP_DATA_DEFINITION TcpDataDefinition = {
{ sizeof(TCP_DATA_DEFINITION) + SIZE_OF_TCP_DATA,
sizeof(TCP_DATA_DEFINITION),
sizeof(PERF_OBJECT_TYPE),
638,
0,
639,
0,
PERF_DETAIL_ADVANCED,
(sizeof(TCP_DATA_DEFINITION)-sizeof(PERF_OBJECT_TYPE))/
sizeof(PERF_COUNTER_DEFINITION),
0,
-1,
0
},
{ sizeof(PERF_COUNTER_DEFINITION),
640,
0,
641,
0,
-1,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_COUNTER,
sizeof(DWORD),
TCP_SEGMENTS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
642,
0,
643,
0,
0,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_RAWCOUNT,
sizeof(DWORD),
TCP_CURRESTAB_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
644,
0,
645,
0,
0,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_RAWCOUNT,
sizeof(DWORD),
TCP_ACTIVEOPENS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
646,
0,
647,
0,
0,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_RAWCOUNT,
sizeof(DWORD),
TCP_PASSIVEOPENS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
648,
0,
649,
0,
0,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_RAWCOUNT,
sizeof(DWORD),
TCP_ATTEMPTFAILS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
650,
0,
651,
0,
0,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_RAWCOUNT,
sizeof(DWORD),
TCP_ESTABRESETS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
652,
0,
653,
0,
-1,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_COUNTER,
sizeof(DWORD),
TCP_INSEGS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
654,
0,
655,
0,
-1,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_COUNTER,
sizeof(DWORD),
TCP_OUTSEGS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
656,
0,
657,
0,
-1,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_COUNTER,
sizeof(DWORD),
TCP_RETRANSSEGS_OFFSET
}
};
UDP_DATA_DEFINITION UdpDataDefinition = {
{ sizeof(UDP_DATA_DEFINITION) + SIZE_OF_UDP_DATA,
sizeof(UDP_DATA_DEFINITION),
sizeof(PERF_OBJECT_TYPE),
658,
0,
659,
0,
PERF_DETAIL_ADVANCED,
(sizeof(UDP_DATA_DEFINITION)-sizeof(PERF_OBJECT_TYPE))/
sizeof(PERF_COUNTER_DEFINITION),
0,
-1,
0
},
{ sizeof(PERF_COUNTER_DEFINITION),
438,
0,
661,
0,
-1,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_COUNTER,
sizeof(DWORD),
UDP_DATAGRAMS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
446,
0,
663,
0,
-1,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_COUNTER,
sizeof(DWORD),
UDP_INDATAGRAMS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
664,
0,
665,
0,
-1,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_COUNTER,
sizeof(DWORD),
UDP_NOPORTS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
666,
0,
667,
0,
0,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_RAWCOUNT,
sizeof(DWORD),
UDP_INERRORS_OFFSET
},
{ sizeof(PERF_COUNTER_DEFINITION),
442,
0,
669,
0,
-1,
PERF_DETAIL_ADVANCED,
PERF_COUNTER_COUNTER,
sizeof(DWORD),
UDP_OUTDATAGRAMS_OFFSET
}
};