

    GBNPlatformOAMSyslog-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE,
        Counter32, Gauge32,
        Unsigned32, Integer32,
        IpAddress, NOTIFICATION-TYPE            FROM SNMPv2-SMI

        RowStatus, TruthValue,
        DisplayString, MacAddress               FROM SNMPv2-TC

        MODULE-COMPLIANCE, OBJECT-GROUP         FROM SNMPv2-CONF

        snmpTraps                               FROM SNMPv2-MIB

        gbnPlatformOAM                          FROM GBNPlatformOAM-MIB;

    gbnPlatformOAMSyslog  MODULE-IDENTITY
        LAST-UPDATED    "0410100000Z"  -- October 10, 2004
        ORGANIZATION    "Greentech"
        CONTACT-INFO    "Adam Armstrong
                         E-mail: adama@observium.org"

        DESCRIPTION     "Syslog mib definition."

        REVISION        "0410100000Z"  -- October 10, 2004
        DESCRIPTION     "Initial MIB creation."

        ::= { gbnPlatformOAM 9 }

    syslogState OBJECT-TYPE
        SYNTAX INTEGER {
            enable(1),
            disable(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "enable or disable Syslog."
        ::= { gbnPlatformOAMSyslog 1 }

    syslogSeqNoEnable OBJECT-TYPE
        SYNTAX INTEGER {
            enable(1),
            disable(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "display or not display sequence number in output messages."
        ::= { gbnPlatformOAMSyslog 2 }

    syslogTimestampType OBJECT-TYPE
        SYNTAX INTEGER {
            notime(1),
            uptime(2),
            datetime(3)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "set timestamp type shown in output messages.
             notime:   not show timestamp;
             uptime:   show elapse time as timestamp;
             datetime: show datetime as timestamp."
        ::= { gbnPlatformOAMSyslog 3 }

    syslogLanguageType OBJECT-TYPE
        SYNTAX INTEGER {
            english(1),
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "set language type used in output messages."
        ::= { gbnPlatformOAMSyslog 4 }

    syslogFacility OBJECT-TYPE
        SYNTAX INTEGER {
            kernel(0),
            userlevel(1),
            mail(2),
            system(3),
            security1(4),
            syslogd(5),
            lineprinter(6),
            networknews(7),
            uucp(8),
            clock1(9),
            security2(10),
            ftp(11),
            ntp(12),
            logaudit(13),
            logalert(14),
            clock2(15),
            localuse0(16),
            localuse1(17),
            localuse2(18),
            localuse3(19),
            localuse4(20),
            localuse5(21),
            localuse6(22),
            localuse7(23)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "set loghost facility code."
        ::= { gbnPlatformOAMSyslog 5 }

    syslogSourceIp OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "specify source address used in syslog.
             0 means no source address used.
             the ip address must belong to the device."
        ::= { gbnPlatformOAMSyslog 6 }

    syslogInfo OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE (0..256))
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "node that used to bind infomation to send trap by syslog."
        ::= { gbnPlatformOAMSyslog 7 }

------------------------------------------------------------------------------
--  syslogOutputDevInfoTable:
------------------------------------------------------------------------------

    syslogOutputDevInfoTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF SyslogOutputDevInfoEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
            "syslog output device infomation table."
        ::= { gbnPlatformOAMSyslog 8 }

    syslogOutputDevInfoEntry OBJECT-TYPE
        SYNTAX   SyslogOutputDevInfoEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
            "syslog output device infomation entry."
        INDEX { syslogOutputDevInfoName }
        ::= { syslogOutputDevInfoTable 1 }

    SyslogOutputDevInfoEntry ::=
        SEQUENCE {
            syslogOutputDevInfoName
                OCTET STRING,
            syslogOutputDevInfoSwitch
                INTEGER,
            syslogOutputDevInfoLogged
                Gauge32,
            syslogOutputDevInfoDiscard
                Gauge32,
            syslogOutputDevInfoOverflow
                Gauge32
            }

    syslogOutputDevInfoName OBJECT-TYPE
        SYNTAX   OCTET STRING (SIZE (0..32))
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
            "output device name."
        ::= { syslogOutputDevInfoEntry 1 }

    syslogOutputDevInfoSwitch OBJECT-TYPE
        SYNTAX   INTEGER {
            enable(1),
            disable(2)
        }
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
            "output device switch."
        ::= { syslogOutputDevInfoEntry 2 }

    syslogOutputDevInfoLogged OBJECT-TYPE
        SYNTAX   Gauge32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
            "number of messages logged in this output device."
        ::= { syslogOutputDevInfoEntry 3 }

    syslogOutputDevInfoDiscard OBJECT-TYPE
        SYNTAX   Gauge32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
            "number of messages discard in this output device."
        ::= { syslogOutputDevInfoEntry 4 }

    syslogOutputDevInfoOverflow OBJECT-TYPE
        SYNTAX   Gauge32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
            "number of messages overflowed in this output device."
        ::= { syslogOutputDevInfoEntry 5 }

------------------------------------------------------------------------------
--  syslogLoghostAddrTable:
------------------------------------------------------------------------------

    syslogLoghostAddrTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF SyslogLoghostAddrEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
            "loghost address table."
        ::= { gbnPlatformOAMSyslog 9 }

    syslogLoghostAddrEntry OBJECT-TYPE
        SYNTAX   SyslogLoghostAddrEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
            "loghost address entry."
        INDEX { syslogLoghostAddrIp }
        ::= { syslogLoghostAddrTable 1 }

    SyslogLoghostAddrEntry ::=
        SEQUENCE {
            syslogLoghostAddrIp
                IpAddress,
            syslogLoghostAddrRowstatus
                RowStatus
            }

    syslogLoghostAddrIp OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
            "loghost ip address."
        ::= { syslogLoghostAddrEntry 1 }

    syslogLoghostAddrRowstatus OBJECT-TYPE
        SYNTAX   RowStatus
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
            "row status."
        ::= { syslogLoghostAddrEntry 2 }

------------------------------------------------------------------------------
--  syslogFilterRuleTable:
------------------------------------------------------------------------------

    syslogFilterRuleTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF SyslogFilterRuleEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
            "syslog filter rule table."
        ::= { gbnPlatformOAMSyslog 10 }

    syslogFilterRuleEntry OBJECT-TYPE
        SYNTAX   SyslogFilterRuleEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
            "syslog filter rule entry."
        INDEX { syslogFilterRuleDevname, syslogFilterRuleModname }
        ::= { syslogFilterRuleTable 1 }

    SyslogFilterRuleEntry ::=
        SEQUENCE {
            syslogFilterRuleDevname
                OCTET STRING,
            syslogFilterRuleModname
                OCTET STRING,
            syslogFilterRuleLevelmask
                BITS
            }

    syslogFilterRuleDevname OBJECT-TYPE
        SYNTAX   OCTET STRING (SIZE (0..32))
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
            "output device name."
        ::= { syslogFilterRuleEntry 1 }

    syslogFilterRuleModname OBJECT-TYPE
        SYNTAX   OCTET STRING (SIZE (0..32))
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
            "module name."
        ::= { syslogFilterRuleEntry 2 }

    syslogFilterRuleLevelmask OBJECT-TYPE
        SYNTAX   BITS
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
            "a 8 bits mask used to decide whether the infomation output to the device.
             every bit corresponds to a level, 1 means output allowed."
            ::= { syslogFilterRuleEntry 3 }

------------------------------------------------------------------------------
--  syslogDbgTable:
------------------------------------------------------------------------------

    syslogDbgTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF SyslogDbgEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
            "syslog debug switch table."
        ::= { gbnPlatformOAMSyslog 11 }

    syslogDbgEntry OBJECT-TYPE
        SYNTAX   SyslogDbgEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
            "syslog debug switch entry."
        INDEX { syslogDbgModname }
        ::= { syslogDbgTable 1 }

    SyslogDbgEntry ::=
        SEQUENCE {
            syslogDbgModname
                OCTET STRING,
            syslogDbgState
                INTEGER
            }

    syslogDbgModname OBJECT-TYPE
        SYNTAX   OCTET STRING (SIZE (0..32))
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
            "module name."
        ::= { syslogDbgEntry 1 }

    syslogDbgState OBJECT-TYPE
        SYNTAX   INTEGER {
            enable(1),
            disable(2)
        }
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
            "debug switch state."
        ::= { syslogDbgEntry 2 }

------------------------------------------------------------------------------
--  syslogTrap:
------------------------------------------------------------------------------

    syslogTrap NOTIFICATION-TYPE
        OBJECTS { syslogInfo }
        STATUS  current
        DESCRIPTION
            "trap node that used to send syslog messages."
        ::= { gbnPlatformOAMSyslog 12 }

   END
