-- =====================================================================
-- == OG-STATUS-MIB:                                                  ==
-- == Opengear status Management Information Base                    ==
-- ==                                                                 ==
-- == (c) Copyright 2010-2014 Opengear Inc.                                ==
-- =====================================================================

OG-STATUS-MIB DEFINITIONS ::= BEGIN

IMPORTS 
	opengear
		FROM OG-SMI-MIB
	MODULE-IDENTITY, OBJECT-TYPE 
		FROM SNMPv2-SMI
	Integer32 
		FROM SNMPv2-SMI
        Counter64 
		FROM SNMPv2-SMI
	MODULE-COMPLIANCE, OBJECT-GROUP 
		FROM SNMPv2-CONF
	DisplayString 
		FROM SNMPv2-TC;

ogStatus MODULE-IDENTITY
	LAST-UPDATED "201308160000Z"
	ORGANIZATION "Opengear Inc."
	CONTACT-INFO
		"Opengear Inc.
		 630 West 9560 South, Suite A,
		 Sandy, UT 84070
		 support@opengear.com"
	DESCRIPTION
		"Legacy Opengear status and alert MIB"
	REVISION "201308160000Z"
	DESCRIPTION
		"Add UPS RPC outlet tables add extra stats for serial ports."
	REVISION "201308110000Z"
	DESCRIPTION
		"Add DIO tables for status and current alerts."
	REVISION "201008150000Z"
	DESCRIPTION
		"Fix type mismatch for serial signal states."
	REVISION "201001110000Z"
	DESCRIPTION
		"Initial revision"
       ::= { opengear 16 }

ogSerialPortStatusTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF SerialPortStatusEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION
           "This entity's serial port statistics table."
	::= { ogStatus 1 }

ogSerialPortStatusEntry OBJECT-TYPE
	SYNTAX SerialPortStatusEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"A console serial port entry"
	INDEX { ogSerialPortStatusIndex }
	::= { ogSerialPortStatusTable 1 }

SerialPortStatusEntry ::= SEQUENCE {
        ogSerialPortStatusIndex    Integer32,
        ogSerialPortStatusPort     Integer32,
 	ogSerialPortStatusRxBytes  Counter64,
 	ogSerialPortStatusTxBytes  Counter64,
        ogSerialPortStatusSpeed    Integer32,
        ogSerialPortStatusDCD      INTEGER,
        ogSerialPortStatusDTR      INTEGER,
        ogSerialPortStatusDSR      INTEGER,
        ogSerialPortStatusCTS      INTEGER,
        ogSerialPortStatusRTS      INTEGER,
	ogSerialPortStatusLabel    DisplayString
}

ogSerialPortStatusIndex OBJECT-TYPE
	SYNTAX Integer32(0..63)
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Index within the serial port table of this status"
	::= { ogSerialPortStatusEntry 1 }

ogSerialPortStatusPort OBJECT-TYPE
	SYNTAX Integer32(1..64)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Serial port number"
	::= { ogSerialPortStatusEntry 2 }

ogSerialPortStatusRxBytes OBJECT-TYPE
	SYNTAX Counter64
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Serial port bytes received"
	::= { ogSerialPortStatusEntry 3 }

ogSerialPortStatusTxBytes OBJECT-TYPE
	SYNTAX Counter64
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Serial port bytes transmitted"
	::= { ogSerialPortStatusEntry 4 }

ogSerialPortStatusSpeed OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Serial port speed in bits per second"
	::= { ogSerialPortStatusEntry 5 }

ogSerialPortStatusDCD OBJECT-TYPE
        SYNTAX INTEGER {
            off(0),
            on(1)
        }
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The status of the DCD signal."
	::= { ogSerialPortStatusEntry 6 }

ogSerialPortStatusDTR OBJECT-TYPE
        SYNTAX INTEGER {
            off(0),
            on(1)
        }
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The status of the DTR signal."
	::= { ogSerialPortStatusEntry 7 }

ogSerialPortStatusDSR OBJECT-TYPE
        SYNTAX INTEGER {
            off(0),
            on(1)
        }
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The status of the DSR signal."
	::= { ogSerialPortStatusEntry 8 }

ogSerialPortStatusCTS OBJECT-TYPE
        SYNTAX INTEGER {
            off(0),
            on(1)
        }
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The status of the CTS signal."
	::= { ogSerialPortStatusEntry 9 }

ogSerialPortStatusRTS OBJECT-TYPE
        SYNTAX INTEGER {
            off(0),
            on(1)
        }
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The status of the RTS signal."
	::= { ogSerialPortStatusEntry 10 }

ogSerialPortStatusLabel OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..255))
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The label of the port"
	::= { ogSerialPortStatusEntry 11 }

ogSerialPortActiveUsersTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF SerialPortActiveUsersEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION
           "This entity's serial port users table."
	::= { ogStatus 2 }

ogSerialPortActiveUsersEntry OBJECT-TYPE
	SYNTAX SerialPortActiveUsersEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"A user logged in on the serial port"
	INDEX { ogSerialPortActiveUsersIndex }
	::= { ogSerialPortActiveUsersTable 1 }

SerialPortActiveUsersEntry ::= SEQUENCE {
        ogSerialPortActiveUsersIndex        Integer32,
        ogSerialPortActiveUsersPort         Integer32,
        ogSerialPortActiveUsersName         DisplayString,
        ogSerialPortActiveUsersPortLabel    DisplayString
}

ogSerialPortActiveUsersIndex OBJECT-TYPE
	SYNTAX Integer32(0..63)
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Index within the serial port active users table"
	::= { ogSerialPortActiveUsersEntry 1 }

ogSerialPortActiveUsersPort OBJECT-TYPE
	SYNTAX Integer32(1..64)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Serial port number"
	::= { ogSerialPortActiveUsersEntry 2 }

ogSerialPortActiveUsersName OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..64))
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The name of the user logged in on the port."
	::= { ogSerialPortActiveUsersEntry 3 }

ogSerialPortActiveUsersPortLabel OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..255))
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The label of the port being accessed"
	::= { ogSerialPortActiveUsersEntry 4 }

ogRpcStatusTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF RpcStatusEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION
           "This entity's RPC table."
	::= { ogStatus 3 }

ogRpcStatusEntry OBJECT-TYPE
	SYNTAX RpcStatusEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"RPC status entry"
	INDEX { ogRpcStatusIndex }
	::= { ogRpcStatusTable 1 }

RpcStatusEntry ::= SEQUENCE {
        ogRpcStatusIndex        Integer32,
        ogRpcStatusName         DisplayString,
        ogRpcStatusMaxTemp      Integer32,
        ogRpcStatusAlertCount   Integer32
}

ogRpcStatusIndex OBJECT-TYPE
	SYNTAX Integer32 (0..65535)
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Index within the RPC status table"
	::= { ogRpcStatusEntry 1 }

ogRpcStatusName OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..255))
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The name of the RPC device."
	::= { ogRpcStatusEntry 2 }

ogRpcStatusMaxTemp OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Maximum temperature on the RPC"
	::= { ogRpcStatusEntry 3 }

ogRpcStatusAlertCount OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Number of alerts triggered on the RPC"
	::= { ogRpcStatusEntry 4 }

ogEmdStatusTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF EmdStatusEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION
           "This entity's EMD table."
	::= { ogStatus 4 }

ogEmdStatusEntry OBJECT-TYPE
	SYNTAX EmdStatusEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"EMD status entry"
	INDEX { ogEmdStatusIndex }
	::= { ogEmdStatusTable 1 }

EmdStatusEntry ::= SEQUENCE {
        ogEmdStatusIndex        Integer32,
        ogEmdStatusName         DisplayString,
        ogEmdStatusTemp         Integer32,
        ogEmdStatusHumidity     Integer32,
        ogEmdStatusAlertCount   Integer32
}

ogEmdStatusIndex OBJECT-TYPE
	SYNTAX Integer32 (0..65535)
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Index within the EMD status table"
	::= { ogEmdStatusEntry 1 }

ogEmdStatusName OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..255))
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The name of the EMD device."
	::= { ogEmdStatusEntry 2 }

ogEmdStatusTemp OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Current temperature on the EMD"
	::= { ogEmdStatusEntry 3 }

ogEmdStatusHumidity OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Humidity sensor on the EMD"
	::= { ogEmdStatusEntry 4 }

ogEmdStatusAlertCount OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Number of alerts triggered on the EMD"
	::= { ogEmdStatusEntry 5 }

ogDioStatusTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF DioStatusEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION
           "Ths Digital I/O status table."
	::= { ogStatus 5 }

ogDioStatusEntry OBJECT-TYPE
	SYNTAX DioStatusEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Digital I/O status entry"
	INDEX { ogDioStatusIndex }
	::= { ogDioStatusTable 1 }

DioStatusEntry ::= SEQUENCE {
        ogDioStatusIndex        Integer32,
        ogDioStatusName         DisplayString,
        ogDioStatusType         INTEGER,
        ogDioStatusDirection    INTEGER,
        ogDioStatusState        INTEGER,
        ogDioStatusCounter      Counter64,
        ogDioStatusTriggerMode  INTEGER
}

ogDioStatusIndex OBJECT-TYPE
	SYNTAX Integer32 (0..65535)
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Index within the Digital I/O status table"
	::= { ogDioStatusEntry 1 }

ogDioStatusName OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..255))
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The ID of this Digital I/O."
	::= { ogDioStatusEntry 2 }

ogDioStatusType OBJECT-TYPE
	SYNTAX INTEGER {
		ttlInputOutput(0),
		highVoltageOutput(1)
	}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Digital I/O type (TTL Input/Output or High-Voltage Output)."
	::= { ogDioStatusEntry 3 }

ogDioStatusDirection OBJECT-TYPE
	SYNTAX INTEGER {
		output(0),
		input(1)
	}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The direction of the Digital I/O (Input or Output)"
	::= { ogDioStatusEntry 4 }

ogDioStatusState OBJECT-TYPE
	SYNTAX INTEGER {
		low(0),
		high(1)
	}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The electrical state value of the Digital I/O (Low or High)"
	::= { ogDioStatusEntry 5 }

ogDioStatusCounter OBJECT-TYPE
	SYNTAX Counter64
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The trigger counter of this Digital I/O"
	::= { ogDioStatusEntry 6 }

ogDioStatusTriggerMode OBJECT-TYPE
	SYNTAX INTEGER {
		invalid(0),
		risingEdge(1),
		fallingEdge(2),
		risingFallingEdge(3)
	}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The Trigger Mode of the Digital I/O"
	::= { ogDioStatusEntry 7 }

-- alert status
ogSignalAlertStatusTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF SignalAlertStatusEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION
           "This entity's serial port signal table."
	::= { ogStatus 6 }

ogSignalAlertStatusEntry OBJECT-TYPE
	SYNTAX SignalAlertStatusEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"A console signal entry"
	INDEX { ogSignalAlertStatusIndex }
	::= { ogSignalAlertStatusTable 1 }

SignalAlertStatusEntry ::= SEQUENCE {
 	ogSignalAlertStatusIndex	 Integer32,
 	ogSignalAlertStatusPort        Integer32,
 	ogSignalAlertStatusLabel       DisplayString,
 	ogSignalAlertStatusSignalName  DisplayString,
 	ogSignalAlertStatusState       INTEGER
}

ogSignalAlertStatusIndex OBJECT-TYPE
	SYNTAX Integer32(0..65535)
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Index within the signal table of this alert"
	::= { ogSignalAlertStatusEntry 1 }

ogSignalAlertStatusPort OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Serial port number on which the signal change occurred"
	::= { ogSignalAlertStatusEntry 2 }

ogSignalAlertStatusLabel OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The label for the serial port where the signal applies."
	::= { ogSignalAlertStatusEntry 3 }

ogSignalAlertStatusSignalName OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	        "The particular signal which changed"
	::= { ogSignalAlertStatusEntry 4 }

ogSignalAlertStatusState OBJECT-TYPE
	SYNTAX	INTEGER {
			off(0),
			on(1)
		}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	        "The current signal state"
	::= { ogSignalAlertStatusEntry 5 }

ogEnvAlertStatusTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF EnvAlertStatusEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION
           "This entity's serial port signal table."
	::= { ogStatus 7 }

ogEnvAlertStatusEntry OBJECT-TYPE
	SYNTAX EnvAlertStatusEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"A console environment entry"
	INDEX { ogEnvAlertStatusIndex }
	::= { ogEnvAlertStatusTable 1 }

EnvAlertStatusEntry ::= SEQUENCE {
        ogEnvAlertStatusIndex	    Integer32,
 	ogEnvAlertStatusDevice    DisplayString,
 	ogEnvAlertStatusSensor    DisplayString,
 	ogEnvAlertStatusOutlet    Integer32,
 	ogEnvAlertStatusValue     Integer32,
 	ogEnvAlertStatusOldValue  Integer32,
 	ogEnvAlertStatusStatus    Integer32
}

ogEnvAlertStatusIndex OBJECT-TYPE
	SYNTAX Integer32(0..65535)
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Index of the environment alert status"
	::= { ogEnvAlertStatusEntry 1 }

ogEnvAlertStatusDevice OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The device the environment alert occurred on."
	::= { ogEnvAlertStatusEntry 2 }

ogEnvAlertStatusSensor OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The sensor the environment alert occurred on."
	::= { ogEnvAlertStatusEntry 3 }

ogEnvAlertStatusOutlet OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Outlet of the environment status"
	::= { ogEnvAlertStatusEntry 4 }

ogEnvAlertStatusValue OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Value of the environment status"
	::= { ogEnvAlertStatusEntry 5 }

ogEnvAlertStatusOldValue OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Previous value of the environment status"
	::= { ogEnvAlertStatusEntry 6 }

ogEnvAlertStatusStatus OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"status value of the environment status"
	::= { ogEnvAlertStatusEntry 7 }

ogNutAlertStatusTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF NutAlertStatusEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION
           "This entity's NUT (UPS) alert table."
	::= { ogStatus 8 }

ogNutAlertStatusEntry OBJECT-TYPE
	SYNTAX NutAlertStatusEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"A NUT (UPS) entry"
	INDEX { ogNutAlertStatusIndex }
	::= { ogNutAlertStatusTable 1 }

NutAlertStatusEntry ::= SEQUENCE {
        ogNutAlertStatusIndex	Integer32,
        ogNutAlertStatusPort	Integer32,
 	ogNutAlertStatusName	DisplayString,
 	ogNutAlertStatusHost	DisplayString,
 	ogNutAlertStatusStatus	DisplayString
}

ogNutAlertStatusIndex OBJECT-TYPE
	SYNTAX Integer32(0..65535)
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Index of the NUT (UPS) alert status"
	::= { ogNutAlertStatusEntry 1 }

ogNutAlertStatusPort OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Serial port of the NUT (UPS) alert"
	::= { ogNutAlertStatusEntry 2 }

ogNutAlertStatusName OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The name of the NUT (UPS) alert."
	::= { ogNutAlertStatusEntry 3 }

ogNutAlertStatusHost OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The host of the NUT (UPS) alert."
	::= { ogNutAlertStatusEntry 4 }

ogNutAlertStatusStatus OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The status of the NUT (UPS) alert."
	::= { ogNutAlertStatusEntry 5 }

ogDataAlertStatusTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF DataAlertStatusEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION
           "A Data Usage alert table."
	::= { ogStatus 9 }

ogDataAlertStatusEntry OBJECT-TYPE
	SYNTAX DataAlertStatusEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"A Data Usage entry"
	INDEX { ogDataAlertStatusIndex }
	::= { ogDataAlertStatusTable 1 }

DataAlertStatusEntry ::= SEQUENCE {
        ogDataAlertStatusIndex    Integer32,
        ogDataAlertStatusBytes    Integer32,
 	ogDataAlertStatusSeconds  Integer32,
 	ogDataAlertStatusDevice   DisplayString,
 	ogDataAlertStatusState    INTEGER
}

ogDataAlertStatusIndex OBJECT-TYPE
	SYNTAX Integer32(0..65535)
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Index of the data usage alert"
	::= { ogDataAlertStatusEntry 1 }

ogDataAlertStatusBytes OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The number of bytes exceeded during the time period"
	::= { ogDataAlertStatusEntry 2 }

ogDataAlertStatusSeconds OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The time in seconds over which the number of bytes was exceeded"
	::= { ogDataAlertStatusEntry 3 }

ogDataAlertStatusDevice OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The unique name for the interface the alert occurred on."
	::= { ogDataAlertStatusEntry 4 }

ogDataAlertStatusState OBJECT-TYPE
        SYNTAX INTEGER {
            off(0),
            on(1)
        }
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The status of the data alert."
	::= { ogDataAlertStatusEntry 5 }

ogDioAlertStatusTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF DioAlertStatusEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION
           "Ths Digital I/O current alert table."
	::= { ogStatus 10 }

ogDioAlertStatusEntry OBJECT-TYPE
	SYNTAX DioAlertStatusEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"A Digital I/O current alert entry"
	INDEX { ogDioAlertStatusIndex }
	::= { ogDioAlertStatusTable 1 }

DioAlertStatusEntry ::= SEQUENCE {
        ogDioAlertStatusIndex     Integer32,
 	ogDioAlertStatusName      DisplayString,
 	ogDioAlertStatusValue     INTEGER,
 	ogDioAlertStatusOldValue  INTEGER,
 	ogDioAlertStatusTriggered INTEGER
}

ogDioAlertStatusIndex OBJECT-TYPE
	SYNTAX Integer32 (0..65535)
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Index within the Digital I/O Input alert table"
	::= { ogDioAlertStatusEntry 1 }

ogDioAlertStatusName OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The Digital I/O Input which the alert occurred on."
	::= { ogDioAlertStatusEntry 2 }

ogDioAlertStatusValue OBJECT-TYPE
	SYNTAX INTEGER {
		open(0),
		closed(1)
	}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Current value of the Digital I/O Input (Open or Closed)"
	::= { ogDioAlertStatusEntry 3 }

ogDioAlertStatusOldValue OBJECT-TYPE
	SYNTAX INTEGER {
		open(0),
		closed(1)
	}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Previous value of the Digital I/O Input (Open or Closed)"
	::= { ogDioAlertStatusEntry 4 }

ogDioAlertStatusTriggered OBJECT-TYPE
	SYNTAX INTEGER {
		false(0),
		true(1)
	}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Trigger status value of the Digital I/O"
	::= { ogDioAlertStatusEntry 5 }

-- end alert status

-- conformance information

ogStatusConformance OBJECT IDENTIFIER ::= { ogStatus 65535 }
ogStatusCompliances OBJECT IDENTIFIER ::= { ogStatusConformance 1 }
ogStatusGroups OBJECT IDENTIFIER ::= { ogStatusConformance 2 }

-- compliance statements

ogStatusCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The compliance statement for the Opengear status MIB."
    MODULE  -- this module
    MANDATORY-GROUPS { ogBasicStatusGroup, ogBasicAlertStatusGroup  }

   ::= { ogStatusCompliances 1 }

-- units of conformance

ogBasicStatusGroup OBJECT-GROUP
    OBJECTS { 
	ogSerialPortStatusPort, 
	ogSerialPortStatusRxBytes,
	ogSerialPortStatusTxBytes, 
	ogSerialPortStatusSpeed, 
	ogSerialPortStatusDCD,
	ogSerialPortStatusDTR,
	ogSerialPortStatusDSR,
	ogSerialPortStatusCTS,
	ogSerialPortStatusRTS,
	ogSerialPortStatusLabel,
	ogSerialPortActiveUsersPort,
	ogSerialPortActiveUsersName,
	ogSerialPortActiveUsersPortLabel,
	ogRpcStatusName,
	ogRpcStatusMaxTemp,
	ogRpcStatusAlertCount,
	ogEmdStatusName,
	ogEmdStatusTemp,
	ogEmdStatusHumidity,
	ogEmdStatusAlertCount, 
	ogDioStatusName,
	ogDioStatusType,
	ogDioStatusDirection,
	ogDioStatusState,
	ogDioStatusCounter,
	ogDioStatusTriggerMode
    }
    STATUS  current
    DESCRIPTION
            "A collection of objects to retrieve Opengear statistics."
    ::= { ogStatusGroups 1 }

ogBasicAlertStatusGroup OBJECT-GROUP
    OBJECTS { 
	ogSignalAlertStatusPort,
	ogSignalAlertStatusLabel,
	ogSignalAlertStatusSignalName,
	ogSignalAlertStatusState,
	ogEnvAlertStatusDevice,
	ogEnvAlertStatusSensor,
	ogEnvAlertStatusOutlet,
	ogEnvAlertStatusValue,
	ogEnvAlertStatusOldValue,
	ogEnvAlertStatusStatus,
	ogNutAlertStatusPort,
	ogNutAlertStatusName,
	ogNutAlertStatusHost,
	ogNutAlertStatusStatus,
	ogDataAlertStatusBytes,
	ogDataAlertStatusSeconds,
	ogDataAlertStatusDevice,
	ogDataAlertStatusState,
	ogDioAlertStatusName,
	ogDioAlertStatusValue,
	ogDioAlertStatusOldValue,
	ogDioAlertStatusTriggered
    }
    STATUS  current
    DESCRIPTION
            "A collection of objects to retrieve Opengear alert status."
    ::= { ogStatusGroups 2 }

END
