-- ===============================================================================

--
-- Atkk Switch System objects
--

CENTRECOM-SYSTEM-MIB DEFINITIONS ::= BEGIN

        IMPORTS
                MODULE-IDENTITY FROM SNMPv2-SMI
		OBJECT-TYPE     FROM RFC-1212
                TruthValue      FROM SNMPv2-TC
		DisplayString   FROM RFC1213-MIB
                extSwitchMIB        FROM CENTRECOM-MIB;

--
--  System group
--
        atiSwitchSystem MODULE-IDENTITY
                LAST-UPDATED "9810020000Z"
                ORGANIZATION "Allied Telesis K.K"
                CONTACT-INFO "www1.allied-telesis.co.jp/GIGA"
                DESCRIPTION "Atkk Switch System objects"
        ::= { extSwitchMIB 3 }

--  Configuration save objects.  These objects are used by the network
--  management application to save configuration changes into the
--  persistant store.  There are 2 stores on the device; a primary and
--  a secondary.

        atiSaveConfiguration OBJECT-TYPE
        	SYNTAX INTEGER {
            	saveToPrimary(1),
                saveToSecondary(2)
	}
        ACCESS	write-only
        STATUS mandatory
        DESCRIPTION
            	"When this object is set, the device will copy the contents
		of the configuration database to a buffer and save it to the 
		persistant store specified by the value of the object.  The 
		save is	performed asynchronously, and the snmp agent will continue
		to respond to both gets and sets while the save is taking
	        place.  A network management application may use the
		atiSaveStatus object to determine when the asynchronous
		save operation has completed."
	::= { atiSwitchSystem 3 }                

	atiSaveStatus OBJECT-TYPE
       	SYNTAX INTEGER { saveInProgress(1),saveNotInProgress(2)	}
        ACCESS	read-only
        STATUS mandatory
        DESCRIPTION
           	"This object will return the status of a save operation invoked
		by setting the atiSaveConfiguration object.  A network
		management application can read this object to determine that a
		save operation has completed."
	::= { atiSwitchSystem 4 }                

        atiCurrentConfigInUse OBJECT-TYPE
                SYNTAX INTEGER { primary(1), secondary(2) }
        	ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                "Shows which NVRAM configuration store was used at last boot"
	::= { atiSwitchSystem 5 }                

        atiConfigToUseOnReboot OBJECT-TYPE
                SYNTAX INTEGER { primary(1), secondary(2) }
        	ACCESS read-write
                STATUS mandatory
                DESCRIPTION
        	"Controls which NVRAM configuration store will be used on next reboot."
	::= { atiSwitchSystem 6 }                

        atiOverTemperatureAlarm OBJECT-TYPE
                SYNTAX TruthValue
        	ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                "Alarm status of overtemperature sensor in device 
                enclosure."
	::= { atiSwitchSystem 7 }

        atiCurrentTemperature OBJECT-TYPE
                SYNTAX INTEGER (0..100)
        	ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                "Current temperature in degrees celcius measured inside
                device enclosure."
	::= { atiSwitchSystem 8 }

--
-- Table of operational status of all internal Fans
--
        atiFanStatusTable OBJECT-TYPE
		SYNTAX  SEQUENCE OF AtiFanStatusEntry
		ACCESS  not-accessible
		STATUS  mandatory
                DESCRIPTION
                "Table of operational status of all internal cooling fans."
	::= { atiSwitchSystem 9 }

        atiFanStatusEntry OBJECT-TYPE
		SYNTAX  AtiFanStatusEntry
		ACCESS  not-accessible
		STATUS  mandatory
		DESCRIPTION
                "Entry in table of all internal cooling fans."
		INDEX { atiFanNumber }
	::= { atiFanStatusTable 1 }

	AtiFanStatusEntry ::=
		SEQUENCE {
			atiFanNumber
				INTEGER,
			atiFanOperational
				TruthValue
		}

        atiFanNumber OBJECT-TYPE
                SYNTAX INTEGER
        	ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                "Identifier of cooling fan, numbered from the front and/or 
                left side of device."
	::= { atiFanStatusEntry 1 }

        atiFanOperational OBJECT-TYPE
                SYNTAX TruthValue
        	ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                "Operational status of a cooling fan."
	::= { atiFanStatusEntry 2 }


        atiPrimaryPowerOperational OBJECT-TYPE
                SYNTAX TruthValue
        	ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                "Operational status of internal power supply of a device."
	::= { atiSwitchSystem 10 }

        atiRedundantPowerStatus OBJECT-TYPE
                SYNTAX INTEGER { notPresent(1), presentOK(2), presentNotOK(3) }
        	ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                "Operational status of an external redundant power supply to a device."
	::= { atiSwitchSystem 11 }

        atiRedundantPowerAlarm OBJECT-TYPE
                SYNTAX TruthValue
        	ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                "Alarm state of an external redundant power supply to a device. 
                Alarm state indicates either fan failure or overtemperature 
                condition."
	::= { atiSwitchSystem 12 }

        atiPrimarySoftwareRev  OBJECT-TYPE
            SYNTAX DisplayString (SIZE(0..15))
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The software revision of the primary image stored in 
                this device.  This string will have a zero length if 
                the revision is unknown, invalid or not present. This
                will also be reported in RMON2 probeSoftwareRev if this
                is the software image currently running in the device."
	::= { atiSwitchSystem 13 }

        atiSecondarySoftwareRev  OBJECT-TYPE
            SYNTAX DisplayString (SIZE(0..15))
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The software revision of the secondary image stored in 
                this device.  This string will have a zero length if 
                the revision is unknown, invalid or not present. This
                will also be reported in RMON2 probeSoftwareRev if this
                is the software image currently running in the device."
	::= { atiSwitchSystem 14 }

        atiImageToUseOnReboot OBJECT-TYPE
                SYNTAX INTEGER { primary(1), secondary(2) }
        	ACCESS read-write
                STATUS mandatory
                DESCRIPTION
        	"Controls which image will be used 
                on next reboot."
	::= { atiSwitchSystem 15 }               

        atiSystemID  OBJECT-TYPE
            SYNTAX DisplayString (SIZE(0..126))
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "This represents the System ID of the Switch."
	::= { atiSwitchSystem 16 }

        atiSystemBoardID  OBJECT-TYPE
            SYNTAX DisplayString (SIZE(0..126))
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "This represents the Board ID of the Switch."
	::= { atiSwitchSystem 17 }

        atiSystemLeftBoardID  OBJECT-TYPE
            SYNTAX DisplayString (SIZE(0..126))
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "This represents the Left Board ID of the Summit Switch."
	::= { atiSwitchSystem 18 }

        atiSystemRightBoardID  OBJECT-TYPE
            SYNTAX DisplayString (SIZE(0..126))
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "This represents the Right Board ID of the Summit Switch."
	::= { atiSwitchSystem 19 }

END
