Net2/usr/src/contrib/isode/snmp/smi.my

-- smi.my - Internet-standard SMI definitions

-- $Header: /f/osi/snmp/RCS/smi.my,v 7.14 91/02/22 09:43:54 mrose Interim $
--
-- Contributed by NYSERNet Inc.  This work was partially supported by the
-- U.S. Defense Advanced Research Projects Agency and the Rome Air Development
-- Center of the U.S. Air Force Systems Command under contract number
-- F30602-88-C-0016.
--
--
-- $Log:	smi.my,v $
-- Revision 7.14  91/02/22  09:43:54  mrose
-- Interim 6.8
-- 
-- Revision 7.13  91/01/12  21:04:07  mrose
-- 3
-- 
-- Revision 7.12  90/08/29  12:23:38  mrose
-- touch-up
-- 
-- Revision 7.11  90/06/20  21:38:27  mrose
-- update
-- 
-- Revision 7.10  90/06/13  17:58:39  mrose
-- defaultView
-- 
-- Revision 7.9  90/06/12  09:21:02  mrose
-- DisplaySTring
-- 
-- Revision 7.8  90/06/12  09:20:34  mrose
-- deprecated
-- 
-- Revision 7.7  90/05/21  17:07:23  mrose
-- OBJECT-TYPE
-- 
-- Revision 7.6  90/05/13  18:15:44  mrose
-- update
-- 
-- Revision 7.5  90/05/13  15:54:34  mrose
-- update
-- 
-- Revision 7.4  90/05/12  17:02:07  mrose
-- sync
-- 
-- Revision 7.3  90/05/08  08:55:27  mrose
-- touch-up
-- 
-- Revision 7.2  90/02/27  18:49:49  mrose
-- unix stuff
-- 
-- Revision 7.1  90/02/19  10:44:52  mrose
-- update
-- 
-- Revision 7.0  89/11/23  22:23:23  mrose
-- Release 6.0
-- 

--
--				  NOTICE
--
--    Acquisition, use, and distribution of this module and related
--    materials are subject to the restrictions of a license agreement.
--    Consult the Preface in the User's Manual for the full terms of
--    this agreement.
--
--


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 }


-- BSD UNIX-specific stuff

unix	      OBJECT IDENTIFIER	::= { enterprises 4 }


-- the agents group

agents	OBJECT IDENTIFIER ::=	{ unix 1 }

-- original "4BSD/ISODE SNMP"	{ agents 1 }

-- versions of the "4BSD/ISODE SNMP" agent are now under { agents 2 }
fourBSD-isode OBJECT IDENTIFIER ::= { agents 2 }
-- fourBSD-isode.1:	add SMUX
-- fourBSD-isode.2:	add views
-- fourBSD-isode.3:	add sets


-- the SMUX peer group

peers	OBJECT IDENTIFIER ::=	{ unix 3 }

-- versions of the unixd program are under { peers 1 }
unixd	OBJECT IDENTIFIER ::=	{ peers 1 }
-- the current version is unixd.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"
-- 		    | "deprecated"
-- 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"

DisplayString ::=
	OCTET STRING

END