NET-SNMP-TC DEFINITIONS ::= BEGIN

--
-- Textual conventions and enumerations for the Net-SNMP project
--

IMPORTS
    netSnmpModuleIDs, netSnmpAgentOIDs, netSnmpDomains FROM NET-SNMP-MIB

    MODULE-IDENTITY, Opaque FROM SNMPv2-SMI

    TEXTUAL-CONVENTION FROM SNMPv2-TC;

netSnmpTCs MODULE-IDENTITY
    LAST-UPDATED "200202090000Z"
    ORGANIZATION "www.net-snmp.org"
    CONTACT-INFO    
	 "postal:   Wes Hardaker
                    P.O. Box 382
                    Davis CA  95617

          email:    net-snmp-coders@lists.sourceforge.net"
    DESCRIPTION
	"Textual conventions and enumerations for the Net-SNMP project"
    REVISION     "200202120000Z"
    DESCRIPTION
	"First draft"
    ::= { netSnmpModuleIDs 1}


-- =====================
--
--  Textual Conventions
--
-- =====================

--
-- Define the Float Textual Convention
--   This definition was written by David Perkins.
--

Float ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "A single precision floating-point number.  The semantics
         and encoding are identical for type 'single' defined in
         IEEE Standard for Binary Floating-Point,
         ANSI/IEEE Std 754-1985.
         The value is restricted to the BER serialization of
         the following ASN.1 type:
             FLOATTYPE ::= [120] IMPLICIT FloatType
         (note: the value 120 is the sum of '30'h and '48'h)
         The BER serialization of the length for values of
         this type must use the definite length, short
         encoding form.

         For example, the BER serialization of value 123
         of type FLOATTYPE is '9f780442f60000'h.  (The tag
         is '9f78'h; the length is '04'h; and the value is
         '42f60000'h.) The BER serialization of value
         '9f780442f60000'h of data type Opaque is
         '44079f780442f60000'h. (The tag is '44'h; the length
         is '07'h; and the value is '9f780442f60000'h."
    SYNTAX Opaque (SIZE (7))


-- =====================
--
--  Enumerations
--
-- =====================

--
-- System Object ID values
--
--	XXX - do we want to distinguish between O/S versions ?
--	(as is currently done with HP-UX)
--

hpux9             OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 1 }
sunos4            OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 2 }
solaris           OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 3 }
osf               OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 4 }
ultrix            OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 5 }
hpux10            OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 6 }
netbsd1           OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 7 }
freebsd           OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 8 }
irix              OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 9 }
linux             OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 10 }
bsdi              OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 11 }
openbsd           OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 12 }
win32		  OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 13 } -- unlucky
hpux11            OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 14 }
unknown           OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 255 }



--
--  Transport Domains
--
-- Object identifiers for the non-standard transports that UCD/Net-SNMP
-- supports.  Note that snmpTCPDomain is the subject of Internet Draft
-- draft-irtf-nmrg-snmp-tcp-06.txt, which defines the OID
-- .iso.org.dod.internet.experimental.nmrg.nmrgSnmpDomains.snmpTCPDomain
-- (.1.3.6.1.3.91.1.1) for the SNMP over TCP over IPv4 transport domain.
-- This draft (or its successor) is available from the Network Management
-- Research Group web page at http://www.ibr.cs.tu-bs.de/projects/nmrg/
--
-- The NMRG OID for snmpTCPDomain is currently used by the code, but in case
-- this is thought to be a Bad Idea, we define a private transport domain here
-- that we could use instead.  The Unix domain, AAL5 PVC domain and
-- the IPv6 domains are also defined privately here (for now).

netSnmpTCPDomain	OBJECT IDENTIFIER ::= { netSnmpDomains 1 }
netSnmpUnixDomain	OBJECT IDENTIFIER ::= { netSnmpDomains 2 }
netSnmpAAL5PVCDomain	OBJECT IDENTIFIER ::= { netSnmpDomains 3 }
netSnmpUDPIPv6Domain	OBJECT IDENTIFIER ::= { netSnmpDomains 4 }
netSnmpTCPIPv6Domain	OBJECT IDENTIFIER ::= { netSnmpDomains 5 }
netSnmpCallbackDomain	OBJECT IDENTIFIER ::= { netSnmpDomains 6 }

END
