-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
--
-- Trend Micro, Inc.
-- Copyright information is in the DESCRIPTION section of the MODULE-IDENTITY.
-- 
-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

TPT-TPA-HARDWARE-MIB

DEFINITIONS ::= BEGIN

IMPORTS
  MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, 
  Unsigned32
    FROM SNMPv2-SMI

  TEXTUAL-CONVENTION
    FROM SNMPv2-TC

  InterfaceIndex
    FROM IF-MIB

  tpt-tpa-objs, tpt-tpa-eventsV2, tpt-tpa-unkparams
    FROM TPT-TPAMIBS-MIB
  ;

tpt-tpa-hardware-objs MODULE-IDENTITY
  LAST-UPDATED "201605251854Z" -- May 25, 2016
  ORGANIZATION "Trend Micro, Inc."
  CONTACT-INFO "www.trendmicro.com"
  DESCRIPTION
    "Hardware definition of a TPA and its components.

     Copyright (C) 2016 Trend Micro Incorporated. All Rights Reserved.
     
     Trend Micro makes no warranty of any kind with regard to this material,
     including, but not limited to, the implied warranties of merchantability
     and fitness for a particular purpose. Trend Micro shall not be liable for
     errors contained herein or for incidental or consequential damages in
     connection with the furnishing, performance, or use of this material. This
     document contains proprietary information, which is protected by copyright. No
     part of this document may be photocopied, reproduced, or translated into
     another language without the prior written consent of Trend Micro. The
     information is provided 'as is' without warranty of any kind and is subject to
     change without notice. The only warranties for Trend Micro products and
     services are set forth in the express warranty statements accompanying such
     products and services. Nothing herein should be construed as constituting an
     additional warranty. Trend Micro shall not be liable for technical or editorial
     errors or omissions contained herein. TippingPoint(R), the TippingPoint logo, and
     Digital Vaccine(R) are registered trademarks of Trend Micro. All other company
     and product names may be trademarks of their respective holders. All rights
     reserved. This document contains confidential information, trade secrets or
     both, which are the property of Trend Micro. No part of this documentation may
     be reproduced in any form or by any means or used to make any derivative work
     (such as translation, transformation, or adaptation) without written permission
     from Trend Micro or one of its subsidiaries. All other company and product
     names may be trademarks of their respective holders.
    "

  REVISION "201605251854Z" -- May 25, 2016 
  DESCRIPTION "Updated copyright information. Minor MIB syntax fixes."
      
  ::= { tpt-tpa-objs 3 }

-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
--
-- Textual conventions for hardware enumerations
--
-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

ManagedElementType ::= TEXTUAL-CONVENTION
  STATUS      current
  DESCRIPTION
    "Type of a managed base hardware element (slot, port, power supply, 
     fan, etc.) on a device."
  SYNTAX      INTEGER { unequip(0), chassis(1), backplane(2), controller(3),
                        network-interface(4), network-interface-bcomm(5),
                        network-processor(6), feature-card(7), gige-port(8), 
                        ten-base-t-port(9), hundred-base-t-port(10), 
                        sonet-atm-port(11), sonet-pos-port(12), 
                        sonet-pos-srp-port(13), sdh-atm-port(14), 
                        sdh-pos-port(15), sdh-pos-srp-port(16), 
                        power-supply(17), power-supply-sub-unit(18), 
                        fan-controller(19), fan-sub-unit(20), 
                        power-entry-module(21), vnam-port(22),
                        ten-gige-port(23), forty-gige-port(24) }

ConfigRedundancy ::= TEXTUAL-CONVENTION
  STATUS      current
  DESCRIPTION 
    "An indication of whether a hardware slot is empty, stand-alone, or 
     part of a redundant pair."
  SYNTAX      INTEGER { unconfigured(0), simplex(1), duplex(2),
                        loadshare(3), autonomous(4) }

HardwareState ::= TEXTUAL-CONVENTION
  STATUS      current
  DESCRIPTION 
    "The high-level hardware state (active, initializing, standby, etc.)."
  SYNTAX      INTEGER { oos(0), initialize(1), act(2), stby(3), 
                        dgn(4), lpbk(5), act-faf(6), stby-faf(7),
                        act-dgrd(8), stby-dgrd(9) }

HardwareStateQual ::= TEXTUAL-CONVENTION
  STATUS      current
  DESCRIPTION 
    "Further qualification/detail on the high-level hardware state."
  SYNTAX      INTEGER { port-clear(0), degraded(1), port-los(2), port-lof(3),
                        port-oof(4), port-lop(5), port-signal-degrade(6),
                        port-signal-failure(7), port-ais-p(8), port-ais-l(9),
                        port-rdi(10), port-forced(11), port-lockout(12),
                        yellow-alarm(13), red-alarm(14), parity-err(15),
                        crc-err(16), unequipped-slot(17), 
                        blade-pull(18), blade-insert(19), 
                        blade-slot-mismatch(20), init-failure(21), 
                        parent-oos(22), removed(23), no-info(24),
                        over-temp-alarm(25), under-temp-alarm(26),
                        port-ool(27), port-ool-clear(28), inhibit(29) }

ExtendedSlot ::= TEXTUAL-CONVENTION
  STATUS      current
  DESCRIPTION 
    "An identifier of either a slot or a hardware component.
     Slot numbers, slot11 to slot14 are valid on NX device, and
     refer to slot1 to slot4 on that device."
  SYNTAX      INTEGER { slot1(1), slot2(2), slot3(3),
                        slot4(4), slot5(5), slot6(6),
                        slot7(7), slot8(8), shelf(9),
                        pem(10), power-supply(11), fan(12),
                        slot11(13), slot12(14), slot13(15), slot14(16) }

LineType ::= TEXTUAL-CONVENTION
  STATUS      current
  DESCRIPTION 
    "An indication of whether a port is copper or optical."
  SYNTAX      INTEGER { undefined(0), copper(21), optical(22), copper-sfp(23) }

DuplexState ::= TEXTUAL-CONVENTION
  STATUS      current
  DESCRIPTION 
    "An indication of whether a port is running in full or half duplex mode."
  SYNTAX      INTEGER { unknown(0), half(1), full(2) }

SfpQualifier ::= TEXTUAL-CONVENTION
  STATUS      current
  DESCRIPTION 
    "SFP qualifier value. These combines both the compliance codes for the 1G SFP
     and 10G SFP+, and transmitter technology for the 40G QSFP+ and 10G XFP
     transceivers."
  SYNTAX      INTEGER { sfp-not-applicable(0), sfp-10g-base-er(1),
                        sfp-10g-base-lrm(2), sfp-10g-base-lr(3),
                        sfp-10g-base-sr(4), sfp-base-px(5), sfp-base-bx10(6),
                        sfp-100base-fx(7), sfp-100base-lx-lx10(8),
                        sfp-1000base-t(9), sfp-1000base-cx(10),
                        sfp-1000base-lx(11), sfp-1000base-sx(12), 
                        sfp-850-nm-vcsel(13), sfp-1310-nm-vcsel(14),
                        sfp-1550-nm-vcsel(15), sfp-1310-nm-fp(16),
                        sfp-1310-nm-dfb(17), sfp-1550-nm-dfb(18),
                        sfp-1310-nm-eml(19), sfp-1550-nm-eml(20),
                        sfp-copper-or-others(21), sfp-1490-nm-dfb(22),
                        sfp-copper-cable-unequalized(23),
                        sfp-absent(24), sfp-plus-absent(25), qsfp-plus-absent(26),
                        sfp-xfp-absent(27), sfp-10g-dac(28), sfp-10g-dao(29)}

-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
--
-- Table of slots/ports on the device
--
-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

hw-slotTable OBJECT-TYPE
  SYNTAX      SEQUENCE OF Hw-slotEntry
  MAX-ACCESS  not-accessible
  STATUS      current
  DESCRIPTION 
    "Table of slots/ports on the device."
  ::= { tpt-tpa-hardware-objs 1 }  

hw-slotEntry OBJECT-TYPE
  SYNTAX      Hw-slotEntry
  MAX-ACCESS  not-accessible
  STATUS      current
  DESCRIPTION 
    "An entry in the slot/port table.
     Rows cannot be created or deleted."
  INDEX       { slotNumber, slotPort }
  ::= { hw-slotTable 1 }

Hw-slotEntry ::= SEQUENCE {
  slotNumber      Unsigned32,
  slotPort        Unsigned32,
  slotType        ManagedElementType,
  slotCfgType     ConfigRedundancy,
  slotRunState    HardwareState,
  slotQualifier1  HardwareStateQual,
  slotQualifier2  HardwareStateQual,
  slotQualifier3  HardwareStateQual,
  slotQualifier4  HardwareStateQual,
  slotStartTime   Unsigned32,
  slotVendorID    Unsigned32,
  slotDeviceID    Unsigned32,
  slotProductID   OCTET STRING,
  slotFPGAVersion Unsigned32,
  slotInterface   InterfaceIndex,
  slotLineType    LineType,
  slotDuplexState DuplexState,
  slotPhysical    Unsigned32,
  slotSfpQualifier1 SfpQualifier,
  slotSfpQualifier2 SfpQualifier
}

slotNumber OBJECT-TYPE
  SYNTAX      Unsigned32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "Slot number for this hardware element."
  ::= { hw-slotEntry 1 }

slotPort OBJECT-TYPE
  SYNTAX      Unsigned32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "Port number for this hardware element (0 refers to the board)."
  ::= { hw-slotEntry 2 }

slotType OBJECT-TYPE
  SYNTAX      ManagedElementType
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "Type of hardware element corresponding to slot/port."
  ::= { hw-slotEntry 3 }

slotCfgType OBJECT-TYPE
  SYNTAX      ConfigRedundancy
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
    "The configuration/redundancy of a hardware element."
  ::= { hw-slotEntry 4 }

slotRunState OBJECT-TYPE
  SYNTAX      HardwareState
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
    "The high-level hardware state (active, initializing, standby, etc.)."
  ::= { hw-slotEntry 5 }

slotQualifier1 OBJECT-TYPE
  SYNTAX      HardwareStateQual
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "Further qualification/detail on the high-level hardware state."
  ::= { hw-slotEntry 6 }

slotQualifier2 OBJECT-TYPE
  SYNTAX      HardwareStateQual
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "Further qualification/detail on the high-level hardware state."
  ::= { hw-slotEntry 7 }

slotQualifier3 OBJECT-TYPE
  SYNTAX      HardwareStateQual
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "Further qualification/detail on the high-level hardware state."
  ::= { hw-slotEntry 8 }

slotQualifier4 OBJECT-TYPE
  SYNTAX      HardwareStateQual
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "Further qualification/detail on the high-level hardware state."
  ::= { hw-slotEntry 9 }

slotStartTime OBJECT-TYPE
  SYNTAX      Unsigned32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "The time (seconds) at which this hardware element was powered up."
  ::= { hw-slotEntry 10 }

slotVendorID OBJECT-TYPE
  SYNTAX      Unsigned32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "The identifying number of the vendor of this hardware."
  ::= { hw-slotEntry 11 }

slotDeviceID OBJECT-TYPE
  SYNTAX      Unsigned32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "The PCI bus device ID for this slot."
  ::= { hw-slotEntry 12 }

slotProductID OBJECT-TYPE
  SYNTAX      OCTET STRING (SIZE (0..32))
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "Versioning and other inventory information for this hardware element."
  ::= { hw-slotEntry 13 }

slotFPGAVersion OBJECT-TYPE
  SYNTAX      Unsigned32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "The version of the TPT FPGA chip on this hardware."
  ::= { hw-slotEntry 14 }

slotInterface OBJECT-TYPE
  SYNTAX      InterfaceIndex
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
    "The entry in the IF-MIB interface table that corresponds to this port."
  ::= { hw-slotEntry 15 }

slotLineType OBJECT-TYPE
  SYNTAX      LineType
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
    "The line type (e.g., copper or optical) of the port."
  ::= { hw-slotEntry 16 }

slotDuplexState OBJECT-TYPE
  SYNTAX      DuplexState
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
    "The current duplex state (full or half) of the port."
  ::= { hw-slotEntry 17 }

slotPhysical OBJECT-TYPE
  SYNTAX      Unsigned32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "Physical port number for this hardware element (0 if not a port)."
  ::= { hw-slotEntry 18 }

slotSfpQualifier1 OBJECT-TYPE
  SYNTAX      SfpQualifier
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
    "Type of the SFP transceiver"
  ::= { hw-slotEntry 19 }

slotSfpQualifier2 OBJECT-TYPE
  SYNTAX      SfpQualifier
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
    "Type of the SFP transceiver. This is applicable to the dual speed
     transceivers, and this variable will have value of the second speed
     supported by those transceivers. For single-speed transceivers, the
     value will be not applicable."
  ::= { hw-slotEntry 20 }

-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
--
-- Table of chassis data for the device
--
-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

hw-chasTable OBJECT-TYPE
  SYNTAX      SEQUENCE OF Hw-chasEntry
  MAX-ACCESS  not-accessible
  STATUS      current
  DESCRIPTION 
    "Table of chassis data for the device.  Represented as a table with one 
     row, and that row is the same as that for other managed elements."
  ::= { tpt-tpa-hardware-objs 2 }  

hw-chasEntry OBJECT-TYPE
  SYNTAX      Hw-chasEntry
  MAX-ACCESS  not-accessible
  STATUS      current
  DESCRIPTION 
    "An entry in the chassis table.
     Rows cannot be created or deleted."
  INDEX       { chasNumber }
  ::= { hw-chasTable 1 }

Hw-chasEntry ::= SEQUENCE {
  chasNumber      Unsigned32,
  chasType        ManagedElementType,
  chasCfgType     ConfigRedundancy,
  chasRunState    HardwareState,
  chasQualifier1  HardwareStateQual,
  chasQualifier2  HardwareStateQual,
  chasQualifier3  HardwareStateQual,
  chasQualifier4  HardwareStateQual,
  chasStartTime   Unsigned32,
  chasVendorID    Unsigned32,
  chasDeviceID    Unsigned32,
  chasProductID   OCTET STRING,
  chasFPGAVersion Unsigned32
}

chasNumber OBJECT-TYPE
  SYNTAX      Unsigned32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "Number for this entry in the chassis table.  Should always be 0."
  ::= { hw-chasEntry 1 }

chasType OBJECT-TYPE
  SYNTAX      ManagedElementType
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "Type of hardware element -- should always be chassis or unequip."
  ::= { hw-chasEntry 3 }

chasCfgType OBJECT-TYPE
  SYNTAX      ConfigRedundancy
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
    "The configuration/redundancy of a hardware element."
  ::= { hw-chasEntry 4 }

chasRunState OBJECT-TYPE
  SYNTAX      HardwareState
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
    "The high-level hardware state (active, initializing, standby, etc.)."
  ::= { hw-chasEntry 5 }

chasQualifier1 OBJECT-TYPE
  SYNTAX      HardwareStateQual
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "Further qualification/detail on the high-level hardware state."
  ::= { hw-chasEntry 6 }

chasQualifier2 OBJECT-TYPE
  SYNTAX      HardwareStateQual
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "Further qualification/detail on the high-level hardware state."
  ::= { hw-chasEntry 7 }

chasQualifier3 OBJECT-TYPE
  SYNTAX      HardwareStateQual
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "Further qualification/detail on the high-level hardware state."
  ::= { hw-chasEntry 8 }

chasQualifier4 OBJECT-TYPE
  SYNTAX      HardwareStateQual
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "Further qualification/detail on the high-level hardware state."
  ::= { hw-chasEntry 9 }

chasStartTime OBJECT-TYPE
  SYNTAX      Unsigned32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "The time (seconds) at which the hardware element was powered up."
  ::= { hw-chasEntry 10 }

chasVendorID OBJECT-TYPE
  SYNTAX      Unsigned32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "The identifying number of the vendor of this hardware."
  ::= { hw-chasEntry 11 }

chasDeviceID OBJECT-TYPE
  SYNTAX      Unsigned32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "An identifying number specific to this device."
  ::= { hw-chasEntry 12 }

chasProductID OBJECT-TYPE
  SYNTAX      OCTET STRING (SIZE (0..32))
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "Versioning and other inventory information for this hardware element."
  ::= { hw-chasEntry 13 }

chasFPGAVersion OBJECT-TYPE
  SYNTAX      Unsigned32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "The version of the TPT FPGA chip on this hardware."
  ::= { hw-chasEntry 14 }

-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
--
-- Table of fans on the device
--
-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

hw-fanTable OBJECT-TYPE
  SYNTAX      SEQUENCE OF Hw-fanEntry
  MAX-ACCESS  not-accessible
  STATUS      current
  DESCRIPTION 
    "Table of fans on the device."
  ::= { tpt-tpa-hardware-objs 3 }  

hw-fanEntry OBJECT-TYPE
  SYNTAX      Hw-fanEntry
  MAX-ACCESS  not-accessible
  STATUS      current
  DESCRIPTION 
    "An entry in the fan table.
     Rows cannot be created or deleted."
  INDEX       { fanSubunit }
  ::= { hw-fanTable 1 }

Hw-fanEntry ::= SEQUENCE {
  fanSubunit     Unsigned32,
  fanType        ManagedElementType,
  fanCfgType     ConfigRedundancy,
  fanRunState    HardwareState,
  fanQualifier1  HardwareStateQual,
  fanQualifier2  HardwareStateQual,
  fanQualifier3  HardwareStateQual,
  fanQualifier4  HardwareStateQual,
  fanStartTime   Unsigned32,
  fanVendorID    Unsigned32,
  fanDeviceID    Unsigned32,
  fanProductID   OCTET STRING,
  fanFPGAVersion Unsigned32
}

fanSubunit OBJECT-TYPE
  SYNTAX      Unsigned32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "Number of fan sub-unit (0 for controller)."
  ::= { hw-fanEntry 1 }

fanType OBJECT-TYPE
  SYNTAX      ManagedElementType
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "Type of hardware element -- should always be fan or unequip."
  ::= { hw-fanEntry 3 }

fanCfgType OBJECT-TYPE
  SYNTAX      ConfigRedundancy
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
    "The configuration/redundancy of a hardware element."
  ::= { hw-fanEntry 4 }

fanRunState OBJECT-TYPE
  SYNTAX      HardwareState
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
    "The high-level hardware state (active, initializing, standby, etc.)."
  ::= { hw-fanEntry 5 }

fanQualifier1 OBJECT-TYPE
  SYNTAX      HardwareStateQual
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "Further qualification/detail on the high-level hardware state."
  ::= { hw-fanEntry 6 }

fanQualifier2 OBJECT-TYPE
  SYNTAX      HardwareStateQual
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "Further qualification/detail on the high-level hardware state."
  ::= { hw-fanEntry 7 }

fanQualifier3 OBJECT-TYPE
  SYNTAX      HardwareStateQual
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "Further qualification/detail on the high-level hardware state."
  ::= { hw-fanEntry 8 }

fanQualifier4 OBJECT-TYPE
  SYNTAX      HardwareStateQual
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "Further qualification/detail on the high-level hardware state."
  ::= { hw-fanEntry 9 }

fanStartTime OBJECT-TYPE
  SYNTAX      Unsigned32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "The time (seconds) at which the hardware element was powered up."
  ::= { hw-fanEntry 10 }

fanVendorID OBJECT-TYPE
  SYNTAX      Unsigned32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "The identifying number of the vendor of this hardware."
  ::= { hw-fanEntry 11 }

fanDeviceID OBJECT-TYPE
  SYNTAX      Unsigned32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "An identifying number specific to this device."
  ::= { hw-fanEntry 12 }

fanProductID OBJECT-TYPE
  SYNTAX      OCTET STRING (SIZE (0..32))
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "Versioning and other inventory information for this hardware element."
  ::= { hw-fanEntry 13 }

fanFPGAVersion OBJECT-TYPE
  SYNTAX      Unsigned32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "The version of the TPT FPGA chip on this hardware."
  ::= { hw-fanEntry 14 }

-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
--
-- Table of power supplies on the device
--
-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

hw-psTable OBJECT-TYPE
  SYNTAX      SEQUENCE OF Hw-psEntry
  MAX-ACCESS  not-accessible
  STATUS      current
  DESCRIPTION 
    "Table of power supplies on the device."
  ::= { tpt-tpa-hardware-objs 4 }  

hw-psEntry OBJECT-TYPE
  SYNTAX      Hw-psEntry
  MAX-ACCESS  not-accessible
  STATUS      current
  DESCRIPTION 
    "An entry in the power supply table.
     Rows cannot be created or deleted."
  INDEX       { psSubunit }
  ::= { hw-psTable 1 }

Hw-psEntry ::= SEQUENCE {
  psSubunit     Unsigned32,
  psType        ManagedElementType,
  psCfgType     ConfigRedundancy,
  psRunState    HardwareState,
  psQualifier1  HardwareStateQual,
  psQualifier2  HardwareStateQual,
  psQualifier3  HardwareStateQual,
  psQualifier4  HardwareStateQual,
  psStartTime   Unsigned32,
  psVendorID    Unsigned32,
  psDeviceID    Unsigned32,
  psProductID   OCTET STRING,
  psFPGAVersion Unsigned32
}

psSubunit OBJECT-TYPE
  SYNTAX      Unsigned32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "Number of power supply sub-unit (0 for controller)."
  ::= { hw-psEntry 1 }

psType OBJECT-TYPE
  SYNTAX      ManagedElementType
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "Type of hardware element -- should always be power-supply or unequip."
  ::= { hw-psEntry 3 }

psCfgType OBJECT-TYPE
  SYNTAX      ConfigRedundancy
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
    "The configuration/redundancy of a hardware element."
  ::= { hw-psEntry 4 }

psRunState OBJECT-TYPE
  SYNTAX      HardwareState
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
    "The high-level hardware state (active, initializing, standby, etc.)."
  ::= { hw-psEntry 5 }

psQualifier1 OBJECT-TYPE
  SYNTAX      HardwareStateQual
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "Further qualification/detail on the high-level hardware state."
  ::= { hw-psEntry 6 }

psQualifier2 OBJECT-TYPE
  SYNTAX      HardwareStateQual
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "Further qualification/detail on the high-level hardware state."
  ::= { hw-psEntry 7 }

psQualifier3 OBJECT-TYPE
  SYNTAX      HardwareStateQual
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "Further qualification/detail on the high-level hardware state."
  ::= { hw-psEntry 8 }

psQualifier4 OBJECT-TYPE
  SYNTAX      HardwareStateQual
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "Further qualification/detail on the high-level hardware state."
  ::= { hw-psEntry 9 }

psStartTime OBJECT-TYPE
  SYNTAX      Unsigned32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "The time (seconds) at which the hardware element was powered up."
  ::= { hw-psEntry 10 }

psVendorID OBJECT-TYPE
  SYNTAX      Unsigned32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "The identifying number of the vendor of this hardware."
  ::= { hw-psEntry 11 }

psDeviceID OBJECT-TYPE
  SYNTAX      Unsigned32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "An identifying number specific to this device."
  ::= { hw-psEntry 12 }

psProductID OBJECT-TYPE
  SYNTAX      OCTET STRING (SIZE (0..32))
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "Versioning and other inventory information for this hardware element."
  ::= { hw-psEntry 13 }

psFPGAVersion OBJECT-TYPE
  SYNTAX      Unsigned32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "The version of the TPT FPGA chip on this hardware."
  ::= { hw-psEntry 14 }

-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
--
-- Table of power entry modules on the device
--
-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

hw-pemTable OBJECT-TYPE
  SYNTAX      SEQUENCE OF Hw-pemEntry
  MAX-ACCESS  not-accessible
  STATUS      current
  DESCRIPTION 
    "Table of power entry modules on the device."
  ::= { tpt-tpa-hardware-objs 5 }  

hw-pemEntry OBJECT-TYPE
  SYNTAX      Hw-pemEntry
  MAX-ACCESS  not-accessible
  STATUS      current
  DESCRIPTION 
    "An entry in the power supply table.
     Rows cannot be created or deleted."
  INDEX       { pemSubunit }
  ::= { hw-pemTable 1 }

Hw-pemEntry ::= SEQUENCE {
  pemSubunit     Unsigned32,
  pemType        ManagedElementType,
  pemCfgType     ConfigRedundancy,
  pemRunState    HardwareState,
  pemQualifier1  HardwareStateQual,
  pemQualifier2  HardwareStateQual,
  pemQualifier3  HardwareStateQual,
  pemQualifier4  HardwareStateQual,
  pemStartTime   Unsigned32,
  pemVendorID    Unsigned32,
  pemDeviceID    Unsigned32,
  pemProductID   OCTET STRING,
  pemFPGAVersion Unsigned32
}

pemSubunit OBJECT-TYPE
  SYNTAX      Unsigned32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "Number of power entry module sub-unit (0 for controller)."
  ::= { hw-pemEntry 1 }

pemType OBJECT-TYPE
  SYNTAX      ManagedElementType
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "Type of hardware element -- should always be pem or unequip."
  ::= { hw-pemEntry 3 }

pemCfgType OBJECT-TYPE
  SYNTAX      ConfigRedundancy
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
    "The configuration/redundancy of a hardware element."
  ::= { hw-pemEntry 4 }

pemRunState OBJECT-TYPE
  SYNTAX      HardwareState
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
    "The high-level hardware state (active, initializing, standby, etc.)."
  ::= { hw-pemEntry 5 }

pemQualifier1 OBJECT-TYPE
  SYNTAX      HardwareStateQual
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "Further qualification/detail on the high-level hardware state."
  ::= { hw-pemEntry 6 }

pemQualifier2 OBJECT-TYPE
  SYNTAX      HardwareStateQual
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "Further qualification/detail on the high-level hardware state."
  ::= { hw-pemEntry 7 }

pemQualifier3 OBJECT-TYPE
  SYNTAX      HardwareStateQual
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "Further qualification/detail on the high-level hardware state."
  ::= { hw-pemEntry 8 }

pemQualifier4 OBJECT-TYPE
  SYNTAX      HardwareStateQual
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "Further qualification/detail on the high-level hardware state."
  ::= { hw-pemEntry 9 }

pemStartTime OBJECT-TYPE
  SYNTAX      Unsigned32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "The time (seconds) at which the hardware element was powered up."
  ::= { hw-pemEntry 10 }

pemVendorID OBJECT-TYPE
  SYNTAX      Unsigned32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "The identifying number of the vendor of this hardware."
  ::= { hw-pemEntry 11 }

pemDeviceID OBJECT-TYPE
  SYNTAX      Unsigned32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "An identifying number specific to this device."
  ::= { hw-pemEntry 12 }

pemProductID OBJECT-TYPE
  SYNTAX      OCTET STRING (SIZE (0..32))
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "Versioning and other inventory information for this hardware element."
  ::= { hw-pemEntry 13 }

pemFPGAVersion OBJECT-TYPE
  SYNTAX      Unsigned32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "The version of the TPT FPGA chip on this hardware."
  ::= { hw-pemEntry 14 }

-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
--
-- Quantities of things
--
-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

hw-numSlots OBJECT-TYPE
  SYNTAX      Unsigned32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "The number of slots for this device."
  ::= { tpt-tpa-hardware-objs 6 }

hw-numFans OBJECT-TYPE
  SYNTAX      Unsigned32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "The number of fan subunits for this device."
  ::= { tpt-tpa-hardware-objs 7 }

hw-numPowerSupplies OBJECT-TYPE
  SYNTAX      Unsigned32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "The number of power supply subunits for this device."
  ::= { tpt-tpa-hardware-objs 8 }

hw-numPEMs OBJECT-TYPE
  SYNTAX      Unsigned32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "The number of PEM subunits for this device."
  ::= { tpt-tpa-hardware-objs 9 }


hw-certificateNumber OBJECT-TYPE  
  SYNTAX      OCTET STRING (SIZE (0..30))
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "The hardware certficate  number of the device."
  ::= { tpt-tpa-hardware-objs 10}

hw-serialNumber OBJECT-TYPE  
  SYNTAX      OCTET STRING (SIZE (0..30))
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION 
    "The hardware serial number of the device."
  ::= { tpt-tpa-hardware-objs 11}

-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
--
-- Hardware notifications
--
-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

tptHardwareNotifyDeviceID OBJECT-TYPE
  SYNTAX      OCTET STRING (SIZE (0..40))
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
    "The unique identifier of the device sending this notification."
  ::= { tpt-tpa-unkparams 1 }

tptHardwareNotifySlot OBJECT-TYPE
  SYNTAX      ExtendedSlot
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
    "The slot of the hardware whose state has changed.  If the hardware 
     element is not a board, this value identifies it as a chassis, fan, 
     power supply, PEM, etc."
  ::= { tpt-tpa-unkparams 2 }

tptHardwareNotifyPort OBJECT-TYPE
  SYNTAX      Unsigned32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
    "The port or sub-unit number of the hardware whose state has changed.
     Zero for a board, chassis, fan controller, power supply, or power
     entry module."
  ::= { tpt-tpa-unkparams 3 }

tptHardwareNotifyMeType OBJECT-TYPE
  SYNTAX      ManagedElementType
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
    "The type of the managed element (e.g., backplane, controller, 
     power supply, fan, etc.) whose state has changed."
  ::= { tpt-tpa-unkparams 4 }

tptHardwareNotifyCfgType OBJECT-TYPE
  SYNTAX      ConfigRedundancy
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
    "The configuration/redundancy of the hardware whose state has changed."
  ::= { tpt-tpa-unkparams 5 }

tptHardwareNotifyHlState OBJECT-TYPE
  SYNTAX      HardwareState
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
    "The high-level hardware state (active, initializing, standby, etc.)."
  ::= { tpt-tpa-unkparams 6 }

tptHardwareNotifyHlStateQual OBJECT-TYPE
  SYNTAX      HardwareStateQual
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
    "Further qualification/detail on the high-level state."
  ::= { tpt-tpa-unkparams 7 }

tptHardwareNotify NOTIFICATION-TYPE
  OBJECTS     { tptHardwareNotifyDeviceID,
                tptHardwareNotifySlot,    tptHardwareNotifyPort, 
                tptHardwareNotifyMeType,  tptHardwareNotifyCfgType, 
                tptHardwareNotifyHlState, tptHardwareNotifyHlStateQual }
  STATUS      current
  DESCRIPTION
    "Notification: Used to inform the management station of changes in 
     hardware state on the device."
  ::= { tpt-tpa-eventsV2 7 }


END

