-- =========================================================================
-- Copyright (c) 2004-2014 Hangzhou H3C Tech. Co., Ltd. All rights reserved.
--
-- Description:This file describes common MIB objects implemented by both
--             Routers and Switches.
-- Reference:
-- Version: V2.6
-- History:
-- V1.0 2004-6-30 Created by MIB Standard Group
-- V1.1 16th Aug 2004
--      Added the trap node 'hh3cRebootSendTrap' into hh3cSystemNotification
-- V2.0 2004-10-12 updated by gaolong
--      Imported from SNMPv2-SMI and SNMPv2-TC instead of RFC1212 and RFC1155-SMI
--      Changed ACCESS clauses to MAX-ACCESS
--      Changed STATUS clauses from mandatory to current
-- V2.1 2008-11-11 added node hh3cSysBootType by lifengguang
-- V2.2 2009-05-05 added hh3cSysStatisticPeriod, hh3cSysSamplePeriod,
--      hh3cSysTrapResendPeriod, hh3cSysTrapCollectionPeriod, hh3cSysColdStartTrap,
--      hh3cSysWarmStartTrap, hh3cSysSnmpPort, hh3cSysSnmpTrapPort, hh3cSysNetID,
--      hh3cSysLastSampleTime by jinyi
-- V2.3 2012-01-07 added node hh3cSysTrapSendNum and hh3cSysFirstTrapTime by duyanbing
-- V2.4 2012-06-06 added node hh3cSysBannerMOTD by jixugang
-- V2.5 2013-05-28 added trap node hh3cSysLoghostUnreachableTrap by duyanbing
-- V2.6 2013-09-13 added normal(0) to node hh3cReboot by duyanbing
-- =========================================================================
HH3C-COMMON-SYSTEM-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, TimeTicks, Integer32
        FROM SNMPv2-SMI
    DisplayString, DateAndTime
        FROM SNMPv2-TC
    InetAddressType, InetAddress
        FROM INET-ADDRESS-MIB
    hh3c
        FROM HH3C-OID-MIB;

hh3cSystem MODULE-IDENTITY
    LAST-UPDATED "201206060000Z"
    ORGANIZATION "Hangzhou H3C Technologies Co., Ltd."
    CONTACT-INFO
        "Platform Team H3C Technologies Co., Ltd.
        Hai-Dian District Beijing P.R. China
        Zip:100085
        http://www.h3c.com"
    DESCRIPTION
        "This file describes common MIB objects implemented by
        both Routers and Switches."
    REVISION     "200406300000Z"
    DESCRIPTION  "Initial revision of this MIB module."
    ::= { hh3c 6 }

-- ==============================
-- Begin define of hh3cmHostName
-- ==============================

    hh3cWriteConfig OBJECT-TYPE
        SYNTAX INTEGER{
                       save(1)
                      }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Write config to router."
        ::= { hh3cSystem 5 }

    hh3cStartFtpServer OBJECT-TYPE
        SYNTAX INTEGER{
                       enable(1),
                       disable(2)
                       }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Decide whether start ftp-server.enable(1) indicates to start ftp-server;
            disable(2) indicates to stop ftp-server."
        ::= { hh3cSystem 6 }

    hh3cReboot OBJECT-TYPE
        SYNTAX INTEGER{
                       normal(0),
                       reboot(1)
                       }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "normal:do nothing.
            reboot :reboot the router.
            'normal' will be returned when getting."
        ::= { hh3cSystem 7 }

    hh3cSystemNotification OBJECT IDENTIFIER ::= { hh3cSystem 8 }

    hh3cWriteSuccessTrap NOTIFICATION-TYPE
        STATUS current
        DESCRIPTION
            "Send a trap about write success."
        ::= { hh3cSystemNotification 1 }

    hh3cWriteFailureTrap NOTIFICATION-TYPE
        STATUS current
        DESCRIPTION
            "Send a trap about write failure."
        ::= { hh3cSystemNotification 2 }

    hh3cRebootSendTrap NOTIFICATION-TYPE
        STATUS current
        DESCRIPTION
            "If a user restarts the device with command
            'reboot', this trap will be sent two seconds
             before the device reboots."
        ::= { hh3cSystemNotification 3 }

    hh3cSysColdStartTrap NOTIFICATION-TYPE
        OBJECTS
            {
                hh3cSysFirstTrapTime
            }
        STATUS current
        DESCRIPTION
            "System cold start trap."
        ::= { hh3cSystemNotification 4 }

    hh3cSysWarmStartTrap NOTIFICATION-TYPE
        OBJECTS
            {
                hh3cSysFirstTrapTime
            }
        STATUS current
        DESCRIPTION
            "System warm start trap."
        ::= { hh3cSystemNotification 5 }

    hh3cSysLoghostUnreachableTrap NOTIFICATION-TYPE
        OBJECTS
        {
            hh3cSysLoghostIndex,
            hh3cSysLoghostIpaddressType,
            hh3cSysLoghostIpaddress,
            hh3cSysLoghostTrapVpnName
        }
        STATUS      current
        DESCRIPTION
        "This notification will be sent when a loghost becomes unreachable."
        ::= { hh3cSystemNotification 6}

    hh3cSoftwareVersion OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Software version."
        ::= { hh3cSystem 9 }

    hh3cSysBootType OBJECT-TYPE
        SYNTAX INTEGER
        {
            coldStart(1),           -- Cold start
            warmStart(2)            -- Warm start
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Boot type of the system, indicates whether the last device reboot was by
            CLI (warm start) or power off (cold start)."
        ::= { hh3cSystem 10 }

    hh3cSystemInfo OBJECT IDENTIFIER ::= { hh3cSystem 11 }

    hh3cSysStatisticPeriod OBJECT-TYPE
        SYNTAX      Integer32(0..900)
        UNITS       "seconds"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Statistic period. The device collects statistics
             within the period."
        DEFVAL { 0 }
        ::= { hh3cSystemInfo 1 }

    hh3cSysSamplePeriod OBJECT-TYPE
        SYNTAX      Integer32(0..300)
        UNITS       "seconds"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Sampling period. The device takes samples periodically
             for statistics collection."
        DEFVAL { 0 }
        ::= { hh3cSystemInfo 2 }

    hh3cSysTrapResendPeriod OBJECT-TYPE
        SYNTAX      Integer32(0..3600)
        UNITS       "seconds"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Trap resending period. If the value is zero, the trap
             will not be re-sent."
        DEFVAL { 0 }
        ::= { hh3cSystemInfo 3 }

    hh3cSysTrapCollectionPeriod OBJECT-TYPE
        SYNTAX      Integer32(0..60)
        UNITS       "seconds"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Trap collecting period. If the value is zero, the trap
             will not be re-sent."
        DEFVAL { 0 }
        ::= { hh3cSystemInfo 4 }

    hh3cSysSnmpPort OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "UDP port for SNMP protocol entity to receive messages except Trap-PDU."
        ::= { hh3cSystemInfo 5 }

    hh3cSysSnmpTrapPort OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "UDP port for Trap-PDU to receive messages."
        ::= { hh3cSystemInfo 6 }

    hh3cSysNetID OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(0..127))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "System Net ID."
        ::= { hh3cSystemInfo 7 }

    hh3cSysLastSampleTime OBJECT-TYPE
        SYNTAX      DateAndTime
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Last sampling time of the system."
        ::= { hh3cSystemInfo 8 }

    hh3cSysTrapSendNum OBJECT-TYPE
        SYNTAX      Integer32(0..24)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Maximum number of times for sending a trap. If the value is zero,
            a trap will be sent at an interval continually."
        ::= { hh3cSystemInfo 9 }

    hh3cSysFirstTrapTime OBJECT-TYPE
        SYNTAX      TimeTicks
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "Time when the first trap is sent."
        ::= { hh3cSystemInfo 10 }

    hh3cSysBannerMOTD OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE (0..2000))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "An administratively configured message that is displayed
             to the user when the user logs in to the device through
             the console port or Web interface."
        ::= { hh3cSystemInfo 11 }

    hh3cSystemNotificationInfo OBJECT IDENTIFIER ::= { hh3cSystem 12 }

    hh3cSysLoghostIndex OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
            "Index of loghost."
        ::= { hh3cSystemNotificationInfo 1 }

    hh3cSysLoghostIpaddressType OBJECT-TYPE
        SYNTAX InetAddressType
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
            "IP address type of the loghost."
        ::= { hh3cSystemNotificationInfo 2 }

    hh3cSysLoghostIpaddress OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
            "IP address of the loghost."
        ::= { hh3cSystemNotificationInfo 3 }

    hh3cSysLoghostTrapVpnName OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..31))
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "VPN name of the loghost."
        ::= { hh3cSystemNotificationInfo 4 }

END
