-- WinAgents MIB Extraction Wizard
-- Extracted from rfc1155.txt 17.03.2005 16:16:50

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

-- MIB Extraction: All MACRO definitions are predefined by compiler
-- commented by MIB Extraction:  OBJECT-TYPE MACRO ::=
-- commented by MIB Extraction:  BEGIN
-- commented by MIB Extraction:      TYPE NOTATION ::= "SYNTAX" type (TYPE ObjectSyntax)
-- commented by MIB Extraction:                        "ACCESS" Access
-- commented by MIB Extraction:                        "STATUS" Status
-- commented by MIB Extraction:      VALUE NOTATION ::= value (VALUE ObjectName)
-- commented by MIB Extraction: 
-- commented by MIB Extraction:      Access ::= "read-only"
-- commented by MIB Extraction:                      | "read-write"
-- commented by MIB Extraction:                      | "write-only"
-- commented by MIB Extraction:                      | "not-accessible"
-- commented by MIB Extraction:      Status ::= "mandatory"
-- commented by MIB Extraction:                      | "optional"
-- commented by MIB Extraction:                      | "obsolete"
-- commented by MIB Extraction:  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