Connected: An Internet Encyclopedia
RFC 1155 - 6. Definitions

Top: Connected: An Internet Encyclopedia
Up: Requests For Comments
Up: RFC 1155
Prev: 5. Extensions to the MIB
Next: 7. Acknowledgements

### 6. Definitions

               RFC1155-SMI DEFINITIONS ::= BEGIN

               EXPORTS -- EVERYTHING
                       internet, directory, mgmt,
                       experimental, private, enterprises,
                       OBJECT-TYPE, ObjectName, ObjectSyntax, SimpleSyntax,
                       ApplicationSyntax, NetworkAddress, IpAddress,
                       Counter, Gauge, TimeTicks, Opaque;

                -- the path to the root

                internet      OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 }

                directory     OBJECT IDENTIFIER ::= { internet 1 }

                mgmt          OBJECT IDENTIFIER ::= { internet 2 }

                experimental  OBJECT IDENTIFIER ::= { internet 3 }

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

                -- definition of object types

                OBJECT-TYPE MACRO ::=
                BEGIN
                    TYPE NOTATION ::= "SYNTAX" type (TYPE ObjectSyntax)
                                      "ACCESS" Access
                                      "STATUS" Status
                    VALUE NOTATION ::= value (VALUE ObjectName)

                    Access ::= "read-only"
                                    | "read-write"
                                    | "write-only"
                                    | "not-accessible"
                    Status ::= "mandatory"
                                    | "optional"
                                    | "obsolete"
                END

                   -- names of objects in the MIB

                   ObjectName ::=
                       OBJECT IDENTIFIER

                   -- syntax of objects in the MIB

                   ObjectSyntax ::=
                       CHOICE {
                           simple
                               SimpleSyntax,

                   -- note that simple SEQUENCEs are not directly
                   -- mentioned here to keep things simple (i.e.,
                   -- prevent mis-use).  However, application-wide
                   -- types which are IMPLICITly encoded simple
                   -- SEQUENCEs may appear in the following CHOICE

                           application-wide
                               ApplicationSyntax
                       }

                      SimpleSyntax ::=
                          CHOICE {
                              number
                                  INTEGER,

                              string
                                  OCTET STRING,

                              object
                                  OBJECT IDENTIFIER,

                              empty
                                  NULL
                          }

                      ApplicationSyntax ::=
                          CHOICE {
                              address
                                  NetworkAddress,

                              counter
                                  Counter,

                              gauge
                                  Gauge,

                              ticks
                                  TimeTicks,

                              arbitrary
                                  Opaque
                      -- other application-wide types, as they are
                      -- defined, will be added here
                          }

                      -- application-wide types

                      NetworkAddress ::=
                          CHOICE {
                              internet
                                  IpAddress
                          }

                      IpAddress ::=
                          [APPLICATION 0]          -- in network-byte order
                              IMPLICIT OCTET STRING (SIZE (4))

                      Counter ::=
                          [APPLICATION 1]
                              IMPLICIT INTEGER (0..4294967295)

                      Gauge ::=
                          [APPLICATION 2]
                              IMPLICIT INTEGER (0..4294967295)

                      TimeTicks ::=
                          [APPLICATION 3]
                              IMPLICIT INTEGER (0..4294967295)

                      Opaque ::=
                          [APPLICATION 4]          -- arbitrary ASN.1 value,
                              IMPLICIT OCTET STRING   --   "double-wrapped"

                      END

Next: 7. Acknowledgements

Connected: An Internet Encyclopedia
RFC 1155 - 6. Definitions