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.
 
 
 
 
 
 

460 lines
18 KiB

/*++
Copyright (c) 1996 Microsoft Corporation
Module Name:
Abstract:
Author:
Revision History:
--*/
#ifndef __INDICES_H__
#define __INDICES_H__
//
// A bunch of defines to set up the indices for the mib variables
//
#define mi_sysDescr 0
#define mi_sysObjectID mi_sysDescr + 1
#define mi_sysUpTime mi_sysObjectID + 1
#define mi_sysContact mi_sysUpTime + 1
#define mi_sysName mi_sysContact + 1
#define mi_sysLocation mi_sysName + 1
#define mi_sysServices mi_sysLocation + 1
#define mi_ifNumber 0
#define mi_ifTable mi_ifNumber + 1
#define mi_ifEntry mi_ifTable + 1
#define mi_ifIndex mi_ifEntry + 1
#define mi_ifDescr mi_ifIndex + 1
#define mi_ifType mi_ifDescr + 1
#define mi_ifMtu mi_ifType + 1
#define mi_ifSpeed mi_ifMtu + 1
#define mi_ifPhysAddress mi_ifSpeed + 1
#define mi_ifAdminStatus mi_ifPhysAddress + 1
#define mi_ifOperStatus mi_ifAdminStatus + 1
#define mi_ifLastChange mi_ifOperStatus + 1
#define mi_ifInOctets mi_ifLastChange + 1
#define mi_ifInUcastPkts mi_ifInOctets + 1
#define mi_ifInNUcastPkts mi_ifInUcastPkts + 1
#define mi_ifInDiscards mi_ifInNUcastPkts + 1
#define mi_ifInErrors mi_ifInDiscards + 1
#define mi_ifInUnknownProtos mi_ifInErrors + 1
#define mi_ifOutOctets mi_ifInUnknownProtos + 1
#define mi_ifOutUcastPkts mi_ifOutOctets + 1
#define mi_ifOutNUcastPkts mi_ifOutUcastPkts + 1
#define mi_ifOutDiscards mi_ifOutNUcastPkts + 1
#define mi_ifOutErrors mi_ifOutDiscards + 1
#define mi_ifOutQLen mi_ifOutErrors + 1
#define mi_ifSpecific mi_ifOutQLen + 1
#define mi_ipForwarding 0
#define mi_ipDefaultTTL mi_ipForwarding + 1
#define mi_ipInReceives mi_ipDefaultTTL + 1
#define mi_ipInHdrErrors mi_ipInReceives + 1
#define mi_ipInAddrErrors mi_ipInHdrErrors + 1
#define mi_ipForwDatagrams mi_ipInAddrErrors + 1
#define mi_ipInUnknownProtos mi_ipForwDatagrams + 1
#define mi_ipInDiscards mi_ipInUnknownProtos + 1
#define mi_ipInDelivers mi_ipInDiscards + 1
#define mi_ipOutRequests mi_ipInDelivers + 1
#define mi_ipOutDiscards mi_ipOutRequests + 1
#define mi_ipOutNoRoutes mi_ipOutDiscards + 1
#define mi_ipReasmTimeout mi_ipOutNoRoutes + 1
#define mi_ipReasmReqds mi_ipReasmTimeout + 1
#define mi_ipReasmOKs mi_ipReasmReqds + 1
#define mi_ipReasmFails mi_ipReasmOKs + 1
#define mi_ipFragOKs mi_ipReasmFails + 1
#define mi_ipFragFails mi_ipFragOKs + 1
#define mi_ipFragCreates mi_ipFragFails + 1
#define mi_ipAddrTable mi_ipFragCreates + 1
#define mi_ipAddrEntry mi_ipAddrTable + 1
#define mi_ipAdEntAddr mi_ipAddrEntry + 1
#define mi_ipAdEntIfIndex mi_ipAdEntAddr + 1
#define mi_ipAdEntNetMask mi_ipAdEntIfIndex + 1
#define mi_ipAdEntBcastAddr mi_ipAdEntNetMask + 1
#define mi_ipAdEntReasmMaxSize mi_ipAdEntBcastAddr + 1
#define mi_ipRouteTable mi_ipAdEntReasmMaxSize + 1
#define mi_ipRouteEntry mi_ipRouteTable + 1
#define mi_ipRouteDest mi_ipRouteEntry + 1
#define mi_ipRouteIfIndex mi_ipRouteDest + 1
#define mi_ipRouteMetric1 mi_ipRouteIfIndex + 1
#define mi_ipRouteMetric2 mi_ipRouteMetric1 + 1
#define mi_ipRouteMetric3 mi_ipRouteMetric2 + 1
#define mi_ipRouteMetric4 mi_ipRouteMetric3 + 1
#define mi_ipRouteNextHop mi_ipRouteMetric4 + 1
#define mi_ipRouteType mi_ipRouteNextHop + 1
#define mi_ipRouteProto mi_ipRouteType + 1
#define mi_ipRouteAge mi_ipRouteProto + 1
#define mi_ipRouteMask mi_ipRouteAge + 1
#define mi_ipRouteMetric5 mi_ipRouteMask + 1
#define mi_ipRouteInfo mi_ipRouteMetric5 + 1
#define mi_ipNetToMediaTable mi_ipRouteInfo + 1
#define mi_ipNetToMediaEntry mi_ipNetToMediaTable + 1
#define mi_ipNetToMediaIfIndex mi_ipNetToMediaEntry + 1
#define mi_ipNetToMediaPhysAddress mi_ipNetToMediaIfIndex + 1
#define mi_ipNetToMediaNetAddress mi_ipNetToMediaPhysAddress + 1
#define mi_ipNetToMediaType mi_ipNetToMediaNetAddress + 1
#define mi_ipRoutingDiscards mi_ipNetToMediaType + 1
#define mi_ipForwardGroup mi_ipRoutingDiscards + 1
#define mi_ipForwardNumber mi_ipForwardGroup + 1
#define mi_ipForwardTable mi_ipForwardNumber + 1
#define mi_ipForwardEntry mi_ipForwardTable + 1
#define mi_ipForwardDest mi_ipForwardEntry + 1
#define mi_ipForwardMask mi_ipForwardDest + 1
#define mi_ipForwardPolicy mi_ipForwardMask + 1
#define mi_ipForwardNextHop mi_ipForwardPolicy + 1
#define mi_ipForwardIfIndex mi_ipForwardNextHop + 1
#define mi_ipForwardType mi_ipForwardIfIndex + 1
#define mi_ipForwardProto mi_ipForwardType + 1
#define mi_ipForwardAge mi_ipForwardProto + 1
#define mi_ipForwardInfo mi_ipForwardAge + 1
#define mi_ipForwardNextHopAS mi_ipForwardInfo + 1
#define mi_ipForwardMetric1 mi_ipForwardNextHopAS + 1
#define mi_ipForwardMetric2 mi_ipForwardMetric1 + 1
#define mi_ipForwardMetric3 mi_ipForwardMetric2 + 1
#define mi_ipForwardMetric4 mi_ipForwardMetric3 + 1
#define mi_ipForwardMetric5 mi_ipForwardMetric4 + 1
//
// These values should match the order of entries in mib_icmpGroup[]
//
typedef enum {
mi_icmpInMsgs = 0,
mi_icmpInErrors,
mi_icmpInDestUnreachs,
mi_icmpInTimeExcds,
mi_icmpInParmProbs,
mi_icmpInSrcQuenchs,
mi_icmpInRedirects,
mi_icmpInEchos,
mi_icmpInEchoReps,
mi_icmpInTimestamps,
mi_icmpInTimestampReps,
mi_icmpInAddrMasks,
mi_icmpInAddrMaskReps,
mi_icmpOutMsgs,
mi_icmpOutErrors,
mi_icmpOutDestUnreachs,
mi_icmpOutTimeExcds,
mi_icmpOutParmProbs,
mi_icmpOutSrcQuenchs,
mi_icmpOutRedirects,
mi_icmpOutEchos,
mi_icmpOutEchoReps,
mi_icmpOutTimestamps,
mi_icmpOutTimestampReps,
mi_icmpOutAddrMasks,
mi_icmpOutAddrMaskReps,
mi_inetIcmpTable,
mi_inetIcmpEntry,
mi_inetIcmpAFType,
mi_inetIcmpIfIndex,
mi_inetIcmpInMsgs,
mi_inetIcmpInErrors,
mi_inetIcmpOutMsgs,
mi_inetIcmpOutErrors,
mi_inetIcmpMsgTable,
mi_inetIcmpMsgEntry,
mi_inetIcmpMsgAFType,
mi_inetIcmpMsgIfIndex,
mi_inetIcmpMsgType,
mi_inetIcmpMsgCode,
mi_inetIcmpMsgInPkts,
mi_inetIcmpMsgOutPkts,
} MI_ICMPGROUP;
//
// These values should match the order of entries in mib_tcpGroup[]
//
#define mi_tcpRtoAlgorithm 0
#define mi_tcpRtoMin mi_tcpRtoAlgorithm + 1
#define mi_tcpRtoMax mi_tcpRtoMin + 1
#define mi_tcpMaxConn mi_tcpRtoMax + 1
#define mi_tcpActiveOpens mi_tcpMaxConn + 1
#define mi_tcpPassiveOpens mi_tcpActiveOpens + 1
#define mi_tcpAttemptFails mi_tcpPassiveOpens + 1
#define mi_tcpEstabResets mi_tcpAttemptFails + 1
#define mi_tcpCurrEstab mi_tcpEstabResets + 1
#define mi_tcpInSegs mi_tcpCurrEstab + 1
#define mi_tcpOutSegs mi_tcpInSegs + 1
#define mi_tcpRetransSegs mi_tcpOutSegs + 1
#define mi_tcpConnTable mi_tcpRetransSegs + 1
#define mi_tcpConnEntry mi_tcpConnTable + 1
#define mi_tcpConnState mi_tcpConnEntry + 1
#define mi_tcpConnLocalAddress mi_tcpConnState + 1
#define mi_tcpConnLocalPort mi_tcpConnLocalAddress + 1
#define mi_tcpConnRemAddress mi_tcpConnLocalPort + 1
#define mi_tcpConnRemPort mi_tcpConnRemAddress + 1
#define mi_tcpInErrs mi_tcpConnRemPort + 1
#define mi_tcpOutRsts mi_tcpInErrs + 1
#define mi_tcpNewConnTable mi_tcpOutRsts + 1
#define mi_tcpNewConnEntry mi_tcpNewConnTable + 1
#define mi_tcpNewConnLocalAddressType mi_tcpNewConnEntry + 1
#define mi_tcpNewConnLocalAddress mi_tcpNewConnLocalAddressType + 1
#define mi_tcpNewConnLocalPort mi_tcpNewConnLocalAddress + 1
#define mi_tcpNewConnRemAddressType mi_tcpNewConnLocalPort + 1
#define mi_tcpNewConnRemAddress mi_tcpNewConnRemAddressType + 1
#define mi_tcpNewConnRemPort mi_tcpNewConnRemAddress + 1
#define mi_tcpNewConnState mi_tcpNewConnRemPort + 1
//
// These values should match the order of entries in mib_udpGroup[]
//
#define mi_udpInDatagrams 0
#define mi_udpNoPorts mi_udpInDatagrams + 1
#define mi_udpInErrors mi_udpNoPorts + 1
#define mi_udpOutDatagrams mi_udpInErrors + 1
#define mi_udpTable mi_udpOutDatagrams + 1
#define mi_udpEntry mi_udpTable + 1
#define mi_udpLocalAddress mi_udpEntry + 1
#define mi_udpLocalPort mi_udpLocalAddress + 1
#define mi_udpListenerTable mi_udpLocalPort + 1
#define mi_udpListenerEntry mi_udpListenerTable + 1
#define mi_udpListenerLocalAddressType mi_udpListenerEntry + 1
#define mi_udpListenerLocalAddress mi_udpListenerLocalAddressType + 1
#define mi_udpListenerLocalPort mi_udpListenerLocalAddress + 1
//
// These values should match the order of entries in mib_ipv6Group[]
//
typedef enum {
mi_ipv6Forwarding = 0,
mi_ipv6DefaultHopLimit,
mi_ipv6Interfaces,
mi_ipv6IfTableLastChange,
mi_ipv6IfTable,
mi_ipv6IfEntry,
mi_ipv6IfIndex,
mi_ipv6IfDescr,
mi_ipv6IfLowerLayer,
mi_ipv6IfEffectiveMtu,
mi_ipv6IfReasmMaxSize,
mi_ipv6IfIdentifier,
mi_ipv6IfIdentifierLength,
mi_ipv6IfPhysicalAddress,
mi_ipv6IfAdminStatus,
mi_ipv6IfOperStatus,
mi_ipv6IfLastChange,
mi_ipv6IfStatsTable,
mi_ipv6IfStatsEntry,
mi_ipv6IfStatsIfIndex,
mi_ipv6IfStatsInReceives,
mi_ipv6IfStatsInHdrErrors,
mi_ipv6IfStatsInTooBigErrors,
mi_ipv6IfStatsInNoRoutes,
mi_ipv6IfStatsInAddrErrors,
mi_ipv6IfStatsInUnknownProtos,
mi_ipv6IfStatsInTruncatedPkts,
mi_ipv6IfStatsInDiscards,
mi_ipv6IfStatsInDelivers,
mi_ipv6IfStatsOutForwDatagrams,
mi_ipv6IfStatsOutRequests,
mi_ipv6IfStatsOutDiscards,
mi_ipv6IfStatsOutFragOKs,
mi_ipv6IfStatsOutFragFails,
mi_ipv6IfStatsOutFragCreates,
mi_ipv6IfStatsReasmReqds,
mi_ipv6IfStatsReasmOKs,
mi_ipv6IfStatsReasmFails,
mi_ipv6IfStatsInMcastPkts,
mi_ipv6IfStatsOutMcastPkts,
mi_ipv6AddrPrefixTable,
mi_ipv6AddrPrefixEntry,
mi_ipv6AddrPrefixIfIndex,
mi_ipv6AddrPrefix,
mi_ipv6AddrPrefixLength,
mi_ipv6AddrPrefixOnLinkFlag,
mi_ipv6AddrPrefixAutonomousFlag,
mi_ipv6AddrPrefixAdvPreferredLifetime,
mi_ipv6AddrPrefixAdvValidLifetime,
mi_ipv6AddrTable,
mi_ipv6AddrEntry,
mi_ipv6AddrIfIndex,
mi_ipv6AddrAddress,
mi_ipv6AddrPfxLength,
mi_ipv6AddrType,
mi_ipv6AddrAnycastFlag,
mi_ipv6AddrStatus,
mi_ipv6RouteNumber,
mi_ipv6DiscardedRoutes,
mi_ipv6RouteTable,
mi_ipv6RouteEntry,
mi_ipv6RouteDest,
mi_ipv6RoutePfxLength,
mi_ipv6RouteIndex,
mi_ipv6RouteIfIndex,
mi_ipv6RouteNextHop,
mi_ipv6RouteType,
mi_ipv6RouteProtocol,
mi_ipv6RoutePolicy,
mi_ipv6RouteAge,
mi_ipv6RouteNextHopRDI,
mi_ipv6RouteMetric,
mi_ipv6RouteWeight,
mi_ipv6RouteInfo,
mi_ipv6RouteValid,
mi_ipv6NetToMediaTable,
mi_ipv6NetToMediaEntry,
mi_ipv6NetToMediaIfIndex,
mi_ipv6NetToMediaNetAddress,
mi_ipv6NetToMediaPhysAddress,
mi_ipv6NetToMediaType,
mi_ipv6NetToMediaState,
mi_ipv6NetToMediaLastUpdated,
mi_ipv6NetToMediaValid,
} MI_IPV6GROUP;
//
// Now we have to set up defines to tell the Master agent the number of
// rows in each table and the number of rows that are indices for the table.
// The Agent expects the indices to be contiguous and in the beginning.
// In cases where an index includes objects that are not in the table
// themselves, the counts include such objects. That is, they count
// the number of fields in the structures in mibfuncs.h, which need
// not match the number of entries in the mib_* structures in oid.h
// in this case.
//
//
// IF Table
//
#define ne_ifEntry 22
#define ni_ifEntry 1
//
// IP Address table
//
#define ne_ipAddrEntry 5
#define ni_ipAddrEntry 1
//
// IP Route Table
//
#define ne_ipRouteEntry 13
#define ni_ipRouteEntry 1
//
// IP Net To Media Table
//
#define ne_ipNetToMediaEntry 4
#define ni_ipNetToMediaEntry 2
//
// IP Forwarding table
//
#define ne_ipForwardEntry 15
#define ni_ipForwardEntry 4
//
// ICMP table
//
#define ne_inetIcmpEntry 6
#define ni_inetIcmpEntry 2
//
// ICMP Message Table
//
#define ne_inetIcmpMsgEntry 6
#define ni_inetIcmpMsgEntry 4
//
// TCP (IPv4 only) Connection Table
//
#define ne_tcpConnEntry 5
#define ni_tcpConnEntry 4
//
// New TCP (both IPv4 and IPv6) Connection Table
//
#define ne_tcpNewConnEntry 7
#define ni_tcpNewConnEntry 6
//
// Old UDP (IPv4-only) Listener Table
//
#define ne_udpEntry 2
#define ni_udpEntry 2
//
// UDP Listener (both IPv4 and IPv6) Table
//
#define ne_udpListenerEntry 3
#define ni_udpListenerEntry 3
//
// IPv6 Interface Table
//
#define ne_ipv6IfEntry 11
#define ni_ipv6IfEntry 1
//
// IPv6 Stats Table
//
#define ne_ipv6IfStatsEntry 21
#define ni_ipv6IfStatsEntry 1 /* inc. IfIndex */
//
// IPv6 Address Prefix Table
//
#define ne_ipv6AddrPrefixEntry 7
#define ni_ipv6AddrPrefixEntry 3 /* inc. IfIndex */
//
// IPv6 Address Table
//
#define ne_ipv6AddrEntry 6
#define ni_ipv6AddrEntry 2 /* inc. IfIndex */
//
// IPv6 Route Table
//
#define ne_ipv6RouteEntry 14
#define ni_ipv6RouteEntry 3
//
// IPv6 Net To Media Table
//
#define ne_ipv6NetToMediaEntry 7
#define ni_ipv6NetToMediaEntry 2 /* inc. IfIndex */
//
// Declaration of the mib view
//
#define NUM_VIEWS 7 // sysGroup
// ifGroup
// ipGroup
// icmpGroup
// tcpGroup
// udpGroup
// ipv6Group
extern SnmpMibView v_mib2[NUM_VIEWS];
#endif