mirror of
https://github.com/lwip-tcpip/lwip.git
synced 2024-08-26 16:12:55 +00:00
353 lines
8.7 KiB
Plaintext
353 lines
8.7 KiB
Plaintext
|
SNMPv2-SMI DEFINITIONS ::= BEGIN
|
||
|
|
||
|
|
||
|
-- the path to the root
|
||
|
|
||
|
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
|