-- =================================================================
-- Copyright (c) 2010-2013 Hewlett-Packard Development Company, L.P.
--
-- 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 hpnicfMainPsePriorityModehpnicfPsePowerMaxValue
--                   hpnicfpsePDChangNotification adjust the objects' sequence of
--                   hpnicfPsePortTable and hpnicfMainPseTable add the description
--                   of MANDATORY-GROUPS in hpnicfPseCompliance.
--   V1.3 2004-12-16 Update file by liuhongxu for poe profile
--                   add hpnicfPsePortProfile, hpnicfPseProfilesTable
--                   change the name of hpnicfPseProfileIndex add
--                   hpnicfPseProfileApplyNum.  adjust the format of this mib.
--   V1.4 2005-03-29 Update file by Wangzhaoyan for poe pow need.
--                   add hpnicfPOEPowerObjects, hpnicfPOEThresholdLimitObjs,
--                   hpnicfPOESupModuleInfoObjs, hpnicfPOEDCOutStateObjects,
--                   hpnicfPOEDCDCOutInfoObjects, hpnicfPOEACSwitchStateModuleObjs,
--                   hpnicfPOEInCurStateObjects, hpnicfPOEAlarmStateObjects and the
--                   sub-nodes.  add 17 traps change the node name from
--                   hpnicfpsePDChangNotification to hpnicfpsePDChangeNotification
--                   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 hpnicfPsePolicyMode, hpnicfPDPolicyMode,
--                   hpnicfMainPsePowerPriority.
--                   Delete some description of hpnicfPsePortProfileIndex node.
--                   Change the description of hpnicfPseProfilePowerMode node.
--                   Change SYNTAX OCTET STRING range for the following nodes:
--                   hpnicfPOEPowerType, hpnicfPOESupervisionModuleName,
--                   hpnicfPOESMFactorName, hpnicfPOEModuleHardVerInfo.
--                   Adjust the format of this mib.
-- =================================================================
HPN-ICF-POWER-ETH-EXT-MIB DEFINITIONS ::= BEGIN

  IMPORTS
          hpnicfCommon
                  FROM HPN-ICF-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;


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

          ORGANIZATION
              ""
          CONTACT-INFO
              ""
          DESCRIPTION
                  "Description."
          ::= { hpnicfCommon 14 }


--
-- Node definitions
--

  hpnicfPsePortTable OBJECT-TYPE
          SYNTAX SEQUENCE OF HpnicfPsePortEntry
          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."
          ::= { hpnicfPowerEthernetExt 1 }


  hpnicfPsePortEntry OBJECT-TYPE
          SYNTAX HpnicfPsePortEntry
          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 }
          ::= { hpnicfPsePortTable 1 }


  HpnicfPsePortEntry ::=
          SEQUENCE {
                  hpnicfPsePortFaultDescription
                          DisplayString,
                  hpnicfPsePortPeakPower
                          Integer32,
                  hpnicfPsePortAveragePower
                          Integer32,
                  hpnicfPsePortCurrentPower
                          Integer32,
                  hpnicfPsePortPowerLimit
                          Integer32,
                  hpnicfPsePortProfileIndex
                          Integer32
          }

  hpnicfPsePortFaultDescription 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."
          ::= { hpnicfPsePortEntry 2 }


  hpnicfPsePortPeakPower 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."
          ::= { hpnicfPsePortEntry 3 }


  hpnicfPsePortAveragePower 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."
          ::= { hpnicfPsePortEntry 4 }


  hpnicfPsePortCurrentPower 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."
          ::= { hpnicfPsePortEntry 5 }


  hpnicfPsePortPowerLimit 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."
          ::= { hpnicfPsePortEntry 6 }

  hpnicfPsePortProfileIndex 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
                 hpnicfPseProfileIndex 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
                 hpnicfPseProfileIndex is set to an index of existent profile,
                 pethPsePortPowerPairs, pethPsePortPowerPriority,
                 pethPsePortAdminEnable and hpnicfPsePortPowerLimit will be
                 set to the same as corresponding value.  PethPsePortPowerPairs,
                 pethPsePortPowerPriority and pethPsePortAdminEnable are objects
                 of rfc3621-Power-Ethernet.mib."
          ::= { hpnicfPsePortEntry 7 }


  hpnicfMainPseTable OBJECT-TYPE
          SYNTAX SEQUENCE OF HpnicfMainPseEntry
          MAX-ACCESS not-accessible
          STATUS current
          DESCRIPTION
                  "Description."
          ::= { hpnicfPowerEthernetExt 2 }


  hpnicfMainPseEntry OBJECT-TYPE
          SYNTAX HpnicfMainPseEntry
          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 }
          ::= { hpnicfMainPseTable 1 }


  HpnicfMainPseEntry ::=
          SEQUENCE {
                  hpnicfMainGuaranteedPowerRemaining
                             Integer32,
                  hpnicfMainPsePeakPower
                             Integer32,
                  hpnicfMainPseAveragePower
                             Integer32,
                  hpnicfMainPsePowerLimit
                             Integer32,
                  hpnicfMainPsePriorityMode
                             INTEGER,
                  hpnicfMainPseLegacy
                             INTEGER,
                  hpnicfMainPsePowerPriority
                             INTEGER
                  }

  hpnicfMainPsePowerLimit 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)."
          ::= { hpnicfMainPseEntry 1 }


  hpnicfMainPseAveragePower 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."
          ::= { hpnicfMainPseEntry 2 }


  hpnicfMainPsePeakPower 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."
          ::= { hpnicfMainPseEntry 3 }


  hpnicfMainGuaranteedPowerRemaining 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)."
          ::= { hpnicfMainPseEntry 4 }


  hpnicfMainPsePriorityMode 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."
          ::= { hpnicfMainPseEntry 5 }

  hpnicfMainPseLegacy 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."
          ::= { hpnicfMainPseEntry 6 }

  hpnicfMainPsePowerPriority 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."
          ::= { hpnicfMainPseEntry 7 }

-- Power Profile PSE table
  hpnicfPseProfilesTable OBJECT-TYPE
          SYNTAX SEQUENCE OF HpnicfPseProfilesEntry
          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."
          ::= { hpnicfPowerEthernetExt 7 }

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

  HpnicfPseProfilesEntry ::= SEQUENCE {
                 hpnicfPseProfileIndex     Integer32,
                 hpnicfPseProfileName      DisplayString,
                 hpnicfPseProfilePowerMode      INTEGER,
                 hpnicfPseProfilePowerLimit     Integer32,
                 hpnicfPseProfilePriority       INTEGER,
                 hpnicfPseProfilePairs          INTEGER,
                 hpnicfPseProfileApplyNum       Integer32,
                 hpnicfPseProfileRowStatus      RowStatus
                    }

  hpnicfPseProfileIndex 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."
          ::= { hpnicfPseProfilesEntry 1 }

  hpnicfPseProfileName 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'."
          ::= { hpnicfPseProfilesEntry 2 }

  hpnicfPseProfilePowerMode 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."
          ::= { hpnicfPseProfilesEntry 3 }

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

  hpnicfPseProfilePriority 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."
          ::= { hpnicfPseProfilesEntry 5 }

  hpnicfPseProfilePairs 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"
          ::= { hpnicfPseProfilesEntry 6 }

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

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

  hpnicfPseAutoDetectActive 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)."
          ::= { hpnicfPowerEthernetExt 3 }

  hpnicfPsePowerMaxValue 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."
          ::= { hpnicfPowerEthernetExt 5 }

  hpnicfPsePolicyMode 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
                 hpnicfMainPsePowerPriority.  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)."
          ::= { hpnicfPowerEthernetExt 9 }

  hpnicfPDPolicyMode 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)."
          ::= { hpnicfPowerEthernetExt 10 }

  hpnicfpseportNotification  OBJECT IDENTIFIER ::= { hpnicfPowerEthernetExt 6 }

-- Notification  Control  Objects

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

  hpnicfPOEDisconnectNotification  NOTIFICATION-TYPE
          OBJECTS { hpnicfPOEAlarmModuleInfoIndex, hpnicfPOEModuleDisconnect }
          STATUS current
          DESCRIPTION
                 "This notification indicates the POE power module does not disconnect."
          ::= { hpnicfpseportNotification 2 }

  hpnicfPOEInputErrorNotification  NOTIFICATION-TYPE
          OBJECTS { hpnicfPOEAlarmModuleInfoIndex, hpnicfPOEModuleInputError }
          STATUS current
          DESCRIPTION
                 "This notification indicates the POE power module input error."
          ::= { hpnicfpseportNotification 3 }

  hpnicfPOEOutputErrorNotification  NOTIFICATION-TYPE
          OBJECTS { hpnicfPOEAlarmModuleInfoIndex, hpnicfPOEModuleOutputError }
          STATUS current
          DESCRIPTION
                 "This notification indicates the POE power module output error."
          ::= { hpnicfpseportNotification 4 }

  hpnicfPOEOverVoltageNotification  NOTIFICATION-TYPE
          OBJECTS { hpnicfPOEAlarmModuleInfoIndex, hpnicfPOEModuleOverVoltage }
          STATUS current
          DESCRIPTION
                 "This notification indicates the POE power module overruns the
                 voltage limit."
          ::= { hpnicfpseportNotification 5 }

  hpnicfPOEOverTempNotification  NOTIFICATION-TYPE
          OBJECTS { hpnicfPOEAlarmModuleInfoIndex, hpnicfPOEModuleOverTemp }
          STATUS current
          DESCRIPTION
                 "This notification indicates the POE power module overruns the
                 temperature limit."
          ::= { hpnicfpseportNotification 6 }

  hpnicfPOEFanErrorNotification  NOTIFICATION-TYPE
          OBJECTS { hpnicfPOEAlarmModuleInfoIndex, hpnicfPOEModuleFanError }
          STATUS current
          DESCRIPTION
                 "This notification indicates the POE power module fan error."
          ::= { hpnicfpseportNotification 7 }

  hpnicfPOEModuleShutdownNotification  NOTIFICATION-TYPE
          OBJECTS { hpnicfPOEAlarmModuleInfoIndex, hpnicfPOEModuleShutdown }
          STATUS current
          DESCRIPTION
                 "This notification indicates the POE power module is closed."
          ::= { hpnicfpseportNotification 8 }

  hpnicfPOECurRestrictedNotification  NOTIFICATION-TYPE
          OBJECTS { hpnicfPOEAlarmModuleInfoIndex, hpnicfPOEModuleCurRestricted }
          STATUS current
          DESCRIPTION
                 "This notification indicates the POE power module current is restricted."
          ::= { hpnicfpseportNotification 9 }

  hpnicfPOEACSwitchNotification  NOTIFICATION-TYPE
          OBJECTS { hpnicfPOEACSwitchStateIndex, hpnicfPOEACSwitchState }
          STATUS current
          DESCRIPTION
                 "This notification indicates the AC input switch alarm of this POE power."
          ::= { hpnicfpseportNotification 10 }

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

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

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

  hpnicfPOEACSwitchVolABNotification  NOTIFICATION-TYPE
          OBJECTS { hpnicfPOESwitchStateVolExIndex, hpnicfPOESwitchStateInVolAB}
          STATUS current
          DESCRIPTION
                 "This notification indicates the AC input voltage AB alarm state of
                 this POE power."
          ::= { hpnicfpseportNotification 14 }

  hpnicfPOEACSwitchVolBCNotification  NOTIFICATION-TYPE
          OBJECTS { hpnicfPOESwitchStateVolExIndex, hpnicfPOESwitchStateInVolBC}
          STATUS current
          DESCRIPTION
                 "This notification indicates the AC input voltage BC alarm state of
                 this POE power."
          ::= { hpnicfpseportNotification 15 }

  hpnicfPOEACSwitchVolCANotification  NOTIFICATION-TYPE
          OBJECTS { hpnicfPOESwitchStateVolExIndex, hpnicfPOESwitchStateInVolCA }
          STATUS current
          DESCRIPTION
                 "This notification indicates the AC input voltage CA alarm state of
                 this POE power."
          ::= { hpnicfpseportNotification 16 }

  hpnicfPOEDCOutVolNotification NOTIFICATION-TYPE
          OBJECTS { hpnicfPOEDCOutStateIndex, hpnicfPOEDCOutDCVolAlarm }
          STATUS current
          DESCRIPTION
                 "This notification indicates the DC output alarm of this POE power."
          ::= { hpnicfpseportNotification 17 }

  hpnicfPOEShutdownNotification NOTIFICATION-TYPE
          STATUS current
          DESCRIPTION
                 "This notification indicates the whole POE power has been shutdown."
          ::= { hpnicfpseportNotification 18 }
  hpnicfPseComformance OBJECT IDENTIFIER ::= { hpnicfPowerEthernetExt 4 }

  hpnicfPseCompliances OBJECT IDENTIFIER ::= { hpnicfPseComformance 1 }

  hpnicfPseCompliance MODULE-COMPLIANCE
          STATUS current
          DESCRIPTION
                 "Description."
          MODULE  -- this module
          MANDATORY-GROUPS {    hpnicfPsePortGroup,
                                hpnicfMainPseGroup,
                                hpnicfPseScalarGroup,
                                hpnicfPsePDNotificationGroup
                           }
          GROUP hpnicfPseProfilesGroup
          DESCRIPTION
                 "This group is mandatory only for executing POE commands as a batch."
          ::= { hpnicfPseCompliances 1 }

  hpnicfPseGroup OBJECT IDENTIFIER ::= { hpnicfPseComformance 2 }

  hpnicfPsePortGroup OBJECT-GROUP
          OBJECTS { hpnicfPsePortProfileIndex, hpnicfPsePortPowerLimit, hpnicfPsePortCurrentPower,
                    hpnicfPsePortAveragePower, hpnicfPsePortPeakPower, hpnicfPsePortFaultDescription,
                    hpnicfMainPsePriorityMode
                  }
          STATUS current
          DESCRIPTION
                 "A collection of objects should be supported at the same time."
          ::= { hpnicfPseGroup 1 }

  hpnicfMainPseGroup OBJECT-GROUP
          OBJECTS { hpnicfMainPsePowerLimit, hpnicfMainPseAveragePower, hpnicfMainPsePeakPower,
                    hpnicfMainGuaranteedPowerRemaining }
          STATUS current
          DESCRIPTION
                 "A collection of objects should be supported at the same time."
          ::= { hpnicfPseGroup 2 }

  hpnicfPseScalarGroup OBJECT-GROUP
          OBJECTS { hpnicfPseAutoDetectActive, hpnicfPsePowerMaxValue, hpnicfPsePolicyMode ,
                    hpnicfPDPolicyMode }
          STATUS current
          DESCRIPTION
                 "A collection of scalar objects supported."
          ::= { hpnicfPseGroup 3 }

  hpnicfPsePDNotificationGroup OBJECT-GROUP
          OBJECTS { hpnicfpsePDChangeNotification }
          STATUS current
          DESCRIPTION
                 "PD Change Notification."
          ::= { hpnicfPseGroup 4 }

  hpnicfPseProfilesGroup OBJECT-GROUP
          OBJECTS { hpnicfPseProfileName, hpnicfPseProfilePowerMode,
                    hpnicfPseProfilePowerLimit, hpnicfPseProfilePriority,
                    hpnicfPseProfilePairs, hpnicfPseProfileApplyNum, hpnicfPseProfileRowStatus}
          STATUS current
          DESCRIPTION
                 "A collection of objects should be supported at the same time."
          ::= { hpnicfPseGroup 5 }

  hpnicfPOEPowerThresholdLimitGroup OBJECT-GROUP
          OBJECTS { hpnicfPOEThresholdACMimimum, hpnicfPOEThresholdACMaximum,
                    hpnicfPOEThresholdDCMinimum, hpnicfPOEThresholdDCMaximum }
          STATUS current
          DESCRIPTION
                 "Power threshold limits group."
          ::= { hpnicfPseGroup 6 }

  hpnicfPOEPowerSupInfoGroup OBJECT-GROUP
          OBJECTS { hpnicfPOEPowerType, hpnicfPOEPowerModuleNum, hpnicfPOESupervisionModuleName,
                    hpnicfPOESMMajorVersion, hpnicfPOESMMinorVersion, hpnicfPOESMFactorName}
          STATUS current
          DESCRIPTION
                 "The basic Power information group."
          ::= { hpnicfPseGroup 7 }

  hpnicfPOEPowerDCOutStateGroup OBJECT-GROUP
          OBJECTS { hpnicfPOEDCOutStateModuleNum }
          STATUS current
          DESCRIPTION
                 "The DC out power state group."
          ::= { hpnicfPseGroup 8 }

  hpnicfPOEPowerDCOutInfoGroup OBJECT-GROUP
          OBJECTS { hpnicfPOEDCOutCurNum }
          STATUS current
          DESCRIPTION
                 "The power AC input switch information group"
          ::= { hpnicfPseGroup 9 }

  hpnicfPOEPowerACSwitchStateModuleGroup OBJECT-GROUP
          OBJECTS { hpnicfPOEACSwitchStateModuleNum}
          STATUS current
          DESCRIPTION
                 "PD Change Notification."
          ::= { hpnicfPseGroup 10 }

  hpnicfPOEPowerInCurStateGroup OBJECT-GROUP
          OBJECTS { hpnicfPOEInCurStateModuleNum, hpnicfPOEInCurAState, hpnicfPOEInCurBState,
                    hpnicfPOEInCurCState}
          STATUS current
          DESCRIPTION
                 "PD Change Notification."
          ::= { hpnicfPseGroup 11 }

  hpnicfPOEPowerAlarmStateGroup OBJECT-GROUP
          OBJECTS { hpnicfPOEAlarmStateModuleNum }
          STATUS current
          DESCRIPTION
                  "PD Change Notification."
          ::= { hpnicfPseGroup 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)
                          }

  hpnicfPOEPowerObjects OBJECT IDENTIFIER ::= { hpnicfPowerEthernetExt 8 }

  hpnicfPOEThresholdLimitObjs OBJECT IDENTIFIER ::= { hpnicfPOEPowerObjects 1 }

  hpnicfPOEThresholdACMimimum 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 hpnicfPOEThresholdACMaximum."
          ::= { hpnicfPOEThresholdLimitObjs 1 }

  hpnicfPOEThresholdACMaximum 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 hpnicfPOEThresholdACMinimum."
          ::= { hpnicfPOEThresholdLimitObjs 2 }

   hpnicfPOEThresholdDCMinimum 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."
          ::= { hpnicfPOEThresholdLimitObjs 3 }

  hpnicfPOEThresholdDCMaximum 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."
          ::= { hpnicfPOEThresholdLimitObjs 4 }

  hpnicfPOESupModuleInfoObjs OBJECT IDENTIFIER ::= { hpnicfPOEPowerObjects 2 }

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

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

  hpnicfPOESupervisionModuleName 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."
          ::= { hpnicfPOESupModuleInfoObjs 3 }

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

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

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

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

  hpnicfPOEModuleInfoEntry OBJECT-TYPE
          SYNTAX HpnicfPOEModuleInfoEntry
          MAX-ACCESS not-accessible
          STATUS current
          DESCRIPTION
                 "The entry of the module information on this POE power."
          INDEX { hpnicfPOEModuleIndex }
          ::= { hpnicfPOEModuleInfoTable 1 }

  HpnicfPOEModuleInfoEntry ::=
          SEQUENCE {
                     hpnicfPOEModuleIndex
                             Integer32,
                     hpnicfPOEModuleID
                             Integer32,
                     hpnicfPOEModuleInfoPower
                             Integer32,
                     hpnicfPOEModuleHardVerInfo
                             OCTET STRING
                    }

  hpnicfPOEModuleIndex 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 hpnicfPOEModuleInfoTable.
                 The range of this node is from 1 to hpnicfPOEPowerModuleNum."
          ::= { hpnicfPOEModuleInfoEntry 1 }

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

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

  hpnicfPOEModuleHardVerInfo 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."
          ::= { hpnicfPOEModuleInfoEntry 4 }

  hpnicfPOEDCOutStateObjects OBJECT IDENTIFIER ::= { hpnicfPOEPowerObjects 3 }

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

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

  hpnicfPOEDCOutStateEntry OBJECT-TYPE
          SYNTAX HpnicfPOEDCOutStateEntry
          MAX-ACCESS not-accessible
          STATUS current
          DESCRIPTION
                 "The entry of the DC output power state on this POE power."
          INDEX { hpnicfPOEDCOutStateIndex }
          ::= { hpnicfPOEDCOutStateTable 1 }

          HpnicfPOEDCOutStateEntry ::=
                  SEQUENCE {
                           hpnicfPOEDCOutStateIndex
                                   Integer32,
                           hpnicfPOEDCOutDCVolAlarm
                                   DCAlarmState
                        }

   hpnicfPOEDCOutStateIndex 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 hpnicfPOEDCOutStateModuleNum."
          ::= { hpnicfPOEDCOutStateEntry 1 }

   hpnicfPOEDCOutDCVolAlarm 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)."
          ::= { hpnicfPOEDCOutStateEntry 2 }

   hpnicfPOEDCOutInfoObjects OBJECT IDENTIFIER ::= { hpnicfPOEPowerObjects 4 }

   hpnicfPOEDCOutCurNum 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 hpnicfPOEDCOutInfoIndex."
          ::= { hpnicfPOEDCOutInfoObjects 1 }

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

  hpnicfPOEDCOutInfoEntry OBJECT-TYPE
          SYNTAX HpnicfPOEDCOutInfoEntry
          MAX-ACCESS not-accessible
          STATUS current
          DESCRIPTION
                 "The entry of the DC output information on this POE power."
          INDEX { hpnicfPOEDCOutInfoIndex }
          ::= { hpnicfPOEDCOutInfoTable 1 }

  HpnicfPOEDCOutInfoEntry ::=
          SEQUENCE {
                    hpnicfPOEDCOutInfoIndex
                            Integer32,
                    hpnicfPOEDCOutVol
                            OCTET STRING,
                    hpnicfPOEDCOutInfoLoadCur
                            OCTET STRING
                  }

   hpnicfPOEDCOutInfoIndex 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 hpnicfPOEDCOutCurNum."
          ::= { hpnicfPOEDCOutInfoEntry 1 }

   hpnicfPOEDCOutVol 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."
          ::= { hpnicfPOEDCOutInfoEntry 2 }

  hpnicfPOEDCOutInfoLoadCur 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."
          ::= { hpnicfPOEDCOutInfoEntry 3 }

  hpnicfPOEACSwitchStateModuleObjs OBJECT IDENTIFIER ::= { hpnicfPOEPowerObjects 5 }

  hpnicfPOEACSwitchStateModuleNum 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 hpnicfPOEACSwitchStateIndex."
          ::= { hpnicfPOEACSwitchStateModuleObjs 1 }

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

  hpnicfPOEACSwitchStateEntry OBJECT-TYPE
          SYNTAX HpnicfPOEACSwitchStateEntry
          MAX-ACCESS not-accessible
          STATUS current
          DESCRIPTION
                 "The entry of the AC switch state on this POE power."
          INDEX { hpnicfPOEACSwitchStateIndex }
          ::= { hpnicfPOEACSwitchStateTable 1 }

  HpnicfPOEACSwitchStateEntry ::=
          SEQUENCE {
                    hpnicfPOEACSwitchStateIndex
                            Integer32,
                    hpnicfPOEACSwitchState
                            SwitchState
                   }

  hpnicfPOEACSwitchStateIndex 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 hpnicfPOEACSwitchStateModuleNum."
          ::= { hpnicfPOEACSwitchStateEntry 1 }

  hpnicfPOEACSwitchState 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)"
          ::= { hpnicfPOEACSwitchStateEntry 2 }

  hpnicfPOEInCurStateObjects OBJECT IDENTIFIER ::= { hpnicfPOEPowerObjects 6 }

  hpnicfPOEInCurStateModuleNum 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 hpnicfPOESwitchStateVolExIndex."
          ::= { hpnicfPOEInCurStateObjects 1 }

  hpnicfPOEInCurAState 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)."
          ::= { hpnicfPOEInCurStateObjects 2 }

  hpnicfPOEInCurBState 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)."
          ::= { hpnicfPOEInCurStateObjects 3 }

  hpnicfPOEInCurCState 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)."
          ::= { hpnicfPOEInCurStateObjects 4 }

  hpnicfPOESwitchStateVolExTable OBJECT-TYPE
          SYNTAX SEQUENCE OF HpnicfPOESwitchStateVolExEntry
          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)."
          ::= { hpnicfPOEInCurStateObjects 5 }

  hpnicfPOESwitchStateVolExEntry OBJECT-TYPE
          SYNTAX HpnicfPOESwitchStateVolExEntry
          MAX-ACCESS not-accessible
          STATUS current
          DESCRIPTION
                 "The hpnicfPOESwitchStateVolExIndex will match the number of the VOL status."
          INDEX { hpnicfPOESwitchStateVolExIndex }
          ::= { hpnicfPOESwitchStateVolExTable 1 }

  HpnicfPOESwitchStateVolExEntry ::=
          SEQUENCE {
                   hpnicfPOESwitchStateVolExIndex
                           Integer32,
                   hpnicfPOESwitchStateInVolAB
                           ACAlarmState,
                   hpnicfPOESwitchStateInVolBC
                           ACAlarmState,
                   hpnicfPOESwitchStateInVolCA
                           ACAlarmState
                   }

  hpnicfPOESwitchStateVolExIndex 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 hpnicfPOEInCurStateModuleNum."
          ::= { hpnicfPOESwitchStateVolExEntry 1 }

  hpnicfPOESwitchStateInVolAB 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)."
          ::= { hpnicfPOESwitchStateVolExEntry 2 }

  hpnicfPOESwitchStateInVolBC 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)."
          ::= { hpnicfPOESwitchStateVolExEntry 3 }

  hpnicfPOESwitchStateInVolCA 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)."
          ::= { hpnicfPOESwitchStateVolExEntry 4 }

  hpnicfPOEAlarmStateObjects OBJECT IDENTIFIER ::= { hpnicfPOEPowerObjects 7 }

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

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

  hpnicfPOEAlarmStateInfoEntry OBJECT-TYPE
          SYNTAX HpnicfPOEAlarmStateInfoEntry
          MAX-ACCESS not-accessible
          STATUS current
          DESCRIPTION
                 "The hpnicfPOEAlarmModuleInfoIndex will match the number
                 of the power module."
  INDEX { hpnicfPOEAlarmModuleInfoIndex }
          ::= { hpnicfPOEAlarmStateInfoTable 1 }

  HpnicfPOEAlarmStateInfoEntry ::=
          SEQUENCE {
                   hpnicfPOEAlarmModuleInfoIndex
                           Integer32,
                   hpnicfPOEModuleDisconnect
                           ModuleAlarmState,
                   hpnicfPOEModuleInputError
                           ModuleAlarmState,
                   hpnicfPOEModuleOutputError
                           ModuleAlarmState,
                   hpnicfPOEModuleOverVoltage
                           ModuleAlarmState,
                   hpnicfPOEModuleOverTemp
                           ModuleAlarmState,
                   hpnicfPOEModuleFanError
                           ModuleAlarmState,
                   hpnicfPOEModuleShutdown
                           ModuleAlarmState,
                   hpnicfPOEModuleCurRestricted
                           ModuleAlarmState
                   }

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

  hpnicfPOEModuleDisconnect 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)."
          ::= { hpnicfPOEAlarmStateInfoEntry 2 }

   hpnicfPOEModuleInputError 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)."
          ::= { hpnicfPOEAlarmStateInfoEntry 3 }

  hpnicfPOEModuleOutputError 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)."
          ::= { hpnicfPOEAlarmStateInfoEntry 4 }

  hpnicfPOEModuleOverVoltage 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)."
          ::= { hpnicfPOEAlarmStateInfoEntry 5 }

  hpnicfPOEModuleOverTemp 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)."
          ::= { hpnicfPOEAlarmStateInfoEntry 6 }

  hpnicfPOEModuleFanError 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)."
          ::= { hpnicfPOEAlarmStateInfoEntry 7 }

   hpnicfPOEModuleShutdown 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)."
          ::= { hpnicfPOEAlarmStateInfoEntry 8 }

  hpnicfPOEModuleCurRestricted 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)."
          ::= { hpnicfPOEAlarmStateInfoEntry 9 }
  END
