root/usr.bin/snmp/mib.h
/*      $OpenBSD: mib.h,v 1.10 2021/03/23 22:05:21 martijn Exp $        */

/*
 * Copyright (c) 2007, 2008 Reyk Floeter <reyk@openbsd.org>
 *
 * Permission to use, copy, modify, and distribute this software for any
 * purpose with or without fee is hereby granted, provided that the above
 * copyright notice and this permission notice appear in all copies.
 *
 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 */

#ifndef SNMPD_MIB_H
#define SNMPD_MIB_H

#define OID(...)                { { MIB_##__VA_ARGS__ }, sizeof((u_int32_t[]) { MIB_##__VA_ARGS__ })/sizeof(u_int32_t) }
#define MIB(...)                { { MIB_##__VA_ARGS__ }, sizeof((u_int32_t[]) { MIB_##__VA_ARGS__ })/sizeof(u_int32_t) }, NULL
#define MIBDECL(...)            { { MIB_##__VA_ARGS__ }, sizeof((u_int32_t[]) { MIB_##__VA_ARGS__ })/sizeof(u_int32_t) }, #__VA_ARGS__
#define MIBEND                  { { 0 } }, NULL

/*
 * Adding new MIBs:
 * - add the OID definitions below
 * - add the OIDs to the MIB_TREE table at the end of this file
 * - optional: write the implementation in mib.c
 */

#define MIB_ccitt                       0
/* SNMPv2-SMI MIB */
#define MIB_iso                         1
#define MIB_org                         MIB_iso, 3
#define MIB_dod                         MIB_org, 6
#define MIB_internet                    MIB_dod, 1
#define MIB_directory                   MIB_internet, 1
#define MIB_mgmt                        MIB_internet, 2
#define MIB_mib_2                       MIB_mgmt, 1     /* XXX mib-2 */
#define MIB_transmission                MIB_mib_2, 10
#define MIB_experimental                MIB_internet, 3
#define MIB_private                     MIB_internet, 4
#define MIB_enterprises                 MIB_private, 1
#define MIB_security                    MIB_internet, 5
#define MIB_snmpV2                      MIB_internet, 6
#define MIB_snmpDomains                 MIB_snmpV2, 1
#define MIB_snmpProxys                  MIB_snmpV2, 2
#define MIB_snmpModules                 MIB_snmpV2, 3
#define MIB_zeroDotZero                 0, 0

/* SNMPv2-MIB */
#define MIB_snmpMIB                     MIB_snmpModules, 1
#define MIB_snmpMIBObjects              MIB_snmpMIB, 1
#define MIB_system                      MIB_mib_2, 1
#define MIB_sysDescr                    MIB_system, 1
#define MIB_sysObjectID                 MIB_system, 2
#define MIB_sysUpTime                   MIB_system, 3
#define MIB_sysContact                  MIB_system, 4
#define MIB_sysName                     MIB_system, 5
#define MIB_sysLocation                 MIB_system, 6
#define MIB_sysServices                 MIB_system, 7
#define MIB_sysORLastChange             MIB_system, 8
#define MIB_sysORTable                  MIB_system, 9
#define MIB_sysOREntry                  MIB_sysORTable, 1
#define MIB_sysORIndex                  MIB_sysOREntry, 1
#define MIB_sysORID                     MIB_sysOREntry, 2
#define MIB_sysORDescr                  MIB_sysOREntry, 3
#define MIB_sysORUpTime                 MIB_sysOREntry, 4
#define MIB_snmp                        MIB_mib_2, 11
#define MIB_snmpInPkts                  MIB_snmp, 1
#define MIB_snmpInBadVersions           MIB_snmp, 3
#define MIB_snmpInBadCommunityNames     MIB_snmp, 4
#define MIB_snmpInBadCommunityUses      MIB_snmp, 5
#define MIB_snmpInASNParseErrs          MIB_snmp, 6
#define MIB_snmpEnableAuthenTraps       MIB_snmp, 30
#define MIB_snmpSilentDrops             MIB_snmp, 31
#define MIB_snmpProxyDrops              MIB_snmp, 32
#define MIB_snmpTrap                    MIB_snmpMIBObjects, 4
#define MIB_snmpTrapOID                 MIB_snmpTrap, 1
#define MIB_snmpTrapEnterprise          MIB_snmpTrap, 3
#define MIB_snmpTraps                   MIB_snmpMIBObjects, 5
#define MIB_coldStart                   MIB_snmpTraps, 1
#define MIB_warmStart                   MIB_snmpTraps, 2
#define MIB_authenticationFailure       MIB_snmpTraps, 5
#define MIB_snmpSet                     MIB_snmpMIBObjects, 6
#define MIB_snmpSetSerialNo             MIB_snmpSet, 1
#define MIB_snmpMIBConformance          MIB_snmpMIB, 2
#define MIB_snmpMIBCompliances          MIB_snmpMIBConformance, 1
#define MIB_snmpMIBGroups               MIB_snmpMIBConformance, 2
#define MIB_snmpBasicCompliance         MIB_snmpMIBCompliances, 2
#define MIB_snmpBasicComplianceRev2     MIB_snmpMIBCompliances, 3
#define MIB_snmpGroup                   MIB_snmpMIBGroups, 8
#define MIB_snmpCommunityGroup          MIB_snmpMIBGroups, 9
#define MIB_snmpSetGroup                MIB_snmpMIBGroups, 5
#define MIB_systemGroup                 MIB_snmpMIBGroups, 6
#define MIB_snmpBasicNotificationsGroup MIB_snmpMIBGroups, 7
#define MIB_snmpWarmStartNotificationGroup MIB_snmpMIBGroups, 11
#define MIB_snmpNotificationGroup       MIB_snmpMIBGroups, 12
#define MIB_snmpOutPkts                 MIB_snmp, 2
#define MIB_snmpInTooBigs               MIB_snmp, 8
#define MIB_snmpInNoSuchNames           MIB_snmp, 9
#define MIB_snmpInBadValues             MIB_snmp, 10
#define MIB_snmpInReadOnlys             MIB_snmp, 11
#define MIB_snmpInGenErrs               MIB_snmp, 12
#define MIB_snmpInTotalReqVars          MIB_snmp, 13
#define MIB_snmpInTotalSetVars          MIB_snmp, 14
#define MIB_snmpInGetRequests           MIB_snmp, 15
#define MIB_snmpInGetNexts              MIB_snmp, 16
#define MIB_snmpInSetRequests           MIB_snmp, 17
#define MIB_snmpInGetResponses          MIB_snmp, 18
#define MIB_snmpInTraps                 MIB_snmp, 19
#define MIB_snmpOutTooBigs              MIB_snmp, 20
#define MIB_snmpOutNoSuchNames          MIB_snmp, 21
#define MIB_snmpOutBadValues            MIB_snmp, 22
#define MIB_snmpOutGenErrs              MIB_snmp, 24
#define MIB_snmpOutGetRequests          MIB_snmp, 25
#define MIB_snmpOutGetNexts             MIB_snmp, 26
#define MIB_snmpOutSetRequests          MIB_snmp, 27
#define MIB_snmpOutGetResponses         MIB_snmp, 28
#define MIB_snmpOutTraps                MIB_snmp, 29
#define MIB_snmpObsoleteGroup           MIB_snmpMIBGroups, 10

#define MIB_linkDown                    MIB_snmpTraps, 3
#define MIB_linkUp                      MIB_snmpTraps, 4
#define MIB_egpNeighborLoss             MIB_snmpTraps, 6

/* SNMP-FRAMEWORK-MIB */
#define MIB_snmpFrameworkMIB            MIB_snmpModules, 10
#define MIB_snmpFrameworkAdmin          MIB_snmpFrameworkMIB, 1
#define MIB_snmpFrameworkMIBObjects     MIB_snmpFrameworkMIB, 2
#define MIB_snmpFrameworkMIBConformance MIB_snmpFrameworkMIB, 3
#define MIB_snmpEngine                  MIB_snmpFrameworkMIBObjects, 1
#define MIB_snmpEngineID                MIB_snmpEngine, 1
#define MIB_snmpEngineBoots             MIB_snmpEngine, 2
#define MIB_snmpEngineTime              MIB_snmpEngine, 3
#define MIB_snmpEngineMaxMessageSize    MIB_snmpEngine, 4
#define MIB_snmpAuthProtocols           MIB_snmpFrameworkAdmin, 1
#define MIB_snmpPrivProtocols           MIB_snmpFrameworkAdmin, 2
#define MIB_snmpFrameworkMIBCompliances MIB_snmpFrameworkMIBConformance, 1
#define MIB_snmpFrameworkMIBGroups      MIB_snmpFrameworkMIBConformance, 2

/* SNMP-USER-BASED-SM-MIB */
#define MIB_snmpUsmMIB                  MIB_snmpModules, 15
#define MIB_usmMIBObjects               MIB_snmpUsmMIB, 1
#define MIB_usmMIBConformance           MIB_snmpUsmMIB, 2
#define MIB_usmNoAuthProtocol           MIB_snmpAuthProtocols, 1
#define MIB_usmHMACMD5AuthProtocol      MIB_snmpAuthProtocols, 2
#define MIB_usmHMACSHAAuthProtocol      MIB_snmpAuthProtocols, 3
#define MIB_usmNoPrivProtocol           MIB_snmpPrivProtocols, 1
#define MIB_usmDESPrivProtocol          MIB_snmpPrivProtocols, 2
#define MIB_usmStats                    MIB_usmMIBObjects, 1
#define MIB_usmStatsUnsupportedSecLevels MIB_usmStats, 1
#define MIB_usmStatsNotInTimeWindows    MIB_usmStats, 2
#define MIB_usmStatsUnknownUserNames    MIB_usmStats, 3
#define MIB_usmStatsUnknownEngineIDs    MIB_usmStats, 4
#define MIB_usmStatsWrongDigests        MIB_usmStats, 5
#define MIB_usmStatsDecryptionErrors    MIB_usmStats, 6
#define MIB_usmUser                     MIB_usmMIBObjects, 2
#define MIB_usmUserSpinLock             MIB_usmUser, 1
#define MIB_usmUserTable                MIB_usmUser, 2
#define MIB_usmUserEntry                MIB_usmUserTable, 1
#define MIB_usmUserEngineID             MIB_usmUserEntry, 1
#define MIB_usmUserName                 MIB_usmUserEntry, 2
#define MIB_usmUserSecurityName         MIB_usmUserEntry, 3
#define MIB_usmUserCloneFrom            MIB_usmUserEntry, 4
#define MIB_usmUserAuthProtocol         MIB_usmUserEntry, 5
#define MIB_usmUserAuthKeyChange        MIB_usmUserEntry, 6
#define MIB_usmUserOwnAuthKeyChange     MIB_usmUserEntry, 7
#define MIB_usmUserPrivProtocol         MIB_usmUserEntry, 8
#define MIB_usmUserPrivKeyChange        MIB_usmUserEntry, 9
#define MIB_usmUserOwnPrivKeyChange     MIB_usmUserEntry, 10
#define MIB_usmUserPublic               MIB_usmUserEntry, 11
#define MIB_usmUserStorageType          MIB_usmUserEntry, 12
#define MIB_usmUserStatus               MIB_usmUserEntry, 13
#define MIB_usmMIBCompliances           MIB_usmMIBConformance, 1
#define MIB_usmMIBGroups                MIB_usmMIBConformance, 2

/* SNMP-USM-AES-MIB */
#define MIB_snmpUsmAesMIB               MIB_snmpModules, 20
#define MIB_usmAesCfb128Protocol        MIB_snmpPrivProtocols, 4

/* SNMP-USM-HMAC-SHA2-MIB */
#define MIB_snmpUsmHmacSha2MIB          MIB_mib_2, 235
#define MIB_usmHMAC128SHA224AuthProtocol MIB_snmpAuthProtocols, 4
#define MIB_usmHMAC192SHA256AuthProtocol MIB_snmpAuthProtocols, 5
#define MIB_usmHMAC256SHA384AuthProtocol MIB_snmpAuthProtocols, 6
#define MIB_usmHMAC384SHA512AuthProtocol MIB_snmpAuthProtocols, 7

/* HOST-RESOURCES-MIB */
#define MIB_host                        MIB_mib_2, 25
#define MIB_hrSystem                    MIB_host, 1
#define OIDIDX_hrsystem                 8
#define MIB_hrSystemUptime              MIB_hrSystem, 1
#define MIB_hrSystemDate                MIB_hrSystem, 2
#define MIB_hrSystemInitialLoadDevice   MIB_hrSystem, 3
#define MIB_hrSystemInitialLoadParameters MIB_hrSystem, 4
#define MIB_hrSystemNumUsers            MIB_hrSystem, 5
#define MIB_hrSystemProcesses           MIB_hrSystem, 6
#define MIB_hrSystemMaxProcesses        MIB_hrSystem, 7
#define MIB_hrStorage                   MIB_host, 2
#define MIB_hrStorageTypes              MIB_hrStorage, 1
#define MIB_hrStorageOther              MIB_hrStorageTypes, 1
#define MIB_hrStorageRam                MIB_hrStorageTypes, 2
#define MIB_hrStorageVirtualMemory      MIB_hrStorageTypes, 3
#define MIB_hrStorageFixedDisk          MIB_hrStorageTypes, 4
#define MIB_hrStorageRemovableDisk      MIB_hrStorageTypes, 5
#define MIB_hrStorageFloppyDisk         MIB_hrStorageTypes, 6
#define MIB_hrStorageCompactDisc        MIB_hrStorageTypes, 7
#define MIB_hrStorageRamDisk            MIB_hrStorageTypes, 8
#define MIB_hrStorageFlashMemory        MIB_hrStorageTypes, 9
#define MIB_hrStorageNetworkDisk        MIB_hrStorageTypes, 10
#define MIB_hrMemorySize                MIB_hrStorage, 2
#define MIB_hrStorageTable              MIB_hrStorage, 3
#define MIB_hrStorageEntry              MIB_hrStorageTable, 1
#define OIDIDX_hrStorage                10
#define OIDIDX_hrStorageEntry           11
#define MIB_hrStorageIndex              MIB_hrStorageEntry, 1
#define MIB_hrStorageType               MIB_hrStorageEntry, 2
#define MIB_hrStorageDescr              MIB_hrStorageEntry, 3
#define MIB_hrStorageAllocationUnits    MIB_hrStorageEntry, 4
#define MIB_hrStorageSize               MIB_hrStorageEntry, 5
#define MIB_hrStorageUsed               MIB_hrStorageEntry, 6
#define MIB_hrStorageAllocationFailures MIB_hrStorageEntry, 7
#define MIB_hrDevice                    MIB_host, 3
#define MIB_hrDeviceTypes               MIB_hrDevice, 1
#define MIB_hrDeviceOther               MIB_hrDeviceTypes, 1
#define MIB_hrDeviceUnknown             MIB_hrDeviceTypes, 2
#define MIB_hrDeviceProcessor           MIB_hrDeviceTypes, 3
#define MIB_hrDeviceNetwork             MIB_hrDeviceTypes, 4
#define MIB_hrDevicePrinter             MIB_hrDeviceTypes, 5
#define MIB_hrDeviceDiskStorage         MIB_hrDeviceTypes, 6
#define MIB_hrDeviceVideo               MIB_hrDeviceTypes, 10
#define MIB_hrDeviceAudio               MIB_hrDeviceTypes, 11
#define MIB_hrDeviceCoprocessor         MIB_hrDeviceTypes, 12
#define MIB_hrDeviceKeyboard            MIB_hrDeviceTypes, 13
#define MIB_hrDeviceModem               MIB_hrDeviceTypes, 14
#define MIB_hrDeviceParallelPort        MIB_hrDeviceTypes, 15
#define MIB_hrDevicePointing            MIB_hrDeviceTypes, 16
#define MIB_hrDeviceSerialPort          MIB_hrDeviceTypes, 17
#define MIB_hrDeviceTape                MIB_hrDeviceTypes, 18
#define MIB_hrDeviceClock               MIB_hrDeviceTypes, 19
#define MIB_hrDeviceVolatileMemory      MIB_hrDeviceTypes, 20
#define MIB_hrDeviceNonVolatileMemory   MIB_hrDeviceTypes, 21
#define MIB_hrDeviceTable               MIB_hrDevice, 2
#define MIB_hrDeviceEntry               MIB_hrDeviceTable, 1
#define OIDIDX_hrDevice                 10
#define OIDIDX_hrDeviceEntry            11
#define MIB_hrDeviceIndex               MIB_hrDeviceEntry, 1
#define MIB_hrDeviceType                MIB_hrDeviceEntry, 2
#define MIB_hrDeviceDescr               MIB_hrDeviceEntry, 3
#define MIB_hrDeviceID                  MIB_hrDeviceEntry, 4
#define MIB_hrDeviceStatus              MIB_hrDeviceEntry, 5
#define MIB_hrDeviceErrors              MIB_hrDeviceEntry, 6
#define MIB_hrProcessorTable            MIB_hrDevice, 3
#define MIB_hrProcessorEntry            MIB_hrProcessorTable, 1
#define OIDIDX_hrProcessor              10
#define OIDIDX_hrProcessorEntry         11
#define MIB_hrProcessorFrwID            MIB_hrProcessorEntry, 1
#define MIB_hrProcessorLoad             MIB_hrProcessorEntry, 2
#define MIB_hrSWRun                     MIB_host, 4
#define MIB_hrSWOSIndex                 MIB_hrSWRun, 1
#define MIB_hrSWRunTable                MIB_hrSWRun, 2
#define MIB_hrSWRunEntry                MIB_hrSWRunTable, 1
#define OIDIDX_hrSWRun                  10
#define OIDIDX_hrSWRunEntry             11
#define MIB_hrSWRunIndex                MIB_hrSWRunEntry, 1
#define MIB_hrSWRunName                 MIB_hrSWRunEntry, 2
#define MIB_hrSWRunID                   MIB_hrSWRunEntry, 3
#define MIB_hrSWRunPath                 MIB_hrSWRunEntry, 4
#define MIB_hrSWRunParameters           MIB_hrSWRunEntry, 5
#define MIB_hrSWRunType                 MIB_hrSWRunEntry, 6
#define MIB_hrSWRunStatus               MIB_hrSWRunEntry, 7
#define MIB_hrSWRunPerf                 MIB_host, 5
#define MIB_hrSWRunPerfTable            MIB_hrSWRunPerf, 1
#define OIDIDX_hrSWRunPerf              10
#define OIDIDX_hrSWRunPerfEntry         11
#define MIB_hrSWRunPerfEntry            MIB_hrSWRunPerfTable, 1
#define MIB_hrSWRunPerfCPU              MIB_hrSWRunPerfEntry, 1
#define MIB_hrSWRunPerfMem              MIB_hrSWRunPerfEntry, 2
#define MIB_hrSWInstalled               MIB_host, 6
#define MIB_hrMIBAdminInfo              MIB_host, 7

/* IF-MIB */
#define MIB_ifMIB                       MIB_mib_2, 31
#define MIB_ifMIBObjects                MIB_ifMIB, 1
#define MIB_ifXTable                    MIB_ifMIBObjects, 1
#define MIB_ifXEntry                    MIB_ifXTable, 1
#define OIDIDX_ifX                      10
#define OIDIDX_ifXEntry                 11
#define MIB_ifName                      MIB_ifXEntry, 1
#define MIB_ifInMulticastPkts           MIB_ifXEntry, 2
#define MIB_ifInBroadcastPkts           MIB_ifXEntry, 3
#define MIB_ifOutMulticastPkts          MIB_ifXEntry, 4
#define MIB_ifOutBroadcastPkts          MIB_ifXEntry, 5
#define MIB_ifHCInOctets                MIB_ifXEntry, 6
#define MIB_ifHCInUcastPkts             MIB_ifXEntry, 7
#define MIB_ifHCInMulticastPkts         MIB_ifXEntry, 8
#define MIB_ifHCInBroadcastPkts         MIB_ifXEntry, 9
#define MIB_ifHCOutOctets               MIB_ifXEntry, 10
#define MIB_ifHCOutUcastPkts            MIB_ifXEntry, 11
#define MIB_ifHCOutMulticastPkts        MIB_ifXEntry, 12
#define MIB_ifHCOutBroadcastPkts        MIB_ifXEntry, 13
#define MIB_ifLinkUpDownTrapEnable      MIB_ifXEntry, 14
#define MIB_ifHighSpeed                 MIB_ifXEntry, 15
#define MIB_ifPromiscuousMode           MIB_ifXEntry, 16
#define MIB_ifConnectorPresent          MIB_ifXEntry, 17
#define MIB_ifAlias                     MIB_ifXEntry, 18
#define MIB_ifCounterDiscontinuityTime  MIB_ifXEntry, 19
#define MIB_ifStackTable                MIB_ifMIBObjects, 2
#define MIB_ifStackEntry                MIB_ifStackTable, 1
#define OIDIDX_ifStack                  10
#define OIDIDX_ifStackEntry             11
#define MIB_ifStackStatus               MIB_ifStackEntry, 3
#define MIB_ifRcvAddressTable           MIB_ifMIBObjects, 4
#define MIB_ifRcvAddressEntry           MIB_ifRcvAddressTable, 1
#define OIDIDX_ifRcvAddress             10
#define OIDIDX_ifRcvAddressEntry        11
#define MIB_ifRcvAddressStatus          MIB_ifRcvAddressEntry, 2
#define MIB_ifRcvAddressType            MIB_ifRcvAddressEntry, 3
#define MIB_ifStackLastChange           MIB_ifMIBObjects, 6
#define MIB_interfaces                  MIB_mib_2, 2
#define MIB_ifNumber                    MIB_interfaces, 1
#define MIB_ifTable                     MIB_interfaces, 2
#define MIB_ifEntry                     MIB_ifTable, 1
#define OIDIDX_if                       9
#define OIDIDX_ifEntry                  10
#define MIB_ifIndex                     MIB_ifEntry, 1
#define MIB_ifDescr                     MIB_ifEntry, 2
#define MIB_ifType                      MIB_ifEntry, 3
#define MIB_ifMtu                       MIB_ifEntry, 4
#define MIB_ifSpeed                     MIB_ifEntry, 5
#define MIB_ifPhysAddress               MIB_ifEntry, 6
#define MIB_ifAdminStatus               MIB_ifEntry, 7
#define MIB_ifOperStatus                MIB_ifEntry, 8
#define MIB_ifLastChange                MIB_ifEntry, 9
#define MIB_ifInOctets                  MIB_ifEntry, 10
#define MIB_ifInUcastPkts               MIB_ifEntry, 11
#define MIB_ifInNUcastPkts              MIB_ifEntry, 12
#define MIB_ifInDiscards                MIB_ifEntry, 13
#define MIB_ifInErrors                  MIB_ifEntry, 14
#define MIB_ifInUnknownProtos           MIB_ifEntry, 15
#define MIB_ifOutOctets                 MIB_ifEntry, 16
#define MIB_ifOutUcastPkts              MIB_ifEntry, 17
#define MIB_ifOutNUcastPkts             MIB_ifEntry, 18
#define MIB_ifOutDiscards               MIB_ifEntry, 19
#define MIB_ifOutErrors                 MIB_ifEntry, 20
#define MIB_ifOutQLen                   MIB_ifEntry, 21
#define MIB_ifSpecific                  MIB_ifEntry, 22

/* IP-MIB */
#define MIB_ipMIB                       MIB_mib_2, 4
#define OIDIDX_ip                       7
#define MIB_ipForwarding                MIB_ipMIB, 1
#define MIB_ipDefaultTTL                MIB_ipMIB, 2
#define MIB_ipInReceives                MIB_ipMIB, 3
#define MIB_ipInHdrErrors               MIB_ipMIB, 4
#define MIB_ipInAddrErrors              MIB_ipMIB, 5
#define MIB_ipForwDatagrams             MIB_ipMIB, 6
#define MIB_ipInUnknownProtos           MIB_ipMIB, 7
#define MIB_ipInDiscards                MIB_ipMIB, 8
#define MIB_ipInDelivers                MIB_ipMIB, 9
#define MIB_ipOutRequests               MIB_ipMIB, 10
#define MIB_ipOutDiscards               MIB_ipMIB, 11
#define MIB_ipOutNoRoutes               MIB_ipMIB, 12
#define MIB_ipReasmTimeout              MIB_ipMIB, 13
#define MIB_ipReasmReqds                MIB_ipMIB, 14
#define MIB_ipReasmOKs                  MIB_ipMIB, 15
#define MIB_ipReasmFails                MIB_ipMIB, 16
#define MIB_ipFragOKs                   MIB_ipMIB, 17
#define MIB_ipFragFails                 MIB_ipMIB, 18
#define MIB_ipFragCreates               MIB_ipMIB, 19
#define MIB_ipAddrTable                 MIB_ipMIB, 20
#define MIB_ipAddrEntry                 MIB_ipAddrTable, 1
#define OIDIDX_ipAddr                   9
#define OIDIDX_ipAddrEntry              10
#define MIB_ipAdEntAddr                 MIB_ipAddrEntry, 1
#define MIB_ipAdEntIfIndex              MIB_ipAddrEntry, 2
#define MIB_ipAdEntNetMask              MIB_ipAddrEntry, 3
#define MIB_ipAdEntBcastAddr            MIB_ipAddrEntry, 4
#define MIB_ipAdEntReasmMaxSize         MIB_ipAddrEntry, 5
#define MIB_ipNetToMediaTable           MIB_ipMIB, 22
#define MIB_ipNetToMediaEntry           MIB_ipNetToMediaTable, 1
#define OIDIDX_ipNetToMedia             9
#define MIB_ipNetToMediaIfIndex         MIB_ipNetToMediaEntry, 1
#define MIB_ipNetToMediaPhysAddress     MIB_ipNetToMediaEntry, 2
#define MIB_ipNetToMediaNetAddress      MIB_ipNetToMediaEntry, 3
#define MIB_ipNetToMediaType            MIB_ipNetToMediaEntry, 4
#define MIB_ipRoutingDiscards           MIB_ipMIB, 23

/* IP-FORWARD-MIB */
#define MIB_ipfMIB                      MIB_ipMIB, 24
#define MIB_ipfInetCidrRouteNumber      MIB_ipfMIB, 6
#define MIB_ipfInetCidrRouteTable       MIB_ipfMIB, 7
#define MIB_ipfInetCidrRouteEntry       MIB_ipfInetCidrRouteTable, 1
#define OIDIDX_ipfInetCidrRoute         10
#define MIB_ipfRouteEntDestType         MIB_ipfInetCidrRouteEntry, 1
#define MIB_ipfRouteEntDest             MIB_ipfInetCidrRouteEntry, 2
#define MIB_ipfRouteEntPfxLen           MIB_ipfInetCidrRouteEntry, 3
#define MIB_ipfRouteEntPolicy           MIB_ipfInetCidrRouteEntry, 4
#define MIB_ipfRouteEntNextHopType      MIB_ipfInetCidrRouteEntry, 5
#define MIB_ipfRouteEntNextHop          MIB_ipfInetCidrRouteEntry, 6
#define MIB_ipfRouteEntIfIndex          MIB_ipfInetCidrRouteEntry, 7
#define MIB_ipfRouteEntType             MIB_ipfInetCidrRouteEntry, 8
#define MIB_ipfRouteEntProto            MIB_ipfInetCidrRouteEntry, 9
#define MIB_ipfRouteEntAge              MIB_ipfInetCidrRouteEntry, 10
#define MIB_ipfRouteEntNextHopAS        MIB_ipfInetCidrRouteEntry, 11
#define MIB_ipfRouteEntRouteMetric1     MIB_ipfInetCidrRouteEntry, 12
#define MIB_ipfRouteEntRouteMetric2     MIB_ipfInetCidrRouteEntry, 13
#define MIB_ipfRouteEntRouteMetric3     MIB_ipfInetCidrRouteEntry, 14
#define MIB_ipfRouteEntRouteMetric4     MIB_ipfInetCidrRouteEntry, 15
#define MIB_ipfRouteEntRouteMetric5     MIB_ipfInetCidrRouteEntry, 16
#define MIB_ipfRouteEntStatus           MIB_ipfInetCidrRouteEntry, 17
#define MIB_ipfInetCidrRouteDiscards    MIB_ipfMIB, 8

/* BRIDGE-MIB */
#define MIB_dot1dBridge                 MIB_mib_2, 17
#define MIB_dot1dBase                   MIB_dot1dBridge, 1
#define MIB_dot1dBaseBridgeAddress      MIB_dot1dBase, 1
#define MIB_dot1dBaseNumPorts           MIB_dot1dBase, 2
#define MIB_dot1dBaseType               MIB_dot1dBase, 3
#define MIB_dot1dBasePortTable          MIB_dot1dBase, 4
#define OIDIDX_dot1d                    10
#define OIDIDX_dot1dEntry               11
#define MIB_dot1dBasePortEntry          MIB_dot1dBasePortTable, 1
#define MIB_dot1dBasePort               MIB_dot1dBasePortEntry, 1
#define MIB_dot1dBasePortIfIndex        MIB_dot1dBasePortEntry, 2
#define MIB_dot1dBasePortCircuit        MIB_dot1dBasePortEntry, 3
#define MIB_dot1dBasePortDelayExceededDiscards  MIB_dot1dBasePortEntry, 4
#define MIB_dot1dBasePortMtuExceededDiscards    MIB_dot1dBasePortEntry, 5
#define MIB_dot1dStp                    MIB_dot1dBridge, 2
#define MIB_dot1dSr                     MIB_dot1dBridge, 3
#define MIB_dot1dTp                     MIB_dot1dBridge, 4
#define MIB_dot1dStatic                 MIB_dot1dBridge, 5

/*
 * PRIVATE ENTERPRISE NUMBERS from
 * https://www.iana.org/assignments/enterprise-numbers
 *
 * This is not the complete list of private enterprise numbers, it only
 * includes some well-known companies and especially network companies
 * that are very common in the datacenters around the world, other
 * companies that contributed to snmpd or OpenBSD in some way, or just
 * any other organizations that we wanted to include. It would be an
 * overkill to include ~30.000 entries for all the organizations from
 * the official list.
 */
#define MIB_ibm                         MIB_enterprises, 2
#define MIB_cmu                         MIB_enterprises, 3
#define MIB_unix                        MIB_enterprises, 4
#define MIB_ciscoSystems                MIB_enterprises, 9
#define MIB_hp                          MIB_enterprises, 11
#define MIB_mit                         MIB_enterprises, 20
#define MIB_nortelNetworks              MIB_enterprises, 35
#define MIB_sun                         MIB_enterprises, 42
#define MIB_3com                        MIB_enterprises, 43
#define MIB_synOptics                   MIB_enterprises, 45
#define MIB_enterasys                   MIB_enterprises, 52
#define MIB_sgi                         MIB_enterprises, 59
#define MIB_apple                       MIB_enterprises, 63
#define MIB_nasa                        MIB_enterprises, 71
#define MIB_att                         MIB_enterprises, 74
#define MIB_nokia                       MIB_enterprises, 94
#define MIB_cern                        MIB_enterprises, 96
#define MIB_oracle                      MIB_enterprises, 111
#define MIB_motorola                    MIB_enterprises, 161
#define MIB_ncr                         MIB_enterprises, 191
#define MIB_ericsson                    MIB_enterprises, 193
#define MIB_fsc                         MIB_enterprises, 231
#define MIB_compaq                      MIB_enterprises, 232
#define MIB_bmw                         MIB_enterprises, 513
#define MIB_dell                        MIB_enterprises, 674
#define MIB_iij                         MIB_enterprises, 770
#define MIB_sandia                      MIB_enterprises, 1400
#define MIB_mercedesBenz                MIB_enterprises, 1635
#define MIB_alteon                      MIB_enterprises, 1872
#define MIB_extremeNetworks             MIB_enterprises, 1916
#define MIB_foundryNetworks             MIB_enterprises, 1991
#define MIB_huawaiTechnology            MIB_enterprises, 2011
#define MIB_ucDavis                     MIB_enterprises, 2021
#define MIB_freeBSD                     MIB_enterprises, 2238
#define MIB_checkPoint                  MIB_enterprises, 2620
#define MIB_juniper                     MIB_enterprises, 2636
#define MIB_printerWorkingGroup         MIB_enterprises, 2699
#define MIB_audi                        MIB_enterprises, 3195
#define MIB_volkswagen                  MIB_enterprises, 3210
#define MIB_genua                       MIB_enterprises, 3717
#define MIB_amazon                      MIB_enterprises, 4843
#define MIB_force10Networks             MIB_enterprises, 6027
#define MIB_vMware                      MIB_enterprises, 6876
#define MIB_alcatelLucent               MIB_enterprises, 7483
#define MIB_snom                        MIB_enterprises, 7526
#define MIB_netSNMP                     MIB_enterprises, 8072
#define MIB_netflix                     MIB_enterprises, 10949
#define MIB_google                      MIB_enterprises, 11129
#define MIB_f5Networks                  MIB_enterprises, 12276
#define MIB_bsws                        MIB_enterprises, 13635
#define MIB_sFlow                       MIB_enterprises, 14706
#define MIB_microSystems                MIB_enterprises, 18623
#define MIB_paloAltoNetworks            MIB_enterprises, 25461
#define MIB_h3c                         MIB_enterprises, 25506
#define MIB_vantronix                   MIB_enterprises, 26766
#define MIB_netBSD                      MIB_enterprises, 32388
#define OIDVAL_openBSD_eid              30155
#define MIB_openBSD                     MIB_enterprises, OIDVAL_openBSD_eid
#define MIB_nicira                      MIB_enterprises, 39961
#define MIB_esdenera                    MIB_enterprises, 42459
#define MIB_arcaTrust                   MIB_enterprises, 52198

/* UCD-DISKIO-MIB */
#define MIB_ucdExperimental             MIB_ucDavis, 13
#define MIB_ucdDiskIOMIB                MIB_ucdExperimental, 15
#define MIB_diskIOTable                 MIB_ucdDiskIOMIB, 1
#define MIB_diskIOEntry                 MIB_diskIOTable, 1
#define OIDIDX_diskIO                   11
#define OIDIDX_diskIOEntry              12
#define MIB_diskIOIndex                 MIB_diskIOEntry, 1
#define MIB_diskIODevice                MIB_diskIOEntry, 2
#define MIB_diskIONRead                 MIB_diskIOEntry, 3
#define MIB_diskIONWritten              MIB_diskIOEntry, 4
#define MIB_diskIOReads                 MIB_diskIOEntry, 5
#define MIB_diskIOWrites                MIB_diskIOEntry, 6
#define MIB_diskIONReadX                MIB_diskIOEntry, 12
#define MIB_diskIONWrittenX             MIB_diskIOEntry, 13

/* OPENBSD-MIB */
#define MIB_pfMIBObjects                MIB_openBSD, 1
#define MIB_pfInfo                      MIB_pfMIBObjects, 1
#define MIB_pfRunning                   MIB_pfInfo, 1
#define MIB_pfRuntime                   MIB_pfInfo, 2
#define MIB_pfDebug                     MIB_pfInfo, 3
#define MIB_pfHostid                    MIB_pfInfo, 4
#define MIB_pfCounters                  MIB_pfMIBObjects, 2
#define MIB_pfCntMatch                  MIB_pfCounters, 1
#define MIB_pfCntBadOffset              MIB_pfCounters, 2
#define MIB_pfCntFragment               MIB_pfCounters, 3
#define MIB_pfCntShort                  MIB_pfCounters, 4
#define MIB_pfCntNormalize              MIB_pfCounters, 5
#define MIB_pfCntMemory                 MIB_pfCounters, 6
#define MIB_pfCntTimestamp              MIB_pfCounters, 7
#define MIB_pfCntCongestion             MIB_pfCounters, 8
#define MIB_pfCntIpOptions              MIB_pfCounters, 9
#define MIB_pfCntProtoCksum             MIB_pfCounters, 10
#define MIB_pfCntStateMismatch          MIB_pfCounters, 11
#define MIB_pfCntStateInsert            MIB_pfCounters, 12
#define MIB_pfCntStateLimit             MIB_pfCounters, 13
#define MIB_pfCntSrcLimit               MIB_pfCounters, 14
#define MIB_pfCntSynproxy               MIB_pfCounters, 15
#define MIB_pfCntTranslate              MIB_pfCounters, 16
#define MIB_pfCntNoRoute                MIB_pfCounters, 17
#define MIB_pfStateTable                MIB_pfMIBObjects, 3
#define MIB_pfStateCount                MIB_pfStateTable, 1
#define MIB_pfStateSearches             MIB_pfStateTable, 2
#define MIB_pfStateInserts              MIB_pfStateTable, 3
#define MIB_pfStateRemovals             MIB_pfStateTable, 4
#define MIB_pfLogInterface              MIB_pfMIBObjects, 4
#define MIB_pfLogIfName                 MIB_pfLogInterface, 1
#define MIB_pfLogIfIpBytesIn            MIB_pfLogInterface, 2
#define MIB_pfLogIfIpBytesOut           MIB_pfLogInterface, 3
#define MIB_pfLogIfIpPktsInPass         MIB_pfLogInterface, 4
#define MIB_pfLogIfIpPktsInDrop         MIB_pfLogInterface, 5
#define MIB_pfLogIfIpPktsOutPass        MIB_pfLogInterface, 6
#define MIB_pfLogIfIpPktsOutDrop        MIB_pfLogInterface, 7
#define MIB_pfLogIfIp6BytesIn           MIB_pfLogInterface, 8
#define MIB_pfLogIfIp6BytesOut          MIB_pfLogInterface, 9
#define MIB_pfLogIfIp6PktsInPass        MIB_pfLogInterface, 10
#define MIB_pfLogIfIp6PktsInDrop        MIB_pfLogInterface, 11
#define MIB_pfLogIfIp6PktsOutPass       MIB_pfLogInterface, 12
#define MIB_pfLogIfIp6PktsOutDrop       MIB_pfLogInterface, 13
#define MIB_pfSrcTracking               MIB_pfMIBObjects, 5
#define MIB_pfSrcTrackCount             MIB_pfSrcTracking, 1
#define MIB_pfSrcTrackSearches          MIB_pfSrcTracking, 2
#define MIB_pfSrcTrackInserts           MIB_pfSrcTracking, 3
#define MIB_pfSrcTrackRemovals          MIB_pfSrcTracking, 4
#define MIB_pfLimits                    MIB_pfMIBObjects, 6
#define MIB_pfLimitStates               MIB_pfLimits, 1
#define MIB_pfLimitSourceNodes          MIB_pfLimits, 2
#define MIB_pfLimitFragments            MIB_pfLimits, 3
#define MIB_pfLimitMaxTables            MIB_pfLimits, 4
#define MIB_pfLimitMaxTableEntries      MIB_pfLimits, 5
#define MIB_pfTimeouts                  MIB_pfMIBObjects, 7
#define MIB_pfTimeoutTcpFirst           MIB_pfTimeouts, 1
#define MIB_pfTimeoutTcpOpening         MIB_pfTimeouts, 2
#define MIB_pfTimeoutTcpEstablished     MIB_pfTimeouts, 3
#define MIB_pfTimeoutTcpClosing         MIB_pfTimeouts, 4
#define MIB_pfTimeoutTcpFinWait         MIB_pfTimeouts, 5
#define MIB_pfTimeoutTcpClosed          MIB_pfTimeouts, 6
#define MIB_pfTimeoutUdpFirst           MIB_pfTimeouts, 7
#define MIB_pfTimeoutUdpSingle          MIB_pfTimeouts, 8
#define MIB_pfTimeoutUdpMultiple        MIB_pfTimeouts, 9
#define MIB_pfTimeoutIcmpFirst          MIB_pfTimeouts, 10
#define MIB_pfTimeoutIcmpError          MIB_pfTimeouts, 11
#define MIB_pfTimeoutOtherFirst         MIB_pfTimeouts, 12
#define MIB_pfTimeoutOtherSingle        MIB_pfTimeouts, 13
#define MIB_pfTimeoutOtherMultiple      MIB_pfTimeouts, 14
#define MIB_pfTimeoutFragment           MIB_pfTimeouts, 15
#define MIB_pfTimeoutInterval           MIB_pfTimeouts, 16
#define MIB_pfTimeoutAdaptiveStart      MIB_pfTimeouts, 17
#define MIB_pfTimeoutAdaptiveEnd        MIB_pfTimeouts, 18
#define MIB_pfTimeoutSrcTrack           MIB_pfTimeouts, 19
#define OIDIDX_pfstatus                 9
#define MIB_pfInterfaces                MIB_pfMIBObjects, 8
#define MIB_pfIfNumber                  MIB_pfInterfaces, 1
#define MIB_pfIfTable                   MIB_pfInterfaces, 128
#define MIB_pfIfEntry                   MIB_pfIfTable, 1
#define OIDIDX_pfInterface              11
#define OIDIDX_pfIfEntry                12
#define MIB_pfIfIndex                   MIB_pfIfEntry, 1
#define MIB_pfIfDescr                   MIB_pfIfEntry, 2
#define MIB_pfIfType                    MIB_pfIfEntry, 3
#define MIB_pfIfRefs                    MIB_pfIfEntry, 4
#define MIB_pfIfRules                   MIB_pfIfEntry, 5
#define MIB_pfIfIn4PassPkts             MIB_pfIfEntry, 6
#define MIB_pfIfIn4PassBytes            MIB_pfIfEntry, 7
#define MIB_pfIfIn4BlockPkts            MIB_pfIfEntry, 8
#define MIB_pfIfIn4BlockBytes           MIB_pfIfEntry, 9
#define MIB_pfIfOut4PassPkts            MIB_pfIfEntry, 10
#define MIB_pfIfOut4PassBytes           MIB_pfIfEntry, 11
#define MIB_pfIfOut4BlockPkts           MIB_pfIfEntry, 12
#define MIB_pfIfOut4BlockBytes          MIB_pfIfEntry, 13
#define MIB_pfIfIn6PassPkts             MIB_pfIfEntry, 14
#define MIB_pfIfIn6PassBytes            MIB_pfIfEntry, 15
#define MIB_pfIfIn6BlockPkts            MIB_pfIfEntry, 16
#define MIB_pfIfIn6BlockBytes           MIB_pfIfEntry, 17
#define MIB_pfIfOut6PassPkts            MIB_pfIfEntry, 18
#define MIB_pfIfOut6PassBytes           MIB_pfIfEntry, 19
#define MIB_pfIfOut6BlockPkts           MIB_pfIfEntry, 20
#define MIB_pfIfOut6BlockBytes          MIB_pfIfEntry, 21
#define MIB_pfTables                    MIB_pfMIBObjects, 9
#define MIB_pfTblNumber                 MIB_pfTables, 1
#define MIB_pfTblTable                  MIB_pfTables, 128
#define MIB_pfTblEntry                  MIB_pfTblTable, 1
#define OIDIDX_pfTable                  11
#define OIDIDX_pfTableEntry             12
#define MIB_pfTblIndex                  MIB_pfTblEntry, 1
#define MIB_pfTblName                   MIB_pfTblEntry, 2
#define MIB_pfTblAddresses              MIB_pfTblEntry, 3
#define MIB_pfTblAnchorRefs             MIB_pfTblEntry, 4
#define MIB_pfTblRuleRefs               MIB_pfTblEntry, 5
#define MIB_pfTblEvalsMatch             MIB_pfTblEntry, 6
#define MIB_pfTblEvalsNoMatch           MIB_pfTblEntry, 7
#define MIB_pfTblInPassPkts             MIB_pfTblEntry, 8
#define MIB_pfTblInPassBytes            MIB_pfTblEntry, 9
#define MIB_pfTblInBlockPkts            MIB_pfTblEntry, 10
#define MIB_pfTblInBlockBytes           MIB_pfTblEntry, 11
#define MIB_pfTblInXPassPkts            MIB_pfTblEntry, 12
#define MIB_pfTblInXPassBytes           MIB_pfTblEntry, 13
#define MIB_pfTblOutPassPkts            MIB_pfTblEntry, 14
#define MIB_pfTblOutPassBytes           MIB_pfTblEntry, 15
#define MIB_pfTblOutBlockPkts           MIB_pfTblEntry, 16
#define MIB_pfTblOutBlockBytes          MIB_pfTblEntry, 17
#define MIB_pfTblOutXPassPkts           MIB_pfTblEntry, 18
#define MIB_pfTblOutXPassBytes          MIB_pfTblEntry, 19
#define MIB_pfTblStatsCleared           MIB_pfTblEntry, 20
#define MIB_pfTblInMatchPkts            MIB_pfTblEntry, 21
#define MIB_pfTblInMatchBytes           MIB_pfTblEntry, 22
#define MIB_pfTblOutMatchPkts           MIB_pfTblEntry, 23
#define MIB_pfTblOutMatchBytes          MIB_pfTblEntry, 24
#define MIB_pfTblAddrTable              MIB_pfTables, 129
#define MIB_pfTblAddrEntry              MIB_pfTblAddrTable, 1
#define OIDIDX_pfTblAddr                11
#define MIB_pfTblAddrTblIndex           MIB_pfTblAddrEntry, 1
#define MIB_pfTblAddrNet                MIB_pfTblAddrEntry, 2
#define MIB_pfTblAddrMask               MIB_pfTblAddrEntry, 3
#define MIB_pfTblAddrCleared            MIB_pfTblAddrEntry, 4
#define MIB_pfTblAddrInBlockPkts        MIB_pfTblAddrEntry, 5
#define MIB_pfTblAddrInBlockBytes       MIB_pfTblAddrEntry, 6
#define MIB_pfTblAddrInPassPkts         MIB_pfTblAddrEntry, 7
#define MIB_pfTblAddrInPassBytes        MIB_pfTblAddrEntry, 8
#define MIB_pfTblAddrOutBlockPkts       MIB_pfTblAddrEntry, 9
#define MIB_pfTblAddrOutBlockBytes      MIB_pfTblAddrEntry, 10
#define MIB_pfTblAddrOutPassPkts        MIB_pfTblAddrEntry, 11
#define MIB_pfTblAddrOutPassBytes       MIB_pfTblAddrEntry, 12
#define MIB_pfTblAddrInMatchPkts        MIB_pfTblAddrEntry, 13
#define MIB_pfTblAddrInMatchBytes       MIB_pfTblAddrEntry, 14
#define MIB_pfTblAddrOutMatchPkts       MIB_pfTblAddrEntry, 15
#define MIB_pfTblAddrOutMatchBytes      MIB_pfTblAddrEntry, 16
#define MIB_pfLabels                    MIB_pfMIBObjects, 10
#define MIB_pfLabelNumber               MIB_pfLabels, 1
#define MIB_pfLabelTable                MIB_pfLabels, 128
#define OIDIDX_pfLabel                  11
#define OIDIDX_pfLabelEntry             12
#define MIB_pfLabelEntry                MIB_pfLabelTable, 1
#define MIB_pfLabelIndex                MIB_pfLabelEntry, 1
#define MIB_pfLabelName                 MIB_pfLabelEntry, 2
#define MIB_pfLabelEvals                MIB_pfLabelEntry, 3
#define MIB_pfLabelPkts                 MIB_pfLabelEntry, 4
#define MIB_pfLabelBytes                MIB_pfLabelEntry, 5
#define MIB_pfLabelInPkts               MIB_pfLabelEntry, 6
#define MIB_pfLabelInBytes              MIB_pfLabelEntry, 7
#define MIB_pfLabelOutPkts              MIB_pfLabelEntry, 8
#define MIB_pfLabelOutBytes             MIB_pfLabelEntry, 9
#define MIB_pfLabelTotalStates          MIB_pfLabelEntry, 10
#define MIB_pfsyncStats                 MIB_pfMIBObjects, 11
#define MIB_pfsyncIpPktsRecv            MIB_pfsyncStats, 1
#define MIB_pfsyncIp6PktsRecv           MIB_pfsyncStats, 2
#define MIB_pfsyncPktDiscardsForBadInterface    MIB_pfsyncStats, 3
#define MIB_pfsyncPktDiscardsForBadTtl          MIB_pfsyncStats, 4
#define MIB_pfsyncPktShorterThanHeader          MIB_pfsyncStats, 5
#define MIB_pfsyncPktDiscardsForBadVersion      MIB_pfsyncStats, 6
#define MIB_pfsyncPktDiscardsForBadAction       MIB_pfsyncStats, 7
#define MIB_pfsyncPktDiscardsForBadLength       MIB_pfsyncStats, 8
#define MIB_pfsyncPktDiscardsForBadAuth         MIB_pfsyncStats, 9
#define MIB_pfsyncPktDiscardsForStaleState      MIB_pfsyncStats, 10
#define MIB_pfsyncPktDiscardsForBadValues       MIB_pfsyncStats, 11
#define MIB_pfsyncPktDiscardsForBadState        MIB_pfsyncStats, 12
#define MIB_pfsyncIpPktsSent            MIB_pfsyncStats, 13
#define MIB_pfsyncIp6PktsSent           MIB_pfsyncStats, 14
#define MIB_pfsyncNoMemory              MIB_pfsyncStats, 15
#define MIB_pfsyncOutputErrors          MIB_pfsyncStats, 16
#define MIB_sensorsMIBObjects           MIB_openBSD, 2
#define MIB_sensors                     MIB_sensorsMIBObjects, 1
#define MIB_sensorNumber                MIB_sensors, 1
#define MIB_sensorTable                 MIB_sensors, 2
#define MIB_sensorEntry                 MIB_sensorTable, 1
#define OIDIDX_sensor                   11
#define OIDIDX_sensorEntry              12
#define MIB_sensorIndex                 MIB_sensorEntry, 1
#define MIB_sensorDescr                 MIB_sensorEntry, 2
#define MIB_sensorType                  MIB_sensorEntry, 3
#define MIB_sensorDevice                MIB_sensorEntry, 4
#define MIB_sensorValue                 MIB_sensorEntry, 5
#define MIB_sensorUnits                 MIB_sensorEntry, 6
#define MIB_sensorStatus                MIB_sensorEntry, 7
#define MIB_relaydMIBObjects            MIB_openBSD, 3
#define MIB_relaydHostTrap              MIB_relaydMIBObjects, 1
#define MIB_relaydHostTrapHostName      MIB_relaydHostTrap, 1
#define MIB_relaydHostTrapUp            MIB_relaydHostTrap, 2
#define MIB_relaydHostTrapLastUp        MIB_relaydHostTrap, 3
#define MIB_relaydHostTrapUpCount       MIB_relaydHostTrap, 4
#define MIB_relaydHostTrapCheckCount    MIB_relaydHostTrap, 5
#define MIB_relaydHostTrapTableName     MIB_relaydHostTrap, 6
#define MIB_relaydHostTrapTableUp       MIB_relaydHostTrap, 7
#define MIB_relaydHostTrapRetry         MIB_relaydHostTrap, 8
#define MIB_relaydHostTrapRetryCount    MIB_relaydHostTrap, 9
#define MIB_ipsecMIBObjects             MIB_openBSD, 4
#define MIB_memMIBObjects               MIB_openBSD, 5
#define MIB_memMIBVersion               MIB_memMIBObjects, 1
#define OIDVER_OPENBSD_MEM              1
#define MIB_memIfTable                  MIB_memMIBObjects, 2
#define MIB_memIfEntry                  MIB_memIfTable, 1
#define OIDIDX_memIf                    10
#define OIDIDX_memIfEntry               11
#define MIB_memIfName                   MIB_memIfEntry, 1
#define MIB_memIfLiveLocks              MIB_memIfEntry, 2
#define MIB_carpMIBObjects              MIB_openBSD, 6
#define MIB_carpSysctl                  MIB_carpMIBObjects, 1
#define MIB_carpAllow                   MIB_carpSysctl, 1
#define MIB_carpPreempt                 MIB_carpSysctl, 2
#define MIB_carpLog                     MIB_carpSysctl, 3
#define OIDIDX_carpsysctl               9
#define MIB_carpIf                      MIB_carpMIBObjects, 2
#define MIB_carpIfNumber                MIB_carpIf, 1
#define MIB_carpIfTable                 MIB_carpIf, 2
#define MIB_carpIfEntry                 MIB_carpIfTable, 1
#define OIDIDX_carpIf                   11
#define OIDIDX_carpIfEntry              12
#define MIB_carpIfIndex                 MIB_carpIfEntry, 1
#define MIB_carpIfDescr                 MIB_carpIfEntry, 2
#define MIB_carpIfVhid                  MIB_carpIfEntry, 3
#define MIB_carpIfDev                   MIB_carpIfEntry, 4
#define MIB_carpIfAdvbase               MIB_carpIfEntry, 5
#define MIB_carpIfAdvskew               MIB_carpIfEntry, 6
#define MIB_carpIfState                 MIB_carpIfEntry, 7
#define OIDIDX_carpstats                9
#define MIB_carpStats                   MIB_carpMIBObjects, 3
#define MIB_carpIpPktsRecv              MIB_carpStats, 1
#define MIB_carpIp6PktsRecv             MIB_carpStats, 2
#define MIB_carpPktDiscardsBadIface     MIB_carpStats, 3
#define MIB_carpPktDiscardsBadTtl       MIB_carpStats, 4
#define MIB_carpPktShorterThanHdr       MIB_carpStats, 5
#define MIB_carpDiscardsBadCksum        MIB_carpStats, 6
#define MIB_carpDiscardsBadVersion      MIB_carpStats, 7
#define MIB_carpDiscardsTooShort        MIB_carpStats, 8
#define MIB_carpDiscardsBadAuth         MIB_carpStats, 9
#define MIB_carpDiscardsBadVhid         MIB_carpStats, 10
#define MIB_carpDiscardsBadAddrList     MIB_carpStats, 11
#define MIB_carpIpPktsSent              MIB_carpStats, 12
#define MIB_carpIp6PktsSent             MIB_carpStats, 13
#define MIB_carpNoMemory                MIB_carpStats, 14
#define MIB_carpTransitionsToMaster     MIB_carpStats, 15
#define MIB_carpGroupTable              MIB_carpMIBObjects, 4
#define MIB_carpGroupEntry              MIB_carpGroupTable, 1
#define OIDIDX_carpGroupEntry           10
#define OIDIDX_carpGroupIndex           11
#define MIB_carpGroupName               MIB_carpGroupEntry, 2
#define MIB_carpGroupDemote             MIB_carpGroupEntry, 3
#define MIB_localSystem                 MIB_openBSD, 23
#define MIB_SYSOID_DEFAULT              MIB_openBSD, 23, 1
#define MIB_localTest                   MIB_openBSD, 42

#define MIB_TREE                        {               \
        { MIBDECL(ccitt) },                             \
                                                        \
        { MIBDECL(iso) },                               \
        { MIBDECL(org) },                               \
        { MIBDECL(dod) },                               \
        { MIBDECL(internet) },                          \
        { MIBDECL(directory) },                         \
        { MIBDECL(mgmt) },                              \
        { MIBDECL(mib_2) },                             \
        { MIBDECL(transmission) },                      \
        { MIBDECL(experimental) },                      \
        { MIBDECL(private) },                           \
        { MIBDECL(enterprises) },                       \
        { MIBDECL(security) },                          \
        { MIBDECL(snmpV2) },                            \
        { MIBDECL(snmpDomains) },                       \
        { MIBDECL(snmpProxys) },                        \
        { MIBDECL(snmpModules) },                       \
        { MIBDECL(zeroDotZero) },                       \
                                                        \
        { MIBDECL(snmpMIB) },                           \
        { MIBDECL(snmpMIBObjects) },                    \
        { MIBDECL(system) },                            \
        { MIBDECL(sysDescr), "DisplayString" },         \
        { MIBDECL(sysObjectID) },                       \
        { MIBDECL(sysUpTime) },                         \
        { MIBDECL(sysContact), "DisplayString" },       \
        { MIBDECL(sysName), "DisplayString" },          \
        { MIBDECL(sysLocation), "DisplayString" },      \
        { MIBDECL(sysServices) },                       \
        { MIBDECL(sysORLastChange) },                   \
        { MIBDECL(sysORTable) },                        \
        { MIBDECL(sysOREntry) },                        \
        { MIBDECL(sysORIndex) },                        \
        { MIBDECL(sysORID) },                           \
        { MIBDECL(sysORDescr), "DisplayString" },       \
        { MIBDECL(sysORUpTime) },                       \
        { MIBDECL(snmp) },                              \
        { MIBDECL(snmpInPkts) },                        \
        { MIBDECL(snmpInBadVersions) },                 \
        { MIBDECL(snmpInBadCommunityNames) },           \
        { MIBDECL(snmpInBadCommunityUses) },            \
        { MIBDECL(snmpInASNParseErrs) },                \
        { MIBDECL(snmpEnableAuthenTraps) },             \
        { MIBDECL(snmpSilentDrops) },                   \
        { MIBDECL(snmpProxyDrops) },                    \
        { MIBDECL(snmpTrap) },                          \
        { MIBDECL(snmpTrapOID) },                       \
        { MIBDECL(snmpTrapEnterprise) },                \
        { MIBDECL(snmpTraps) },                         \
        { MIBDECL(coldStart) },                         \
        { MIBDECL(warmStart) },                         \
        { MIBDECL(authenticationFailure) },             \
        { MIBDECL(snmpSet) },                           \
        { MIBDECL(snmpSetSerialNo) },                   \
        { MIBDECL(snmpMIBConformance) },                \
        { MIBDECL(snmpMIBCompliances) },                \
        { MIBDECL(snmpMIBGroups) },                     \
        { MIBDECL(snmpBasicCompliance) },               \
        { MIBDECL(snmpBasicComplianceRev2) },           \
        { MIBDECL(snmpGroup) },                         \
        { MIBDECL(snmpCommunityGroup) },                \
        { MIBDECL(snmpSetGroup) },                      \
        { MIBDECL(systemGroup) },                       \
        { MIBDECL(snmpBasicNotificationsGroup) },       \
        { MIBDECL(snmpWarmStartNotificationGroup) },    \
        { MIBDECL(snmpNotificationGroup) },             \
        { MIBDECL(snmpSetSerialNo) },                   \
        { MIBDECL(snmpOutPkts) },                       \
        { MIBDECL(snmpInTooBigs) },                     \
        { MIBDECL(snmpInNoSuchNames) },                 \
        { MIBDECL(snmpInBadValues) },                   \
        { MIBDECL(snmpInReadOnlys) },                   \
        { MIBDECL(snmpInGenErrs) },                     \
        { MIBDECL(snmpInTotalReqVars) },                \
        { MIBDECL(snmpInTotalSetVars) },                \
        { MIBDECL(snmpInGetRequests) },                 \
        { MIBDECL(snmpInGetNexts) },                    \
        { MIBDECL(snmpInSetRequests) },                 \
        { MIBDECL(snmpInGetResponses) },                \
        { MIBDECL(snmpInTraps) },                       \
        { MIBDECL(snmpOutTooBigs) },                    \
        { MIBDECL(snmpOutNoSuchNames) },                \
        { MIBDECL(snmpOutBadValues) },                  \
        { MIBDECL(snmpOutGenErrs) },                    \
        { MIBDECL(snmpOutGetRequests) },                \
        { MIBDECL(snmpOutGetNexts) },                   \
        { MIBDECL(snmpOutSetRequests) },                \
        { MIBDECL(snmpOutGetResponses) },               \
        { MIBDECL(snmpOutTraps) },                      \
        { MIBDECL(snmpObsoleteGroup) },                 \
                                                        \
        { MIBDECL(linkDown) },                          \
        { MIBDECL(linkUp) },                            \
        { MIBDECL(egpNeighborLoss) },                   \
                                                        \
        { MIBDECL(snmpFrameworkMIB) },                  \
        { MIBDECL(snmpFrameworkAdmin) },                \
        { MIBDECL(snmpFrameworkMIBObjects) },           \
        { MIBDECL(snmpFrameworkMIBConformance) },       \
        { MIBDECL(snmpEngine) },                        \
        { MIBDECL(snmpEngineID) },                      \
        { MIBDECL(snmpEngineBoots) },                   \
        { MIBDECL(snmpEngineTime) },                    \
        { MIBDECL(snmpEngineMaxMessageSize) },          \
        { MIBDECL(snmpAuthProtocols) },                 \
        { MIBDECL(snmpPrivProtocols) },                 \
        { MIBDECL(snmpFrameworkMIBCompliances) },       \
        { MIBDECL(snmpFrameworkMIBGroups) },            \
                                                        \
        { MIBDECL(snmpUsmMIB) },                        \
        { MIBDECL(usmMIBObjects) },                     \
        { MIBDECL(usmMIBConformance) },                 \
        { MIBDECL(usmNoAuthProtocol) },                 \
        { MIBDECL(usmHMACMD5AuthProtocol) },            \
        { MIBDECL(usmHMACSHAAuthProtocol) },            \
        { MIBDECL(usmNoPrivProtocol) },                 \
        { MIBDECL(usmDESPrivProtocol) },                \
        { MIBDECL(usmStats) },                          \
        { MIBDECL(usmStatsNotInTimeWindows) },          \
        { MIBDECL(usmStatsUnknownUserNames) },          \
        { MIBDECL(usmStatsUnknownEngineIDs) },          \
        { MIBDECL(usmStatsWrongDigests) },              \
        { MIBDECL(usmStatsDecryptionErrors) },          \
        { MIBDECL(usmUser) },                           \
        { MIBDECL(usmUserSpinLock) },                   \
        { MIBDECL(usmUserTable) },                      \
        { MIBDECL(usmUserEntry) },                      \
        { MIBDECL(usmUserEngineID) },                   \
        { MIBDECL(usmUserName), "SnmpAdminString" },    \
        { MIBDECL(usmUserSecurityName), "SnmpAdminString" }, \
        { MIBDECL(usmUserCloneFrom), },                 \
        { MIBDECL(usmUserAuthProtocol), },              \
        { MIBDECL(usmUserAuthKeyChange), },             \
        { MIBDECL(usmUserOwnAuthKeyChange), },          \
        { MIBDECL(usmUserPrivProtocol), },              \
        { MIBDECL(usmUserPrivKeyChange), },             \
        { MIBDECL(usmUserOwnPrivKeyChange), },          \
        { MIBDECL(usmUserPublic), },                    \
        { MIBDECL(usmUserStorageType), },               \
        { MIBDECL(usmUserStatus), },                    \
        { MIBDECL(usmMIBCompliances), },                \
        { MIBDECL(usmMIBGroups), },                     \
                                                        \
        { MIBDECL(snmpUsmAesMIB), },                    \
        { MIBDECL(usmAesCfb128Protocol), },             \
                                                        \
        { MIBDECL(snmpUsmHmacSha2MIB), },               \
        { MIBDECL(usmHMAC128SHA224AuthProtocol), },     \
        { MIBDECL(usmHMAC192SHA256AuthProtocol), },     \
        { MIBDECL(usmHMAC256SHA384AuthProtocol), },     \
        { MIBDECL(usmHMAC384SHA512AuthProtocol), },     \
                                                        \
        { MIBDECL(host) },                              \
        { MIBDECL(hrSystem) },                          \
        { MIBDECL(hrSystemUptime) },                    \
        { MIBDECL(hrSystemDate) },                      \
        { MIBDECL(hrSystemInitialLoadDevice) },         \
        { MIBDECL(hrSystemInitialLoadParameters) },     \
        { MIBDECL(hrSystemNumUsers) },                  \
        { MIBDECL(hrSystemProcesses) },                 \
        { MIBDECL(hrSystemMaxProcesses) },              \
        { MIBDECL(hrStorage) },                         \
        { MIBDECL(hrStorageTypes) },                    \
        { MIBDECL(hrMemorySize) },                      \
        { MIBDECL(hrStorageTable) },                    \
        { MIBDECL(hrStorageEntry) },                    \
        { MIBDECL(hrStorageIndex) },                    \
        { MIBDECL(hrStorageType) },                     \
        { MIBDECL(hrStorageDescr), "DisplayString" },   \
        { MIBDECL(hrStorageAllocationUnits) },          \
        { MIBDECL(hrStorageSize) },                     \
        { MIBDECL(hrStorageUsed) },                     \
        { MIBDECL(hrStorageAllocationFailures) },       \
        { MIBDECL(hrDevice) },                          \
        { MIBDECL(hrDeviceTypes) },                     \
        { MIBDECL(hrDeviceOther) },                     \
        { MIBDECL(hrDeviceUnknown) },                   \
        { MIBDECL(hrDeviceProcessor) },                 \
        { MIBDECL(hrDeviceNetwork) },                   \
        { MIBDECL(hrDevicePrinter) },                   \
        { MIBDECL(hrDeviceDiskStorage) },               \
        { MIBDECL(hrDeviceVideo) },                     \
        { MIBDECL(hrDeviceAudio) },                     \
        { MIBDECL(hrDeviceCoprocessor) },               \
        { MIBDECL(hrDeviceKeyboard) },                  \
        { MIBDECL(hrDeviceModem) },                     \
        { MIBDECL(hrDeviceParallelPort) },              \
        { MIBDECL(hrDevicePointing) },                  \
        { MIBDECL(hrDeviceSerialPort) },                \
        { MIBDECL(hrDeviceTape) },                      \
        { MIBDECL(hrDeviceClock) },                     \
        { MIBDECL(hrDeviceVolatileMemory) },            \
        { MIBDECL(hrDeviceNonVolatileMemory) },         \
        { MIBDECL(hrDeviceTable) },                     \
        { MIBDECL(hrDeviceEntry) },                     \
        { MIBDECL(hrDeviceIndex) },                     \
        { MIBDECL(hrDeviceType) },                      \
        { MIBDECL(hrDeviceDescr) },                     \
        { MIBDECL(hrDeviceID) },                        \
        { MIBDECL(hrDeviceStatus) },                    \
        { MIBDECL(hrDeviceErrors) },                    \
        { MIBDECL(hrProcessorTable) },                  \
        { MIBDECL(hrProcessorEntry) },                  \
        { MIBDECL(hrProcessorFrwID) },                  \
        { MIBDECL(hrProcessorLoad) },                   \
        { MIBDECL(hrSWRun) },                           \
        { MIBDECL(hrSWOSIndex) },                       \
        { MIBDECL(hrSWRunTable) },                      \
        { MIBDECL(hrSWRunEntry) },                      \
        { MIBDECL(hrSWRunIndex) },                      \
        { MIBDECL(hrSWRunName) },                       \
        { MIBDECL(hrSWRunID) },                         \
        { MIBDECL(hrSWRunPath) },                       \
        { MIBDECL(hrSWRunParameters) },                 \
        { MIBDECL(hrSWRunType) },                       \
        { MIBDECL(hrSWRunStatus) },                     \
        { MIBDECL(hrSWRunPerf) },                       \
        { MIBDECL(hrSWRunPerfTable) },                  \
        { MIBDECL(hrSWRunPerfEntry) },                  \
        { MIBDECL(hrSWRunPerfCPU) },                    \
        { MIBDECL(hrSWRunPerfMem) },                    \
                                                        \
        { MIBDECL(ifMIB) },                             \
        { MIBDECL(ifMIBObjects) },                      \
        { MIBDECL(ifXTable) },                          \
        { MIBDECL(ifXEntry) },                          \
        { MIBDECL(ifName) },                            \
        { MIBDECL(ifInMulticastPkts) },                 \
        { MIBDECL(ifInBroadcastPkts) },                 \
        { MIBDECL(ifOutMulticastPkts) },                \
        { MIBDECL(ifOutBroadcastPkts) },                \
        { MIBDECL(ifHCInOctets) },                      \
        { MIBDECL(ifHCInUcastPkts) },                   \
        { MIBDECL(ifHCInMulticastPkts) },               \
        { MIBDECL(ifHCInBroadcastPkts) },               \
        { MIBDECL(ifHCOutOctets) },                     \
        { MIBDECL(ifHCOutUcastPkts) },                  \
        { MIBDECL(ifHCOutMulticastPkts) },              \
        { MIBDECL(ifHCOutBroadcastPkts) },              \
        { MIBDECL(ifLinkUpDownTrapEnable) },            \
        { MIBDECL(ifHighSpeed) },                       \
        { MIBDECL(ifPromiscuousMode), "TruthValue" },   \
        { MIBDECL(ifConnectorPresent), "TruthValue" },  \
        { MIBDECL(ifAlias) },                           \
        { MIBDECL(ifCounterDiscontinuityTime) },        \
        { MIBDECL(ifStackTable) },                      \
        { MIBDECL(ifStackEntry) },                      \
        { MIBDECL(ifRcvAddressTable) },                 \
        { MIBDECL(ifRcvAddressEntry) },                 \
        { MIBDECL(ifRcvAddressStatus) },                \
        { MIBDECL(ifRcvAddressType) },                  \
        { MIBDECL(ifStackLastChange) },                 \
        { MIBDECL(interfaces) },                        \
        { MIBDECL(ifNumber) },                          \
        { MIBDECL(ifTable) },                           \
        { MIBDECL(ifEntry) },                           \
        { MIBDECL(ifIndex) },                           \
        { MIBDECL(ifDescr) },                           \
        { MIBDECL(ifType) },                            \
        { MIBDECL(ifMtu) },                             \
        { MIBDECL(ifSpeed) },                           \
        { MIBDECL(ifPhysAddress) },                     \
        { MIBDECL(ifAdminStatus) },                     \
        { MIBDECL(ifOperStatus) },                      \
        { MIBDECL(ifLastChange) },                      \
        { MIBDECL(ifInOctets) },                        \
        { MIBDECL(ifInUcastPkts) },                     \
        { MIBDECL(ifInNUcastPkts) },                    \
        { MIBDECL(ifInDiscards) },                      \
        { MIBDECL(ifInErrors) },                        \
        { MIBDECL(ifInUnknownProtos) },                 \
        { MIBDECL(ifOutOctets) },                       \
        { MIBDECL(ifOutUcastPkts) },                    \
        { MIBDECL(ifOutNUcastPkts) },                   \
        { MIBDECL(ifOutDiscards) },                     \
        { MIBDECL(ifOutErrors) },                       \
        { MIBDECL(ifOutQLen) },                         \
        { MIBDECL(ifSpecific) },                        \
                                                        \
        { MIBDECL(dot1dBridge) },                       \
        { MIBDECL(dot1dBase) },                         \
        { MIBDECL(dot1dBaseBridgeAddress) },            \
        { MIBDECL(dot1dBaseNumPorts) },                 \
        { MIBDECL(dot1dBaseType) },                     \
        { MIBDECL(dot1dBasePortTable) },                \
        { MIBDECL(dot1dBasePortEntry) },                \
        { MIBDECL(dot1dBasePort) },                     \
        { MIBDECL(dot1dBasePortIfIndex) },              \
        { MIBDECL(dot1dBasePortCircuit) },              \
        { MIBDECL(dot1dBasePortDelayExceededDiscards) },\
        { MIBDECL(dot1dBasePortMtuExceededDiscards) },  \
        { MIBDECL(dot1dStp) },                          \
        { MIBDECL(dot1dSr) },                           \
        { MIBDECL(dot1dTp) },                           \
        { MIBDECL(dot1dStatic) },                       \
                                                        \
        { MIBDECL(ibm) },                               \
        { MIBDECL(cmu) },                               \
        { MIBDECL(unix) },                              \
        { MIBDECL(ciscoSystems) },                      \
        { MIBDECL(hp) },                                \
        { MIBDECL(mit) },                               \
        { MIBDECL(nortelNetworks) },                    \
        { MIBDECL(sun) },                               \
        { MIBDECL(3com) },                              \
        { MIBDECL(synOptics) },                         \
        { MIBDECL(enterasys) },                         \
        { MIBDECL(sgi) },                               \
        { MIBDECL(apple) },                             \
        { MIBDECL(nasa) },                              \
        { MIBDECL(att) },                               \
        { MIBDECL(nokia) },                             \
        { MIBDECL(cern) },                              \
        { MIBDECL(oracle) },                            \
        { MIBDECL(motorola) },                          \
        { MIBDECL(ncr) },                               \
        { MIBDECL(ericsson) },                          \
        { MIBDECL(fsc) },                               \
        { MIBDECL(compaq) },                            \
        { MIBDECL(bmw) },                               \
        { MIBDECL(dell) },                              \
        { MIBDECL(iij) },                               \
        { MIBDECL(sandia) },                            \
        { MIBDECL(mercedesBenz) },                      \
        { MIBDECL(alteon) },                            \
        { MIBDECL(extremeNetworks) },                   \
        { MIBDECL(foundryNetworks) },                   \
        { MIBDECL(huawaiTechnology) },                  \
        { MIBDECL(ucDavis) },                           \
        { MIBDECL(freeBSD) },                           \
        { MIBDECL(checkPoint) },                        \
        { MIBDECL(juniper) },                           \
        { MIBDECL(printerWorkingGroup) },               \
        { MIBDECL(audi) },                              \
        { MIBDECL(volkswagen) },                        \
        { MIBDECL(genua) },                             \
        { MIBDECL(amazon) },                            \
        { MIBDECL(force10Networks) },                   \
        { MIBDECL(vMware) },                            \
        { MIBDECL(alcatelLucent) },                     \
        { MIBDECL(snom) },                              \
        { MIBDECL(netSNMP) },                           \
        { MIBDECL(netflix) },                           \
        { MIBDECL(google) },                            \
        { MIBDECL(f5Networks) },                        \
        { MIBDECL(bsws) },                              \
        { MIBDECL(sFlow) },                             \
        { MIBDECL(microSystems) },                      \
        { MIBDECL(paloAltoNetworks) },                  \
        { MIBDECL(h3c) },                               \
        { MIBDECL(vantronix) },                         \
        { MIBDECL(netBSD) },                            \
        { MIBDECL(openBSD) },                           \
        { MIBDECL(nicira) },                            \
        { MIBDECL(esdenera) },                          \
        { MIBDECL(arcaTrust) },                         \
                                                        \
        { MIBDECL(ucdExperimental) },                   \
        { MIBDECL(ucdDiskIOMIB) },                      \
        { MIBDECL(diskIOTable) },                       \
        { MIBDECL(diskIOEntry) },                       \
        { MIBDECL(diskIOIndex) },                       \
        { MIBDECL(diskIODevice) },                      \
        { MIBDECL(diskIONRead) },                       \
        { MIBDECL(diskIONWritten) },                    \
        { MIBDECL(diskIOReads) },                       \
        { MIBDECL(diskIOWrites) },                      \
        { MIBDECL(diskIONReadX) },                      \
        { MIBDECL(diskIONWrittenX) },                   \
                                                        \
        { MIBDECL(pfMIBObjects) },                      \
        { MIBDECL(pfInfo) },                            \
        { MIBDECL(pfRunning) },                         \
        { MIBDECL(pfRuntime) },                         \
        { MIBDECL(pfDebug) },                           \
        { MIBDECL(pfHostid) },                          \
        { MIBDECL(pfCounters) },                        \
        { MIBDECL(pfCntMatch) },                        \
        { MIBDECL(pfCntBadOffset) },                    \
        { MIBDECL(pfCntFragment) },                     \
        { MIBDECL(pfCntShort) },                        \
        { MIBDECL(pfCntNormalize) },                    \
        { MIBDECL(pfCntMemory) },                       \
        { MIBDECL(pfCntTimestamp) },                    \
        { MIBDECL(pfCntCongestion) },                   \
        { MIBDECL(pfCntIpOptions) },                    \
        { MIBDECL(pfCntProtoCksum) },                   \
        { MIBDECL(pfCntStateMismatch) },                \
        { MIBDECL(pfCntStateInsert) },                  \
        { MIBDECL(pfCntStateLimit) },                   \
        { MIBDECL(pfCntSrcLimit) },                     \
        { MIBDECL(pfCntSynproxy) },                     \
        { MIBDECL(pfCntTranslate) },                    \
        { MIBDECL(pfCntNoRoute) },                      \
        { MIBDECL(pfStateTable) },                      \
        { MIBDECL(pfStateCount) },                      \
        { MIBDECL(pfStateSearches) },                   \
        { MIBDECL(pfStateInserts) },                    \
        { MIBDECL(pfStateRemovals) },                   \
        { MIBDECL(pfLogInterface) },                    \
        { MIBDECL(pfLogIfName), "DisplayString" },      \
        { MIBDECL(pfLogIfIpBytesIn) },                  \
        { MIBDECL(pfLogIfIpBytesOut) },                 \
        { MIBDECL(pfLogIfIpPktsInPass) },               \
        { MIBDECL(pfLogIfIpPktsInDrop) },               \
        { MIBDECL(pfLogIfIpPktsOutPass) },              \
        { MIBDECL(pfLogIfIpPktsOutDrop) },              \
        { MIBDECL(pfLogIfIp6BytesIn) },                 \
        { MIBDECL(pfLogIfIp6BytesOut) },                \
        { MIBDECL(pfLogIfIp6PktsInPass) },              \
        { MIBDECL(pfLogIfIp6PktsInDrop) },              \
        { MIBDECL(pfLogIfIp6PktsOutPass) },             \
        { MIBDECL(pfLogIfIp6PktsOutDrop) },             \
        { MIBDECL(pfSrcTracking) },                     \
        { MIBDECL(pfSrcTrackCount) },                   \
        { MIBDECL(pfSrcTrackSearches) },                \
        { MIBDECL(pfSrcTrackInserts) },                 \
        { MIBDECL(pfSrcTrackRemovals) },                \
        { MIBDECL(pfLimits) },                          \
        { MIBDECL(pfLimitStates) },                     \
        { MIBDECL(pfLimitSourceNodes) },                \
        { MIBDECL(pfLimitFragments) },                  \
        { MIBDECL(pfLimitMaxTables) },                  \
        { MIBDECL(pfLimitMaxTableEntries) },            \
        { MIBDECL(pfTimeouts) },                        \
        { MIBDECL(pfTimeoutTcpFirst) },                 \
        { MIBDECL(pfTimeoutTcpOpening) },               \
        { MIBDECL(pfTimeoutTcpEstablished) },           \
        { MIBDECL(pfTimeoutTcpClosing) },               \
        { MIBDECL(pfTimeoutTcpFinWait) },               \
        { MIBDECL(pfTimeoutTcpClosed) },                \
        { MIBDECL(pfTimeoutUdpFirst) },                 \
        { MIBDECL(pfTimeoutUdpSingle) },                \
        { MIBDECL(pfTimeoutUdpMultiple) },              \
        { MIBDECL(pfTimeoutIcmpFirst) },                \
        { MIBDECL(pfTimeoutIcmpError) },                \
        { MIBDECL(pfTimeoutOtherFirst) },               \
        { MIBDECL(pfTimeoutOtherSingle) },              \
        { MIBDECL(pfTimeoutOtherMultiple) },            \
        { MIBDECL(pfTimeoutFragment) },                 \
        { MIBDECL(pfTimeoutInterval) },                 \
        { MIBDECL(pfTimeoutAdaptiveStart) },            \
        { MIBDECL(pfTimeoutAdaptiveEnd) },              \
        { MIBDECL(pfTimeoutSrcTrack) },                 \
        { MIBDECL(pfInterfaces) },                      \
        { MIBDECL(pfIfNumber) },                        \
        { MIBDECL(pfIfTable) },                         \
        { MIBDECL(pfIfEntry) },                         \
        { MIBDECL(pfIfIndex) },                         \
        { MIBDECL(pfIfDescr), "DisplayString" },        \
        { MIBDECL(pfIfType) },                          \
        { MIBDECL(pfIfRefs) },                          \
        { MIBDECL(pfIfRules) },                         \
        { MIBDECL(pfIfIn4PassPkts) },                   \
        { MIBDECL(pfIfIn4PassBytes) },                  \
        { MIBDECL(pfIfIn4BlockPkts) },                  \
        { MIBDECL(pfIfIn4BlockBytes) },                 \
        { MIBDECL(pfIfOut4PassPkts) },                  \
        { MIBDECL(pfIfOut4PassBytes) },                 \
        { MIBDECL(pfIfOut4BlockPkts) },                 \
        { MIBDECL(pfIfOut4BlockBytes) },                \
        { MIBDECL(pfIfIn6PassPkts) },                   \
        { MIBDECL(pfIfIn6PassBytes) },                  \
        { MIBDECL(pfIfIn6BlockPkts) },                  \
        { MIBDECL(pfIfIn6BlockBytes) },                 \
        { MIBDECL(pfIfOut6PassPkts) },                  \
        { MIBDECL(pfIfOut6PassBytes) },                 \
        { MIBDECL(pfIfOut6BlockPkts) },                 \
        { MIBDECL(pfIfOut6BlockBytes) },                \
        { MIBDECL(pfTables) },                          \
        { MIBDECL(pfTblNumber) },                       \
        { MIBDECL(pfTblTable) },                        \
        { MIBDECL(pfTblEntry) },                        \
        { MIBDECL(pfTblIndex) },                        \
        { MIBDECL(pfTblName), "SnmpAdminString" },      \
        { MIBDECL(pfTblAddresses) },                    \
        { MIBDECL(pfTblAnchorRefs) },                   \
        { MIBDECL(pfTblRuleRefs) },                     \
        { MIBDECL(pfTblEvalsMatch) },                   \
        { MIBDECL(pfTblEvalsNoMatch) },                 \
        { MIBDECL(pfTblInPassPkts) },                   \
        { MIBDECL(pfTblInPassBytes) },                  \
        { MIBDECL(pfTblInBlockPkts) },                  \
        { MIBDECL(pfTblInBlockBytes) },                 \
        { MIBDECL(pfTblInXPassPkts) },                  \
        { MIBDECL(pfTblInXPassBytes) },                 \
        { MIBDECL(pfTblOutPassPkts) },                  \
        { MIBDECL(pfTblOutPassBytes) },                 \
        { MIBDECL(pfTblOutBlockPkts) },                 \
        { MIBDECL(pfTblOutBlockBytes) },                \
        { MIBDECL(pfTblOutXPassPkts) },                 \
        { MIBDECL(pfTblOutXPassBytes) },                \
        { MIBDECL(pfTblStatsCleared) },                 \
        { MIBDECL(pfTblInMatchPkts) },                  \
        { MIBDECL(pfTblInMatchBytes) },                 \
        { MIBDECL(pfTblOutMatchPkts) },                 \
        { MIBDECL(pfTblOutMatchBytes) },                \
        { MIBDECL(pfTblAddrTable) },                    \
        { MIBDECL(pfTblAddrEntry) },                    \
        { MIBDECL(pfTblAddrTblIndex) },                 \
        { MIBDECL(pfTblAddrNet) },                      \
        { MIBDECL(pfTblAddrMask) },                     \
        { MIBDECL(pfTblAddrCleared) },                  \
        { MIBDECL(pfTblAddrInBlockPkts) },              \
        { MIBDECL(pfTblAddrInBlockBytes) },             \
        { MIBDECL(pfTblAddrInPassPkts) },               \
        { MIBDECL(pfTblAddrInPassBytes) },              \
        { MIBDECL(pfTblAddrOutBlockPkts) },             \
        { MIBDECL(pfTblAddrOutBlockBytes) },            \
        { MIBDECL(pfTblAddrOutPassPkts) },              \
        { MIBDECL(pfTblAddrOutPassBytes) },             \
        { MIBDECL(pfTblAddrInMatchPkts) },              \
        { MIBDECL(pfTblAddrInMatchBytes) },             \
        { MIBDECL(pfTblAddrOutMatchPkts) },             \
        { MIBDECL(pfTblAddrOutMatchBytes) },            \
        { MIBDECL(pfLabels) },                          \
        { MIBDECL(pfLabelNumber) },                     \
        { MIBDECL(pfLabelTable) },                      \
        { MIBDECL(pfLabelEntry) },                      \
        { MIBDECL(pfLabelIndex) },                      \
        { MIBDECL(pfLabelName), "SnmpAdminString" },    \
        { MIBDECL(pfLabelEvals) },                      \
        { MIBDECL(pfLabelPkts) },                       \
        { MIBDECL(pfLabelBytes) },                      \
        { MIBDECL(pfLabelInPkts) },                     \
        { MIBDECL(pfLabelInBytes) },                    \
        { MIBDECL(pfLabelOutPkts) },                    \
        { MIBDECL(pfLabelOutBytes) },                   \
        { MIBDECL(pfLabelTotalStates) },                \
        { MIBDECL(pfsyncStats) },                       \
        { MIBDECL(pfsyncIpPktsRecv) },                  \
        { MIBDECL(pfsyncIp6PktsRecv) },                 \
        { MIBDECL(pfsyncPktDiscardsForBadInterface) },  \
        { MIBDECL(pfsyncPktDiscardsForBadTtl) },        \
        { MIBDECL(pfsyncPktShorterThanHeader) },        \
        { MIBDECL(pfsyncPktDiscardsForBadVersion) },    \
        { MIBDECL(pfsyncPktDiscardsForBadAction) },     \
        { MIBDECL(pfsyncPktDiscardsForBadLength) },     \
        { MIBDECL(pfsyncPktDiscardsForBadAuth) },       \
        { MIBDECL(pfsyncPktDiscardsForStaleState) },    \
        { MIBDECL(pfsyncPktDiscardsForBadValues) },     \
        { MIBDECL(pfsyncPktDiscardsForBadState) },      \
        { MIBDECL(pfsyncIpPktsSent) },                  \
        { MIBDECL(pfsyncIp6PktsSent) },                 \
        { MIBDECL(pfsyncNoMemory) },                    \
        { MIBDECL(pfsyncOutputErrors) },                \
        { MIBDECL(sensorsMIBObjects) },                 \
        { MIBDECL(relaydMIBObjects) },                  \
        { MIBDECL(relaydHostTrap) },                    \
        { MIBDECL(relaydHostTrapHostName) },            \
        { MIBDECL(relaydHostTrapUp) },                  \
        { MIBDECL(relaydHostTrapLastUp) },              \
        { MIBDECL(relaydHostTrapUpCount) },             \
        { MIBDECL(relaydHostTrapCheckCount) },          \
        { MIBDECL(relaydHostTrapTableName) },           \
        { MIBDECL(relaydHostTrapTableUp) },             \
        { MIBDECL(relaydHostTrapRetry) },               \
        { MIBDECL(relaydHostTrapRetryCount) },          \
        { MIBDECL(sensors) },                           \
        { MIBDECL(sensorNumber) },                      \
        { MIBDECL(sensorTable) },                       \
        { MIBDECL(sensorEntry) },                       \
        { MIBDECL(sensorIndex) },                       \
        { MIBDECL(sensorDescr) },                       \
        { MIBDECL(sensorType) },                        \
        { MIBDECL(sensorDevice) },                      \
        { MIBDECL(sensorValue) },                       \
        { MIBDECL(sensorUnits) },                       \
        { MIBDECL(sensorStatus) },                      \
        { MIBDECL(memMIBObjects) },                     \
        { MIBDECL(memMIBVersion) },                     \
        { MIBDECL(memIfTable) },                        \
        { MIBDECL(memIfEntry) },                        \
        { MIBDECL(memIfName) },                         \
        { MIBDECL(memIfLiveLocks) },                    \
        { MIBDECL(carpMIBObjects) },                    \
        { MIBDECL(carpSysctl) },                        \
        { MIBDECL(carpAllow) },                         \
        { MIBDECL(carpPreempt) },                       \
        { MIBDECL(carpLog) },                           \
        { MIBDECL(carpIf) },                            \
        { MIBDECL(carpIfNumber) },                      \
        { MIBDECL(carpIfTable) },                       \
        { MIBDECL(carpIfEntry) },                       \
        { MIBDECL(carpIfIndex) },                       \
        { MIBDECL(carpIfDescr) },                       \
        { MIBDECL(carpIfVhid) },                        \
        { MIBDECL(carpIfDev) },                         \
        { MIBDECL(carpIfAdvbase) },                     \
        { MIBDECL(carpIfAdvskew) },                     \
        { MIBDECL(carpIfState) },                       \
        { MIBDECL(carpStats) },                         \
        { MIBDECL(carpIpPktsRecv) },                    \
        { MIBDECL(carpIp6PktsRecv) },                   \
        { MIBDECL(carpPktDiscardsBadIface) },           \
        { MIBDECL(carpPktDiscardsBadTtl) },             \
        { MIBDECL(carpPktShorterThanHdr) },             \
        { MIBDECL(carpDiscardsBadCksum) },              \
        { MIBDECL(carpDiscardsBadVersion) },            \
        { MIBDECL(carpDiscardsTooShort) },              \
        { MIBDECL(carpDiscardsBadAuth) },               \
        { MIBDECL(carpDiscardsBadVhid) },               \
        { MIBDECL(carpDiscardsBadAddrList) },           \
        { MIBDECL(carpIpPktsSent) },                    \
        { MIBDECL(carpIp6PktsSent) },                   \
        { MIBDECL(carpNoMemory) },                      \
        { MIBDECL(carpTransitionsToMaster) },           \
        { MIBDECL(carpGroupTable) },                    \
        { MIBDECL(carpGroupEntry) },                    \
        { MIBDECL(carpGroupName) },                     \
        { MIBDECL(carpGroupDemote) },                   \
        { MIBDECL(localSystem) },                       \
        { MIBDECL(localTest) },                         \
                                                        \
        { MIBDECL(ipMIB) },                             \
        { MIBDECL(ipForwarding) },                      \
        { MIBDECL(ipDefaultTTL) },                      \
        { MIBDECL(ipInReceives) },                      \
        { MIBDECL(ipInHdrErrors) },                     \
        { MIBDECL(ipInAddrErrors) },                    \
        { MIBDECL(ipForwDatagrams) },                   \
        { MIBDECL(ipInUnknownProtos) },                 \
        { MIBDECL(ipInDiscards) },                      \
        { MIBDECL(ipInDelivers) },                      \
        { MIBDECL(ipOutRequests) },                     \
        { MIBDECL(ipOutDiscards) },                     \
        { MIBDECL(ipOutNoRoutes) },                     \
        { MIBDECL(ipReasmTimeout) },                    \
        { MIBDECL(ipReasmReqds) },                      \
        { MIBDECL(ipReasmOKs) },                        \
        { MIBDECL(ipReasmFails) },                      \
        { MIBDECL(ipFragOKs) },                         \
        { MIBDECL(ipFragFails) },                       \
        { MIBDECL(ipFragCreates) },                     \
        { MIBDECL(ipRoutingDiscards) },                 \
        { MIBDECL(ipAddrTable) },                       \
        { MIBDECL(ipAddrEntry) },                       \
        { MIBDECL(ipAdEntAddr) },                       \
        { MIBDECL(ipAdEntIfIndex) },                    \
        { MIBDECL(ipAdEntNetMask) },                    \
        { MIBDECL(ipAdEntBcastAddr) },                  \
        { MIBDECL(ipAdEntReasmMaxSize) },               \
        { MIBDECL(ipNetToMediaTable) },                 \
        { MIBDECL(ipNetToMediaEntry) },                 \
        { MIBDECL(ipNetToMediaIfIndex) },               \
        { MIBDECL(ipNetToMediaPhysAddress) },           \
        { MIBDECL(ipNetToMediaNetAddress) },            \
        { MIBDECL(ipNetToMediaType) },                  \
                                                        \
        { MIBDECL(ipfMIB) },                            \
        { MIBDECL(ipfInetCidrRouteNumber) },            \
        { MIBDECL(ipfInetCidrRouteTable) },             \
        { MIBDECL(ipfInetCidrRouteEntry) },             \
        { MIBDECL(ipfRouteEntIfIndex) },                \
        { MIBDECL(ipfRouteEntType) },                   \
        { MIBDECL(ipfRouteEntProto) },                  \
        { MIBDECL(ipfRouteEntAge) },                    \
        { MIBDECL(ipfRouteEntNextHopAS) },              \
        { MIBDECL(ipfRouteEntRouteMetric1) },           \
        { MIBDECL(ipfRouteEntRouteMetric2) },           \
        { MIBDECL(ipfRouteEntRouteMetric3) },           \
        { MIBDECL(ipfRouteEntRouteMetric4) },           \
        { MIBDECL(ipfRouteEntRouteMetric5) },           \
        { MIBDECL(ipfRouteEntStatus) },                 \
        { MIBEND }                                      \
}

#define TEXTCONV_TREE {                                                 \
        { "SnmpAdminString", BER_TYPE_OCTETSTRING, "255t" },            \
        { "DisplayString", BER_TYPE_OCTETSTRING, "255a" },              \
        { "TruthValue", BER_TYPE_INTEGER, NULL, (struct textconv_enum[]){\
                { 1, "true" },                                          \
                { 2, "false" },                                         \
                { 0, NULL }                                             \
        }},                                                             \
        { NULL }                                                        \
}

void     mib_init(void);

#endif /* SNMPD_MIB_H */