--*****************************************************************
-- CISCO-DMN-DSG-ABOUT.mib: MIB file for board information.
--
-- August 2010, Hemant Kumar R
--
-- Copyright (c) 1999-2010 by Cisco Systems, Inc.
-- All rights reserved.
--*****************************************************************

CISCO-DMN-DSG-ABOUT-MIB

DEFINITIONS ::= BEGIN

IMPORTS
    OBJECT-TYPE,
    MODULE-IDENTITY, Integer32
        FROM SNMPv2-SMI
    DisplayString
        FROM SNMPv2-TC
    OBJECT-GROUP, MODULE-COMPLIANCE
        FROM SNMPv2-CONF
    ciscoDSGUtilities
        FROM CISCO-DMN-DSG-ROOT-MIB;


ciscoDSGAbout MODULE-IDENTITY
    LAST-UPDATED    "201008030600Z" -- August 03 2010 06:00:00 GMT
    ORGANIZATION    "Cisco Systems, Inc."
    CONTACT-INFO
        "Cisco Systems, Inc.
        Customer Service
        Postal: 170 W Tasman Drive
        San Jose, CA 95134
        USA
        Tel: +1 800 553 NETS

        E-mail: cs-ipsla@cisco.com"
    DESCRIPTION     "Cisco About MIB."

    REVISION        "201008030600Z"
    DESCRIPTION     "V01.00.03 2010-08-03
                    Description of Item firmwareVersion in Firmware 
                    table is modified."

    REVISION        "201003220500Z"
    DESCRIPTION     "V01.00.02 2010-03-22
                    The Syntax of Unsigned32 MIB objects whose range
                    is within the range of Integer32, is updated to
                    Integer32."

    REVISION        "200912201500Z"
    DESCRIPTION     "V01.00.00 2009-12-20
                    Initial Version."

    ::= { ciscoDSGUtilities 7 }

aboutTable            OBJECT IDENTIFIER ::= { ciscoDSGAbout 2 }

--*****************************
-- Board Table Branch
--*****************************

boardTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF BoardEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "Board information Table."
    ::={ aboutTable 1 }

boardEntry  OBJECT-TYPE
    SYNTAX  BoardEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "Entry for Board information Table."
    INDEX { boardIdx }
    ::={ boardTable 1 }

BoardEntry  ::= SEQUENCE
{
    boardIdx          Integer32,
    boardPosition     Integer32,
    boardID           DisplayString,
    boardRev          DisplayString,
    boardOptionBits   Integer32,
    boardSerialNum    DisplayString
}

boardIdx  OBJECT-TYPE
    SYNTAX  Integer32(1..2147483647)
    MAX-ACCESS not-accessible
    STATUS  current
    DESCRIPTION
        "Index of Board Table."
    ::= { boardEntry 1 }

boardPosition  OBJECT-TYPE
    SYNTAX  Integer32(1..2147483647)
    MAX-ACCESS  read-only
    STATUS current
    DESCRIPTION
        "Board Position."
    ::= { boardEntry 2 }

boardID OBJECT-TYPE
    SYNTAX  DisplayString(SIZE(0..49))
    MAX-ACCESS  read-only
    STATUS current
    DESCRIPTION
        "Board ID(PCB ID)."
    ::= { boardEntry 3 }

boardRev  OBJECT-TYPE
    SYNTAX  DisplayString(SIZE(0..49))
    MAX-ACCESS  read-only
    STATUS current
    DESCRIPTION
        "Board Revision ( PCB revision )."
    ::= { boardEntry 4 }

boardOptionBits OBJECT-TYPE
    SYNTAX  Integer32(0..2147483647)
    MAX-ACCESS  read-only
    STATUS current
    DESCRIPTION
        "Board Option Bits."
    ::= { boardEntry 5 }

boardSerialNum OBJECT-TYPE
    SYNTAX  DisplayString(SIZE(0..49))
    MAX-ACCESS  read-only
    STATUS current
    DESCRIPTION
        "Device Serial Number."
    ::= { boardEntry 6 }

--programmableDeviceTable    OBJECT IDENTIFIER ::= { aboutTable 2 }

--***********************************
-- Software Table Branch
--***********************************

swTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF SwEntry
    MAX-ACCESS  not-accessible
    STATUS current
    DESCRIPTION
        "Software Table."
    ::= { aboutTable 3 }

swEntry  OBJECT-TYPE
    SYNTAX  SwEntry
    MAX-ACCESS  not-accessible
    STATUS current
    DESCRIPTION
        "Entry for Software Table."
    INDEX { swIdx }
    ::= { swTable 1 }

SwEntry ::= SEQUENCE
{
    swIdx             Integer32,
    swBoardIdx        DisplayString,
    swID              DisplayString,
    swFileIdx         Integer32,
    swVersion         DisplayString,
    swValidationCode  DisplayString,
    swStatus          INTEGER,
    swCtrl            INTEGER
}

swIdx  OBJECT-TYPE
    SYNTAX  Integer32(1..2147483647)
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "Software Table Index."
    ::= { swEntry 1 }

swBoardIdx  OBJECT-TYPE
    SYNTAX  DisplayString(SIZE(0..10))
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Board Index."
    ::= { swEntry 2 }

swID  OBJECT-TYPE
    SYNTAX  DisplayString(SIZE(0..10))
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Software Index."
    ::= { swEntry 3 }

swFileIdx  OBJECT-TYPE
    SYNTAX  Integer32( 0..2147483647 )
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Software File Index."
    ::= { swEntry 4 }

swVersion  OBJECT-TYPE
    SYNTAX  DisplayString(SIZE(0..35))
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Software Version."
    ::= { swEntry 5 }

swValidationCode  OBJECT-TYPE
    SYNTAX  DisplayString(SIZE(0..35))
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Software Validation Code."
    ::= { swEntry 6 }

swStatus OBJECT-TYPE
    SYNTAX  INTEGER {
            running(1),
            ready(2)
        }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Status of the Software Application."
    ::= { swEntry 7 }

swCtrl  OBJECT-TYPE
    SYNTAX  INTEGER {
            none(1),
            select(2),
            erase(3)
        }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "Command used to Select or Erase Software Applications."
    ::= { swEntry 8 }

--***********************************
-- Firmware Table Branch
--***********************************

firmwareTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF FirmwareEntry
    MAX-ACCESS  not-accessible
    STATUS current
    DESCRIPTION
        "Firmware Table."
    ::= { aboutTable 4 }

firmwareEntry  OBJECT-TYPE
    SYNTAX  FirmwareEntry
    MAX-ACCESS  not-accessible
    STATUS current
    DESCRIPTION
        "Entry for Firmware Table."
    INDEX { firmwareIdx }
    ::= { firmwareTable 1 }

FirmwareEntry ::= SEQUENCE
{
    firmwareIdx             Integer32,
    firmwareBoardID         DisplayString,
    firmwareID              DisplayString,
    firmwareVersion         DisplayString,
    firmwareValidationCode  DisplayString
}

firmwareIdx  OBJECT-TYPE
    SYNTAX  Integer32( 1..2147483647 )
    MAX-ACCESS  not-accessible
    STATUS current
    DESCRIPTION
        "Index of Firmware Table."
    ::= { firmwareEntry 1 }

firmwareBoardID  OBJECT-TYPE
    SYNTAX  DisplayString(SIZE(0..10))
    MAX-ACCESS  read-only
    STATUS current
    DESCRIPTION
        "Firware ID of the board."
    ::= { firmwareEntry 2 }

firmwareID  OBJECT-TYPE
    SYNTAX  DisplayString(SIZE(0..10))
    MAX-ACCESS  read-only
    STATUS current
    DESCRIPTION
        "Firware ID."
    ::= { firmwareEntry 3 }

firmwareVersion  OBJECT-TYPE
    SYNTAX  DisplayString(SIZE(0..49))
    MAX-ACCESS  read-only
    STATUS current
    DESCRIPTION
        "Firware Version -
        Gives Primary Processor Boot Code Version if firmwareID
        is BOOT.
        Gives Front Panel PIC Microcontroller Version if firmwareID
        is PIC.
        Gives Secondary Processor Boot Code version if firwareID
        is BOOT2.
        Gives Cue PIC Microcontroller Version if firmwareID is CUEPIC.
        Gives Safe CPLD Version if firmwareID is CPLD1.
        Gives Running CPLD Verison if firmwareID is CPLD2."
    ::= { firmwareEntry 4 }

firmwareValidationCode  OBJECT-TYPE
    SYNTAX  DisplayString(SIZE(0..49))
    MAX-ACCESS  read-only
    STATUS current
    DESCRIPTION
        "Firware Validation Code."
    ::= { firmwareEntry 5 }

END
