-- CB Series Product MIB
-- Copyright (C) 2015 Century Systems Co., Ltd.
-- All rights reserved.

-- Update history
--
--  2015/06/05 v1.0  Release

CS-CB-PRODUCT-MIB DEFINITIONS ::= BEGIN

IMPORTS
   Integer32, Gauge32, Counter32,
   OBJECT-TYPE, NOTIFICATION-TYPE, enterprises FROM SNMPv2-SMI
   TEXTUAL-CONVENTION, DisplayString FROM SNMPv2-TC;

   centurysys    OBJECT IDENTIFIER ::= { enterprises 20376 }
   csProduct     OBJECT IDENTIFIER ::= { centurysys 1 }
   cbSeries      OBJECT IDENTIFIER ::= { csProduct 12 }

-- sysObjectID
   cb100pa       OBJECT IDENTIFIER ::= { cbSeries 1 }

-- CB Product Depend MIB
   csMtCB           OBJECT IDENTIFIER ::= { centurysys 13 }
   csCBSystem       OBJECT IDENTIFIER ::= { csMtCB 1 }
   csCBPse          OBJECT IDENTIFIER ::= { csMtCB 2 }
   csCBDc           OBJECT IDENTIFIER ::= { csMtCB 3 }
   csCBAliveMonitor OBJECT IDENTIFIER ::= { csMtCB 4 }

-- CB System MIB
   csCBSystemNotifications OBJECT IDENTIFIER ::= { csCBSystem 0 }
   csCBSystemObjects OBJECT IDENTIFIER ::= { csCBSystem 1 }

   csCBSystemProductName OBJECT-TYPE
       SYNTAX DisplayString
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION "The Product Name."
       ::= { csCBSystemObjects 1 }

   csCBSystemVersion OBJECT-TYPE
       SYNTAX DisplayString
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION "The Firmware Version."
       ::= { csCBSystemObjects 2 }

   csCBSystemSerialNumber OBJECT-TYPE
       SYNTAX DisplayString
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION "The Serial Number."
       ::= { csCBSystemObjects 3 }

   csCBSystemResetSource OBJECT-TYPE
       SYNTAX INTEGER {
                  poweron(1),
                  software(2),
                  watchdogtimer(3),
                  unknown(4)
              }
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION "The reset source of the device."
       ::= { csCBSystemObjects 4 }

-- CB PSE MIB
   csCBPseNotifications OBJECT IDENTIFIER ::= { csCBPse 0 }
   csCBPseObjects OBJECT IDENTIFIER ::= { csCBPse 1 }

   csCBPsePortNum OBJECT-TYPE
       SYNTAX INTEGER
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION "The number of PoE PSE ports."
       ::= { csCBPseObjects 1 }

   csCBPsePortTable OBJECT-TYPE
       SYNTAX SEQUENCE OF CsCbPsePortEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION "PoE PSE Port Table."
       ::= { csCBPseObjects 2 }

   csCBPsePortEntry OBJECT-TYPE
       SYNTAX CsCbPsePortEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION "PoE PSE Port Entry."
       ::= { csCBPsePortTable 1 }

   CsCbPsePortEntry ::=
       SEQUENCE {
           csCBPSEPortIndex Integer32,
           csCBPSEPortStatus INTEGER,
           csCBPSEPortConsumptionPower Gauge32
       }

   csCBPsePortIndex OBJECT-TYPE
       SYNTAX Integer32
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION "PoE PSE Port Index."
       ::= { csCBPsePortEntry 1 }

   csCBPsePortAdminStatus OBJECT-TYPE
       SYNTAX INTEGER {
                  enable(1),
                  disable(2)
              }
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION "PoE PSE Port Admin Status."
       ::= { csCBPsePortEntry 2 }

   csCBPsePortStatus OBJECT-TYPE
       SYNTAX INTEGER {
                  disabled(1),
                  searching(2),
                  deliveringPower(3),
                  fault(4),
                  test(5),
                  otherFault(6)
              }
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION "PoE PSE Port Power Status."
       ::= { csCBPsePortEntry 3 }

   csCBPsePortPowerClassifications OBJECT-TYPE
       SYNTAX INTEGER {
                  class0(1),
                  class1(2),
                  class2(3),
                  class3(4),
                  class4(5)
              }
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION "Power Classification."
       ::= { csCBPsePortEntry 4 }

   csCBPsePortConsumptionPower OBJECT-TYPE
       SYNTAX Gauge32
       UNITS "MilliWatts"
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION "Measured usage power expressed in MilliWatts."
       ::= { csCBPsePortEntry 5 }

   csCBPsePortOnOffNotification NOTIFICATION-TYPE
       OBJECTS { csCBPsePortIndex, csCBPsePortStatus }
       STATUS current
       DESCRIPTION 
           "This notification indicates if PoE PSE Port Status is changed."
       ::= { csCBPseNotifications 1 }

-- CB DC MIB
   csCBDcNotifications OBJECT IDENTIFIER ::= { csCBDc 0 }
   csCBDcObjects OBJECT IDENTIFIER ::= { csCBDc 1 }
 
   csCBDcChannelNum OBJECT-TYPE
       SYNTAX INTEGER
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION "The number of DC channels."
       ::= { csCBDcObjects 1 }

   csCBDcChannelTable OBJECT-TYPE
       SYNTAX SEQUENCE OF CsCbDcChannelEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION "DC Channel Table."
       ::= { csCBDcObjects 2 }

   csCBDcChannelEntry OBJECT-TYPE
       SYNTAX CsCbDcChannelEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION "DC Channel Entry."
       ::= { csCBDcChannelTable 1 }

   CsCbDcChannelEntry ::=
       SEQUENCE {
           csCBDcChannelIndex Integer32,
           csCBDcChannelStatus INTEGER,
           csCBDcChannelConsumptionPower Gauge32,
       }

   csCBDcChannelIndex OBJECT-TYPE
       SYNTAX Integer32
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION "DC Channel Index."
       ::= { csCBDcChannelEntry 1 }

   csCBDcChannelAdminStatus OBJECT-TYPE
       SYNTAX INTEGER {
                  enable(1),
                  disable(2)
              }
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION "DC Channel Admin Status."
       ::= { csCBDcChannelEntry 2 }

   csCBDcChannelStatus OBJECT-TYPE
       SYNTAX INTEGER {
                  on(1),
                  off(2)
              }
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION "DC Channel Power Status."
       ::= { csCBDcChannelEntry 3 }

   csCBDcChannelConsumptionPower OBJECT-TYPE
       SYNTAX Gauge32
       UNITS "MilliWatts"
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION "Measured usage power expressed in MilliWatts."
       ::= { csCBDcChannelEntry 4 }

   csCBDcChannelOnOffNotification NOTIFICATION-TYPE
       OBJECTS { csCBDcChannelIndex, csCBDcChannelStatus }
       STATUS current
       DESCRIPTION 
           "This notification indicates if DC Channel Status is changed."
       ::= { csCBDcNotifications 1 }

-- CB AliveMonitor MIB
   csCBAliveMonitorNotifications OBJECT IDENTIFIER ::= { csCBAliveMonitor 0 }
   csCBAliveMonitorObjects OBJECT IDENTIFIER ::= { csCBAliveMonitor 1 }

   csCBAliveMonitorTargetNum OBJECT-TYPE
       SYNTAX INTEGER
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION "The number of Monitor targets."
       ::= { csCBAliveMonitorObjects 1 }

   csCBAliveMonitorTargetTable OBJECT-TYPE
       SYNTAX SEQUENCE OF CsCbAliveMonitorTargetEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION "Target Table."
       ::= { csCBAliveMonitorObjects 2 }

   csCBAliveMonitorTargetEntry OBJECT-TYPE
       SYNTAX CsCbAliveMonitorTargetEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION "Target Entry."
       ::= { csCBAliveMonitorTargetTable 1 }

   CsCbAliveMonitorTargetEntry ::=
       SEQUENCE {
           csCBAliveMonitorTargetIndex Integer32,
           csCBAliveMonitorTargetHost DisplayString,
           csCBAliveMonitorTargetStatus INTEGER,
           csCBAliveMonitorPollCount Gauge32,
           csCBAliveMonitorFailureCount Gauge32,
           csCBAliveMonitorFailureCountThreshold Gauge32,
       }

   csCBAliveMonitorTargetIndex OBJECT-TYPE
       SYNTAX Integer32
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION "Target Index."
       ::= { csCBAliveMonitorTargetEntry 1 }

   csCBAliveMonitorTargetHost OBJECT-TYPE
       SYNTAX DisplayString
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION "Target Host."
       ::= { csCBAliveMonitorTargetEntry 2 }

   csCBAliveMonitorTargetStatus OBJECT-TYPE
       SYNTAX INTEGER {
                  up(1),
                  down(2),
                  disable(3)
              }
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION "Target Status."
       ::= { csCBAliveMonitorTargetEntry 3 }

   csCBAliveMonitorPollCount OBJECT-TYPE
       SYNTAX Gauge32
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION "Target Poll Count."
       ::= { csCBAliveMonitorTargetEntry 4 }

   csCBAliveMonitorFailureCount OBJECT-TYPE
       SYNTAX Gauge32
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION "Target Failure Count."
       ::= { csCBAliveMonitorTargetEntry 5 }

   csCBAliveMonitorFailureCountThreshold OBJECT-TYPE
       SYNTAX Gauge32
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION "Target Failure Count Threshold."
       ::= { csCBAliveMonitorTargetEntry 6 }

   csCBAliveMonitorTargetUpDownNotification NOTIFICATION-TYPE
       OBJECTS {
                   csCBAliveMonitorTargetIndex,
                   csCBAliveMonitorTargetHost,
                   csCBAliveMonitorTargetStatus
               }
       STATUS current
       DESCRIPTION 
           "This notification indicates if Target Status is changed."
       ::= { csCBAliveMonitorNotifications 1 }

END