3abc7ffb792f02f67cc5cdfcc0019ab1531356da
[bcm963xx.git] / userapps / opensource / net-snmp / mibs / RFC1155-SMI.txt
1 RFC1155-SMI DEFINITIONS ::= BEGIN
2
3 EXPORTS -- EVERYTHING
4         internet, directory, mgmt,
5         experimental, private, enterprises,
6         OBJECT-TYPE, ObjectName, ObjectSyntax, SimpleSyntax,
7         ApplicationSyntax, NetworkAddress, IpAddress,
8         Counter, Gauge, TimeTicks, Opaque;
9
10  -- the path to the root
11
12  internet      OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 }
13
14  directory     OBJECT IDENTIFIER ::= { internet 1 }
15
16  mgmt          OBJECT IDENTIFIER ::= { internet 2 }
17
18  experimental  OBJECT IDENTIFIER ::= { internet 3 }
19
20  private       OBJECT IDENTIFIER ::= { internet 4 }
21  enterprises   OBJECT IDENTIFIER ::= { private 1 }
22
23  -- definition of object types
24
25  OBJECT-TYPE MACRO ::=
26  BEGIN
27      TYPE NOTATION ::= "SYNTAX" type (TYPE ObjectSyntax)
28                        "ACCESS" Access
29                        "STATUS" Status
30      VALUE NOTATION ::= value (VALUE ObjectName)
31
32      Access ::= "read-only"
33                      | "read-write"
34                      | "write-only"
35                      | "not-accessible"
36      Status ::= "mandatory"
37                      | "optional"
38                      | "obsolete"
39  END
40
41     -- names of objects in the MIB
42
43     ObjectName ::=
44         OBJECT IDENTIFIER
45
46     -- syntax of objects in the MIB
47
48     ObjectSyntax ::=
49         CHOICE {
50             simple
51                 SimpleSyntax,
52     -- note that simple SEQUENCEs are not directly
53     -- mentioned here to keep things simple (i.e.,
54     -- prevent mis-use).  However, application-wide
55     -- types which are IMPLICITly encoded simple
56     -- SEQUENCEs may appear in the following CHOICE
57
58             application-wide
59                 ApplicationSyntax
60         }
61
62        SimpleSyntax ::=
63            CHOICE {
64                number
65                    INTEGER,
66                string
67                    OCTET STRING,
68                object
69                    OBJECT IDENTIFIER,
70                empty
71                    NULL
72            }
73
74        ApplicationSyntax ::=
75            CHOICE {
76                address
77                    NetworkAddress,
78                counter
79                    Counter,
80                gauge
81                    Gauge,
82                ticks
83                    TimeTicks,
84                arbitrary
85                    Opaque
86
87        -- other application-wide types, as they are
88        -- defined, will be added here
89            }
90
91        -- application-wide types
92
93        NetworkAddress ::=
94            CHOICE {
95                internet
96                    IpAddress
97            }
98
99        IpAddress ::=
100            [APPLICATION 0]          -- in network-byte order
101                IMPLICIT OCTET STRING (SIZE (4))
102
103        Counter ::=
104            [APPLICATION 1]
105                IMPLICIT INTEGER (0..4294967295)
106
107        Gauge ::=
108            [APPLICATION 2]
109                IMPLICIT INTEGER (0..4294967295)
110
111        TimeTicks ::=
112            [APPLICATION 3]
113                IMPLICIT INTEGER (0..4294967295)
114
115        Opaque ::=
116            [APPLICATION 4]          -- arbitrary ASN.1 value,
117                IMPLICIT OCTET STRING   --   "double-wrapped"
118
119        END