--Title:    FDS_PC.MIB
--Version:  v4.0
--Date:     4/13/2010
--Copyright @ 2009 RLE Technologies.  All rights reserved worldwide.
--This MIB defines objects for the RLE FDSBB SNMP Agent.

RLE-FDSPC-MIB DEFINITIONS ::= BEGIN

IMPORTS
        TruthValue
                FROM RFC1253-MIB
        DisplayString
                FROM RFC1213-MIB
        OBJECT-TYPE, Gauge
                FROM RFC1155-SMI
        TRAP-TYPE
                FROM RFC-1215
        Counter, enterprises
                FROM RFC1155-SMI;

    rle OBJECT IDENTIFIER ::= { enterprises 3184 }

    products OBJECT IDENTIFIER ::= { rle 1 }

    fds OBJECT IDENTIFIER ::= { products 10 }

    fdsPc OBJECT IDENTIFIER ::= { fds 3 }

    fdsIdent OBJECT IDENTIFIER ::= { fdsPc 1 }

    fdsIdentManufacturer OBJECT-TYPE
        SYNTAX              DisplayString
        ACCESS              read-only
        STATUS              mandatory
        DESCRIPTION         "The Monitor Control Unit manufacturer."
        ::= { fdsIdent 1 }

    fdsIdentModel OBJECT-TYPE
        SYNTAX              DisplayString
        ACCESS              read-only
        STATUS              mandatory
        DESCRIPTION         "The Monitor Control Unit Model designation."
        ::= { fdsIdent 2 }

    fdsIdentSoftwareVersion OBJECT-TYPE
        SYNTAX              DisplayString
        ACCESS          	read-only
        STATUS              mandatory
        DESCRIPTION         "The SNMP Agent software version."
        ::= { fdsIdent 3 }

    fdsRegisters OBJECT IDENTIFIER ::= { fdsPc 2 }

    registerTable OBJECT-TYPE
        SYNTAX              SEQUENCE OF RegisterTableEntry
        ACCESS          	not-accessible
        STATUS              mandatory
        DESCRIPTION         "A list of snmp input object values."
        ::= { fdsRegisters 1 }

    registerTableEntry OBJECT-TYPE
        SYNTAX              RegisterTableEntry
        ACCESS          	not-accessible
        STATUS              mandatory
        DESCRIPTION         "An input table entry containing data for a specific
                            register."
        INDEX               {
                                registerIndex
                            }
        ::= { registerTable 1 }

    RegisterTableEntry ::= SEQUENCE {
        registerIndex
            INTEGER,
        registerIntData
            INTEGER,
        registerFloatData
            DisplayString,
        registerName
            DisplayString
    }

    registerIndex OBJECT-TYPE
        SYNTAX              INTEGER
        ACCESS          	not-accessible
        STATUS              mandatory
        DESCRIPTION         "The index in the input table for a particular
                            register object. Used to address table entries."
        ::= { registerTableEntry 1 }

    registerIntData OBJECT-TYPE
        SYNTAX              INTEGER
        ACCESS          	read-only
        STATUS              mandatory
        DESCRIPTION         "Register data field in a converted value."
        ::= { registerTableEntry 2 }

    registerFloatData OBJECT-TYPE
        SYNTAX              DisplayString
        ACCESS          	read-only
        STATUS              mandatory
        DESCRIPTION         "Register float data string"
        ::= { registerTableEntry 3 }

    registerName OBJECT-TYPE
        SYNTAX              DisplayString
        ACCESS          	read-only
        STATUS              mandatory
        DESCRIPTION         "Register name string"
        ::= { registerTableEntry 4 }

    fdsModbusDeviceRegisters OBJECT IDENTIFIER ::= { fdsPc 3 }

    modbusDeviceRegisterTable OBJECT-TYPE
        SYNTAX              SEQUENCE OF ModbusDeviceRegisterTableEntry
        ACCESS          	not-accessible
        STATUS              mandatory
        DESCRIPTION         "A list of snmp input object values."
        ::= { fdsModbusDeviceRegisters 1 }

    modbusDeviceRegisterTableEntry OBJECT-TYPE
        SYNTAX              ModbusDeviceRegisterTableEntry
        ACCESS          	not-accessible
        STATUS              mandatory
        DESCRIPTION         "An input table entry containing data for a specific
                            modbus device."
        INDEX               {
                                modbusDeviceRegisterIndex
                            }
        ::= { modbusDeviceRegisterTable 1 }

        
    ModbusDeviceRegisterTableEntry ::= SEQUENCE {
        modbusDeviceRegisterIndex
            INTEGER,
        modbusDeviceRegisterIntData
            INTEGER,
        modbusDeviceRegisterFloatData
            DisplayString,
        modbusDeviceRegisterName
            DisplayString
    }

    modbusDeviceRegisterIndex OBJECT-TYPE
        SYNTAX              INTEGER
        ACCESS          	not-accessible
        STATUS              mandatory
        DESCRIPTION         "The index in the input table for a particular
                            register object. Used to address table entries."
        ::= { modbusDeviceRegisterTableEntry 1 }

    modbusDeviceRegisterIntData OBJECT-TYPE
        SYNTAX              INTEGER
        ACCESS          	read-only
        STATUS              mandatory
        DESCRIPTION         "Register data field in a converted value."
        ::= { modbusDeviceRegisterTableEntry 2 }

    modbusDeviceRegisterFloatData OBJECT-TYPE
        SYNTAX              DisplayString
        ACCESS          	read-only
        STATUS              mandatory
        DESCRIPTION         "Register float data string"
        ::= { modbusDeviceRegisterTableEntry 3 }

    modbusDeviceRegisterName OBJECT-TYPE
        SYNTAX              DisplayString
        ACCESS          	read-only
        STATUS              mandatory
        DESCRIPTION         "Register name string"
        ::= { modbusDeviceRegisterTableEntry 4 }
        
    fdsPcTrapData OBJECT IDENTIFIER ::= { fdsPc 10 }

    fdsPcTrapRegisterNumber OBJECT-TYPE
        SYNTAX              INTEGER
        ACCESS          	not-accessible
        STATUS              mandatory
        DESCRIPTION         "The index register number (1-1024)."
        ::= { fdsPcTrapData 1 }

    fdsPcTrapRegisterLabel OBJECT-TYPE
        SYNTAX              DisplayString
        ACCESS          	not-accessible
        STATUS              mandatory
        DESCRIPTION         "A user-defined text string associated with the
                            register."
        ::= { fdsPcTrapData 2 }

    fdsPcTraps OBJECT IDENTIFIER ::= { fdsPc 11 }

    fdsPcAlarmTrap TRAP-TYPE
        ENTERPRISE          fdsPcTraps
        VARIABLES	
        {
        		fdsPcTrapRegisterNumber,
        		fdsPcTrapRegisterLabel
       	}
        DESCRIPTION         "A register has reached an alarm state."
        ::= 1

    fdsPcOfflineTrap TRAP-TYPE
        ENTERPRISE          fdsPcTraps
        VARIABLES	
        {
        		fdsPcTrapRegisterNumber,
        		fdsPcTrapRegisterLabel
       	}
        DESCRIPTION         "A register has went offline."
        ::= 2

END

