-- INTEL CONFIDENTIAL
-- Copyright 2006, 2007, 2008
-- Intel Corporation All Rights Reserved.
--
-- The source code contained or described herein and all documents related to
-- the source code ("Material") are owned by Intel Corporation or its
-- suppliers and licensors. Title to the Material remains with Intel
-- Corporation or its suppliers and licensors. The Material contains trade
-- secrets and proprietary and confidential information of Intel or its
-- suppliers and licensors. The Material is protected by worldwide copyright
-- and trade secret laws and treaty provisions. No part of the Material may be
-- used, copied, reproduced, modified, published, uploaded, posted,
-- transmitted, distributed, or disclosed in any way without Intel's prior
-- express written permission.
--
-- Unless otherwise expressly permitted by Intel in a separate license
-- agreement, use of the Material is subject to the copyright notices,
-- trademarks, warranty, use, and disclosure restrictions reflected on the
-- outside of the media, in the documents themselves, and in the "About" or
-- "Read Me" or similar file contained within this source code. Unless
-- otherwise expressly agreed by Intel in writing, you may not remove
-- or alter such notices in any way.
--

    INTELCORPORATION-MULTI-FLEX-SERVER-TC DEFINITIONS ::= BEGIN

        IMPORTS

            Unsigned32, MODULE-IDENTITY, TimeTicks
                FROM SNMPv2-SMI

            TEXTUAL-CONVENTION
                FROM SNMPv2-TC

            regModule
                FROM INTELCORPORATION-MULTI-FLEX-SERVER-REG;


            multiFlexServerTcModule MODULE-IDENTITY
                LAST-UPDATED "200805280200Z"        -- May 27, 2008 at 19:00 PDT
                ORGANIZATION
                    "Intel Corporation"
                CONTACT-INFO
                    "Brian Kurle
                    Intel Corporation
                    JF5-2-C3
                    Tel: 503-712-5032
                    E-Mail: brianx.j.kurle@intel.com"
                DESCRIPTION
                    "Textual Conventions used within
                     INTELCORPORATION-MULTI-FLEX-SERVER-*MIB"
                REVISION "200805280200Z"        -- May 27, 2008 at 19:00 PDT
                DESCRIPTION
                    "Added a few additional enumerations to
                    PresenceLedStates for managers that don't like setting
                    values other than the enumerations already provided."
                REVISION "200805070240Z"        -- May 6, 2008 at 19:40 PDT
                DESCRIPTION
                    "Added reset enumeration to PowerLedStates to provide a
                    mnemonic for a settable action in addition to powering
                    on/off"
                REVISION "200708161330Z"        -- August 16, 2007 at 13:30 GMT
                DESCRIPTION
                    "Reordered Revision to reverse chronological as some
                    browsers choke, cleaned up some other simple nit-picky
                    errors"
                REVISION "200708151900Z"        -- August 15, 2007 at 19:00 GMT
                DESCRIPTION
                    "Fixed up minor errors causing some managers grief
                    (ommission or addition of commas in lists)"
                REVISION "200707101700Z"        -- July 10, 2007 at 17:00 GMT
                DESCRIPTION
                    "Adjusted PowerLedStates, FaultLedStates &
                    PresenceLedStates type definitions to reflect the alert
                    status"
                REVISION "200706072030Z"        -- June 07, 2007 at 20:30 GMT
                DESCRIPTION
                    "Added the IdromBinary16 to represent the asset tag,
                    part number, and serial number fields within the IDROM
                    fields."
                REVISION "200706071330Z"        -- June 07, 2007 at 13:30 GMT
                DESCRIPTION
                    "Corrected maximum/nominal IDROM parameters and comments"
                REVISION "200705231900Z"        -- May 23, 2007 at 19:00 GMT
                DESCRIPTION
                    "Added new unify INTEGER type with enumerations for
                    exceptions
                    
                    Reworked some of the other enumerations to make
                    consistent, but avoid collisions with other
                    enumerations by the OEMs"
                REVISION "200705211200Z"        -- May 21, 2007 at 12:00 GMT
                DESCRIPTION
                    "Added notApplicable (for cases where presence is known
                    of the device to be absent), and identify (for certain
                    device write requests) to LED states"
                REVISION "200703121830Z"        -- March 12, 2007 at 18:30 GMT
                DESCRIPTION
                    "Created new Textual convention 'Power' for IDROM info
                    on Maximim and Nominal Power data"
                REVISION "200702221700Z"        -- February 22, 2007 at 17:00 GMT
                DESCRIPTION
                    "Renamed MIB file and updated internal relevance to
                    formal product name Multi-Flex Server"
                REVISION "200701051050Z"        -- January 05, 2007 at 10:50 GMT
                DESCRIPTION
                    "Added timeout enumeration to presence type along with
                    additional documentation"
                REVISION "200612281310Z"        -- December 28, 2006 at 13:10 GMT
                DESCRIPTION
                    "To support Switches, swiped several types that exist
                    in various MIBs, but appear to be missing from the
                    Net-SNMP distribution.  Rather than copy someone else's
                    interpretation of those MIBs (and then have to clean
                    them up to be SMIv2 compliant), only the types were
                    lifted (and documented).

                    Added:

                        JackType      - Lifted from the MAU-MIB (RFC 3636)
                        TimeFilter    - Lifted from RMON2-MIB (RFC 2021)
                        PortList      - Lifted from Q-BRIDGE-MIB (RFC 2674)
                        VlanIndex     - Lifted from Q-BRIDGE-MIB (RFC 2674)
                        EnabledStatus - Lifted from P-BRIDGE-MIB (RFC 2674)
                    "
                REVISION "200611070701Z"        -- November 07, 2006 at 07:01 GMT
                DESCRIPTION
                    "Added Presence type"
                ::= { regModule 2 }


--
-- Textual conventions
--

        Index ::= TEXTUAL-CONVENTION
            STATUS current
            DESCRIPTION
                "Generial Index definition used in tables."
            SYNTAX Unsigned32 (1..255)

        INT32withException ::= TEXTUAL-CONVENTION
            STATUS current
            DESCRIPTION
                "INTEGER type, but adds enumerations for exceptions when a
                positive integral value isn't available"
            SYNTAX INTEGER
                {
                notApplicable(-32),
                unknown(-16)
                }

        PowerLedStates ::= TEXTUAL-CONVENTION
            STATUS current
            DESCRIPTION
                "Power LED States type
                Status enumerations: off, standby, on
                Settable values:
                    off         - soft shutdown
                    on          - power up
                    forcedOff   - forced power down (unclean)
                    hardReset   - reset board
                "
            SYNTAX INTEGER
                {
                notApplicable(-32),
                unknown(-16),
                identify(-4),
                dataNotAvailable(-1),
                off(0),         -- status / settable: soft shutdown request
                standby(1),     -- status
                on(2),          -- status / settable: power up request
                forcedOff(3),   -- settable: hard power down request
                hardReset(4)    -- settable: hard reset request
                }

        FaultLedStates ::= TEXTUAL-CONVENTION
            STATUS current
            DESCRIPTION
                "Fault LED States type"
            SYNTAX INTEGER
                {
                notApplicable(-32),
                unknown(-16),
                identify(-4),
                dataNotAvailable(-1),
                normal(0),
                degraded(1),
                fault(2)
                }

        PresenceLedStates ::= TEXTUAL-CONVENTION
            STATUS current
            DESCRIPTION
                "The ENUM definition for the state of the presence LED with
                optional identify request.

                unknown  - any thing that is outside of the following known
                           types
                off      - known to be present, but LED is off
                on       - known to be present, and LED is on
                alwaysOn - Identification is turn on permanently
                dataNotAvailable
                         - Device not responding/not available
                #        - ID Notification is on, and the value is the
                           number of seconds before the LED will be turned
                           off.
                           
                           Four additional enumerations are provided for
                           managers that don't like mixing enumerations
                           with integral values, but provide a means of
                           setting it."
            SYNTAX INTEGER
                {
                notApplicable(-32),
                unknown(-16),
                alwaysOn(-3),
                dataNotAvailable(-1),
                off(0),
                fifteenSeconds(15),
                thirtySeconds(30),
                sixtySeconds(60),
                twoMinutes(120)
                }

        FeatureSet ::= TEXTUAL-CONVENTION
            STATUS    current
            DESCRIPTION
                " The ENUM definition for feature set support."
            SYNTAX INTEGER {
                notApplicable(-32),
                unknown(-16),
                unsupported (0),
                supported (1)
            }

        Presence ::= TEXTUAL-CONVENTION
            STATUS    current
            DESCRIPTION
                "The ENUM definition for presence of an object with
                optional identify request.

                unknown  - any thing that is outside of the following known
                           types
                absent   - known not to be present (generally reported by
                           the hardware)
                present  - known to be present (ditto)
                identify - for devices the permit, this value may be
                           written to command the device to identify itself
                           (e.g., blink a LED)
                timedout - command information sent is timing out, thus not
                           explicitly able to determine if present and not
                           responding or actually absent (for cases where
                           hardware is not present on devices to explicitly
                           inform presence)
                "
            SYNTAX INTEGER {
                notApplicable(-32),
                unknown(-16),
                identify(-4),
                timedout (-2),
                absent (0),
                present (1)
            }

        Power ::= TEXTUAL-CONVENTION
            STATUS current
            DESCRIPTION
                "Static power generation / consumption (in watts):

                <0      - Negative numbers indicate device consumes power (in watts)
                >0      - Positive numbers indicate device generates power (in watts)
                0       - Device is passive (does not not consume or generate power)
                -1      - Power generation/consumption not known or specified"
            SYNTAX INTEGER {
                unknown(-1),
                passive(0)
            }

        IdromBinary16 ::= TEXTUAL-CONVENTION
            DISPLAY-HINT "1x "
            STATUS       current
            DESCRIPTION
                    "Means of displaying 16 byte binary fields within the
                    IDROM as hexadecimal digits.

                    Used for the Serial Number, Part Number, and Asset Tag 
                    fields.

                    All above fields are only 16 bytes as per the IDROM spec."
            SYNTAX       OCTET STRING (SIZE (16))


-- Lifted from the MAU-MIB (RFC 3636), but not found in Net-SNMP distribution

       JackType ::= TEXTUAL-CONVENTION
           STATUS      current
           DESCRIPTION "Common enumeration values for repeater
                       and interface MAU jack types."
           SYNTAX      INTEGER {
                           other(1),
                           rj45(2),
                           rj45S(3), -- rj45 shielded
                           db9(4),
                           bnc(5),
                           fAUI(6),  -- female aui
                           mAUI(7),  -- male aui
                           fiberSC(8),
                           fiberMIC(9),
                           fiberST(10),
                           telco(11),
                           mtrj(12),  -- fiber MT-RJ
                           hssdc(13), -- fiber channel style-2
                           fiberLC(14)
                       }

-- Lifted from RMON2-MIB (RFC 2021) but not found in Net-SNMP distribution

        TimeFilter ::= TEXTUAL-CONVENTION
            STATUS        current
            DESCRIPTION
                "To be used for the index to a table.  Allows an application
                to download only those rows changed since a particular time.
                A row is considered changed if the value of any object in the
                row changes or if the row is created or deleted.

                When sysUpTime is equal to zero, this table shall be empty.

                One entry exists for each past value of sysUpTime, except that
                the whole table is purged should sysUpTime wrap.

                As this basic row is updated new conceptual rows are created
                (which still share the now updated object values with all
                other instances).  The number of instances which are created
                is determined by the value of sysUpTime at which the basic row
                was last updated.  One instance will exist for each value of
                sysUpTime at the last update time for the row.  A new
                timeMark instance is created for each new sysUpTime value.
                Each new conceptual row will be associated with the timeMark
                instance which was created at the value of sysUpTime with
                which the conceptual row is to be associated.

                By definition all conceptual rows were updated at or after
                time zero and so at least one conceptual row (associated with
                timeMark.0) must exist for each underlying (basic) row.

                See the appendix for further discussion of this variable.

                Consider the following fooTable:

                fooTable ...
                INDEX { fooTimeMark, fooIndex }

                FooEntry {
                   fooTimeMark  TimeFilter
                   fooIndex     INTEGER,
                   fooCounts    Counter
                }

                Should there be two basic rows in this table (fooIndex == 1,
                fooIndex == 2) and row 1 was updated most recently at time 6,
                while row 2 was updated most recently at time 8, and both rows
                had been updated on several earlier occasions such that the
                current values were 5 and 9 respectively then the following
                fooCounts instances would exist.

                fooCounts.0.1  5
                fooCounts.0.2  9
                fooCounts.1.1  5
                fooCounts.1.2  9
                fooCounts.2.1  5
                fooCounts.2.2  9
                fooCounts.3.1  5
                fooCounts.3.2  9
                fooCounts.4.1  5
                fooCounts.4.2  9
                fooCounts.5.1  5
                fooCounts.5.2  9
                fooCounts.6.1  5
                fooCounts.6.2  9
                fooCounts.7.2  9    - note that row 1 doesn't exist for
                fooCounts.8.2  9    - times 7 and 8"
            SYNTAX    TimeTicks

-- Lifted from Q-BRIDGE-MIB (RFC 2674) but not found in Net-SNMP distribution

        PortList ::= TEXTUAL-CONVENTION
            STATUS      current
            DESCRIPTION
                "Each octet within this value specifies a set of eight
                ports, with the first octet specifying ports 1 through
                8, the second octet specifying ports 9 through 16, etc.
                Within each octet, the most significant bit represents
                the lowest numbered port, and the least significant bit
                represents the highest numbered port.  Thus, each port
                of the bridge is represented by a single bit within the
                value of this object.  If that bit has a value of '1'
                then that port is included in the set of ports; the port
                is not included if its bit has a value of '0'."
            SYNTAX      OCTET STRING

-- Lifted from Q-BRIDGE-MIB (RFC 2674) but not found in Net-SNMP distribution

        VlanIndex ::= TEXTUAL-CONVENTION
            STATUS      current
            DESCRIPTION
                "A value used to index per-VLAN tables: values of 0 and
                4095 are not permitted; if the value is between 1 and
                4094 inclusive, it represents an IEEE 802.1Q VLAN-ID with
                global scope within a given bridged domain (see VlanId
                textual convention).  If the value is greater than 4095
                then it represents a VLAN with scope local to the
                particular agent, i.e. one without a global VLAN-ID
                assigned to it. Such VLANs are outside the scope of
                IEEE 802.1Q but it is convenient to be able to manage them
                in the same way using this MIB."
            SYNTAX      Unsigned32

-- Lifted from P-BRIDGE-MIB (RFC 2674) but not found in Net-SNMP distribution

        EnabledStatus ::= TEXTUAL-CONVENTION
            STATUS      current
            DESCRIPTION
                "A simple status value for the object."
            SYNTAX      INTEGER { enabled(1), disabled(2) }


    END

-- vim:ts=4:nohls:ai:expandtab
