SNMPv2-SMI DEFINITIONS ::= BEGIN


-- the path to the root

-- iso            OBJECT IDENTIFIER ::= { 1 }
org            OBJECT IDENTIFIER ::= { iso 3 }  --  "iso" = 1
dod            OBJECT IDENTIFIER ::= { org 6 }
internet       OBJECT IDENTIFIER ::= { dod 1 }

directory      OBJECT IDENTIFIER ::= { internet 1 }

mgmt           OBJECT IDENTIFIER ::= { internet 2 }
mib-2          OBJECT IDENTIFIER ::= { mgmt 1 }
transmission   OBJECT IDENTIFIER ::= { mib-2 10 }

experimental   OBJECT IDENTIFIER ::= { internet 3 }

private        OBJECT IDENTIFIER ::= { internet 4 }
enterprises    OBJECT IDENTIFIER ::= { private 1 }

security       OBJECT IDENTIFIER ::= { internet 5 }

snmpV2         OBJECT IDENTIFIER ::= { internet 6 }

-- transport domains
snmpDomains    OBJECT IDENTIFIER ::= { snmpV2 1 }

-- transport proxies
snmpProxys     OBJECT IDENTIFIER ::= { snmpV2 2 }

-- module identities
snmpModules    OBJECT IDENTIFIER ::= { snmpV2 3 }

-- Extended UTCTime, to allow dates with four-digit years
-- (Note that this definition of ExtUTCTime is not to be IMPORTed
--  by MIB modules.)
ExtUTCTime ::= OCTET STRING(SIZE(11 | 13))
    -- format is YYMMDDHHMMZ or YYYYMMDDHHMMZ
    --   where: YY   - last two digits of year (only years
    --                 between 1900-1999)
    --          YYYY - last four digits of the year (any year)
    --          MM   - month (01 through 12)
    --          DD   - day of month (01 through 31)
    --          HH   - hours (00 through 23)
    --          MM   - minutes (00 through 59)
    --          Z    - denotes GMT (the ASCII character Z)
    --
    -- For example, "9502192015Z" and "199502192015Z" represent
    -- 8:15pm GMT on 19 February 1995. Years after 1999 must use
    -- the four digit year format. Years 1900-1999 may use the
    -- two or four digit format.

-- definitions for information modules

-- MODULE-IDENTITY MACRO ::=
-- BEGIN
--     TYPE NOTATION ::=
--                   "LAST-UPDATED" value(Update ExtUTCTime)
--                   "ORGANIZATION" Text
--                   "CONTACT-INFO" Text
--                   "DESCRIPTION" Text
--                   RevisionPart
-- 
--     VALUE NOTATION ::=
--                   value(VALUE OBJECT IDENTIFIER)
-- 
--     RevisionPart ::=
--                   Revisions
--                 | empty
--     Revisions ::=
--                   Revision
--                 | Revisions Revision
--     Revision ::=
--                   "REVISION" value(Update ExtUTCTime)
--                   "DESCRIPTION" Text
-- 
--     -- a character string as defined in section 3.1.1
--     Text ::= value(IA5String)
-- END
-- 
-- 
-- OBJECT-IDENTITY MACRO ::=
-- BEGIN
--     TYPE NOTATION ::=
--                   "STATUS" Status
--                   "DESCRIPTION" Text
--                   ReferPart
-- 
--     VALUE NOTATION ::=
--                   value(VALUE OBJECT IDENTIFIER)
-- 
--     Status ::=
--                   "current"
--                 | "deprecated"
--                 | "obsolete"
-- 
--     ReferPart ::=
--                   "REFERENCE" Text
--                 | empty
-- 
--     -- a character string as defined in section 3.1.1
--     Text ::= value(IA5String)
-- END
-- 
-- 
-- -- names of objects
-- -- (Note that these definitions of ObjectName and NotificationName
-- --  are not to be IMPORTed by MIB modules.)
-- 
-- ObjectName ::=
--     OBJECT IDENTIFIER
-- 
-- NotificationName ::=
--     OBJECT IDENTIFIER
-- 
-- -- syntax of objects
-- 
-- -- the "base types" defined here are:
-- --   3 built-in ASN.1 types: INTEGER, OCTET STRING, OBJECT IDENTIFIER
-- --   8 application-defined types: Integer32, IpAddress, Counter32,
-- --              Gauge32, Unsigned32, TimeTicks, Opaque, and Counter64
-- 
-- ObjectSyntax ::=
--     CHOICE {
--         simple
--             SimpleSyntax,
-- 
--           -- note that SEQUENCEs for conceptual tables and
--           -- rows are not mentioned here...
-- 
--         application-wide
--             ApplicationSyntax
--     }
-- 
-- -- built-in ASN.1 types
-- 
-- SimpleSyntax ::=
--     CHOICE {
--         -- INTEGERs with a more restrictive range
--         -- may also be used
--         integer-value               -- includes Integer32
--             INTEGER (-2147483648..2147483647),
-- 
--         -- OCTET STRINGs with a more restrictive size
--         -- may also be used
--         string-value
--             OCTET STRING (SIZE (0..65535)),
-- 
--         objectID-value
--             OBJECT IDENTIFIER
--     }
-- 
-- -- indistinguishable from INTEGER, but never needs more than
-- -- 32-bits for a two's complement representation
-- Integer32 ::=
--         INTEGER (-2147483648..2147483647)
-- 
-- 
-- -- application-wide types
-- 
-- ApplicationSyntax ::=
--     CHOICE {
--         ipAddress-value
--             IpAddress,
-- 
--         counter-value
--             Counter32,
-- 
--         timeticks-value
--             TimeTicks,
-- 
--         arbitrary-value
--             Opaque,
-- 
--         big-counter-value
--             Counter64,
-- 
--         unsigned-integer-value  -- includes Gauge32
--             Unsigned32
--     }
-- 
-- -- in network-byte order
-- -- (this is a tagged type for historical reasons)
-- IpAddress ::=
--     [APPLICATION 0]
--         IMPLICIT OCTET STRING (SIZE (4))
-- 
-- -- this wraps
-- Counter32 ::=
--     [APPLICATION 1]
--         IMPLICIT INTEGER (0..4294967295)
-- 
-- -- this doesn't wrap
-- Gauge32 ::=
--     [APPLICATION 2]
--         IMPLICIT INTEGER (0..4294967295)
-- 
-- -- an unsigned 32-bit quantity
-- -- indistinguishable from Gauge32
-- Unsigned32 ::=
--     [APPLICATION 2]
--         IMPLICIT INTEGER (0..4294967295)
-- 
-- -- hundredths of seconds since an epoch
-- TimeTicks ::=
--     [APPLICATION 3]
--         IMPLICIT INTEGER (0..4294967295)
-- 
-- -- for backward-compatibility only
-- Opaque ::=
--     [APPLICATION 4]
--         IMPLICIT OCTET STRING
-- 
-- -- for counters that wrap in less than one hour with only 32 bits
-- Counter64 ::=
--     [APPLICATION 6]
--         IMPLICIT INTEGER (0..18446744073709551615)
-- 
-- 
-- -- definition for objects
-- 
-- OBJECT-TYPE MACRO ::=
-- BEGIN
--     TYPE NOTATION ::=
--                   "SYNTAX" Syntax
--                   UnitsPart
--                   "MAX-ACCESS" Access
--                   "STATUS" Status
--                   "DESCRIPTION" Text
--                   ReferPart
--                   IndexPart
--                   DefValPart
-- 
--     VALUE NOTATION ::=
--                   value(VALUE ObjectName)
-- 
--     Syntax ::=   -- Must be one of the following:
--                        -- a base type (or its refinement),
--                        -- a textual convention (or its refinement), or
--                        -- a BITS pseudo-type
--                    type
--                 | "BITS" "{" NamedBits "}"
-- 
--     NamedBits ::= NamedBit
--                 | NamedBits "," NamedBit
-- 
--     NamedBit ::=  identifier "(" number ")" -- number is nonnegative
-- 
--     UnitsPart ::=
--                   "UNITS" Text
--                 | empty
-- 
--     Access ::=
--                   "not-accessible"
--                 | "accessible-for-notify"
--                 | "read-only"
--                 | "read-write"
--                 | "read-create"
-- 
--     Status ::=
--                   "current"
--                 | "deprecated"
--                 | "obsolete"
-- 
--     ReferPart ::=
--                   "REFERENCE" Text
--                 | empty
-- 
--     IndexPart ::=
--                   "INDEX"    "{" IndexTypes "}"
--                 | "AUGMENTS" "{" Entry      "}"
--                 | empty
--     IndexTypes ::=
--                   IndexType
--                 | IndexTypes "," IndexType
--     IndexType ::=
--                   "IMPLIED" Index
--                 | Index
-- 
--     Index ::=
--                     -- use the SYNTAX value of the
--                     -- correspondent OBJECT-TYPE invocation
--                   value(ObjectName)
--     Entry ::=
--                     -- use the INDEX value of the
--                     -- correspondent OBJECT-TYPE invocation
--                   value(ObjectName)
-- 
--     DefValPart ::= "DEFVAL" "{" Defvalue "}"
--                 | empty
-- 
--     Defvalue ::=  -- must be valid for the type specified in
--                   -- SYNTAX clause of same OBJECT-TYPE macro
--                   value(ObjectSyntax)
--                 | "{" BitsValue "}"
-- 
--     BitsValue ::= BitNames
--                 | empty
-- 
--     BitNames ::=  BitName
--                 | BitNames "," BitName
-- 
--     BitName ::= identifier
-- 
--     -- a character string as defined in section 3.1.1
--     Text ::= value(IA5String)
-- END
-- 
-- 
-- -- definitions for notifications
-- 
-- NOTIFICATION-TYPE MACRO ::=
-- BEGIN
--     TYPE NOTATION ::=
--                   ObjectsPart
--                   "STATUS" Status
--                   "DESCRIPTION" Text
--                   ReferPart
-- 
--     VALUE NOTATION ::=
--                   value(VALUE NotificationName)
-- 
--     ObjectsPart ::=
--                   "OBJECTS" "{" Objects "}"
--                 | empty
--     Objects ::=
--                   Object
-- 
--                 | Objects "," Object
--     Object ::=
--                   value(ObjectName)
-- 
--     Status ::=
--                   "current"
--                 | "deprecated"
--                 | "obsolete"
-- 
--     ReferPart ::=
--                   "REFERENCE" Text
--                 | empty
-- 
--     -- a character string as defined in section 3.1.1
--     Text ::= value(IA5String)
-- END

-- definitions of administrative identifiers

zeroDotZero    OBJECT-IDENTITY
    STATUS     current
    DESCRIPTION
            "A value used for null identifiers."
    ::= { 0 0 }

END
