-- Digipower Manufacturing Inc. DGPRPM-MIB                             
-- Copyright (c) Digipower Manufacturing Inc., 1999-2003.           
-- Version : 1.0.1                                                  
-- ************************************************************************
-- DGPRPM-MIB { iso org(3) dod(6) internet(1) private(4)               
--    enterprises(1) dgp(17420) }                                   

DGPRPM-MIB DEFINITIONS ::= BEGIN

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


--, IpAddress, Gauge, TimeTicks                                                                     
--PositiveInteger 				                ::=     INTEGER                        
--NonNegativeInteger 			             	 ::=     INTEGER                        
--TimeStamp                                        ::=     TimeTicks                      
--TimeInterval                                     ::=     INTEGER (0..2147483647)        
--TestAndIncr                                      ::=     INTEGER (0..2147483647)        

dgp OBJECT IDENTIFIER 	::= { enterprises 17420 }

products OBJECT IDENTIFIER 	::= { dgp 1 }

hardware OBJECT IDENTIFIER 	::= { products 1 }

rpm OBJECT IDENTIFIER 	::= { hardware 3 }

cps OBJECT IDENTIFIER 	::= { hardware 4 }

protocol OBJECT-TYPE
	SYNTAX INTEGER {
			ups01(0),
			ups02(1),
			rpm(2),
			cps(3),
			ats(4) }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"select protocol"
	::= { hardware 1 }


-- rpm -------------------------------------------------------------------------

rpmNumber OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Indicate how many rpm attached to this system."
	::= { rpm 1 }


rpmTable OBJECT-TYPE
	SYNTAX SEQUENCE OF RpmEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"The number of  entries is contained in the rpmNumber OID."
	::= { rpm 2 }


accessTable OBJECT-TYPE
	SYNTAX SEQUENCE OF AccessEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION ""
	::= { snmp 1 }


rpmEntry OBJECT-TYPE
	SYNTAX RpmEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"An entry containing information of an rpm."
	INDEX {
		rpmID }
	::= { rpmTable 1 }


RpmEntry ::= SEQUENCE {

	rpmID            INTEGER,
	rpmOutletNumber  INTEGER,
	rpmOutletState   DisplayString,
	rpmControlType   DisplayString,
	rpmInternetLocal DisplayString,
	rpmName          DisplayString,
	rpmOutletA       DisplayString,
	rpmOutletB       DisplayString,
	rpmOutletC       DisplayString,
	rpmOutletD       DisplayString,
	rpmOutletE       DisplayString,
	rpmOutletF       DisplayString,
	rpmOutletG       DisplayString,
	rpmOutletH       DisplayString,
	rpmDelayA        INTEGER,
	rpmDelayB        INTEGER,
	rpmDelayC        INTEGER,
	rpmDelayD        INTEGER,
	rpmDelayE        INTEGER,
	rpmDelayF        INTEGER,
	rpmDelayG        INTEGER,
	rpmDelayH        INTEGER,
	rpmResumeDelayA  INTEGER,
	rpmResumeDelayB  INTEGER,
	rpmResumeDelayC  INTEGER,
	rpmResumeDelayD  INTEGER,
	rpmResumeDelayE  INTEGER,
	rpmResumeDelayF  INTEGER,
	rpmResumeDelayG  INTEGER,
	rpmResumeDelayH  INTEGER }


rpmID OBJECT-TYPE
	SYNTAX INTEGER (0..16)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The ID number of rpm."
	::= { rpmEntry 1 }


rpmOutletNumber OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of outlets for the rpm."
	::= { rpmEntry 2 }


rpmOutletState OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Getting this OID will cause the status of all outlets to be
		 returned. This OID is provided for informational purposes only.

		 The format of the data returned is a character string consisting of a character from '0' to '3'.

		     '0'  if the outlet is off.
		     '1'  if the outlet is on.
		     '2'  if the outlet is in shutdown pending state.
		     '3'  if the outlet is fault.

		 A comma character will delimit each outlet entry in the string.

		For exampe:
		     If the returned string is '1,2,0,3', it means the iSwith has 4 outlets and
		     the outlets status are the following:

		     outlet 1 is on,
		     outlet 2 is in shutdown pending state,
		     outlet 3 is off,
		     outlet 4 is fault.

		"
	::= { rpmEntry 3 }


rpmControlType OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"Getting this OID will cause the status of all outlets to be
		 returned. 

		 The format of the data returned is a character string consisting of a character from '0' to '2'.

		     '0'  if the outlet is instant shutdown.
		     '1'  if the outlet is safe shutdown.
		     '2'  if the outlet is safe reboot.

		 A comma character will delimit each outlet entry in the string.

		For exampe:
		     If the returned string is '1,2,0,1', it means the iSwith has 4 outlets and
		     the outlets status are the following:

		     outlet 1 is safe shutdown,
		     outlet 2 is safe reboot,
		     outlet 3 is instant shutdown,
		     outlet 4 is safe shutdown.

		"
	::= { rpmEntry 4 }


rpmInternetLocal OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"Getting this OID will cause the status of all outlets to be
		 returned. 

		 The format of the data returned is a character string consisting of a character from '0' to '1'.

		     '0'  if the outlet is Internet.
		     '1'  if the outlet is Local.

		 A comma character will delimit each outlet entry in the string.

		For exampe:
		     If the returned string is '1,1,0,1', it means the iSwith has 4 outlets and
		     the outlets status are the following:

		     outlet 1 is Local,
		     outlet 2 is Local,
		     outlet 3 is Internet,
		     outlet 4 is Local.

		"
	::= { rpmEntry 5 }


rpmName OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		""
	::= { rpmEntry 6 }


rpmOutletA OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		""
	::= { rpmEntry 7 }


rpmOutletB OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		""
	::= { rpmEntry 8 }


rpmOutletC OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		""
	::= { rpmEntry 9 }


rpmOutletD OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		""
	::= { rpmEntry 10 }


rpmOutletE OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		""
	::= { rpmEntry 11 }


rpmOutletF OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		""
	::= { rpmEntry 12 }


rpmOutletG OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		""
	::= { rpmEntry 13 }


rpmOutletH OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		""
	::= { rpmEntry 14 }


rpmDelayA OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		""
	::= { rpmEntry 15 }


rpmDelayB OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		""
	::= { rpmEntry 16 }


rpmDelayC OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		""
	::= { rpmEntry 17 }


rpmDelayD OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		""
	::= { rpmEntry 18 }


rpmDelayE OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		""
	::= { rpmEntry 19 }


rpmDelayF OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		""
	::= { rpmEntry 20 }


rpmDelayG OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		""
	::= { rpmEntry 21 }


rpmDelayH OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		""
	::= { rpmEntry 22 }


rpmResumeDelayA OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		""
	::= { rpmEntry 23 }


rpmResumeDelayB OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		""
	::= { rpmEntry 24 }


rpmResumeDelayC OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		""
	::= { rpmEntry 25 }


rpmResumeDelayD OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		""
	::= { rpmEntry 26 }


rpmResumeDelayE OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		""
	::= { rpmEntry 27 }


rpmResumeDelayF OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		""
	::= { rpmEntry 28 }


rpmResumeDelayG OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		""
	::= { rpmEntry 29 }


rpmResumeDelayH OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		""
	::= { rpmEntry 30 }


ats OBJECT IDENTIFIER 	::= { hardware 5 }

accessEntry OBJECT-TYPE
	SYNTAX AccessEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION ""
	INDEX {
		accessNo }
	::= { accessTable 1 }


AccessEntry ::= SEQUENCE {

	accessNo  INTEGER,
	community  DisplayString,
	permission INTEGER }


rpmSetEntry OBJECT IDENTIFIER 	::= { rpm 3 }

rpmSetID OBJECT-TYPE
	SYNTAX INTEGER (0..16)
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"The ID number of rpm."
	::= { rpmSetEntry 1 }


rpmOnNumber OBJECT-TYPE
	SYNTAX INTEGER {
			none(0),
			outletA(1),
			outletB(2),
			outletC(3),
			outletD(4),
			outletE(5),
			outletF(6),
			outletG(7),
			outletH(8) }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"The on number of outlets for the rpm."
	::= { rpmSetEntry 2 }


rpmOffNumber OBJECT-TYPE
	SYNTAX INTEGER {
			none(0),
			outletA(1),
			outletB(2),
			outletC(3),
			outletD(4),
			outletE(5),
			outletF(6),
			outletG(7),
			outletH(8) }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"The off number of outlets for the rpm."
	::= { rpmSetEntry 3 }


rpmAllOnOff OBJECT-TYPE
	SYNTAX INTEGER {
			none(0),
			on(1),
			off(2) }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"The all outlets on/off for the rpm.
		0 for all outlets off, 1 for all outlets on"
	::= { rpmSetEntry 4 }


rpmScheduleTable OBJECT-TYPE
	SYNTAX SEQUENCE OF RpmScheduleEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION ""
	::= { rpm 4 }


rpmScheduleEntry OBJECT-TYPE
	SYNTAX RpmScheduleEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"An entry containing information of an rpm."
	INDEX {
		rpmScheduleIndex }
	::= { rpmScheduleTable 1 }


RpmScheduleEntry ::= SEQUENCE {

	rpmScheduleIndex INTEGER,
	rpmScheduleID    INTEGER,
	rpmOutlet        INTEGER,
	rpmOutletAction  INTEGER,
	rpmPeriod        INTEGER,
	rpmDate          DisplayString,
	rpmTime          DisplayString,
	rpmStatus        INTEGER }


rpmScheduleIndex OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION ""
	::= { rpmScheduleEntry 1 }


rpmScheduleID OBJECT-TYPE
	SYNTAX INTEGER (0..16)
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"The Schedule shutdown ID number of rpm."
	::= { rpmScheduleEntry 2 }


rpmOutlet OBJECT-TYPE
	SYNTAX INTEGER {
			outletA(1),
			outletB(2),
			outletC(3),
			outletD(4),
			outletE(5),
			outletF(6),
			outletG(7),
			outletH(8) }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"The specified outlet in rpm."
	::= { rpmScheduleEntry 3 }


rpmOutletAction OBJECT-TYPE
	SYNTAX INTEGER {
			on(1),
			off(2) }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"On/Off schedule entry."
	::= { rpmScheduleEntry 4 }


rpmPeriod OBJECT-TYPE
	SYNTAX INTEGER {
			once(1),
			everySunday(2),
			everyMonday(3),
			everyTuesday(4),
			everyWednesday(5),
			everyThursday(6),
			everyFriday(7),
			everySaturday(8),
			everyDay(9) }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"The period of shutdown."
	::= { rpmScheduleEntry 5 }


rpmDate OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"The shutdown date."
	::= { rpmScheduleEntry 6 }


rpmTime OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"The shutdown time."
	::= { rpmScheduleEntry 7 }


rpmStatus OBJECT-TYPE
	SYNTAX INTEGER {
			clear(0),
			accept(1) }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"Accept/Clear schedule entry."
	::= { rpmScheduleEntry 8 }


--cps 07/04/2003 12:16 Harvey----------------------------------------------------------------

cpsNumber OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Indicate how many cps attached to this system."
	::= { cps 1 }


cpsTable OBJECT-TYPE
	SYNTAX SEQUENCE OF CpsEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"The number of entries is contained in the cpsNumber OID."
	::= { cps 2 }


cpsEntry OBJECT-TYPE
	SYNTAX CpsEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"An entry containing information of an cps."
	INDEX {
		cpsID }
	::= { cpsTable 1 }


CpsEntry ::= SEQUENCE {

	cpsID         INTEGER,
	cpsValue      INTEGER,
	cpsThreshold1 INTEGER,
	cpsThreshold2 INTEGER }


cpsID OBJECT-TYPE
	SYNTAX INTEGER (1..16)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The ID number of cps."
	::= { cpsEntry 1 }


cpsValue OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Indicate the current of cps detect."
	::= { cpsEntry 2 }


cpsThreshold1 OBJECT-TYPE
	SYNTAX INTEGER {
			alarm(0),
			normal(1) }
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Indicate current threshold 1."
	::= { cpsEntry 3 }


cpsThreshold2 OBJECT-TYPE
	SYNTAX INTEGER {
			alarm(0),
			normal(1) }
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Indicate current threshold 2."
	::= { cpsEntry 4 }


cpsSetTable OBJECT-TYPE
	SYNTAX SEQUENCE OF CpsSetEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"The number of entries is contained in the cpsNumber OID."
	::= { cps 3 }


cpsSetEntry OBJECT-TYPE
	SYNTAX CpsSetEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"An entry containing information of an cps."
	INDEX {
		cpsIDIndex }
	::= { cpsSetTable 1 }


CpsSetEntry ::= SEQUENCE {

	cpsIDIndex       INTEGER,
	cpsSetThreshold1 INTEGER,
	cpsSetThreshold2 INTEGER }


cpsIDIndex OBJECT-TYPE
	SYNTAX INTEGER (1..16)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The ID number of cps."
	::= { cpsSetEntry 1 }


cpsSetThreshold1 OBJECT-TYPE
	SYNTAX INTEGER (0..9999)
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"Set current threshold 1."
	::= { cpsSetEntry 2 }


cpsSetThreshold2 OBJECT-TYPE
	SYNTAX INTEGER (0..9999)
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"Set current threshold 2."
	::= { cpsSetEntry 3 }


--ats ----------------------------------------------------------------

atsIdentification OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION ""
	::= { ats 1 }


atsInputPowerSourceA OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION ""
	::= { ats 2 }


atsInputPowerSourceB OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION ""
	::= { ats 3 }


atsAutomaticTransferSwitch OBJECT-TYPE
	SYNTAX INTEGER {
			none(0),
			transfer(1) }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION ""
	::= { ats 4 }


atsStatus OBJECT-TYPE
	SYNTAX INTEGER {
			none(0),
			a(1),
			b(2) }
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION ""
	::= { ats 5 }


mgmt OBJECT IDENTIFIER 	::= { hardware 999 }

snmp OBJECT IDENTIFIER 	::= { mgmt 1 }

accessNo OBJECT-TYPE
	SYNTAX INTEGER (0..7)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		""
	::= { accessEntry 1 }


community OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION ""
	::= { accessEntry 2 }


permission OBJECT-TYPE
	SYNTAX INTEGER {
			noAccess(0),
			read(1),
			readWrite(2) }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		""
	::= { accessEntry 3 }



-- Traps ----------------------------------------------------------------------
rpmOutletOn TRAP-TYPE
	ENTERPRISE dgp
	DESCRIPTION 
		"WARNING: The specified RPM outlet has turned on."
 ::= 100


rpmOutletOff TRAP-TYPE
	ENTERPRISE dgp
	DESCRIPTION 
		"WARNING: The specified RPM outlet has turned off."
 ::= 101


rpmOutletReboot TRAP-TYPE
	ENTERPRISE dgp
	DESCRIPTION 
		"WARNING: The specified RPM outlet has rebooted."
 ::= 102


rpmOutletfault TRAP-TYPE
	ENTERPRISE dgp
	DESCRIPTION 
		"SEVERE: The specified rpm outlet has fault."
 ::= 103


rpmCommunicationLost TRAP-TYPE
	ENTERPRISE dgp
	DESCRIPTION 
		"SEVERE: Communication to the UPS has been lost.  Steps
		to reestablish communication are in progress."
 ::= 104


--cps traps ----------------------------------------------------------------

cpsOutOfThreshold1 TRAP-TYPE
	ENTERPRISE dgp
	DESCRIPTION 
		"WARNING: CPS current out of threshold 1."
 ::= 105


cpsOutOfThreshold2 TRAP-TYPE
	ENTERPRISE dgp
	DESCRIPTION 
		"CRITICAL: CPS current out of threshold 2."
 ::= 106


cpsCommunicationLost TRAP-TYPE
	ENTERPRISE dgp
	DESCRIPTION 
		"CRITICAL: CPS Communication lost."
 ::= 107

END
