-- =================================================================
-- Copyright (C) 2002 by  HUAWEI 3Com TECHNOLOGIES. All rights reserved.
--
-- Description: power over ethernet extend mib
-- Reference: POWER-ETHERNET-MIB
-- Version: V1.5
-- History:
--   V1.0 2004-07-24 Created by Gaolong
--   V1.1 2004-09-08 Update file by Gaolong for some syntax errors.
--   V1.2 2004-11-19 Update file by liuhongxu for poe need.
--                   add h3cMainPsePriorityMode¡¢h3cPsePowerMaxValue¡¢
--                   h3cpsePDChangNotification adjust the objects' sequence of
--                   h3cPsePortTable and h3cMainPseTable add the description
--                   of MANDATORY-GROUPS in h3cPseCompliance.
--   V1.3 2004-12-16 Update file by liuhongxu for poe profile
--                   add h3cPsePortProfile, h3cPseProfilesTable
--                   change the name of h3cPseProfileIndex add
--                   h3cPseProfileApplyNum.  adjust the format of this mib.
--   V1.4 2005-03-29 Update file by Wangzhaoyan for poe pow need.
--                   add h3cPOEPowerObjects, h3cPOEThresholdLimitObjs,
--                   h3cPOESupModuleInfoObjs, h3cPOEDCOutStateObjects,
--                   h3cPOEDCDCOutInfoObjects, h3cPOEACSwitchStateModuleObjs,
--                   h3cPOEInCurStateObjects, h3cPOEAlarmStateObjects and the
--                   sub-nodes.  add 17 traps change the node name from
--                   h3cpsePDChangNotification to h3cpsePDChangeNotification
--                   change some detail as the suggestion from Wangyingxia and
--                   Yangyang.  adjust the format of this mib.
--   V1.5 2005-11-21 Update file by Liweizhen for controling the power-management
--                   policy of PSE or PD.  Add h3cPsePolicyMode, h3cPDPolicyMode,
--                   h3cMainPsePowerPriority.
--                   Delete some description of h3cPsePortProfileIndex node.
--                   Change the description of h3cPseProfilePowerMode node.
--                   Change SYNTAX OCTET STRING range for the following nodes:
--                   h3cPOEPowerType, h3cPOESupervisionModuleName,
--                   h3cPOESMFactorName, h3cPOEModuleHardVerInfo.
--                   Adjust the format of this mib.
-- =================================================================
H3C-POWER-ETH-EXT-MIB DEFINITIONS ::= BEGIN

  IMPORTS
          h3cCommon
                  FROM HUAWEI-3COM-OID-MIB
          pethPsePortGroupIndex, pethPsePortIndex,
          pethMainPseGroupIndex, pethPsePortDetectionStatus
                  FROM POWER-ETHERNET-MIB
          OBJECT-GROUP, MODULE-COMPLIANCE
                  FROM SNMPv2-CONF
          Integer32, OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE
                  FROM SNMPv2-SMI
          DisplayString, RowStatus
                  FROM SNMPv2-TC;


  h3cPowerEthernetExt MODULE-IDENTITY
          LAST-UPDATED "200407261023Z"      -- July 26, 2004 at 10:23 GMT

          ORGANIZATION
                  "Organization."
          CONTACT-INFO
                  "Contact-info."
          DESCRIPTION
                  "Description."
          ::= { h3cCommon 14 }


--
-- Node definitions
--

  h3cPsePortTable OBJECT-TYPE
          SYNTAX SEQUENCE OF H3cPsePortEntry
          MAX-ACCESS not-accessible
          STATUS current
          DESCRIPTION
                 "The indexing scheme is taken form that used by
                 the IETF Power MIB.  The same indexing scheme is
                 used to give continuity in behaviour between
                 that standard and this extensions definitioin."
          ::= { h3cPowerEthernetExt 1 }


  h3cPsePortEntry OBJECT-TYPE
          SYNTAX H3cPsePortEntry
          MAX-ACCESS not-accessible
          STATUS current
          DESCRIPTION
                 "The pethPsePortGroupIndex is imported from the IETF Power MIB
                 and uniquely identifies the group containing the port to which
                 power ethernet PSE is connected.  Group means (box in the stack,
                 module in a rack).

                 The pethPsePortPowerIndex is imported from the IETF Power MIB
                 and uniquely identifies the power ethernet PSE port within group
                 pethPseGroupIndex to which the power Ethernet PSE entry is
                 connected.  This value will match the local port number on a
                 switch."
          INDEX { pethPsePortGroupIndex, pethPsePortIndex }
          ::= { h3cPsePortTable 1 }


  H3cPsePortEntry ::=
          SEQUENCE {
                  h3cPsePortFaultDescription
                          DisplayString,
                  h3cPsePortPeakPower
                          Integer32,
                  h3cPsePortAveragePower
                          Integer32,
                  h3cPsePortCurrentPower
                          Integer32,
                  h3cPsePortPowerLimit
                          Integer32,
                  h3cPsePortProfileIndex
                          Integer32
          }

  h3cPsePortFaultDescription OBJECT-TYPE
          SYNTAX DisplayString
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
                 "The object supports the fault category of the IETF Power MIB [1]
                 pethPsePortDetectionStatus object.  A textual description
                 containing more information about the nature of this fault is
                 provided by this object.  Typically this will detail the precise
                 PoE hardware state which is causing the pethPsePortDetectionStatus
                 object to be in the 'fault' state.
                 It is a DisplayString of up to 255 characters."
          ::= { h3cPsePortEntry 2 }


  h3cPsePortPeakPower OBJECT-TYPE
          SYNTAX Integer32
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
                 "The object specifies the peak power which has been consumed by
                 the port.  It is defined as the highest measured value of power
                 in milliWatts that has been consumed by the port.  Its value
                 is only reset when link is lost, the port is PoE disabled or
                 when it is manually reset by the user asspecified below.
                 It is a read/write integer value with units of milliWatts.
                 Writing a value of zero to this object resets its value
                 to zero.  Writing any other value to this object has no
                 effect on its value and an error is returned."
          ::= { h3cPsePortEntry 3 }


  h3cPsePortAveragePower OBJECT-TYPE
          SYNTAX Integer32
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
                 "The object specifies the average power which has been consumed
                 by the port.  This object is a read/write integer value with
                 units of milliWatts.  Writing a value of zero to this object
                 resets its value to zero.  Writing any other value to this
                 object has no effect on its value and an error is returned."
          ::= { h3cPsePortEntry 4 }


  h3cPsePortCurrentPower OBJECT-TYPE
          SYNTAX Integer32
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
                  "The object specifies the power currently being consumed by the port.
                  It is a read only integer value with units of milliWatts."
          ::= { h3cPsePortEntry 5 }


  h3cPsePortPowerLimit OBJECT-TYPE
          SYNTAX Integer32
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
                  "The object specifies the power limit set for this port.
                  The PSE will not supply more than this level of power to the
                  specified port.
                  It is a read/write integer value with units of milliWatts."
          ::= { h3cPsePortEntry 6 }

  h3cPsePortProfileIndex OBJECT-TYPE
          SYNTAX Integer32 (0..100)
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
                 "Indicates the power profile which is currently associated
                 with this port.  This object references the corresponding
                 h3cPseProfileIndex object in the power profiles table.  A
                 value of zero is a special case and indicates that no
                 power profile is currently associated with this port.  When
                 h3cPseProfileIndex is set to an index of existent profile,
                 pethPsePortPowerPairs, pethPsePortPowerPriority,
                 pethPsePortAdminEnable and h3cPsePortPowerLimit will be
                 set to the same as corresponding value.  PethPsePortPowerPairs,
                 pethPsePortPowerPriority and pethPsePortAdminEnable are objects
                 of rfc3621-Power-Ethernet.mib."
          ::= { h3cPsePortEntry 7 }


  h3cMainPseTable OBJECT-TYPE
          SYNTAX SEQUENCE OF H3cMainPseEntry
          MAX-ACCESS not-accessible
          STATUS current
          DESCRIPTION
                  "Description."
          ::= { h3cPowerEthernetExt 2 }


  h3cMainPseEntry OBJECT-TYPE
          SYNTAX H3cMainPseEntry
          MAX-ACCESS not-accessible
          STATUS current
          DESCRIPTION
                 "The pethMainPseGroupIndex is imported from the IETF Power MIB
                 and uniquely identifies the group containing the port to which
                 power ethernet PSE is connected.  Group means (box in the stack,
                 module in a rack) and the value 1 MUST be used for non-modular
                 devices."
          INDEX { pethMainPseGroupIndex }
          ::= { h3cMainPseTable 1 }


  H3cMainPseEntry ::=
          SEQUENCE {
                  h3cMainGuaranteedPowerRemaining
                             Integer32,
                  h3cMainPsePeakPower
                             Integer32,
                  h3cMainPseAveragePower
                             Integer32,
                  h3cMainPsePowerLimit
                             Integer32,
                  h3cMainPsePriorityMode
                             INTEGER,
                  h3cMainPseLegacy
                             INTEGER,
                  h3cMainPsePowerPriority
                             INTEGER
                  }

  h3cMainPsePowerLimit OBJECT-TYPE
          SYNTAX Integer32
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
                 "The object specifies the power limit set for the unit as a whole.
                 The PoE unit will already have a nominal power defined by the
                 IETF Power MIB [1] pethMainPsePower object.  This OPTIONAL object
                 specifies a further limit to this nominal power value.  This may
                 be useful to control the thermals of the unit, or for internal
                 testing purposes.  One possible use for this object may be to lower
                 the power consumption of the unit if one or more of the internal
                 fans have broken.  It is a read/write integer value with units of
                 Watts (note - Watts is chosen instead of milliWatts here since
                 the IETF Power MIB [1] measures unit based parameters, such as
                 the pethMainPsePower object, in units of Watts)."
          ::= { h3cMainPseEntry 1 }


  h3cMainPseAveragePower OBJECT-TYPE
          SYNTAX Integer32
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
                 "The object specifies the average power which has been consumed
                 by the port.  It is a read/write integer value with units of
                 Watts (note - Watts is chosen instead of milliWatts here since
                 the IETF Power MIB [1] measures unit based parameters, such as
                 the pethMainPsePower object, in units of Watts).  Writing a value
                 of zero to this object resets its value to zero.  Writing any
                 other value to this object has no effect on its value and an error
                 is returned."
          ::= { h3cMainPseEntry 2 }


  h3cMainPsePeakPower OBJECT-TYPE
          SYNTAX Integer32
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
                 "The object specifies the peak power which has been consumed for PoE.
                 It is defined as the highest measured value of power in milliWatts
                 that has been consumed at any one point in time by the sum of the PoE
                 ports.  Its value is only reset when the unit is powered on or when
                 it is manually reset by the user as specifiedbelow.  It is a read/write
                 integer value with units of Watts (note - Watts is chosen instead of
                 milliWatts here since the IETF Power MIB [1] measures unit based
                 parameters, such as the pethMainPsePower object, in units of Watts).
                 Writing a value of zero to this object resets its value to zero.
                 Writing any other value to this object has noeffect on its value
                 and an error is returned."
          ::= { h3cMainPseEntry 3 }


  h3cMainGuaranteedPowerRemaining OBJECT-TYPE
          SYNTAX Integer32
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
                 "The object specifies the amount of power remaining in the guaranteed
                 power pool.  Each time a port is placed into guaranteed mode it
                 reserves a set amount of power out of the total guaranteed power
                 pool for the system.  This intention of this object is to give the
                 client of this MIB (whether that be the CLI or the Web interface or
                 the end user) an indication of how many ports can still be placed
                 into guaranteed mode.  It is a read only integer value with units of
                 Watts(note - Watts is chosen instead of milliWatts here since the
                 IETF Power MIB [1] measures unit based parameters,such as the
                 pethMainPsePower object, in units of Watts)."
          ::= { h3cMainPseEntry 4 }


  h3cMainPsePriorityMode OBJECT-TYPE
          SYNTAX INTEGER   {
                  disconnection(0),
                  non-disconnection(1)
                  }
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
                 "Describes or controls the priority mode on slot which must be
                 enabled firstly.  When a new board is inserted, and the power is
                 over-load, a value of disconnection(0) means that the power will
                 stop supply to the low priority slot ; A value of non-disconnection(1)
                 means that the slot still supply when a new board is inserted, and
                 the power is over-load too."
          ::= { h3cMainPseEntry 5 }

  h3cMainPseLegacy OBJECT-TYPE
          SYNTAX INTEGER   {
                 enable(0),
                 disable(1)
                  }
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
                 "Describes or controls the legacy mode on slot which must be enabled
                 firstly.  Legacy mode: standard or nonstandard PD detection mode."
          ::= { h3cMainPseEntry 6 }

  h3cMainPsePowerPriority OBJECT-TYPE
          SYNTAX INTEGER   {
                 critical(1),
                 high(2),
                 low(3)
                  }
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
                 "Describes or controls the priority of the PSE.  The priority
                 will be used by the PSE policy to prevent from power overloading.
                 If the priority of PSE is set to critical, the PSE will turn into
                 guaranteed mode.  The priority could be used by a control mechanism
                 that prevents power overloading by disconnecting PSEs with lower
                 power priority.  PSEs that connect devices critical to the
                 application should be set to higher priority."
          ::= { h3cMainPseEntry 7 }

-- Power Profile PSE table
  h3cPseProfilesTable OBJECT-TYPE
          SYNTAX SEQUENCE OF H3cPseProfilesEntry
          MAX-ACCESS not-accessible
          STATUS current
          DESCRIPTION
                 "A table of objects representing a set of power profiles.
                 Power profiles can be applied to PoE ports, which have the
                 effect of automatically setting the priority, power limit
                 and PoE enable MIB objects to the values specified in the
                 power profile."
          ::= { h3cPowerEthernetExt 7 }

  h3cPseProfilesEntry OBJECT-TYPE
          SYNTAX H3cPseProfilesEntry
          MAX-ACCESS not-accessible
          STATUS current
          DESCRIPTION
                 "A set of objects that display and control the Main power of a PSE."
          INDEX    { h3cPseProfileIndex }
          ::= { h3cPseProfilesTable 1 }

  H3cPseProfilesEntry ::= SEQUENCE {
                 h3cPseProfileIndex     Integer32,
                 h3cPseProfileName      DisplayString,
                 h3cPseProfilePowerMode      INTEGER,
                 h3cPseProfilePowerLimit     Integer32,
                 h3cPseProfilePriority       INTEGER,
                 h3cPseProfilePairs          INTEGER,
                 h3cPseProfileApplyNum       Integer32,
                 h3cPseProfileRowStatus      RowStatus
                    }

  h3cPseProfileIndex OBJECT-TYPE
          SYNTAX Integer32 (1..100)
          MAX-ACCESS not-accessible
          STATUS current
          DESCRIPTION
                 "The index of the profile. This uniquely allow the profile to be
                 identified."
          ::= { h3cPseProfilesEntry 1 }

  h3cPseProfileName OBJECT-TYPE
          SYNTAX DisplayString (SIZE(1..15))
          MAX-ACCESS read-create
          STATUS current
          DESCRIPTION
                "Assigns the profile a name with which the settings
                can be assiciated with. For example, 'NBX Phone'."
          ::= { h3cPseProfilesEntry 2 }

  h3cPseProfilePowerMode OBJECT-TYPE
          SYNTAX INTEGER {
                    powerDisabled (1),
                    powerEnabled (2)
                   }
          MAX-ACCESS read-create
          STATUS current
          DESCRIPTION
                 "The power mode associated with this power profile.  There
                 are two possible power modes as follows: powerDisabled,
                 powerEnabled.  When a power profile is applied to a PSE port,
                 this value dictates the settings of the ports pethPsePortPowerPriority
                 and pethPsePortAdminEnable objects."
          ::= { h3cPseProfilesEntry 3 }

  h3cPseProfilePowerLimit OBJECT-TYPE
          SYNTAX Integer32 (0..15400)
          MAX-ACCESS read-create
          STATUS current
          DESCRIPTION
                 "The power limit to be applied to the ports h3cPsePortPowerLimit
                  object when the profile is applied to the PSE port.  Expressed in
                  milliWatts."
          ::= { h3cPseProfilesEntry 4 }

  h3cPseProfilePriority OBJECT-TYPE
          SYNTAX INTEGER   {
                    critical(1),
                    high(2),
                    low(3)
                   }
          MAX-ACCESS read-create
          STATUS current
          DESCRIPTION
                 "This object controls the priority of the port from the point of
                 view of a power management algorithm.  The priority that is set
                 by this variable could be used by a control mechanism that
                 prevents over current situations by disconnecting first ports
                 with lower power priority. Ports that connect devices critical
                 to the operation of the network - like the E911 telephones
                 ports - should be set to higher priority."
          ::= { h3cPseProfilesEntry 5 }

  h3cPseProfilePairs OBJECT-TYPE
          SYNTAX INTEGER   {
                    signal(1),
                    spare(2)
                    }
          MAX-ACCESS read-create
          STATUS current
          DESCRIPTION
                 "Describes or controls the pairs in use.  If the value of
                 pethPsePortPowerPairsControl is true, this object is writable.
                 A value of signal(1) means that the signal pairs only are in use.
                 A value of spare(2) means that the spare pairs only are in use."
          REFERENCE
                 "IEEE Std 802.3af Section 30.9.1.1.4 aPSEPowerPairs"
          ::= { h3cPseProfilesEntry 6 }

  h3cPseProfileApplyNum OBJECT-TYPE
          SYNTAX Integer32
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
                 "The number of this profile which has been applied.
                 If h3cPseProfileApplyNum is not zero, user can't
                 change the current line."
          ::= { h3cPseProfilesEntry 7 }

  h3cPseProfileRowStatus OBJECT-TYPE
          SYNTAX RowStatus
          MAX-ACCESS read-create
          STATUS current
          DESCRIPTION
                 "The status of this classifier.
                 If h3cPseProfileApplyNum is not zero, user can't
                 delete the current line."
          ::= { h3cPseProfilesEntry 8 }

  h3cPseAutoDetectActive OBJECT-TYPE
          SYNTAX INTEGER
                    {
                    notSupported(1),
                    disabled(2),
                    enabled(3)
                    }
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
                 "The object specifies whether the device auto-detection feature is
                 active.  If this object is set to Active, and a known powered device
                 is detected, then the port will automatically switch to Auto-Guaranteed
                 mode.  This is a stackwide object (ie. it is not referenced by
                 group index)."
          ::= { h3cPowerEthernetExt 3 }

  h3cPsePowerMaxValue OBJECT-TYPE
          SYNTAX Integer32
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
                 "The object specifies the max poe power for lanswitch.
                 The value should between the power currently and the max power."
          ::= { h3cPowerEthernetExt 5 }

  h3cPsePolicyMode OBJECT-TYPE
          SYNTAX INTEGER
                  {
                  disabled(1),
                  priority(2)
                  }
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
                 "The PSE policy only applies to the situation that when a new
                 board (PSE) is inserted, and the power is overload.
                 A value of priority(2) means that the power will stop supplying
                 to the low priority PSE.  About PSE priority, please refer to
                 h3cMainPsePowerPriority.  A value of disabled(1) means that the
                 power will stop supplying to the new inserted PSE.  The default
                 value of this object is disabled(1)."
          ::= { h3cPowerEthernetExt 9 }

  h3cPDPolicyMode OBJECT-TYPE
          SYNTAX INTEGER
                  {
                  disabled(1),
                  priority(2)
                  }
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
                 "The PD policy only applies to the situation that when a new
                 PD is inserted, and the power of PSE is overload.
                 A value of priority(2) means that the power will stop supplying
                 to the low priority port PD.  About port priority, please refer
                 to pethPsePortPowerPriority.  A value of disabled(1) means that
                 the slot stop supplying to the new inserted PD.  The default
                 value of this object is disabled(1)."
          ::= { h3cPowerEthernetExt 10 }

  h3cpseportNotification  OBJECT IDENTIFIER ::= { h3cPowerEthernetExt 6 }

-- Notification  Control  Objects

  h3cpsePDChangeNotification NOTIFICATION-TYPE
          OBJECTS { pethPsePortDetectionStatus }
          STATUS current
          DESCRIPTION
                 "This notification indicates if PD has been inserted or pulled out."
          ::= { h3cpseportNotification 1 }

  h3cPOEDisconnectNotification  NOTIFICATION-TYPE
          OBJECTS { h3cPOEAlarmModuleInfoIndex, h3cPOEModuleDisconnect }
          STATUS current
          DESCRIPTION
                 "This notification indicates the POE power module does not disconnect."
          ::= { h3cpseportNotification 2 }

  h3cPOEInputErrorNotification  NOTIFICATION-TYPE
          OBJECTS { h3cPOEAlarmModuleInfoIndex, h3cPOEModuleInputError }
          STATUS current
          DESCRIPTION
                 "This notification indicates the POE power module input error."
          ::= { h3cpseportNotification 3 }

  h3cPOEOutputErrorNotification  NOTIFICATION-TYPE
          OBJECTS { h3cPOEAlarmModuleInfoIndex, h3cPOEModuleOutputError }
          STATUS current
          DESCRIPTION
                 "This notification indicates the POE power module output error."
          ::= { h3cpseportNotification 4 }

  h3cPOEOverVoltageNotification  NOTIFICATION-TYPE
          OBJECTS { h3cPOEAlarmModuleInfoIndex, h3cPOEModuleOverVoltage }
          STATUS current
          DESCRIPTION
                 "This notification indicates the POE power module overruns the
                 voltage limit."
          ::= { h3cpseportNotification 5 }

  h3cPOEOverTempNotification  NOTIFICATION-TYPE
          OBJECTS { h3cPOEAlarmModuleInfoIndex, h3cPOEModuleOverTemp }
          STATUS current
          DESCRIPTION
                 "This notification indicates the POE power module overruns the
                 temperature limit."
          ::= { h3cpseportNotification 6 }

  h3cPOEFanErrorNotification  NOTIFICATION-TYPE
          OBJECTS { h3cPOEAlarmModuleInfoIndex, h3cPOEModuleFanError }
          STATUS current
          DESCRIPTION
                 "This notification indicates the POE power module fan error."
          ::= { h3cpseportNotification 7 }

  h3cPOEModuleShutdownNotification  NOTIFICATION-TYPE
          OBJECTS { h3cPOEAlarmModuleInfoIndex, h3cPOEModuleShutdown }
          STATUS current
          DESCRIPTION
                 "This notification indicates the POE power module is closed."
          ::= { h3cpseportNotification 8 }

  h3cPOECurRestrictedNotification  NOTIFICATION-TYPE
          OBJECTS { h3cPOEAlarmModuleInfoIndex, h3cPOEModuleCurRestricted }
          STATUS current
          DESCRIPTION
                 "This notification indicates the POE power module current is restricted."
          ::= { h3cpseportNotification 9 }

  h3cPOEACSwitchNotification  NOTIFICATION-TYPE
          OBJECTS { h3cPOEACSwitchStateIndex, h3cPOEACSwitchState }
          STATUS current
          DESCRIPTION
                 "This notification indicates the AC input switch alarm of this POE power."
          ::= { h3cpseportNotification 10 }

  h3cPOEACInCurANotification  NOTIFICATION-TYPE
          OBJECTS { h3cPOEInCurAState }
          STATUS current
          DESCRIPTION
                 "This notification indicates the AC input current A alarm state of
                 this POE power."
          ::= { h3cpseportNotification 11 }

  h3cPOEACInCurBNotification  NOTIFICATION-TYPE
          OBJECTS { h3cPOEInCurBState }
          STATUS current
          DESCRIPTION
                 "This notification indicates the AC input current B alarm state of
                 this POE power."
          ::= { h3cpseportNotification 12 }

  h3cPOEACInCurCNotification  NOTIFICATION-TYPE
          OBJECTS { h3cPOEInCurCState }
          STATUS current
          DESCRIPTION
                 "This notification indicates the AC input current C alarm state of
                 this POE power."
          ::= { h3cpseportNotification 13 }

  h3cPOEACSwitchVolABNotification  NOTIFICATION-TYPE
          OBJECTS { h3cPOESwitchStateVolExIndex, h3cPOESwitchStateInVolAB}
          STATUS current
          DESCRIPTION
                 "This notification indicates the AC input voltage AB alarm state of
                 this POE power."
          ::= { h3cpseportNotification 14 }

  h3cPOEACSwitchVolBCNotification  NOTIFICATION-TYPE
          OBJECTS { h3cPOESwitchStateVolExIndex, h3cPOESwitchStateInVolBC}
          STATUS current
          DESCRIPTION
                 "This notification indicates the AC input voltage BC alarm state of
                 this POE power."
          ::= { h3cpseportNotification 15 }

  h3cPOEACSwitchVolCANotification  NOTIFICATION-TYPE
          OBJECTS { h3cPOESwitchStateVolExIndex, h3cPOESwitchStateInVolCA }
          STATUS current
          DESCRIPTION
                 "This notification indicates the AC input voltage CA alarm state of
                 this POE power."
          ::= { h3cpseportNotification 16 }

  h3cPOEDCOutVolNotification NOTIFICATION-TYPE
          OBJECTS { h3cPOEDCOutStateIndex, h3cPOEDCOutDCVolAlarm }
          STATUS current
          DESCRIPTION
                 "This notification indicates the DC output alarm of this POE power."
          ::= { h3cpseportNotification 17 }

  h3cPOEShutdownNotification NOTIFICATION-TYPE
          STATUS current
          DESCRIPTION
                 "This notification indicates the whole POE power has been shutdown."
          ::= { h3cpseportNotification 18 }
  h3cPseComformance OBJECT IDENTIFIER ::= { h3cPowerEthernetExt 4 }

  h3cPseCompliances OBJECT IDENTIFIER ::= { h3cPseComformance 1 }

  h3cPseCompliance MODULE-COMPLIANCE
          STATUS current
          DESCRIPTION
                 "Description."
          MODULE  -- this module
          MANDATORY-GROUPS {    h3cPsePortGroup,
                                h3cMainPseGroup,
                                h3cPseScalarGroup,
                                h3cPsePDNotificationGroup
                           }
          GROUP h3cPseProfilesGroup
          DESCRIPTION
                 "This group is mandatory only for executing POE commands as a batch."
          ::= { h3cPseCompliances 1 }

  h3cPseGroup OBJECT IDENTIFIER ::= { h3cPseComformance 2 }

  h3cPsePortGroup OBJECT-GROUP
          OBJECTS { h3cPsePortProfileIndex, h3cPsePortPowerLimit, h3cPsePortCurrentPower,
                    h3cPsePortAveragePower, h3cPsePortPeakPower, h3cPsePortFaultDescription,
                    h3cMainPsePriorityMode
                  }
          STATUS current
          DESCRIPTION
                 "A collection of objects should be supported at the same time."
          ::= { h3cPseGroup 1 }

  h3cMainPseGroup OBJECT-GROUP
          OBJECTS { h3cMainPsePowerLimit, h3cMainPseAveragePower, h3cMainPsePeakPower,
                    h3cMainGuaranteedPowerRemaining }
          STATUS current
          DESCRIPTION
                 "A collection of objects should be supported at the same time."
          ::= { h3cPseGroup 2 }

  h3cPseScalarGroup OBJECT-GROUP
          OBJECTS { h3cPseAutoDetectActive, h3cPsePowerMaxValue, h3cPsePolicyMode ,
                    h3cPDPolicyMode }
          STATUS current
          DESCRIPTION
                 "A collection of scalar objects supported."
          ::= { h3cPseGroup 3 }

  h3cPsePDNotificationGroup OBJECT-GROUP
          OBJECTS { h3cpsePDChangeNotification }
          STATUS current
          DESCRIPTION
                 "PD Change Notification."
          ::= { h3cPseGroup 4 }

  h3cPseProfilesGroup OBJECT-GROUP
          OBJECTS { h3cPseProfileName, h3cPseProfilePowerMode,
                    h3cPseProfilePowerLimit, h3cPseProfilePriority,
                    h3cPseProfilePairs, h3cPseProfileApplyNum, h3cPseProfileRowStatus}
          STATUS current
          DESCRIPTION
                 "A collection of objects should be supported at the same time."
          ::= { h3cPseGroup 5 }

  h3cPOEPowerThresholdLimitGroup OBJECT-GROUP
          OBJECTS { h3cPOEThresholdACMimimum, h3cPOEThresholdACMaximum,
                    h3cPOEThresholdDCMinimum, h3cPOEThresholdDCMaximum }
          STATUS current
          DESCRIPTION
                 "Power threshold limits group."
          ::= { h3cPseGroup 6 }

  h3cPOEPowerSupInfoGroup OBJECT-GROUP
          OBJECTS { h3cPOEPowerType, h3cPOEPowerModuleNum, h3cPOESupervisionModuleName,
                    h3cPOESMMajorVersion, h3cPOESMMinorVersion, h3cPOESMFactorName}
          STATUS current
          DESCRIPTION
                 "The basic Power information group."
          ::= { h3cPseGroup 7 }

  h3cPOEPowerDCOutStateGroup OBJECT-GROUP
          OBJECTS { h3cPOEDCOutStateModuleNum }
          STATUS current
          DESCRIPTION
                 "The DC out power state group."
          ::= { h3cPseGroup 8 }

  h3cPOEPowerDCOutInfoGroup OBJECT-GROUP
          OBJECTS { h3cPOEDCOutCurNum }
          STATUS current
          DESCRIPTION
                 "The power AC input switch information group"
          ::= { h3cPseGroup 9 }

  h3cPOEPowerACSwitchStateModuleGroup OBJECT-GROUP
          OBJECTS { h3cPOEACSwitchStateModuleNum}
          STATUS current
          DESCRIPTION
                 "PD Change Notification."
          ::= { h3cPseGroup 10 }

  h3cPOEPowerInCurStateGroup OBJECT-GROUP
          OBJECTS { h3cPOEInCurStateModuleNum, h3cPOEInCurAState, h3cPOEInCurBState,
                    h3cPOEInCurCState}
          STATUS current
          DESCRIPTION
                 "PD Change Notification."
          ::= { h3cPseGroup 11 }

  h3cPOEPowerAlarmStateGroup OBJECT-GROUP
          OBJECTS { h3cPOEAlarmStateModuleNum }
          STATUS current
          DESCRIPTION
                  "PD Change Notification."
          ::= { h3cPseGroup 12 }

  ACAlarmState ::= INTEGER   {
                    normal     (1),
                    underLimit (2),
                    aboveLimit (3),
                    lackPhrase (4),
                    fuseBroken (5),
                    switchOff  (6),
                    otherError (7)
                       }

  DCAlarmState ::= INTEGER   {
                    normal     (1),
                    underLimit (2),
                    aboveLimit (3),
                    fuseBroken (4),
                    switchOff  (5),
                    otherError (6)
                       }

  SwitchState ::= INTEGER   {
                   on            (1),
                   off           (2),
                   highVoltInput (3),
                   lowVoltInput  (4)
                      }

  ModuleAlarmState ::= INTEGER   {
                        normal (1),
                        alarm  (2)
                          }

  h3cPOEPowerObjects OBJECT IDENTIFIER ::= { h3cPowerEthernetExt 8 }

  h3cPOEThresholdLimitObjs OBJECT IDENTIFIER ::= { h3cPOEPowerObjects 1 }

  h3cPOEThresholdACMimimum OBJECT-TYPE
          SYNTAX OCTET STRING (SIZE (1..10))
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
                 "Input threshold AC minimum.
                 It is a read-write node.
                 The value of this node is 'OCTET STRING',
                 it is used to describe a float value.
                 So this string should fit the following rule:
                 1. This string should be terminated by '\0';
                 2. Every characters should be number or radix point;
                 3. The radix point should occur only once, and it should not
                 be the first or the last character of the string.
                 The value of this node should be smaller than 264.0V and larger than 90.0V.
                 And it should be smaller than the h3cPOEThresholdACMaximum."
          ::= { h3cPOEThresholdLimitObjs 1 }

  h3cPOEThresholdACMaximum OBJECT-TYPE
          SYNTAX OCTET STRING (SIZE (1..10))
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
                 "Input threshold AC maximum.
                 It is a read-write node.
                 The value of this node is 'OCTET STRING',
                 it is used to describe a float value.
                 So this string should fit the following rule:
                 1. This string should be terminated by '\0';
                 2. Every characters should be number or radix point;
                 3. The radix point should occur only once, and it should not
                 be the first or the last character of the string.
                 It should be smaller than 264.0V and larger than 90.0V.
                 And it should be larger than the h3cPOEThresholdACMinimum."
          ::= { h3cPOEThresholdLimitObjs 2 }

   h3cPOEThresholdDCMinimum OBJECT-TYPE
          SYNTAX OCTET STRING (SIZE (1..10))
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
                 "Input threshold DC minimum.
                 It is a read-write node.
                 The value of this node is 'OCTET STRING',
                 it is used to describe a float value.
                 So this string should fit the following rule:
                 1. This string should be terminated by '\0';
                 2. Every characters should be number or radix point;
                 3. The radix point should occur only once, and it should not
                 be the first or the last character of the string.
                 It should be smaller than 47.0V and larger than 45.0V."
          ::= { h3cPOEThresholdLimitObjs 3 }

  h3cPOEThresholdDCMaximum OBJECT-TYPE
          SYNTAX OCTET STRING (SIZE (1..10))
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
                 "Input threshold DC maximum.
                 It is a read-write node.
                 The value of this node is 'OCTET STRING',
                 it is used to describe a float value.
                 So this string should fit the following rule:
                 1. This string should be terminated by '\0';
                 2. Every characters should be number or radix point;
                 3. The radix point should occur only once, and it should not
                 be the first or the last character of the string.
                 It should be smaller than 57.0V and larger than 55.0V."
          ::= { h3cPOEThresholdLimitObjs 4 }

  h3cPOESupModuleInfoObjs OBJECT IDENTIFIER ::= { h3cPOEPowerObjects 2 }

  h3cPOEPowerType OBJECT-TYPE
          SYNTAX OCTET STRING (SIZE (1..127))
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
                 "The type of the power."
          ::= { h3cPOESupModuleInfoObjs 1 }

  h3cPOEPowerModuleNum OBJECT-TYPE
          SYNTAX Integer32
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
                 "The number of the power modules."
          ::= { h3cPOESupModuleInfoObjs 2 }

  h3cPOESupervisionModuleName OBJECT-TYPE
          SYNTAX OCTET STRING (SIZE (1..127))
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
                 "The object specifies the Supervision Module name on this POE power."
          ::= { h3cPOESupModuleInfoObjs 3 }

  h3cPOESMMajorVersion OBJECT-TYPE
          SYNTAX Integer32
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
                 "The object specifies the high byte of the monitor module version."
          ::= { h3cPOESupModuleInfoObjs 4 }

  h3cPOESMMinorVersion OBJECT-TYPE
          SYNTAX Integer32
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
                 "The object specifies the low byte of the monitor module version."
          ::= { h3cPOESupModuleInfoObjs 5 }

  h3cPOESMFactorName OBJECT-TYPE
          SYNTAX OCTET STRING (SIZE (1..127))
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
                 "The object specifies the name of the manufactor."
          ::= { h3cPOESupModuleInfoObjs 6 }

  h3cPOEModuleInfoTable OBJECT-TYPE
          SYNTAX SEQUENCE OF H3cPOEModuleInfoEntry
          MAX-ACCESS not-accessible
          STATUS current
          DESCRIPTION
                 "The table of the module information on this POE power."
          ::= { h3cPOESupModuleInfoObjs 7 }

  h3cPOEModuleInfoEntry OBJECT-TYPE
          SYNTAX H3cPOEModuleInfoEntry
          MAX-ACCESS not-accessible
          STATUS current
          DESCRIPTION
                 "The entry of the module information on this POE power."
          INDEX { h3cPOEModuleIndex }
          ::= { h3cPOEModuleInfoTable 1 }

  H3cPOEModuleInfoEntry ::=
          SEQUENCE {
                     h3cPOEModuleIndex
                             Integer32,
                     h3cPOEModuleID
                             Integer32,
                     h3cPOEModuleInfoPower
                             Integer32,
                     h3cPOEModuleHardVerInfo
                             OCTET STRING
                    }

  h3cPOEModuleIndex OBJECT-TYPE
          SYNTAX Integer32 (1..2147483647)
          MAX-ACCESS accessible-for-notify
          STATUS current
          DESCRIPTION
                 "The index of the current module on this POE power.
                 It is also the index of h3cPOEModuleInfoTable.
                 The range of this node is from 1 to h3cPOEPowerModuleNum."
          ::= { h3cPOEModuleInfoEntry 1 }

  h3cPOEModuleID OBJECT-TYPE
          SYNTAX Integer32
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
                 "The ID of the current module on this POE power."
          ::= { h3cPOEModuleInfoEntry 2 }

  h3cPOEModuleInfoPower OBJECT-TYPE
          SYNTAX Integer32
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
                 "The power of the current module on this POE power."
          ::= { h3cPOEModuleInfoEntry 3 }

  h3cPOEModuleHardVerInfo OBJECT-TYPE
          SYNTAX OCTET STRING (SIZE (1..127))
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
                 "The hardware version information of the current module on this POE power."
          ::= { h3cPOEModuleInfoEntry 4 }

  h3cPOEDCOutStateObjects OBJECT IDENTIFIER ::= { h3cPOEPowerObjects 3 }

  h3cPOEDCOutStateModuleNum OBJECT-TYPE
          SYNTAX Integer32
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
                 "The module number on this POE power.
                 It is the maximum of the h3cPOEDCOutStateIndex."
          ::= { h3cPOEDCOutStateObjects 1 }

  h3cPOEDCOutStateTable OBJECT-TYPE
          SYNTAX SEQUENCE OF H3cPOEDCOutStateEntry
          MAX-ACCESS not-accessible
          STATUS current
          DESCRIPTION
                 "The table of DC output power state on this POE power."
          ::= { h3cPOEDCOutStateObjects 2 }

  h3cPOEDCOutStateEntry OBJECT-TYPE
          SYNTAX H3cPOEDCOutStateEntry
          MAX-ACCESS not-accessible
          STATUS current
          DESCRIPTION
                 "The entry of the DC output power state on this POE power."
          INDEX { h3cPOEDCOutStateIndex }
          ::= { h3cPOEDCOutStateTable 1 }

          H3cPOEDCOutStateEntry ::=
                  SEQUENCE {
                           h3cPOEDCOutStateIndex
                                   Integer32,
                           h3cPOEDCOutDCVolAlarm
                                   DCAlarmState
                        }

   h3cPOEDCOutStateIndex OBJECT-TYPE
          SYNTAX Integer32 (1..2147483647)
          MAX-ACCESS accessible-for-notify
          STATUS current
          DESCRIPTION
                 "The index of the DC output power state on this POE power.
                 The range of this node is from 1 to h3cPOEDCOutStateModuleNum."
          ::= { h3cPOEDCOutStateEntry 1 }

   h3cPOEDCOutDCVolAlarm OBJECT-TYPE
          SYNTAX DCAlarmState
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
                 "The DC output alarm of the DC output power state on this POE power.
                 The value of this node will be the following values:
                                     normal     (1),
                                     underLimit (2),
                                     aboveLimit (3),
                                     fuseBroken (4),
                                     switchOff  (5),
                                     otherError (6)."
          ::= { h3cPOEDCOutStateEntry 2 }

   h3cPOEDCOutInfoObjects OBJECT IDENTIFIER ::= { h3cPOEPowerObjects 4 }

   h3cPOEDCOutCurNum OBJECT-TYPE
          SYNTAX Integer32
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
                 "The number of DC output current on this POE power.
                 It is the maximum of h3cPOEDCOutInfoIndex."
          ::= { h3cPOEDCOutInfoObjects 1 }

  h3cPOEDCOutInfoTable OBJECT-TYPE
          SYNTAX SEQUENCE OF H3cPOEDCOutInfoEntry
          MAX-ACCESS not-accessible
          STATUS current
          DESCRIPTION
                 "The table of the DC output information on this POE power."
          ::= { h3cPOEDCOutInfoObjects 2 }

  h3cPOEDCOutInfoEntry OBJECT-TYPE
          SYNTAX H3cPOEDCOutInfoEntry
          MAX-ACCESS not-accessible
          STATUS current
          DESCRIPTION
                 "The entry of the DC output information on this POE power."
          INDEX { h3cPOEDCOutInfoIndex }
          ::= { h3cPOEDCOutInfoTable 1 }

  H3cPOEDCOutInfoEntry ::=
          SEQUENCE {
                    h3cPOEDCOutInfoIndex
                            Integer32,
                    h3cPOEDCOutVol
                            OCTET STRING,
                    h3cPOEDCOutInfoLoadCur
                            OCTET STRING
                  }

   h3cPOEDCOutInfoIndex OBJECT-TYPE
          SYNTAX Integer32 (1..2147483647)
          MAX-ACCESS accessible-for-notify
          STATUS current
          DESCRIPTION
                 "The index of the DC output information on this POE POWER.
                 The range of this node is from 1 to h3cPOEDCOutCurNum."
          ::= { h3cPOEDCOutInfoEntry 1 }

   h3cPOEDCOutVol OBJECT-TYPE
          SYNTAX OCTET STRING (SIZE (1..10))
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
                 "The DC output voltage of the current DC output on this POE power."
          ::= { h3cPOEDCOutInfoEntry 2 }

  h3cPOEDCOutInfoLoadCur OBJECT-TYPE
          SYNTAX OCTET STRING (SIZE (1..10))
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
                 "The total load current of the current DC output on this POE power."
          ::= { h3cPOEDCOutInfoEntry 3 }

  h3cPOEACSwitchStateModuleObjs OBJECT IDENTIFIER ::= { h3cPOEPowerObjects 5 }

  h3cPOEACSwitchStateModuleNum OBJECT-TYPE
          SYNTAX Integer32
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
                 "The number of the AC swtich state module on this POE power.
                 It is the maximum of h3cPOEACSwitchStateIndex."
          ::= { h3cPOEACSwitchStateModuleObjs 1 }

  h3cPOEACSwitchStateTable OBJECT-TYPE
          SYNTAX SEQUENCE OF H3cPOEACSwitchStateEntry
          MAX-ACCESS not-accessible
          STATUS current
          DESCRIPTION
                 "The table of the AC switch state on this POE power."
          ::= { h3cPOEACSwitchStateModuleObjs 2 }

  h3cPOEACSwitchStateEntry OBJECT-TYPE
          SYNTAX H3cPOEACSwitchStateEntry
          MAX-ACCESS not-accessible
          STATUS current
          DESCRIPTION
                 "The entry of the AC switch state on this POE power."
          INDEX { h3cPOEACSwitchStateIndex }
          ::= { h3cPOEACSwitchStateTable 1 }

  H3cPOEACSwitchStateEntry ::=
          SEQUENCE {
                    h3cPOEACSwitchStateIndex
                            Integer32,
                    h3cPOEACSwitchState
                            SwitchState
                   }

  h3cPOEACSwitchStateIndex OBJECT-TYPE
          SYNTAX Integer32 (1..2147483647)
          MAX-ACCESS accessible-for-notify
          STATUS current
          DESCRIPTION
                 "The index of the AC switch state on this POE power.
                 The range of this node is from 1 to h3cPOEACSwitchStateModuleNum."
          ::= { h3cPOEACSwitchStateEntry 1 }

  h3cPOEACSwitchState OBJECT-TYPE
          SYNTAX SwitchState
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
                 "The AC switch state on this POE power.
                 The value of this node will be one of the following values:
                                     on             (1),
                                     off            (2),
                                     highVoltInput  (3),
                                     lowVoltInput   (4)"
          ::= { h3cPOEACSwitchStateEntry 2 }

  h3cPOEInCurStateObjects OBJECT IDENTIFIER ::= { h3cPOEPowerObjects 6 }

  h3cPOEInCurStateModuleNum OBJECT-TYPE
          SYNTAX Integer32
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
                 "The DC input current state of the module on this POE power.
                 It is the maximum of the h3cPOESwitchStateVolExIndex."
          ::= { h3cPOEInCurStateObjects 1 }

  h3cPOEInCurAState OBJECT-TYPE
          SYNTAX ACAlarmState
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
                 "The current A state in the DC input on this POE power.
                                     normal     (1),
                                     underLimit (2),
                                     aboveLimit (3),
                                     lackPhrase (4),
                                     fuseBroken (5),
                                     switchOff  (6),
                                     otherError (7)."
          ::= { h3cPOEInCurStateObjects 2 }

  h3cPOEInCurBState OBJECT-TYPE
          SYNTAX ACAlarmState
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
                 "The current B state in the DC input on this POE power.
                 The value of this node will be one of the following values:
                                     normal     (1),
                                     underLimit (2),
                                     aboveLimit (3),
                                     lackPhrase (4),
                                     fuseBroken (5),
                                     switchOff  (6),
                                     otherError (7)."
          ::= { h3cPOEInCurStateObjects 3 }

  h3cPOEInCurCState OBJECT-TYPE
          SYNTAX ACAlarmState
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
                 "The current C state in the DC input on this POE power.
                 The value of this node will be one of the following values:
                                     normal     (1),
                                     underLimit (2),
                                     aboveLimit (3),
                                     lackPhrase (4),
                                     fuseBroken (5),
                                     switchOff  (6),
                                     otherError (7)."
          ::= { h3cPOEInCurStateObjects 4 }

  h3cPOESwitchStateVolExTable OBJECT-TYPE
          SYNTAX SEQUENCE OF H3cPOESwitchStateVolExEntry
          MAX-ACCESS not-accessible
          STATUS current
          DESCRIPTION
                 "All alarm status of the VOL status.
                 The value of this node will be one of the following values:
                                     normal     (1),
                                     underLimit (2),
                                     aboveLimit (3),
                                     lackPhrase (4),
                                     fuseBroken (5),
                                     switchOff  (6),
                                     otherError (7)."
          ::= { h3cPOEInCurStateObjects 5 }

  h3cPOESwitchStateVolExEntry OBJECT-TYPE
          SYNTAX H3cPOESwitchStateVolExEntry
          MAX-ACCESS not-accessible
          STATUS current
          DESCRIPTION
                 "The h3cPOESwitchStateVolExIndex will match the number of the VOL status."
          INDEX { h3cPOESwitchStateVolExIndex }
          ::= { h3cPOESwitchStateVolExTable 1 }

  H3cPOESwitchStateVolExEntry ::=
          SEQUENCE {
                   h3cPOESwitchStateVolExIndex
                           Integer32,
                   h3cPOESwitchStateInVolAB
                           ACAlarmState,
                   h3cPOESwitchStateInVolBC
                           ACAlarmState,
                   h3cPOESwitchStateInVolCA
                           ACAlarmState
                   }

  h3cPOESwitchStateVolExIndex OBJECT-TYPE
          SYNTAX Integer32 (1..2147483647)
          MAX-ACCESS accessible-for-notify
          STATUS current
          DESCRIPTION
                 "The object species the index of the VOL status.
                 The range of this node is from 1 to h3cPOEInCurStateModuleNum."
          ::= { h3cPOESwitchStateVolExEntry 1 }

  h3cPOESwitchStateInVolAB OBJECT-TYPE
          SYNTAX ACAlarmState
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
                 "The object specifies the VOL AB alarm in each VOL status.
                 The value of this node will be one of the following values:
                                     normal     (1),
                                     underLimit (2),
                                     aboveLimit (3),
                                     lackPhrase (4),
                                     fuseBroken (5),
                                     switchOff  (6),
                                     otherError (7)."
          ::= { h3cPOESwitchStateVolExEntry 2 }

  h3cPOESwitchStateInVolBC OBJECT-TYPE
          SYNTAX ACAlarmState
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
                 "The object specifies the VOL BC alarm in each VOL status.
                 The value of this node will be one of the following values:
                                     normal     (1),
                                     underLimit (2),
                                     aboveLimit (3),
                                     lackPhrase (4),
                                     fuseBroken (5),
                                     switchOff  (6),
                                     otherError (7)."
          ::= { h3cPOESwitchStateVolExEntry 3 }

  h3cPOESwitchStateInVolCA OBJECT-TYPE
          SYNTAX ACAlarmState
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
                 "The object specifies the VOL CA alarm in each VOL status.
                 The value of this node will be one of the following values:
                                     normal     (1),
                                     underLimit (2),
                                     aboveLimit (3),
                                     lackPhrase (4),
                                     fuseBroken (5),
                                     switchOff  (6),
                                     otherError (7)."
          ::= { h3cPOESwitchStateVolExEntry 4 }

  h3cPOEAlarmStateObjects OBJECT IDENTIFIER ::= { h3cPOEPowerObjects 7 }

  h3cPOEAlarmStateModuleNum OBJECT-TYPE
          SYNTAX Integer32
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
                 "The object specifies the number of the power modules in alarm state."
          ::= { h3cPOEAlarmStateObjects 1 }

  h3cPOEAlarmStateInfoTable OBJECT-TYPE
          SYNTAX SEQUENCE OF H3cPOEAlarmStateInfoEntry
          MAX-ACCESS not-accessible
          STATUS current
          DESCRIPTION
                 "All alarm states in the POE power modules."
          ::= { h3cPOEAlarmStateObjects 2 }

  h3cPOEAlarmStateInfoEntry OBJECT-TYPE
          SYNTAX H3cPOEAlarmStateInfoEntry
          MAX-ACCESS not-accessible
          STATUS current
          DESCRIPTION
                 "The h3cPOEAlarmModuleInfoIndex will match the number
                 of the power module."
  INDEX { h3cPOEAlarmModuleInfoIndex }
          ::= { h3cPOEAlarmStateInfoTable 1 }

  H3cPOEAlarmStateInfoEntry ::=
          SEQUENCE {
                   h3cPOEAlarmModuleInfoIndex
                           Integer32,
                   h3cPOEModuleDisconnect
                           ModuleAlarmState,
                   h3cPOEModuleInputError
                           ModuleAlarmState,
                   h3cPOEModuleOutputError
                           ModuleAlarmState,
                   h3cPOEModuleOverVoltage
                           ModuleAlarmState,
                   h3cPOEModuleOverTemp
                           ModuleAlarmState,
                   h3cPOEModuleFanError
                           ModuleAlarmState,
                   h3cPOEModuleShutdown
                           ModuleAlarmState,
                   h3cPOEModuleCurRestricted
                           ModuleAlarmState
                   }

   h3cPOEAlarmModuleInfoIndex OBJECT-TYPE
          SYNTAX Integer32 (1..2147483647)
          MAX-ACCESS accessible-for-notify
          STATUS current
          DESCRIPTION
                 "The index specifies the index of the H3cPOEAlarmStateInfoEntry table.
                 The range of this node is from 1 to h3cPOEAlarmStateModuleNum."
          ::= { h3cPOEAlarmStateInfoEntry 1 }

  h3cPOEModuleDisconnect OBJECT-TYPE
          SYNTAX ModuleAlarmState
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
                 "The node specifies the alarm state:
                 The module does not link.
                 The value of this node is one of the following values:
                                  normal (1),
                                  alarm  (2)."
          ::= { h3cPOEAlarmStateInfoEntry 2 }

   h3cPOEModuleInputError OBJECT-TYPE
          SYNTAX ModuleAlarmState
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
                 "The node specifies the alarm state:
                                     Input error.
                 The value of this node is one of the following values:
                                     normal (1),
                                     alarm  (2)."
          ::= { h3cPOEAlarmStateInfoEntry 3 }

  h3cPOEModuleOutputError OBJECT-TYPE
          SYNTAX ModuleAlarmState
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
                 "The node specifies the alarm state:
                                     Output error.
                 The value of this node is one of the following values:
                                     normal (1),
                                     alarm  (2)."
          ::= { h3cPOEAlarmStateInfoEntry 4 }

  h3cPOEModuleOverVoltage OBJECT-TYPE
          SYNTAX ModuleAlarmState
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
                 "The node specifies the alarm state:
                                     The voltage is too high.
                 The value of this node is one of the following values:
                                     normal (1),
                                     alarm  (2)."
          ::= { h3cPOEAlarmStateInfoEntry 5 }

  h3cPOEModuleOverTemp OBJECT-TYPE
          SYNTAX ModuleAlarmState
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
                 "The node specifies the alarm state:
                                     The temperature is too high.
                 The value of this node is one of the following values:
                                     normal (1),
                                     alarm  (2)."
          ::= { h3cPOEAlarmStateInfoEntry 6 }

  h3cPOEModuleFanError OBJECT-TYPE
          SYNTAX ModuleAlarmState
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
                 "The node specifies the alarm state:
                                     The fan error.
                 The value of this node is one of the following values:
                                     normal (1),
                                     alarm  (2)."
          ::= { h3cPOEAlarmStateInfoEntry 7 }

   h3cPOEModuleShutdown OBJECT-TYPE
          SYNTAX ModuleAlarmState
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
                 "The node specifies the alarm state:
                                     The module is shutdown.
                 The value of this node is one of the following values:
                                     normal (1),
                                     alarm  (2)."
          ::= { h3cPOEAlarmStateInfoEntry 8 }

  h3cPOEModuleCurRestricted OBJECT-TYPE
          SYNTAX ModuleAlarmState
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
                 "The node specifies the alarm state:
                                     The module limit the current.
                 The value of this node is one of the following values:
                                     normal (1),
                                     alarm  (2)."
          ::= { h3cPOEAlarmStateInfoEntry 9 }
  END
