SNMP-FRAMEWORK-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-IDENTITY, OBJECT-TYPE, snmpModules
        FROM SNMPv2-SMI
    TEXTUAL-CONVENTION
        FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP
        FROM SNMPv2-CONF;

snmpFrameworkMIB MODULE-IDENTITY
    LAST-UPDATED "200210140000Z"
    ORGANIZATION "IETF SNMPv3 Working Group"
    DESCRIPTION "The SNMP Management Architecture MIB."
    ::= { snmpModules 10 }

snmpFrameworkAdmin OBJECT IDENTIFIER ::= { snmpFrameworkMIB 1 }
snmpFrameworkMIBObjects OBJECT IDENTIFIER ::= { snmpFrameworkMIB 2 }
snmpFrameworkMIBConformance OBJECT IDENTIFIER ::= { snmpFrameworkMIB 3 }

snmpAuthProtocols OBJECT-IDENTITY
    STATUS current
    DESCRIPTION "Registration point for authentication protocols."
    ::= { snmpFrameworkAdmin 1 }

snmpPrivProtocols OBJECT-IDENTITY
    STATUS current
    DESCRIPTION "Registration point for privacy protocols."
    ::= { snmpFrameworkAdmin 2 }

SnmpEngineID ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION "An administratively unique SNMP engine identifier."
    SYNTAX OCTET STRING (SIZE(5..32))

SnmpSecurityModel ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION "An identifier for a Security Model."
    SYNTAX INTEGER (0..2147483647)

SnmpMessageProcessingModel ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION "An identifier for an SNMP Message Processing Model."
    SYNTAX INTEGER (0..2147483647)

SnmpSecurityLevel ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION "The security level used to process an SNMP message."
    SYNTAX INTEGER {
        noAuthNoPriv(1),
        authNoPriv(2),
        authPriv(3)
    }

SnmpAdminString ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "255a"
    STATUS current
    DESCRIPTION "An administratively assigned UTF-8 string."
    SYNTAX OCTET STRING (SIZE(0..255))

snmpEngine OBJECT IDENTIFIER ::= { snmpFrameworkMIBObjects 1 }

snmpEngineID OBJECT-TYPE
    SYNTAX SnmpEngineID
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "The administratively unique identifier of this SNMP engine."
    ::= { snmpEngine 1 }

snmpEngineBoots OBJECT-TYPE
    SYNTAX INTEGER (1..2147483647)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "The number of times this SNMP engine has reinitialized."
    ::= { snmpEngine 2 }

snmpEngineTime OBJECT-TYPE
    SYNTAX INTEGER (0..2147483647)
    UNITS "seconds"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Seconds since snmpEngineBoots last changed."
    ::= { snmpEngine 3 }

snmpEngineMaxMessageSize OBJECT-TYPE
    SYNTAX INTEGER (484..2147483647)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "The maximum SNMP message size supported by this engine."
    ::= { snmpEngine 4 }

snmpFrameworkMIBCompliances OBJECT IDENTIFIER ::= { snmpFrameworkMIBConformance 1 }
snmpFrameworkMIBGroups OBJECT IDENTIFIER ::= { snmpFrameworkMIBConformance 2 }

snmpFrameworkMIBCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION "Compliance for engines implementing this MIB."
    MODULE
        MANDATORY-GROUPS { snmpEngineGroup }
    ::= { snmpFrameworkMIBCompliances 1 }

snmpEngineGroup OBJECT-GROUP
    OBJECTS {
        snmpEngineID,
        snmpEngineBoots,
        snmpEngineTime,
        snmpEngineMaxMessageSize
    }
    STATUS current
    DESCRIPTION "Identification, timeliness, and message-size objects."
    ::= { snmpFrameworkMIBGroups 1 }

END
