--*****************************************************************************/
--*										    		              		      */
--*            Copyright (c) 2000 FiberHome Networks  Inc.                    */
--*                                                                           */
--*  PROPRIETARY RIGHTS of FiberHome Networks are involved in the subject     */
--*  matter of this material.  All manufacturing, reproduction, use, and      */
--*  sales rights pertaining to this subject matter are governed by the       */
--*  license agreement. The recipient of this software implicitly accepts the */
--*  terms of the license.												      */
--*                                                                           */
--*****************************************************************************/

WRI-SMI DEFINITIONS ::= BEGIN

IMPORTS
	MODULE-IDENTITY,OBJECT-IDENTITY,enterprises
		FROM SNMPv2-SMI;

wri MODULE-IDENTITY
	LAST-UPDATED "0304230000Z"
	ORGANIZATION "FiberHome Networks Co.,Ltd."
	CONTACT-INFO
		"http://www.fhn.com.cn"
	DESCRIPTION
		"The Structure of Management Information for the Wri enterprise."
	::= { enterprises 3807 }	-- assigned by IANA

	wriProducts OBJECT IDENTIFIER ::= { wri 1 }
--	"wriProducts is the root OBJECT IDENTIFIER from
--		which sysObjectID values are assigned.  Actual
--		values are defined in WRI-PRODUCTS-MIB."		
	wriProtocol OBJECT IDENTIFIER ::= { wri 2}
--	"Define the Protocol management information."

	wriMgmt OBJECT IDENTIFIER ::= { wri 3 }
--	"Define the PUBLIC information about hardware,system,etc in the PRIVATE mibs."

	
fhn MODULE-IDENTITY
	LAST-UPDATED "0304230000Z"
	ORGANIZATION "FiberHome Networks Co.,Ltd."
	CONTACT-INFO
		"http://www.fhn.com.cn"
	DESCRIPTION
		"The Structure of Management Information for the FHN enterprise."
	::= { enterprises 11408 }	-- assigned by IANA

	fhnProducts OBJECT IDENTIFIER ::= { fhn 1 }
--	"wriProducts is the root OBJECT IDENTIFIER from
--		which sysObjectID values are assigned.  Actual
--		values are defined in WRI-PRODUCTS-MIB."

	fhnProtocol OBJECT IDENTIFIER ::= { fhn 2 }
--	"Subtree beneath which pre-10.2 MIBS were built."	

	fhnMgmt OBJECT IDENTIFIER ::= { fhn 3 }
--	"fhnMgmt is the main subtree for new mib development."	

WriNetworkProtocol ::= INTEGER {
        ip(1),
        decnet(2),
        pup(3),
        chaos(4),
        xns(5),
        x121(6),
        appletalk(7),
        clns(8),
        lat(9),
        vines(10),
        cons(11),
        apollo(12),
        stun(13),
        novell(14),
        qllc(15),
        snapshot(16),
        atmIlmi(17),
        bstun(18),
        x25pvc(19),
        unknown(65535)
        }
-- TEXTUAL-CONVENTION
--  Status
--    mandatory
--  Descr
--    Represents the different types of network layer protocols.

WriNetworkAddress ::= OCTET STRING
-- TEXTUAL-CONVENTION
--  DspHint
--    1x:
--  Status
--    mandatory
--  Descr
--    Represents a network layer address.  The length and format of
--    the address is protocol dependent as follows:
--    ip        4 octets
--    decnet    2 octets
--    pup       obsolete
--    chaos     2 octets
--    xns       10 octets
--              first 4 octets are the net number
--              last 6 octets are the host number
--    x121    
--    appletalk 3 octets
--              first 2 octets are the net number
--              last octet is the host number
--    clns
--    lat
--    vines     6 octets
--              first 4 octets are the net number
--              last 2 octets are the host number
--    cons
--    apollo    10 octets
--              first 4 octets are the net number
--              last 6 octets are the host number
--    stun      8 octets
--    novell    10 octets
--              first 4 octets are the net number
--              last 6 octets are the host number
--    qllc      6 octets
--    bstun     1 octet - bi-sync serial tunnel 
--    snapshot  1 octet
--    atmIlmi   4 octets
--    x25 pvc   2 octets (12 bits)

--CUnsigned32 ::= Gauge32
-- TEXTUAL-CONVENTION
--  Status
--    mandatory
--  Descr
--    An unsigned 32-bit quantity indistinguishable from Gauge32.

InterfaceIndexOrZero ::= Integer32(0..2147483647)
-- TEXTUAL-CONVENTION
--  DspHint
--    d
--  Status
--    mandatory
--  Descr
--    Either the value 0, or the ifIndex value of an
--    interface in the ifTable.

SAPType ::= Integer32(0..254)
-- TEXTUAL-CONVENTION
--  DspHint
--    d
--  Status
--    mandatory
--  Descr
--    Service Access Point - is a term that denotes the means
--    by which a user entity in layer n+1 accesses a service
--    of a provider entity in layer n.

CountryCode ::= OCTET STRING(SIZE(0 | 2))
-- TEXTUAL-CONVENTION
--  DspHint
--    2a
--  Status
--    mandatory
--  Descr
--    Represents a case-insensitive 2-letter country code taken 
--    from ISO-3166. Unrecognized countries are represented as 
--    empty string.

EntPhysicalIndexOrZero ::= Integer32(0..2147483647)
-- TEXTUAL-CONVENTION
--  Status
--    mandatory
--  Descr
--    This textual convention is an extension of entPhysicalIndex.
--    If non-zero, the object is an entPhysicalIndex. If zero, no
--    appropriate entPhysicalIndex exists. Any additional semantics
--    are object specific.

WriRowOperStatus ::= INTEGER {
        active(1),
        activeDependencies(2),
        inactiveDependency(3),
        missingDependency(4)
        }
-- TEXTUAL-CONVENTION
--  Status
--    mandatory
--  Descr
--    Represents the operational status of an table entry.
--    This textual convention allows explicitly representing
--    the states of rows dependent on rows in other tables.
--    
--    active(1) -
--        Indicates this entry's RowStatus is active
--        and the RowStatus for each dependency is active.
--    
--    activeDependencies(2) -
--        Indicates that the RowStatus for each dependency
--        is active, but the entry's RowStatus is not active.
--    
--    inactiveDependency(3) -
--        Indicates that the RowStatus for at least one
--        dependency is not active.
--    
--    missingDependency(4) -
--        Indicates that at least one dependency does
--        not exist in it's table.

WriPort ::= Integer32(0..65535)
-- TEXTUAL-CONVENTION
--  Status
--    mandatory
--  Descr
--    The TCP or UDP port number range.
--  Refer
--    Transmission Control Protocol. J. Postel. RFC793,
--    User Datagram Protocol. J. Postel. RFC768

WriIpProtocol ::= Integer32(0..255)
-- TEXTUAL-CONVENTION
--  Status
--    mandatory
--  Descr
--    IP protocol number range.
--  Refer
--    Internet Protocol. J. Postel. RFC791

WriLocationClass ::= INTEGER {
        chassis(1),
        shelf(2),
        slot(3),
        subSlot(4),
        port(5),
        subPort(6),
        channel(7),
        subChannel(8)
        }
-- TEXTUAL-CONVENTION
--  Status
--    mandatory
--  Descr
--    An enumerated value which provides an indication of
--    the general location type of a particular physical and/or
--    logical interface.
--    chassis - a system framework for mounting one or more 
--              shelves/slots/cards.
--    shelf - a cabinet that holds one or more slots.
--    slot -  card or subSlot holder.
--    subSlot - daughter-card holder.
--    port - a physical port (e.g., a DS1 or DS3 physical port).
--    subPort - a logical port on a physical port (e.g., a DS1 
--              subPort on a DS3 physical port).
--    channel - a logical interface (e.g., a DS0 channel, signalling
--              channel, ATM port, other virtual interfaces).
--    subChannel - a sub-channel on a logical interface.

WriLocationSpecifier ::= OCTET STRING(SIZE(0..255))
-- TEXTUAL-CONVENTION
--  Status
--    mandatory
--  Descr
--    Use this TC to define objects that indicate the
--    physical entity and/or logical interface location 
--    of a managed entity on a managed device. In SNMP, a 
--    standard mechanism for indicating the physical location
--    of entities is via the ENTITY-MIB. However, that approach
--    is not satisfactory in some cases because:
--    
--    1. The entity requiring a location-based naming may be 
--       associated with an entity which can not be represented 
--       as a physical entity in the ENTITY-MIB,
--    2. NMS applications may desire a more direct 
--       name/representation of a physical entity than is 
--       available via the ENTITY-MIB, e.g., a physical entity
--       which is named via a hierarchy of levels in the ENTITY-MIB.
--    
--    The value of an object defined using this TC is an ASCII 
--    string consisting of zero or more elements separated by 
--    commas. Each element is of the form <tag> = <value>. 
--    
--    An example of this syntax is 'slot=5,port=3'.
--    
--    The syntax of the string is formally specified using
--    ABNF notation (with one exception, noted below), as
--    follows:                 
--    
--    location-specifier =  elem *(',' elem) 
--                   ; subject to 
--                   ; size restriction specified in the SYNTAX
--                   ; clause below
--    
--    elem    =   loctype '=' number
--    
--    number  = %x00-FFFFFFFF / %d0-4294967295
--    
--    loctype = 1*32VCHAR 
--    
--    It is recommended that loctype use one of the enumerated
--    labels defined for WriLocationClass.
--    
--    (NOTE: To conform to ABNF notation as defined in RFC2234, 
--     substitute the single-quote symbol with a double-quote 
--     symbol in the above rules.)
--    
--    A zero length of WriLocationSpecifier is object-specific
--    and must be defined as part of the description of any object
--    which uses this syntax.
--  Refer
--    RFC2234, Augmented BNF for syntax specifications: ABNF

WriInetAddressMask ::= Unsigned32(0..128)
-- Rsyntax Gauge32(0..128)
-- TEXTUAL-CONVENTION
--  Status
--    mandatory
--  Descr
--    Denotes a generic Internet subnet address mask.
--    The Internet subnet address mask is represented as the
--    number of contiguous 1-bit from MSB (most significant bit)
--    of the Internet subnet address mask.
--    A WriInetAddressMask value is always interpreted within
--    the context of an InetAddressType value. The 
--    InetAddressType only object or InetAddressType with
--    InetAddress objects which define the context must be
--    registered immediately before the object which uses the
--    WriInetAddressMask textual convention.  In other words,
--    the object identifiers for the InetAddressType object and
--    the WriInetAddressMask object MUST have the same length
--    and the last sub-identifier of the InetAddressType object
--    MUST be 1 less than the last sub-identifier of the 
--    WriInetAddressMask object and MUST be 2 less than the
--    last sub-identifier of the WriInetAddressMask object if
--    an InetAddress object is defined between InetAddressType
--    and WriInetAddressMask objects.
--    The maximum value of the WriInetAddressMask TC is 32 for
--    the value 'ipv4(1)' in InetAddressType object and 128 for
--    the value 'ipv6(2)' in InetAddressType object.
--    The value zero is object-specific and must therefore be
--    defined as part of the description of any object which
--    uses this syntax.  Examples of the usage of zero might
--    include situations where Internet subnet mask was unknown,
--    or when none subnet masks need to be referenced.
--  Refer
--    RFC2851, Textual Conventions for Internet Network Addresses.

WriAbsZeroBasedCounter32 ::= Gauge32
-- TEXTUAL-CONVENTION
--  Status
--    mandatory
--  Descr
--    This TC describes an object which counts events with the
--    following semantics: objects of this type will be set to
--    zero(0) on creation and will thereafter count appropriate
--    events, it locks at the maximum value of 4,294,967,295 if
--    the counter overflows.
--    This TC may be used only in situations where wrapping is
--    not possible or extremely unlikely situation.

WriSnapShotAbsCounter32 ::= Unsigned32
-- Rsyntax Gauge32
-- TEXTUAL-CONVENTION
--  Status
--    mandatory
--  Descr
--    This TC describes an object which stores a snap-shot value
--    with the following semantics: objects of this type will
--    take a snap-shot value from their associated
--    WriAbsZeroBasedCounter32 type objects on creation.

WriAlarmSeverity ::= INTEGER {
        cleared(1),
        indeterminate(2),
        critical(3),
        major(4),
        minor(5),
        warning(6),
        info(7)
        }
-- TEXTUAL-CONVENTION
--  Status
--    mandatory
--  Descr
--    Represents the perceived alarm severity associated
--    with a service or safety affecting condition and/or
--    event.  These are based on ITU severities, except
--    that info(7) is added.
--    
--    cleared(1) -
--    Indicates a previous alarm condition has been
--    cleared.  It is not required (unless specifically
--    stated elsewhere on a case by case basis) that an
--    alarm condition that has been cleared will produce
--    a notification or other event containing an
--    alarm severity with this value.
--    
--    indeterminate(2) -
--    Indicates that the severity level cannot be
--    determined. 
--    
--    critical(3) -
--    Indicates that a service or safety affecting
--    condition has occurred and an immediate
--    corrective action is required.
--    
--    major(4) -
--    Indicates that a service affecting condition has
--    occurred and an urgent corrective action is
--    required.
--    
--    minor(5) -
--    Indicates the existence of a non-service affecting
--    condition and that corrective action should be
--    taken in order to prevent a more serious (for
--    example, service or safety affecting) condition.
--    
--    warning(6) -
--    Indicates the detection of a potential or impending
--    service or safety affecting condition, before any
--    significant effects have been felt.
--    
--    info(7) -
--    Indicates an alarm condition that does not
--    meet any other severity definition.  This can
--    include important, but non-urgent, notices or
--    informational events.
--  Refer
--    ITU-X.733


END
