--Delta-MIB { iso(1) org(3) dod(6) internet(1) private(4) enterprises(1) delta(2254) ups(2) ipmiv1(100) }


DeltaIPMI-MIB DEFINITIONS ::= BEGIN


IMPORTS
	enterprises, IpAddress
		FROM RFC1155-SMI
	DisplayString
		FROM RFC1213-MIB
	OBJECT-TYPE
		FROM RFC-1212
	TRAP-TYPE
		FROM RFC-1215;


delta				OBJECT IDENTIFIER ::=  { enterprises 2254 }
ups					OBJECT IDENTIFIER ::=  { delta 2 }
ipmiv1			    OBJECT IDENTIFIER ::=  { ups 100 }
dipmiInfo			OBJECT IDENTIFIER ::=  { ipmiv1 1 }
dipmiTraps			OBJECT IDENTIFIER ::=  { ipmiv1 20 }

  
--
-- dipmi Info group
--
	dipmiDeviceNum OBJECT-TYPE
        SYNTAX     INTEGER
        ACCESS     read-only
        STATUS     mandatory
        DESCRIPTION
	        "The number of IPMI devices."
        ::= { dipmiInfo 1 }
		
	dipmiTemplateNum OBJECT-TYPE
        SYNTAX     INTEGER
        ACCESS     read-only
        STATUS     mandatory
        DESCRIPTION
	        "The number of templates."
        ::= { dipmiInfo 2 }

   dipmiDeviceInfoTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF DipmiDeviceInfoTableEntry
        ACCESS     not-accessible
        STATUS     mandatory
        DESCRIPTION
	        "IPMI devices' status table."
        ::= { dipmiInfo 3 }	   

   dipmiDeviceInfoTableEntry OBJECT-TYPE
        SYNTAX     DipmiDeviceInfoTableEntry
        ACCESS     not-accessible
        STATUS     mandatory
        DESCRIPTION
	        "An entry containing identification to a particular IPMI device's status."
        INDEX { dipmiDeviceInfoID}
        ::= { dipmiDeviceInfoTable 1 }

    DipmiDeviceInfoTableEntry ::= SEQUENCE {
		dipmiDeviceInfoID           INTEGER,
		dipmiDeviceName             DisplayString,
		dipmiState                  INTEGER,
        dipmiFirmwareRev            DisplayString,
        dipmiManufacturerName       DisplayString,
		dipmiIPAddress              IpAddress,
		dipmiPowerControl           INTEGER,
		dipmiModelName              DisplayString,
		dipmiSN              		DisplayString
    }	   
	
	dipmiDeviceInfoID OBJECT-TYPE
        SYNTAX     INTEGER (1..420)
        ACCESS     read-only
        STATUS     mandatory
        DESCRIPTION
            "IPMI device identified ID"
        ::= { dipmiDeviceInfoTableEntry 1 }

    dipmiDeviceName OBJECT-TYPE
       SYNTAX     DisplayString (SIZE(0..16))
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "IPMI device's name."
       ::= { dipmiDeviceInfoTableEntry 2 }
		
	dipmiState OBJECT-TYPE
       SYNTAX     INTEGER{
                   disconnect(1),
				   poweroff(2),
                   poweron(3)
        }
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "IPMI device's state."
       ::= { dipmiDeviceInfoTableEntry 3 }

	dipmiFirmwareRev OBJECT-TYPE
       SYNTAX     DisplayString (SIZE(0..32))
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "IPMI device's firmware revision."
       ::= { dipmiDeviceInfoTableEntry 4 }

	dipmiManufacturerName OBJECT-TYPE
       SYNTAX     DisplayString
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "IPMI device's manufacturer name."
       ::= { dipmiDeviceInfoTableEntry 5 }
	
	dipmiIPAddress OBJECT-TYPE
       SYNTAX     IpAddress
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "IPMI device's IP address"
       ::= { dipmiDeviceInfoTableEntry 6 }
	   
	dipmiPowerControl OBJECT-TYPE
       SYNTAX     INTEGER{
                   powerdown(1),
				   powerup(2),
                   powercycle(3),
				   hardreset(4),
				   softshutdown(5)
		}
       ACCESS     read-write
       STATUS     mandatory
       DESCRIPTION
               "Power control IPMI device. This is always be 1 when read. Power cycle and Soft Shutdown features depend on server"
       ::= { dipmiDeviceInfoTableEntry 7 }
	
	dipmiModelName OBJECT-TYPE
       SYNTAX     DisplayString
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "IPMI device's model name."
       ::= { dipmiDeviceInfoTableEntry 8 }

	dipmiSN OBJECT-TYPE
       SYNTAX     DisplayString
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "IPMI device's serial number."
       ::= { dipmiDeviceInfoTableEntry 9 }
	   
	   
	dipmiScanInfoTableSize OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The size of scan info table."
       ::= { dipmiInfo 4 }

   dipmiScanInfoTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF DipmiScanInfoTableEntry
        ACCESS     not-accessible
        STATUS     mandatory
        DESCRIPTION
	        "IPMI sensor scan result table."
        ::= { dipmiInfo 5 }	   

   dipmiScanInfoTableEntry OBJECT-TYPE
        SYNTAX     DipmiScanInfoTableEntry
        ACCESS     not-accessible
        STATUS     mandatory
        DESCRIPTION
	        "An entry containing identification to a particular sensor's scan result."
        INDEX { dipmiScanInfoDeviceID, dipmiScanInfoID}
        ::= { dipmiScanInfoTable 1 }

    DipmiScanInfoTableEntry ::= SEQUENCE {
		dipmiScanInfoID             INTEGER,
		dipmiScanInfoDeviceID       INTEGER,
		dipmiScanInfoSensorName		DisplayString,
		dipmiScanInfoSensorReading	INTEGER,
		dipmiScanInfoSensorType		DisplayString,
		dipmiScanInfoSensorUnit		DisplayString,
		dipmiScanInfoUNR			INTEGER,
		dipmiScanInfoUC				INTEGER,
		dipmiScanInfoUNC			INTEGER,
		dipmiScanInfoLNC			INTEGER,
		dipmiScanInfoLC				INTEGER,
		dipmiScanInfoLNR			INTEGER
    }	   
	
	dipmiScanInfoDeviceID OBJECT-TYPE
        SYNTAX     INTEGER (1..420)
        ACCESS     read-only
        STATUS     mandatory
        DESCRIPTION
            "IPMI device identified ID"
        ::= { dipmiScanInfoTableEntry 1 }
	
	dipmiScanInfoID OBJECT-TYPE
        SYNTAX     INTEGER (1..32)
        ACCESS     read-only
        STATUS     mandatory
        DESCRIPTION
            "IPMI sensor's identified ID."
        ::= { dipmiScanInfoTableEntry 2 }	 
	
	dipmiScanInfoSensorName OBJECT-TYPE
       SYNTAX     DisplayString (SIZE(0..16))
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "Sensor name."
       ::= { dipmiScanInfoTableEntry 3 }
   
	dipmiScanInfoSensorReading OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "Sensor reading. This value should be divided by 100 to get real value which is round off to the 2nd decimal place ."
       ::= { dipmiScanInfoTableEntry 4 }
	   
	dipmiScanInfoSensorType OBJECT-TYPE
       SYNTAX     DisplayString (SIZE(0..32))
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "Sensor type."
       ::= { dipmiScanInfoTableEntry 5 }
   
    dipmiScanInfoSensorUnit OBJECT-TYPE
       SYNTAX     DisplayString (SIZE(0..32))
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "Sensor unit."
       ::= { dipmiScanInfoTableEntry 6 }
	
	dipmiScanInfoUNR OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "Sensor's upper non-recoverable threshold. This value should be divided by 100 to get real value which is round off to the 2nd decimal place."
       ::= { dipmiScanInfoTableEntry 7 }
	
	dipmiScanInfoUC OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "Sensor's upper critical threshold. This value should be divided by 100 to get real value which is round off to the 2nd decimal place."
       ::= { dipmiScanInfoTableEntry 8 }
	
	dipmiScanInfoUNC OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "Sensor's upper non-critical threshold. This value should be divided by 100 to get real value which is round off to the 2nd decimal place."
       ::= { dipmiScanInfoTableEntry 9 }
	   
	dipmiScanInfoLNC OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "Sensor's lower non-critical threshold. This value should be divided by 100 to get real value which is round off to the 2nd decimal place."
       ::= { dipmiScanInfoTableEntry 10 }
	
	dipmiScanInfoLC OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "Sensor's lower critical threshold. This value should be divided by 100 to get real value which is round off to the 2nd decimal place."
       ::= { dipmiScanInfoTableEntry 11 }
	   
	dipmiScanInfoLNR OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "Sensor's lower non-recoverable threshold. This value should be divided by 100 to get real value which is round off to the 2nd decimal place."
       ::= { dipmiScanInfoTableEntry 12 }   
--
-- dipmi Trap group
--	   
    dipmiCommunicationLost TRAP-TYPE
       ENTERPRISE dipmiTraps
	   VARIABLES { dipmiDeviceName }
       DESCRIPTION
	   "Communication with the IPMI failed."
       ::= 1
	   
    dipmiCommunicationEstablished TRAP-TYPE
       ENTERPRISE dipmiTraps
	   VARIABLES { dipmiDeviceName }
       DESCRIPTION
	   "Communication with the IPMI reestablished."
       ::= 2
	   
    dipmiSensorNonCritical TRAP-TYPE
       ENTERPRISE dipmiTraps
	   VARIABLES { dipmiDeviceName, dipmiScanInfoSensorName, dipmiScanInfoSensorReading }
       DESCRIPTION
	   "Sensor non-critical event."
       ::= 3

    dipmiSensorNonCriticalRecover TRAP-TYPE
       ENTERPRISE dipmiTraps
	   VARIABLES { dipmiDeviceName, dipmiScanInfoSensorName, dipmiScanInfoSensorReading }
       DESCRIPTION
	   "Recover sensor non-critical event."
       ::= 4

    dipmiSensorCritical TRAP-TYPE
       ENTERPRISE dipmiTraps
	   VARIABLES { dipmiDeviceName, dipmiScanInfoSensorName, dipmiScanInfoSensorReading }
       DESCRIPTION
	   "Sensor critical event."
       ::= 5
    
	dipmiSensorCriticalRecover TRAP-TYPE
       ENTERPRISE dipmiTraps
	   VARIABLES { dipmiDeviceName, dipmiScanInfoSensorName, dipmiScanInfoSensorReading }
       DESCRIPTION
	   "Recover sensor critical event."
       ::= 6
	   
    dipmiSensorNonRecoverable TRAP-TYPE
       ENTERPRISE dipmiTraps
	   VARIABLES { dipmiDeviceName, dipmiScanInfoSensorName, dipmiScanInfoSensorReading }
       DESCRIPTION
	   "Sensor non-recoverable event."
       ::= 7
    
	dipmiSensorNonRecoverableRecover TRAP-TYPE
       ENTERPRISE dipmiTraps
	   VARIABLES { dipmiDeviceName, dipmiScanInfoSensorName, dipmiScanInfoSensorReading }
       DESCRIPTION
	   "Recover sensor non-recoverable event."
       ::= 8	   
END
