-- ==========================================================================
-- Copyright (c) 2004-2012 Hangzhou H3C Tech. Co., Ltd. All rights reserved.
--
-- Description: The purpose of this MIB file is to provide the object definition
--              of the SNMP (Simple Network Management Protocol) extended
--              information.
-- Reference:
-- Version: V1.2
-- History:
-- V1.0 2009-04-07  Initial version, created by Lisong
-- V1.1 2010-03-12  Added h3cSnmpExtReadCommunitySingle and
--                  h3cSnmpExtWriteCommunitySingle by SongHao
-- V1.2 2011-08-11  Added h3cSnmpCommunityExTable by duyanbing
-- ==========================================================================
A3COM-HUAWEI-SNMP-EXT-MIB DEFINITIONS ::= BEGIN

IMPORTS
        TruthValue, RowStatus
    FROM SNMPv2-TC
        OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE, Integer32
    FROM SNMPv2-SMI
        OBJECT-GROUP, MODULE-COMPLIANCE, NOTIFICATION-GROUP
    FROM SNMPv2-CONF
        SnmpAdminString, SnmpSecurityLevel, SnmpSecurityModel
    FROM SNMP-FRAMEWORK-MIB
        h3cCommon
    FROM A3COM-HUAWEI-OID-MIB;

h3cSnmpExt MODULE-IDENTITY
    LAST-UPDATED "200904071700Z"
    ORGANIZATION
        "Hangzhou H3C Technologies Co., Ltd."
    CONTACT-INFO
        "Platform Team H3C Technologies Co., Ltd.
         Hai-Dian District Beijing P.R. China
         Http://www.h3c.com
         Zip: 100085"
    DESCRIPTION
        "This MIB file is to provide the object definition of the SNMP extended
         information."
    REVISION "200904071700Z"
    DESCRIPTION
        "The initial version of this MIB file."
    ::= { h3cCommon 104 }
--
-- Object definitions
--
h3cSnmpExtScalarObjects OBJECT IDENTIFIER ::= { h3cSnmpExt 1 }

h3cSnmpExtTables        OBJECT IDENTIFIER ::= { h3cSnmpExt 2 }

h3cSnmpExtNotifications OBJECT IDENTIFIER ::= { h3cSnmpExt 3 }

--
-- Scalar Objects
--
    h3cSnmpExtSnmpChannel OBJECT-TYPE
        SYNTAX          Integer32(1..65535)
        MAX-ACCESS      read-write
        STATUS current
        DESCRIPTION
            "The channel number used by SNMP."
        DEFVAL { 161 }
        ::= { h3cSnmpExtScalarObjects 1 }

    h3cSnmpExtReadCommunitySingle OBJECT-TYPE
        SYNTAX          SnmpAdminString (SIZE(1..32))
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "The first read community."
        ::= { h3cSnmpExtScalarObjects 2 }

    h3cSnmpExtWriteCommunitySingle OBJECT-TYPE
        SYNTAX          SnmpAdminString (SIZE(1..32))
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "The first write community."
        ::= { h3cSnmpExtScalarObjects 3 }

--
-- Table Objects
--
    h3cSnmpExtCommunityTable OBJECT-TYPE
        SYNTAX SEQUENCE OF H3cSnmpExtCommunityEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "Modify the extended properties of SNMP community or
                         user."
        ::= { h3cSnmpExtTables 1 }

    h3cSnmpExtCommunityEntry OBJECT-TYPE
        SYNTAX          H3cSnmpExtCommunityEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "The entry of h3cSnmpExtCommunityTable"
        INDEX {
                h3cSnmpExtCommunitySecurityLevel,
                h3cSnmpExtCommunitySecurityName
              }
        ::= { h3cSnmpExtCommunityTable 1 }

    H3cSnmpExtCommunityEntry ::= SEQUENCE {
        h3cSnmpExtCommunitySecurityLevel
            SnmpSecurityModel,
        h3cSnmpExtCommunitySecurityName
            SnmpAdminString,
        h3cSnmpExtCommunityName
            OCTET STRING,
        h3cSnmpExtCommunityAclNum
            Integer32
    }

    h3cSnmpExtCommunitySecurityLevel OBJECT-TYPE
        SYNTAX          SnmpSecurityModel
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "The Security Model of the specified community or user.
                         This object may not take the 'any' (0) value."
        ::= { h3cSnmpExtCommunityEntry 1 }

    h3cSnmpExtCommunitySecurityName OBJECT-TYPE
        SYNTAX          SnmpAdminString
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "The Security Name of the specified community or user."
        ::= { h3cSnmpExtCommunityEntry 2 }

    h3cSnmpExtCommunityName OBJECT-TYPE
        SYNTAX          OCTET STRING(SIZE(1..32))
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The specified community name."
        ::= { h3cSnmpExtCommunityEntry 3 }

    h3cSnmpExtCommunityAclNum OBJECT-TYPE
        SYNTAX          Integer32 (0|2000..2999)
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "The specified ACL (Access Control List) number used by
                         the community or the user."
        DEFVAL          {0}
        ::= { h3cSnmpExtCommunityEntry 4 }

    h3cSnmpCommunityExTable OBJECT-TYPE
        SYNTAX SEQUENCE OF H3cSnmpCommunityExEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "Modify the extended properties of SNMP community."
        ::= { h3cSnmpExtTables 2 }

    h3cSnmpCommunityExEntry OBJECT-TYPE
        SYNTAX          H3cSnmpCommunityExEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "The entry of h3cSnmpCommunityExEntry"
        INDEX {
                 h3cSnmpCommunityExName
              }
        ::= { h3cSnmpCommunityExTable 1 }

    H3cSnmpCommunityExEntry ::= SEQUENCE {
        h3cSnmpCommunityExName
            OCTET STRING,
        h3cSnmpCommunityExWrite
            TruthValue,
        h3cSnmpCommunityExViewName
            OCTET STRING,
        h3cSnmpCommunityExAclNum
            Integer32,
        h3cSnmpCommunityExRowStatus
            RowStatus
    }

    h3cSnmpCommunityExName OBJECT-TYPE
        SYNTAX          OCTET STRING(SIZE(1..32))
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "The specified community name."
        ::= { h3cSnmpCommunityExEntry 1 }

    h3cSnmpCommunityExWrite OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
        "Represents the community can write or not.
        'true' : the community can write.
        'false': the community can read only."
        DEFVAL      { false }
        ::= { h3cSnmpCommunityExEntry 2 }

    h3cSnmpCommunityExViewName OBJECT-TYPE
        SYNTAX          OCTET STRING(SIZE(1..32))
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "A family of view subtrees that the Community can operate."
        ::= { h3cSnmpCommunityExEntry 3 }

    h3cSnmpCommunityExAclNum OBJECT-TYPE
        SYNTAX          Integer32 (0|2000..2999)
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "The specified ACL (Access Control List) number used by the community."
        DEFVAL          {0}
        ::= { h3cSnmpCommunityExEntry 4 }

    h3cSnmpCommunityExRowStatus OBJECT-TYPE
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "The status of this table entry."
        ::= { h3cSnmpCommunityExEntry 5 }

--
-- Notification Objects
--

END
