-- ==========================================================================
-- Copyright (c) 2010-2013 Hewlett-Packard Development Company, L.P.
--
-- 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.4
-- History:
-- V1.0 2009-04-07  Initial version, created by Lisong
-- V1.1 2010-03-12  Added hpnicfSnmpExtReadCommunitySingle and
--                  hpnicfSnmpExtWriteCommunitySingle by SongHao
-- V1.2 2011-08-11  Added hpnicfSnmpCommunityExTable by duyanbing
-- V1.3 2013-04-08  Changed MAX-ACCESS of hpnicfSnmpCommunityExName by duyanbing
-- V1.4 2013-05-16  Added hpnicfSnmpExtMaxContextNum and
--                  hpnicfSnmpExtContextTable by gaoyanping
-- ==========================================================================
HPN-ICF-SNMP-EXT-MIB DEFINITIONS ::= BEGIN

IMPORTS
        TruthValue, RowStatus
    FROM SNMPv2-TC
        OBJECT-TYPE, MODULE-IDENTITY, Integer32
    FROM SNMPv2-SMI
        SnmpAdminString, SnmpSecurityModel
    FROM SNMP-FRAMEWORK-MIB
        hpnicfCommon
    FROM HPN-ICF-OID-MIB;

hpnicfSnmpExt MODULE-IDENTITY
    LAST-UPDATED "200904071700Z"
    ORGANIZATION
        ""
    CONTACT-INFO
        ""
    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."
    ::= { hpnicfCommon 104 }
--
-- Object definitions
--
hpnicfSnmpExtScalarObjects OBJECT IDENTIFIER ::= { hpnicfSnmpExt 1 }

hpnicfSnmpExtTables        OBJECT IDENTIFIER ::= { hpnicfSnmpExt 2 }

hpnicfSnmpExtNotifications OBJECT IDENTIFIER ::= { hpnicfSnmpExt 3 }

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

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

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

    hpnicfSnmpExtMaxContextNum OBJECT-TYPE
        SYNTAX          Integer32(1..65535)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The maximum number of contexts."
        ::= { hpnicfSnmpExtScalarObjects 4 }

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

    hpnicfSnmpExtCommunityEntry OBJECT-TYPE
        SYNTAX          HpnicfSnmpExtCommunityEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "The entry of hpnicfSnmpExtCommunityTable."
        INDEX {
                hpnicfSnmpExtCommunitySecurityLevel,
                hpnicfSnmpExtCommunitySecurityName
              }
        ::= { hpnicfSnmpExtCommunityTable 1 }

    HpnicfSnmpExtCommunityEntry ::= SEQUENCE {
        hpnicfSnmpExtCommunitySecurityLevel
            SnmpSecurityModel,
        hpnicfSnmpExtCommunitySecurityName
            SnmpAdminString,
        hpnicfSnmpExtCommunityName
            OCTET STRING,
        hpnicfSnmpExtCommunityAclNum
            Integer32
    }

    hpnicfSnmpExtCommunitySecurityLevel 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."
        ::= { hpnicfSnmpExtCommunityEntry 1 }

    hpnicfSnmpExtCommunitySecurityName OBJECT-TYPE
        SYNTAX          SnmpAdminString (SIZE(1..32))
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "The Security Name of the specified community or user."
        ::= { hpnicfSnmpExtCommunityEntry 2 }

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

    hpnicfSnmpExtCommunityAclNum 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}
        ::= { hpnicfSnmpExtCommunityEntry 4 }

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

    hpnicfSnmpCommunityExEntry OBJECT-TYPE
        SYNTAX          HpnicfSnmpCommunityExEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "The entry of hpnicfSnmpCommunityExTable."
        INDEX {
                 hpnicfSnmpCommunityExName
              }
        ::= { hpnicfSnmpCommunityExTable 1 }

    HpnicfSnmpCommunityExEntry ::= SEQUENCE {
        hpnicfSnmpCommunityExName
            OCTET STRING,
        hpnicfSnmpCommunityExWrite
            TruthValue,
        hpnicfSnmpCommunityExViewName
            OCTET STRING,
        hpnicfSnmpCommunityExAclNum
            Integer32,
        hpnicfSnmpCommunityExRowStatus
            RowStatus
    }

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

    hpnicfSnmpCommunityExWrite 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 }
        ::= { hpnicfSnmpCommunityExEntry 2 }

    hpnicfSnmpCommunityExViewName 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."
        ::= { hpnicfSnmpCommunityExEntry 3 }

    hpnicfSnmpCommunityExAclNum 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}
        ::= { hpnicfSnmpCommunityExEntry 4 }

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

    hpnicfSnmpExtContextTable OBJECT-TYPE
        SYNTAX SEQUENCE OF HpnicfSnmpExtContextEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "Modify the extended properties of SNMP context."
        ::= { hpnicfSnmpExtTables 3 }

    hpnicfSnmpExtContextEntry OBJECT-TYPE
        SYNTAX          HpnicfSnmpExtContextEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "The entry of hpnicfSnmpExtContextTable."
        INDEX {
                hpnicfSnmpExtContextName
              }
        ::= { hpnicfSnmpExtContextTable 1 }

    HpnicfSnmpExtContextEntry ::= SEQUENCE {
        hpnicfSnmpExtContextName
            SnmpAdminString,
        hpnicfSnmpExtContextRowStatus
            RowStatus
     }

    hpnicfSnmpExtContextName OBJECT-TYPE
        SYNTAX          SnmpAdminString (SIZE(1..32))
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "The specified context name."
        ::= { hpnicfSnmpExtContextEntry 1 }

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

--
-- Notification Objects
--

END
