SNMPv2-SMI(7)

SNMPv2-SMI DEFINITIONS ::= BEGIN
org            OBJECT IDENTIFIER ::= { iso 3 }
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 }
snmpDomains    OBJECT IDENTIFIER ::= { snmpV2 1 }
snmpProxys     OBJECT IDENTIFIER ::= { snmpV2 2 }
snmpModules    OBJECT IDENTIFIER ::= { snmpV2 3 }
MODULE-IDENTITY MACRO ::=
BEGIN
    TYPE NOTATION ::=
                  "LAST-UPDATED" value(Update UTCTime)
                  "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 UTCTime)
                  "DESCRIPTION" Text
    -- uses the NVT ASCII character set
    Text ::= """" string """"
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
    Text ::= """" string """"
END
ObjectName ::=
    OBJECT IDENTIFIER
NotificationName ::=
    OBJECT IDENTIFIER
ObjectSyntax ::=
    CHOICE {
        simple
            SimpleSyntax,
          -- note that SEQUENCEs for conceptual tables and
          -- rows are not mentioned here...
        application-wide
            ApplicationSyntax
    }
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
    }
Integer32 ::=
    [UNIVERSAL 2]
        IMPLICIT INTEGER (-2147483648..2147483647)
ApplicationSyntax ::=
    CHOICE {
        ipAddress-value
            IpAddress,
        counter-value
            Counter32,
        timeticks-value
            TimeTicks,
        arbitrary-value
            Opaque,
        big-counter-value
            Counter64,
        unsigned-integer-value  -- includes Gauge32
            Unsigned32
    }
IpAddress ::=
    [APPLICATION 0]
        IMPLICIT OCTET STRING (SIZE (4))
Counter32 ::=
    [APPLICATION 1]
        IMPLICIT INTEGER (0..4294967295)
Gauge32 ::=
    [APPLICATION 2]
        IMPLICIT INTEGER (0..4294967295)
Unsigned32 ::=
    [APPLICATION 2]
        IMPLICIT INTEGER (0..4294967295)
TimeTicks ::=
    [APPLICATION 3]
        IMPLICIT INTEGER (0..4294967295)
Opaque ::=
    [APPLICATION 4]
        IMPLICIT OCTET STRING
Counter64 ::=
    [APPLICATION 6]
        IMPLICIT INTEGER (0..18446744073709551615)
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 ::=
                  type(ObjectSyntax)
                | "BITS" "{" Kibbles "}"
    Kibbles ::=
                  Kibble
                | Kibbles "," Kibble
    Kibble ::=
                 identifier "(" nonNegativeNumber ")"
    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(Indexobject ObjectName)
    Entry ::=
                    -- use the INDEX value of the
                    -- correspondent OBJECT-TYPE invocation
                  value(Entryobject ObjectName)
    DefValPart ::=
                  "DEFVAL" "{" value(Defval Syntax) "}"
                | empty
    -- uses the NVT ASCII character set
    Text ::= """" string """"
END
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(Name ObjectName)
    Status ::=
                  "current"
                | "deprecated"
                | "obsolete"
    ReferPart ::=
                "REFERENCE" Text
              | empty
    -- uses the NVT ASCII character set
    Text ::= """" string """"
END
zeroDotZero    OBJECT-IDENTITY
    STATUS     current
    DESCRIPTION
            "A value used for null identifiers."
    ::= { 0 0 }
END