HPI-B0101-MIB DEFINITIONS ::= BEGIN
IMPORTS
        MODULE-IDENTITY, 
        OBJECT-TYPE,
        NOTIFICATION-TYPE,
        Unsigned32,
        Gauge32,
        Counter32,
        Integer32               FROM SNMPv2-SMI
        TEXTUAL-CONVENTION,
        RowPointer,
        RowStatus,
        DisplayString,
        TruthValue              FROM SNMPv2-TC
        MODULE-COMPLIANCE, 
        OBJECT-GROUP,
        NOTIFICATION-GROUP      FROM SNMPv2-CONF
        hpiD                    FROM SAF-TC-MIB;

hpiB0101 MODULE-IDENTITY
    LAST-UPDATED "200511101200Z"  -- November 10, 2005
    ORGANIZATION "Service Availability Forum Systems Management WG"
    CONTACT-INFO "
            Service Availability Forum 
            Systems Management Working Group

            5440 SW Westgate Drive, Suite 217
            Portland, OR 97221

            Phone: (503) 291-2576
            Fax: (503) 297-1090
            
            OpenHPI Contributors :

                        Sean Dague
                        Postal: IBM
                                2455 South Road
                                Poughkeepsie, NY 12601
                                US
                        Tel:    +1 845 433 2965
                        Fax:    +1 845 433 2379
                        E-mail: sdague@us.ibm.com


                Kurt Taylor
                        Postal: IBM
                                11400 Burnet Rd.
                                Austin, Tx 78758
                                US
                        Tel:    +1 512 838 2496
                        E-mail: krtaylor@us.ibm.com

                Konrad Rzeszutek
                        Postal: IBM
                                1 Rogers St
                                Cambridge, Ma 02142
                                US
                        Tel:    +1 617 693 1718
                        E-mail: konradr@us.ibm.com
                                
                David Judkovics
                        Postal: IBM
                                1701 North St.
                                Endicott, NY 13760
                                US
                        Tel:    +1 607 429 4745
                        E-mail: djudkovi@us.ibm.com
                        
                "
        DESCRIPTION
                "HPI MIB for SAF-HPI B-01-01.

                When using this MIB it is strongly recommended to use
                the SNMPv3 protocol due to security concerns.
                        
                Additionally  if fine grain access configuration is
                desired, for example to manage access to individual
                columnar objects, the SNMP configuration should use
                VACM (View Based Access Control Model - RFC 2275).
                        
                This MIB defines the HPI instrumentation based on
                'Service Availability Forum Hardware Platform
                Interface' (SAI-HPI-B.01.01).

                This MIB module defines a set of objects that allow the 
                management of entities on a variety of hardware
                platforms.  The abstractions presented in this MIB
                are derived from the Service Availability Forum
                Hardware Platform Interface specification version
                SAI-HPI-B.01.01.
                   
                The MIB views a hardware platform as a collections
                of physical entities that can be managed individually.
                A logical collection of entities comprises a
                management domain.  Each entity has a common set of
                attributes reflected in the entity table.  Entities
                may have additional categorical attributes that may
                exist in one or more of the hotswap table, control
                table, sensor table, watchdog table, inventory control
                table and config table.

                The hotswap table defines management attributes
                for an entity that supports hotswap, generally
                referred to as a FRU.

                The controls table defines variables for reading
                and setting controls associated with an entity.

                The sensors table defines variables for reading sensors 
                associated with an entity as well as controlling event 
                generation for that sensor.

                The watchdog table defines variables for reading
                watchdog associated with an entitry.

                The inventory control defines variables for reading
                inventory resources and changing the settings."
        REVISION "200511101200Z"
        DESCRIPTION
                "Initial revision of this module."
        ::= { hpiD 1}


hpiAdministration OBJECT IDENTIFIER     ::= { hpiB0101 1 }

hpiDomain OBJECT IDENTIFIER     ::= { hpiB0101 2 }

hpiEvents OBJECT IDENTIFIER     ::= { hpiB0101 3 }

hpiResources OBJECT IDENTIFIER  ::= { hpiB0101 4 }

hpiNotifications OBJECT IDENTIFIER      ::= { hpiB0101 5 }

hpiConformance OBJECT IDENTIFIER        ::= { hpiB0101 6 }

-- The hotswap table:

hpiHotSwap OBJECT IDENTIFIER    ::= { hpiDomain 11 }

-- The events tables:

events OBJECT IDENTIFIER        ::= { hpiEvents 1 }

eventLog OBJECT IDENTIFIER      ::= { hpiEvents 2 }

-- The resource tables.

hpiControl OBJECT IDENTIFIER    ::= { hpiResources 7 }

hpiInventory OBJECT IDENTIFIER  ::= { hpiResources 8 }

hpiSensor OBJECT IDENTIFIER     ::= { hpiResources 9 }

-- ************************************************
-- **
-- ** Textual convention for frequently used types.
-- **   
-- **
-- ************************************************

Unsigned16 ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
                "Textual convention for an unsigned 16-bit data,
                2-byte alignment data type."
        REFERENCE
                "Derived from SAI-HPI-B.01.01 specification,
                 section 8.1."
        SYNTAX Integer32 (0..65535)


Unsigned8 ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
                "Textual convention for an unsigned 8-bit data type."
        REFERENCE
                "Derived from SAI-HPI-B.01.01 specification,
                 section 8.1."
        SYNTAX Integer32 (0..255)


Double ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
                "Textual convention for an 64 bit float number,
                8 byte alignment data type."
        REFERENCE
                "Derived from SAI-HPI-B.01.01 specification,
                section 8.1.  The 64bit float number is assumed to
                be a IEEE-754 64 bit floating value of the
                type: sign(1)exponent(11)mantissa(52)."
        SYNTAX OCTET STRING (SIZE (0..8))


SaHpiEntityPath ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
                "Entity Path associated with Announcement.
                        
                This object converts HPI's saHpiEntityPathT structure 
                to a canonical string.  This string is 
                formed by removing the SAHPI_ENT_ prefix from the 
                HPI types, and creating tuples for the entity types. 
                        
                If an entity path contains entity types implemented
                from the reserved ranges, such as ATCA, then if those 
                types contain SAHPI_ENT_ prefixes they too shall be 
                removed.
                        
                Order of significance is inverted to make entity paths 
                look more like Unix directory structure. It is also
                assumed that {ROOT,0} exists implicitly before all of
                these entries. 
                        
                For example:
                 {SYSTEM_CHASSIS,2}{PROCESSOR_BOARD,0}"
        REFERENCE
                "See SAI-HPI-B.01.01 section 8.2"
        SYNTAX OCTET STRING (SIZE (0..255))


SaHpiDomainId ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
                "Domain identifier. The number is unique within
                 the system."
        REFERENCE
                "See SAI-HPI-B.01.01 section 8.1"
        SYNTAX Unsigned32


SaHpiInstrumentId ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
                "Textual convention for all HPI MIB management
                instrument identifiers - sensor numbers, control
                numbers, watchdog timer numbers, etc."
        REFERENCE
                "See SAI-HPI-B.01.01 section 8.1"
        SYNTAX Unsigned32


SaHpiEntryId ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
                "Textual convention for the entry ID of a record.
                This value is used to enumerate the indexes of
                records that are held by HPI. There are three different 
                unique values to denote the first, last, and unspecified 
                entries in HPI:

                        SAHPI_FIRST_ENTRY 0x00000000
                        SAHPI_LAST_ENTRY  0xFFFFFFFF
                        SAHPI_ENTRY_UNSPECIFIED SAHPI_FIRST_ENTRY
                        
                As a result, we can use SAHPI_FIRST_ENTRY and 
                SAHPI_ENTRY_UNSPECIFIED to query HPI so that it 
                will return the first entry in a particular table.  
                SAHPI_LAST_ENTRY is not a valid entry identifier
                to query HPI because the value denotes the end 
                of a table or list.  Please note that these
                values will not be used to denote actual entries
                in an SNMP agent implementation."
        REFERENCE
                "See SAI-HPI-B.01.01 section 8.1"
        SYNTAX Unsigned32


SaHpiManufacturerId ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
                "Textual convention for the identifier of the
                 manufacturer.
                        
                        SAHPI_MANUFACTURER_ID_UNSPECIFIED == 0
                is used when no value is assigned.

                This is the IANA-assigned private enterprise number
                for the manufacturer of the resource or FRU, or of
                the manufacturer defining an Oem control or event
                type. A list of current IANA-assigned private
                enterprise numbers may be obtained at

                http://www.iana.org/assignments/enterprise-numbers

                If a manufacturer does not currently have an assigned
                number, one may be obtained by following the
                instructions located at
                http://www.iana.org/cgi-bin/enterprise.pl"
        REFERENCE
                "See SAI-HPI-B.01.01 section 8.1"
        SYNTAX Unsigned32


SaHpiOptionalData ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
                " Sensor events may contain optional data items
                  passed and stored with the event. 

                If these optional data items are present, they will
                be included with the event data.
                 
                This texual definition defines the types of optional
                data passed back from a sensor during an event response.
                        
                Each capability is seperated by a delimeter a comma 
                ',' or semicolon ';'. 

                Specific implementations of HPI (SNMP subagent) may
                have restrictions on how much data may be passed 
                to this textual convention.

                These restrictions should be documented by the
                provider of the HPI interface.

                String token values are listed below.

                        SAHPI_SOD_TRIGGER_READING   
                        SAHPI_SOD_TRIGGER_THRESHOLD 
                        SAHPI_SOD_OEM               
                        SAHPI_SOD_PREVIOUS_STATE    
                        SAHPI_SOD_CURRENT_STATE     
                        SAHPI_SOD_SENSOR_SPECIFIC"
        REFERENCE
                "See SAI-HPI-B.01.01 section 8.14"
        SYNTAX OCTET STRING (SIZE (0..255))


SaHpiTime ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
                "This textual convention defines the HPI time value as
                an 64-bit value.

                An HPI time value represents the local time as the
                number of nanoseconds from 00:00:00, January 1, 1970,
                in a 64-bit signed integer. This format is sufficient
                to represent times with nano-second resolution from the
                year 1678 to 2262. Every API which deals with time
                values must define the timezone used.
                        
                It should be noted that although nano-second
                resolution is supported in the data type, the actual
                resolution provided by an implementation may be more
                limited than this.
                        
                The value -2^63, which is 0x8000000000000000, is used
                to indicate 'unknown/unspecified time'.
                        
                Conversion to/from POSIX and other common time
                representations is relatively straightforward. The
                following code framgment converts between SaHpiTimeT
                and time_t:

                time_t tt1, tt2;
                SaHpiTimeT saHpiTime;

                time(&tt1);
                saHpiTime = (SaHpiTimeT) tt1  1000000000;
                tt2 = saHpiTime / 1000000000;

                The following fragment converts between SaHpiTimeT
                and a struct timeval:

                struct timeval tv1, tv2;
                SaHpiTimeT saHpiTime;

                gettimeofday(&tv1, NULL);
                saHpiTime = (SaHpiTimeT) tv1.tv_sec  1000000000 + 
                            tv1.tv_usec  1000;
                tv2.tv_sec = saHpiTime / 1000000000;
                tv2.tv_usec = saHpiTime % 1000000000 / 1000;

                The following fragment converts between SaHpiTimeT
                and a struct timespec:

                struct timespec ts1, ts2;
                SaHpiTimeT saHpiTime;

                clock_gettime(CLOCK_REALTIME, &ts1);
                saHpiTime = (SaHpiTimeT) ts1.tv_sec  1000000000 +
                            ts1.tv_nsec;
                ts2.tv_sec = saHpiTime / 1000000000;
                ts2.tv_nsec = saHpiTime % 1000000000;

                Note, however, that since time_t is (effectively)
                universally 32 bits, all of these conversions will
                cease to work on January 18, 2038.

                Some subsystems may need the flexibility to report
                either absolute or relative (eg. to system boot) times.
                This will typically be in the case of a board which
                may or may not, depending on the system setup,
                have an idea of absolute time. For example, some
                boards may have 'time of day' clocks which start at
                zero, and never get set to the time of day.

                In these cases, times which represent 'current' time
               (in events, for example) can be reported based on the
               clock value, whether it has been set to the actual
               date/time, or whether it represents the elapsed time
               since boot. If it is the time since boot, the value
               will be (for 27 years) less than 0x0C00000000000000,
               which is Mon May 26 16:58:48 1997.
               If the value is greater than this, then it can be
               assumed to be an absolute time.

               Every API which can report either absolute or relative
               times must state this rule clearly in its interface
               specification.

                SAHPI_TIME_UNSPECIFIED     0x8000000000000000LL

               Maximum time that can be specified as relative :
               SAHPI_TIME_MAX_RELATIVE     0x0C00000000000000LL
                        
               Used when textual convention is used to specify a time
               value conveying a non-blocking action.  Take action
               immediately.

                SAHPI_TIMEOUT_IMMEDIATE    0x0000000000000000LL

               Used when textual convention is used to specify a time
               value conveying a time independent wait should occur. 
               Wait for all time if necessary.

                SAHPI_TIMEOUT_BLOCK        -1LL
                
               In all cases, time will be displayed in network-byte
               order - big endian."
        REFERENCE
                "Derived from SAI-HPI-B.01.01 spec, pg 164-165."
        SYNTAX OCTET STRING (SIZE (8))


SaHpiSeverity ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
                "This textual convention defines the severity levels.
                    
                When using these event severities the event severity 
                should match the event state (for example minor(3)
                should have an event state of LOWER_MINOR).

                The possible levels are:

                     critical (1)
                     major (2)
                     minor (3)
                     informational (4)
                     ok (5)
                     debug (6)
                           
                The last level, allSeverities(7) is only used with
                Domain Alarm Table and Annunciator table.  It is not 
                a valid severity for events or alarms.

                Note: These values are offset by +1 as compared to
                the  SAI-HPI-B.01.01 values."
        REFERENCE
                "Derived from SAI-HPI-B.01.01 section 8.14."
        SYNTAX INTEGER {
                        undefined(0),
                        critical(1),
                        major(2),
                        minor(3),
                        informational(4),
                        ok(5),
                        debug(6),
                        allSeverities(7) }


SaHpiStatusCondType ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
                "This textual convention defines the types of
                announcements available:

                     sensor (1),
                     resource (2)
                     oem (3)
                     user (4)
                "
        REFERENCE

                "Derived from SAI-HPI-B.01.01 section 8.15."
        SYNTAX INTEGER {
                        undefined(0),
                        sensor(1),
                        resource(2),
                        oem(3),
                        user(4) }


SaHpiEventCategory ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
                "This textual convention defines the enumeration
                of event categories and is used extensivly by sensors
                and events.

                Depending on the event category, the event states
               (defined by the textual convention SaHpiEventState)
               takes on different meanings for events generated by
               specific sensors.

               For sensors, events contain an event category and event
               state. 
                        
               The generic(128) category can be used for discrete
               sensors which have state meanings other than those
               identified with other event categories.

                Note: Enumerated values are increased by one value
                compared to SAI-HPI-B spec."
        REFERENCE
                "Derived from SAI-HPI-B.01.01 section 8.3."
        SYNTAX INTEGER {
                        undefined(0),
                        unspecified(1),
                        threshold(2),
                        usage(3),
                        state(4),
                        predFail(5),
                        limit(6),
                        performance(7),
                        severity(8),
                        presence(9),
                        enable(10),
                        availability(11),
                        redundancy(12),
                        sensorSpecific(127),
                        generic(128) }


SaHpiEventState ::= TEXTUAL-CONVENTION
        DISPLAY-HINT "255a"
        STATUS current
        DESCRIPTION
               " The following event states are available for
                 variables using the saHpiEventCategory textual
                 convention to provide event origin information.
                 
                Each set of events is uniquely identified with a
                label which easily refers back to the corresponding
                category. Only events from the same category should be
                coalesced in a variable of this type.
                 
                Each event will have one or more event states seperated
                by a common delimiter (, or ;) associated with it.
                When retrieving the event status, all applicable event
                states can be used.  

                Similarly, when setting the event enabled status a set 
                of all applicable event states can be used.

                For example, for the type threshold(2), the retrieved
                states can be:
                 
                LOWER_MINOR, UPPER_CRIT, UPPER_MAJOR
                        
                When the event category is the unspecified(0) type,
                the event can be:
                 
                UNSPECIFIED 
                 
                Event category of type threshold(2), can have the
                following values :
                        
                LOWER_MINOR 
                LOWER_MAJOR
                LOWER_CRIT
                UPPER_MINOR
                UPPER_MAJOR
                UPPER_CRIT
                 
                Event category of type usage(3), can have :
                        
                IDLE
                ACTIVE
                BUSY
                 
                Event category of type state(4), can have :
                 
                STATE_DEASSERTED
                STATE_ASSERTED
                        
                Event category of type predFail(5), can have :
                 
                PRED_FAILURE_DEASSERT
                PRED_FAILURE_ASSERT
                        
                Event category of type limit(6), can have :
                        
                LIMIT_NOT_EXCEEDED
                LIMIT_EXCEEDED
                 
                Event category of type performance(7), can have :
                 
                PERFORMANCE_MET
                PERFORMANCE_LAGS
                        
                Event category of type severity(8), can have :
                 
                OK
                MINOR_FROM_OK
                MAJOR_FROM_LESS
                CRITICAL_FROM_LESS
                MINOR_FROM_MORE
                MAJOR_FROM_CRITICAL
                CRITICAL
                MONITOR
                INFORMATIONAL
                 
                Event category of type presence(9), can be:
                 
                ABSENT
                PRESENT
                 
                Event category of type enable(10), can be:
                 
                DISABLED
                ENABLED
                 
               Event category of type availability(11), can have the
               following values :
                 
                RUNNING
                TEST
                POWER_OFF
                ON_LINE
                OFF_LINE
                OFF_DUTY
                DEGRADED
                POWER_SAVE
                INSTALL_ERROR
                        
                Event category of type redundancy(12), can have:
                 
                FULLY_REDUNDANT
                REDUNDANCY_LOST
                REDUNDANCY_DEGRADED
                REDUNDANCY_LOST_SUFFICIENT_RESOURCES
                NON_REDUNDANT_SUFFICIENT_RESOURCES
                NON_REDUNDANT_INSUFFICIENT_RESOURCES
                REDUNDANCY_DEGRADED_FROM_FULL
                REDUNDANCY_DEGRADED_FROM_NON
                        
                For the event category of generic(128) or
                sensor-specific(127), permitted strings are
                implementation-specific but can be from :
                        
                STATE_00
                STATE_01
                STATE_02
                STATE_03
                STATE_04
                STATE_05
                STATE_06
                STATE_07
                STATE_08
                STATE_09
                STATE_10
                STATE_11
                STATE_12
                STATE_13
                STATE_14
                 
                When using these event states, the event state should
                match the event severity (for example LOWER_MINOR
                should have an event severity of minor(3))."
        REFERENCE
                "Derived from SAI-HPI-B.01.01 spec, pg 170-172."
        SYNTAX OCTET STRING (SIZE (0..255))


SaHpiHotSwapState ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
                "This textual convention defines the enumeration of
                 states specific to Hot Swap records. They are:

                inactive(1):

                The inactive(1) state indicates that the FRU, which
                supports the full hot swap model, is no longer active
                in the system, and that it has completed the extraction
                process. When a FRU completes the hardware
                disconnection process, it is logically and electrically 
                disconnected or isolated from the platform but still
                physically located in the platform, so the associated
                resource remains in the domain. Typically, a FRU will
                be powered off or held in reset when in this state.
                The HPI implementation should generate a hot swap 
                event with SaHpiHotSwapState = inactive(1) when the
                resource is transitioning to an inactive(1) state.

                insertionPending(2):

                The insertionPending(2) state is entered after a
                resource that supports the full hot swap model has
                been added to the domain, as a result of the
                associated FRU being physically inserted into the
                system. This state indicates the resource is
                transitioning from a notPresent(5) state or
                inactive(1) state into the ACTIVE state. When
                transitioning into the insertionPending(2) state,
                the resource should generate a hot swap 
                event with SaHpiHotSwapState = insertionPending(2).
                The event can be generated when the ejector latch is
                shut (cPCI) or the device is seated in a slot. 
                Upon receiving the event, the HPI User has the
                opportunity to discover the capabilities of the
                resource before allowing the FRU associated with 
                the resource to power on and become an active
                component in the system. 
                During this state, the FRU can be commanded to
                power on or de-assert reset.

                active(3):

                The active(3) state indicates that a resource is now
                an active member of the domain.

                After a FRU completes the hardware connection process,
                the associated resource enters the active(3) state.
                This does not mean that the FRU is now active at the
                software level, but merely indicates that the FRU 
                is now active in the system and that it should not be
                abruptly removed. 
                The HPI implementation generates a hot swap event with 
                SaHpiHotSwapState = active(3) when the resource
                transitions to the active(3) state.

                extractionPending(4):

                The extractionPending(4) state indicates that the
                resource, which supports the full hot swap model, has
                requested extraction of the associated FRU.

                Typically, a resource enters an extractionPending(4)
                state when an ejector latch is opened (PICMG 2.1) or
                when a hot swap button is pressed. The HPI
                implementation should generate a hot swap event with 
                SaHpiHotSwapState = extractionPending(4) when a
                resource that supports Managed Hot Swap requests
                extraction.  Upon receiving the event, the HPI User
                has the opportunity to unload software drivers,
                relocate processes, or unmount file systems 
                (software disconnect) before allowing a FRU to power
                down and disconnect from the system.

                notPresent(5):

                 The notPresent(5) state is actually a virtual state
                 that represents a resource that is not currently
                 present in the domain, because the FRU associated
                 with that resource is not currently present in the
                 system. 
                 A resource is in this state before the FRU is
                 physically inserted into the system or if it has
                 been removed from the system. A resource that 
                 supports the full Hot Swap model typically
                 transitions to this state from the inactive(1) state,
                 but a resource can transition to this state 
                 from any state due to a surprise extraction of
                 the FRU. The HPI implementation should generate a
                 hot swap event with SaHpiHotSwapState = notPresent(5)
                 when the resource transitions from any state to the
                 notPresent(5) state.

                 The event can indicate a normal transition from
                 inactive(1) to the notPresent(5) state or a surprise
                 extraction from any other state.  
                 Normal transition events are issued with a severity
                 of informational(4).

                 A resource following the simplified hot swap model
                 always indicates the transition to the notPresent(5)
                 state as a surprise extraction.
                 When a resource associated with a FRU fails, many
                 systems will detect this as a notPresent(5) state
                 for the FRU, and report it as a transition 
                 to the notPresent(5) state (a normal transition if
                 the resource was in the inactive(1) state, or a
                 surprise extraction if it was in a different state).  
                 If the resource is subsequently restored to
                 functionality, these systems will then detect the
                 presence of the FRU, and report another state 
                 transition from the notPresent(5) state to the
                 current hot swap state for the restored resource. 
                 If the current hot swap state is not the normal 
                 ~initial~ state for the FRU when it is inserted
                 (i.e., insertionPending(2) for a resource that uses
                 the full hot swap model or active(3) for a resource 
                 that uses the simplified hot swap model), then the
                 severity of the ~unusual~ hot swap event showing a
                 transition from notPresent(5) to a different state
                 should be the severity contained in the
                 ResourceSeverity field in the resource~s RPT entry.

                Note: Enumerated values are increased by one value
                      compared to SAI-HPI-B spec."
        REFERENCE
                "Derived from states described in the SAI-HPI-B.01.01
                 section(s) 8.13."
        SYNTAX INTEGER {
                        undefined(0),
                        inactive(1),
                        insertionPending(2),
                        active(3),
                        extractionPending(4),
                        notPresent(5) }


SaHpiWatchdogPreTimerAction ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
                "This textual convention defines the enumerations which
                represent the possible types of interrupts that may be
                triggered by a watchdog pre-timer event. The actual
                meaning of these operations may differ depending on
                the hardware architecture."
        SYNTAX INTEGER {
                        undefined(0),
                        none(1),
                        smi(2),
                        nmi(3),
                        messageInterrupt(4),
                        oem(16) }


SaHpiWatchdogTimerUse ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
                "The textual convention defines the enumerations
               which represent the possible watchdog uses that
               may have caused the watchdog to expire. 

               For instance, if watchdog is being used during power
               on self test (POST), and it expires, the biosPost(3)
               expiration type will be set.
               Most specific uses for Watchdog timer by users of
               HPI should indicate smsOs(5) if the use is to provide
               an OS-healthy heartbeat, or oem(6) if it is used for
               some other purpose.

                Note: Enumerated values are increased by one value
               compared to SAI-HPI-B.01.01 spec."
        REFERENCE
                "Derived from typedefs in SAI-HPI-B.01.01 section 8.11."
        SYNTAX INTEGER {
                        undefined(0),
                        none(1),
                        biosFrb2(2),
                        biosPost(3),
                        osLoad(4),
                        smsOs(5),
                        oem(6),
                        unspecified(16) }


SaHpiTextType ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
                "This textual convention defines the enumeration
                type of text value. 

               The encoding of the SaHpiText type is defined by
               this enumeration.  The following table describes
               the various encodings:
                        
                  DataType                     Encoding
                  --------                     --------
                        
                 unicode         16-bit Unicode, least significant
                                 byte first.  Buffer must contain even
                                 number of bytes.
                        
                 bcdplus         8-bit ASCII, '0'-'9' or space, dash,
                                 period, colon, comma, or underscore
                                 only.
                        
                 ascii6          8-bit ASCII, reduced set, 0x20=0x5f
                                 only.
                        
                 text            8-bit ASCII+Latin 1
                        
                 binary          8-bit bytes, any values legal
                        
                Note: 'ASCII+Latin 1' is derived from the first 256
                characters of Unicode 2.0. The first 256 codes of
                Unicode follow ISO 646 (ASCII) and ISO 8859/1
                (Latin 1). The Unicode 'C0 Controls and Basic Latin'
                set defines the first 128 8-bit characters (00h-7Fh)
                and the 'C1 Controls and Latin 1 Supplement' defines
                the second 128 (80h-FFh).
                        
               Note: The bcdplus(2) and ascii6(3) encodings
               use normal ASCII character encodings, but restrict the
               allowed characters to a subset of the entire ASCII
               character set. These encodings are used when the
               target device contains restrictions on which
               characters it can store or display.  BCDPLUS 
               data may be stored externally as 4-bit values, and 
               ASCII6 may be stored externally as 6-bit values. 
               But, regardless of how the data is stored externally,
               it is encoded as 8-bit ASCII in the SaHpiText
               structure passed across the HPI.

                Note: Enumerated values are increased by one value
                     compared to SAI-HPI-B.01.01 spec."
        REFERENCE
                "Derived from SAI-HPI-B.01.01 spec, pg 166-167."
        SYNTAX INTEGER {
                        undefined(0),
                        unicode(1),
                        bcdplus(2),
                        ascii6(3),
                        text(4),
                        binary(5) }


SaHpiTextLanguage ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
                "This textual convention defines these enumeration of
                all of the languages that can be associated with text.
                undefined (0) indicates that the language is
                unspecified or unknown.

                Note: Enumerated values are increased by one value
                      compared to SAI-HPI-B.01.01 spec."
        REFERENCE

                "Derived from SAI-HPI-B.01.01 spec, pg 165-166."
        SYNTAX INTEGER {
                        undefined(0),
                        unknown(1),
                        afar(2),
                        abkhazian(3),
                        afrikaans(4),
                        amharic(5),
                        arabic(6),
                        assamese(7),
                        aymara(8),
                        azerbaijani(9),
                        bashkir(10),
                        byelorussian(11),
                        bulgarian(12),
                        bihari(13),
                        bislama(14),
                        bengali(15),
                        tibetan(16),
                        breton(17),
                        catalan(18),
                        corsican(19),
                        czech(20),
                        welsh(21),
                        danish(22),
                        german(23),
                        bhutani(24),
                        greek(25),
                        english(26),
                        esperanto(27),
                        spanish(28),
                        estonian(29),
                        basque(30),
                        persian(31),
                        finnish(32),
                        fiji(33),
                        faeroese(34),
                        french(35),
                        frisian(36),
                        irish(37),
                        scotsgaelic(38),
                        galician(39),
                        guarani(40),
                        gujarati(41),
                        hausa(42),
                        hindi(43),
                        croatian(44),
                        hungarian(45),
                        armenian(46),
                        interlingua(47),
                        interlingue(48),
                        inupiak(49),
                        indonesian(50),
                        icelandic(51),
                        italian(52),
                        hebrew(53),
                        japanese(54),
                        yiddish(55),
                        javanese(56),
                        georgian(57),
                        kazakh(58),
                        greenlandic(59),
                        cambodian(60),
                        kannada(61),
                        korean(62),
                        kashmiri(63),
                        kurdish(64),
                        kirghiz(65),
                        latin(66),
                        lingala(67),
                        laothian(68),
                        lithuanian(69),
                        latvianlettish(70),
                        malagasy(71),
                        maori(72),
                        macedonian(73),
                        malayalam(74),
                        mongolian(75),
                        moldavian(76),
                        marathi(77),
                        malay(78),
                        maltese(79),
                        burmese(80),
                        nauru(81),
                        nepali(82),
                        dutch(83),
                        norwegian(84),
                        occitan(85),
                        afanoromo(86),
                        oriya(87),
                        punjabi(88),
                        polish(89),
                        pashtopushto(90),
                        portuguese(91),
                        quechua(92),
                        rhaetoromance(93),
                        kirundi(94),
                        romanian(95),
                        russian(96),
                        kinyarwanda(97),
                        sanskrit(98),
                        sindhi(99),
                        sangro(100),
                        serbocroatian(101),
                        singhalese(102),
                        slovak(103),
                        slovenian(104),
                        samoan(105),
                        shona(106),
                        somali(107),
                        albanian(108),
                        serbian(109),
                        siswati(110),
                        sesotho(111),
                        sudanese(112),
                        swedish(113),
                        swahili(114),
                        tamil(115),
                        telugu(116),
                        tajik(117),
                        thai(118),
                        tigrinya(119),
                        turkmen(120),
                        tagalog(121),
                        setswana(122),
                        tonga(123),
                        turkish(124),
                        tsonga(125),
                        tatar(126),
                        twi(127),
                        ukrainian(128),
                        urdu(129),
                        uzbek(130),
                        vietnamese(131),
                        volapuk(132),
                        wolof(133),
                        xhosa(134),
                        yoruba(135),
                        chinese(136),
                        zulu(137) }


SaHpiText ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
                "This textual convention defines the Text data.
                The data can be in different languages (represented by 
                SaHpiTextLanguage textual convention) and in different
                encodings (represented by saHpiTextType textual
                convention)."
        REFERENCE
                "Derived from SAI-HPI-B.01.01 spec, pg 166."
        SYNTAX OCTET STRING (SIZE (0..255))


SaHpiSensorType ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
                "This textual convention describes the general sensor
                 types.

                Note: Enumerated values are increased by one value
                      compared to SAI-HPI-B.01.01 spec."
        SYNTAX INTEGER {
                        undefined(0),
                        temperature(2),
                        voltage(3),
                        current(4),
                        fan(5),
                        physicalSecurity(6),
                        platformViolation(7),
                        processor(8),
                        powerSupply(9),
                        powerUnit(10),
                        coolingDevice(11),
                        otherUnitsBasedSensor(12),
                        memory(13),
                        driveSlot(14),
                        postMemoryResize(15),
                        systemFwProgress(16),
                        eventLoggingDisabled(17),
                        reserved1(18),
                        systemEvent(19),
                        criticalInterrupt(20),
                        button(21),
                        moduleBoard(22),
                        microcontrollerCoProcessor(23),
                        addinCard(24),
                        chassis(25),
                        chipSet(26),
                        otherFru(27),
                        cableInterconnect(28),
                        terminator(29),
                        systemBootInitiated(30),
                        bootError(31),
                        osBoot(32),
                        osCriticalStop(33),
                        slotConnector(34),
                        systemACPIPowerState(35),
                        reserved2(36),
                        platformAlert(37),
                        entityPresence(38),
                        monitorAsicIC(39),
                        lan(40),
                        managementSubsystemHealth(41),
                        battery(42),
                        operational(161),
                        oemSensor(193) }


SaHpiSensorUnits ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
                "This textual convention enumerates the all of the
                sensor units supported by HPI.

                Note: Enumerated values are increased by one value
                      compared to SAI-HPI-B.01.01 spec."
        REFERENCE
                "Derived from SAI-HPI-B.01.01 spec, pg 172."
        SYNTAX INTEGER {
                        undefined(0),
                        unspecified(1),
                        degreesC(2),
                        degreesF(3),
                        degreesK(4),
                        volts(5),
                        amps(6),
                        watts(7),
                        joules(8),
                        coulombs(9),
                        va(10),
                        nits(11),
                        lumen(12),
                        lux(13),
                        candela(14),
                        kpa(15),
                        psi(16),
                        newton(17),
                        cfm(18),
                        rpm(19),
                        hz(20),
                        microsecond(21),
                        millisecond(22),
                        second(23),
                        minute(24),
                        hour(25),
                        day(26),
                        week(27),
                        mil(28),
                        inches(29),
                        feet(30),
                        cuInches(31),
                        cuFeet(32),
                        mm(33),
                        cm(34),
                        m(35),
                        cuCm(36),
                        cuM(37),
                        liters(38),
                        fluidOunce(39),
                        radians(40),
                        steradians(41),
                        revolutions(42),
                        cycles(43),
                        gravities(44),
                        ounce(45),
                        pound(46),
                        ftLbs(47),
                        ozInches(48),
                        gauss(49),
                        gilberts(50),
                        henry(51),
                        millihenry(52),
                        farad(53),
                        microfarad(54),
                        ohms(55),
                        siemens(56),
                        mole(57),
                        becquerel(58),
                        ppm(59),
                        reserved(60),
                        decibels(61),
                        dba(62),
                        dbc(63),
                        gray(64),
                        sievert(65),
                        colorTempDegK(66),
                        bit(67),
                        kilobit(68),
                        megabit(69),
                        gigabit(70),
                        byte(71),
                        kilobyte(72),
                        megabyte(73),
                        gigabyte(74),
                        word(75),
                        dword(76),
                        qword(77),
                        line(78),
                        hit(79),
                        miss(80),
                        retry(81),
                        reset(82),
                        overrun(83),
                        underrun(84),
                        collision(85),
                        packets(86),
                        messages(87),
                        characters(88),
                        errors(89),
                        correctableErrors(90),
                        uncorrectableErrors(91) }


SaHpiSensorReadingType ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
                "This textual convention defines the enumeration of
                the available data types that can be used for sensor
                readings. 

                Note: Enumerated values are increased by one value
                compared to SAI-HPI-B.01.01 spec."
        REFERENCE

                "Derived from SAI-HPI-B.01.01 section 8.4."
        SYNTAX INTEGER {
                        undefined(0),
                        int64(1),
                        uint64(2),
                        float64(3),
                        buffer(4),
                        notSupported(5) }


SaHpiSensorReadingValue ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
                "This textual convention defines the sensor reading
                value as represented as one of the enumerated types
                listed in SaHpiSensorReadingType textual convention.

                This value by itself is of string type and needs to be 
                evaluated in the context of SaHpiSensorReadingType
                textual convention. 
                
                Signed integer values will be displayed using the ASCII 
                decimal digit format. This means that each digit in the 
                value will be displayed in its corresponding hexidecimal
                value. For example, a signed integer value of '-11' will 
                be displayed using the ASCII decimal notation for the 
                character '-' and for each numeric character '1'.  The 
                corresponding result is the hexidecimal string '2D 31 31'.
                
                Unsigned integer values will be displayed using the ASCII 
                decimal digit format. This means that each digit in the 
                value will be displayed in its corresponding hexidecimal
                value. For example, an unsigned integer value of '99' will 
                be displayed using the ASCII decimal notation for each numeric 
                caharacter '9'.  The corresponding result is the hexidecimal 
                string '39 39'.         

                Floating point values will be displayed in the 'e'
                notation, where e = 10^1, as ASCII decimal digits.  
                For example, the value of .000000007 will be displayed
                in ASCII decimal as '37 65 2D 39'.

                When reading type is 'buffer' this object will hold arbitrary 
                data."  
                
        REFERENCE
                "Derived from SAI-HPI-B.01.01 section 8.4."
                
        SYNTAX OCTET STRING (SIZE (0..255))


SaHpiGuid ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
                "This textual convention defines the Globally Unique
                Identifier (GUID) which is used to uniquely identify a
                domain.

                A GUID value of zero is not valid and indicates that
                the domain does not have an associated GUID.
                 
                The format if the ID follows that specified by the
                Wired for Management Baseline, Version 2.0
                specification.  HPI uses version 1 of the GUID
                 format, with a 3-bit variant field of 
                10x (where x indicates 'don't care')"
        REFERENCE
                "Derived from SAI-HPI-B.01.01 section 8.21."
        SYNTAX OCTET STRING (SIZE (0..15))


SaHpiCtrlStateDigital ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
                "Defines the types of digital control states.

                Any of the four states may be set using
                saHpiCtrlDigitalState columnar object. Only on(2) or
                off(1) are appropriate returns from
                saHpiCtrlDigitalState columnar object.

                pulseOn(4) and pulseOff(3) are transitory and end
                in off(1) and on(2) states, respectively.)

                Explanations of states:

                 off(1) - the control is off
                 on(2)  - the control is on
                 pulseOff(3) - the control is briefly turned off,
                               and then turned back on
                 pulseOn(4)  - the control is briefly turned on,
                               and then turned back off "
        SYNTAX INTEGER {
                        undefined(0),
                        off(1),
                        on(2),
                        pulseOff(3),
                        pulseOn(4) }


SaHpiCtrlOutputType ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
                "This textual convention defines what the control's
                 output will be."
        SYNTAX INTEGER {
                        undefined(0),
                        generic(1),
                        led(2),
                        fanSpeed(3),
                        dryContactClosure(4),
                        powerSupplyInhibit(5),
                        audible(6),
                        frontPanelLockout(7),
                        powerInterlock(8),
                        powerState(9),
                        lcdDisplay(10),
                        oem(11) }


SaHpiCtrlMode ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
                "Controls may be in either auto(1) mode or
                 manual(2) mode."
        SYNTAX INTEGER {
                        undefined(0),
                        auto(1),
                        manual(2) }
                        

-- *************************************
-- **
-- **   Administration
-- **
-- *************************************

saHpiHpiVersion OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This scalar object provides the version of HPI
                 this MIB is based on."
        ::= { hpiAdministration 1 }


saHpiAgentVersion OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This scalar object provides the version of the
                 HPI-MIB SNMP implementation."
        ::= { hpiAdministration 2 }


saHpiSnmpResourceId OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This scalar object provides the Resource Id of the
                domain the HPI-MIB SNMP implementation is running on.
                This is to help prevent powering down the machine
                providing the SNMP service."
        REFERENCE
                "See SAI-HPI-B.01.01 section 6.3.5."
        ::= { hpiAdministration 3 }


saHpiDiscover OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This scalar object forces the discovery of all
                resources and associated domains by the underlying
                management service."
        REFERENCE
                "See SAI-HPI-B.01.01 section 6.1.3."
        ::= { hpiAdministration 4 }


-- *************************************
-- **
-- **   Domain
-- **
-- *************************************

saHpiDomainInfoActiveEntries OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of Domain entries present in the system."
        ::= { hpiDomain 1 }


saHpiDomainInfoTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiDomainInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
              " This table represents the management attributes
               common to all Domains within the managed platform.
               The logical domain ID and the entity ID are used to
               address an entity."
        ::= { hpiDomain 2 }


saHpiDomainInfoEntry OBJECT-TYPE
        SYNTAX SaHpiDomainInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Domain Info:

                This structure is used to store the information
                regarding the domain including information regarding
                the domain reference table (DRT) and the resource
                presence table (RPT).

                The DomainTag field is an informational value that
                supplies an HPI SNMP Manager with naming information
                for the domain.

                NOTE: Regarding timestamps - If the implementation
                cannot supply an absolute timestamp, then it may
                supply a timestamp relative to some
                system-defined  epoch, such as system boot. 

                The value SAHPI_TIME_UNSPECIFIED indicates that the
                time of the update cannot be determined. Otherwise,
                If the value is less than or equal to
                SAHPI_TIME_MAX_RELATIVE, then it is relative; if it is
                greater than SAHPI_TIME_MAX_RELATIVE, then it is
                absolute. 
                See SaHpiTime textual convention for more details."
        INDEX {
                saHpiDomainId }
        ::= { saHpiDomainInfoTable 1 }


SaHpiDomainInfoEntry ::= SEQUENCE {
        saHpiDomainId                              SaHpiDomainId,
        saHpiDomainCapabilities                    BITS,
        saHpiDomainIsPeer                          TruthValue,
        saHpiDomainTagTextType                     SaHpiTextType,
        saHpiDomainTagTextLanguage                 SaHpiTextLanguage,
        saHpiDomainTag                             SaHpiText,
        saHpiDomainReferenceUpdateCount            Unsigned32,
        saHpiDomainReferenceUpdateTimestamp        SaHpiTime,
        saHpiDomainResourcePresenceUpdateCount     Unsigned32,
        saHpiDomainResourcePresenceUpdateTimestamp SaHpiTime,
        saHpiDomainAlarmUpdateCount                Unsigned32,
        saHpiDomainAlarmUpdateTimestamp            SaHpiTime,
        saHpiDomainActiveAlarms                    Unsigned32,
        saHpiDomainCriticalAlarms                  Unsigned32,
        saHpiDomainMajorAlarms                     Unsigned32,
        saHpiDomainMinorAlarms                     Unsigned32,
        saHpiDomainAlarmUserLimit                  Unsigned32,
        saHpiDomainAlarmOverflow                   TruthValue,
        saHpiDomainGuid                            SaHpiGuid }


saHpiDomainId OBJECT-TYPE
        SYNTAX SaHpiDomainId
        MAX-ACCESS not-accessible 
        STATUS current
        DESCRIPTION
                "Domain identifier. The number is unique within
                 the system."
        ::= { saHpiDomainInfoEntry 1 }


saHpiDomainCapabilities OBJECT-TYPE
        SYNTAX BITS {
                        undefined(0),
                        autoInsertReadOnly(1) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Domain Capabilities
                        
                This definition defines the capabilities of a given
                domain.  A domain may support any number of
                capabilities , each capability seperated by a
                delimiter. See the textual convention.
                        
                autoInsertReadOnly(1):
                  Indicates that the domain auto insert timeout
                  value is read-only and may not be modified using the 
                  saHpiAutoTimeoutForInsert columnar object.

                "
        ::= { saHpiDomainInfoEntry 2 }


saHpiDomainIsPeer OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Indicates that this domain participates in a peer
                 relationship.
                TRUE = Domain is peer.  FALSE = Domain is not peer"
        ::= { saHpiDomainInfoEntry 3 }


saHpiDomainTagTextType OBJECT-TYPE
        SYNTAX SaHpiTextType
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Information tag associated with domain.
                See Definition for SaHpiTextType for more details."
        ::= { saHpiDomainInfoEntry 4 }


saHpiDomainTagTextLanguage OBJECT-TYPE
        SYNTAX SaHpiTextLanguage
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Information tag associated with domain.
                See Definition for SaHpiTextLanguage for more details."
        ::= { saHpiDomainInfoEntry 5 }


saHpiDomainTag OBJECT-TYPE
        SYNTAX SaHpiText
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Information tag associated with domain.
                The type of data is specified
                by saHpiDomainTagTextType and saHpiDomainTagLanguage."
        ::= { saHpiDomainInfoEntry 6 }


saHpiDomainReferenceUpdateCount OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This count is incremented any time the DRT
                table is changed. It rolls over to zero when
                the maximum value (2^32) is reached."
        ::= { saHpiDomainInfoEntry 7 }


saHpiDomainReferenceUpdateTimestamp OBJECT-TYPE
        SYNTAX SaHpiTime
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This timestamp is set any time the DRT table
                 is changed. Refer to SaHpiTime for full description."
        ::= { saHpiDomainInfoEntry 8 }


saHpiDomainResourcePresenceUpdateCount OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This count is incremented any time the RPT is changed.
                 It rolls over to zero when the maximum (2^32) value
                 is reached"
        ::= { saHpiDomainInfoEntry 9 }


saHpiDomainResourcePresenceUpdateTimestamp OBJECT-TYPE
        SYNTAX SaHpiTime
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This timestamp is set any time the RPT table is
                changed.  Refer to SaHpiTime for full description."
        ::= { saHpiDomainInfoEntry 10 }


saHpiDomainAlarmUpdateCount OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This count is incremented any time the DAT is changed.
                It rolls over to zero when the maximum value (2^32)
                is reached"
        ::= { saHpiDomainInfoEntry 11 }


saHpiDomainAlarmUpdateTimestamp OBJECT-TYPE
        SYNTAX SaHpiTime
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This timestamp is set any time the DAT is changed.
                Refer to SaHpiTime for full description."
        ::= { saHpiDomainInfoEntry 12 }


saHpiDomainActiveAlarms OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Count of active alarms in the DAT."
        ::= { saHpiDomainInfoEntry 13 }


saHpiDomainCriticalAlarms OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Count of active critical alarms in the DAT."
        ::= { saHpiDomainInfoEntry 14 }


saHpiDomainMajorAlarms OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Count of active major alarms in the DAT."
        ::= { saHpiDomainInfoEntry 15 }


saHpiDomainMinorAlarms OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Count of active minor alarms in the DAT."
        ::= { saHpiDomainInfoEntry 16 }


saHpiDomainAlarmUserLimit OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Maximum User Alarms that can be added to DAT.
                0=no fixed limit."
        ::= { saHpiDomainInfoEntry 17 }


saHpiDomainAlarmOverflow OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Set to True if there are one or more non-User Alarms
                that are missing from the DAT because of space
                limitations."
        ::= { saHpiDomainInfoEntry 18 }


saHpiDomainGuid OBJECT-TYPE
        SYNTAX SaHpiGuid
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The GUID is used to uniquely identify a domain. 
                 A GUID value of zero is not valid and indicates
                 that the domain does not have an associated GUID.
                 
                GUID - Globally Unique Identifier
                        
                A GUID value of zero is not valid and indicates that
                the domain does not have an associated GUID.
                See textual convention."
        REFERENCE
                "SAI-HPI-B.01.01 section 8.22."
        ::= { saHpiDomainInfoEntry 19 }


-- *************************************
-- **
-- **   Domain Reference Table
-- **
-- *************************************

saHpiDomainReferenceActiveEntries OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of DRT entries present in the
                 saHpiDomainReferenceTable."
        ::= { hpiDomain 3 }


saHpiDomainReferenceTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiDomainReferenceEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "A table, provided by an HPI implementation, of
                 additional domains related to the current domain."
        ::= { hpiDomain 4 }


saHpiDomainReferenceEntry OBJECT-TYPE
        SYNTAX SaHpiDomainReferenceEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "The Domain Reference Table (DRT) which provides
                 information about other domains associated with
                 the domain. The two saHpiDomainId indices for this
                 table are used to uniquely a domain and an associated 
                 domain, that are in a peer or tiered domain
                 relationship.

                The DRT contains an entry for each associated domain,
                and HPI MIB Users may read these entries to discover
                the presence of additional domains within a 'System'.
                The discovered domains can, in turn, be used to
                discover additional resources and domains. The DRT
                is automatically built and maintained by the HPI 
                implementation.  Domain entries in the DRT may
                change over time if the 'System' configuration
                changes.  

                There are two types of domain references:

                - A peer domain architecture, which consists of two
                or more domains that are expected to contain the
                same resources and domain references.  Each domain 
                in a peer relationship contains an RPT listing all
                resources present in each domain. 

                - A tiered (child) domain architecture is used when
                  all the resources in a 'system' cannot be accessed
                  in a single domain.  A 'parent' domain references 
                  one or more 'child' domains in its DRT.  The 'child'
                  domains may be simple domains containing only
                  resources, or they may themselves be a 'parent' to 
                  other 'child' domains.  Domains in a tiered
                  relationship are disjointed and do not contain the
                  same resources."
        INDEX {
                saHpiDomainId,
                saHpiDomainRef }
        ::= { saHpiDomainReferenceTable 1 }


SaHpiDomainReferenceEntry ::= SEQUENCE {
        saHpiDomainRef             SaHpiDomainId,
        saHpiDomainReferenceIsPeer TruthValue }


saHpiDomainRef OBJECT-TYPE
        SYNTAX SaHpiDomainId
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "If a Peer or child domain exists this is the DomainID."
        ::= { saHpiDomainReferenceEntry 1 }


saHpiDomainReferenceIsPeer OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Indicates that this domain participates in a
                peer relationship.

                TRUE = Domain is peer. 
                FALSE = Domain is not peer (is a child)"
        ::= { saHpiDomainReferenceEntry 2 }


-- *************************************
-- **
-- **   Domain Alarm Table
-- **
-- *************************************

saHpiDomainAlarmActiveEntries OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of DomainAlarm entries present in the
                 system."
        ::= { hpiDomain 5 }


saHpiDomainAlarmTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiDomainAlarmEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This table represents the management attributes
                 common to all Domains within the managed platform.
                 The logical domain ID and the entity ID are used to
                 address an entity."
        ::= { hpiDomain 6 }


saHpiDomainAlarmEntry OBJECT-TYPE
        SYNTAX SaHpiDomainAlarmEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This table is used to store alarm information."
        INDEX {
                saHpiDomainId,
                saHpiDomainAlarmId }
        ::= { saHpiDomainAlarmTable 1 }


SaHpiDomainAlarmEntry ::= SEQUENCE {
        saHpiDomainAlarmId                 SaHpiEntryId,
        saHpiDomainAlarmTimestamp          SaHpiTime,
        saHpiDomainAlarmSeverity           SaHpiSeverity,
        saHpiDomainAlarmAcknowledged       TruthValue,
        saHpiDomainAlarmAckBySeverity      SaHpiSeverity,
        saHpiDomainAlarmCondStatusCondType SaHpiStatusCondType,
        saHpiDomainAlarmCondEntityPath     SaHpiEntityPath,
        saHpiDomainAlarmCondSensorNum      Unsigned32,
        saHpiDomainAlarmCondEventState     SaHpiEventState,
        saHpiDomainAlarmCondNameValue      OCTET STRING,
        saHpiDomainAlarmCondMid            SaHpiManufacturerId,
        saHpiDomainAlarmCondTextType       SaHpiTextType,
        saHpiDomainAlarmCondTextLanguage   SaHpiTextLanguage,
        saHpiDomainAlarmCondText           SaHpiText,
        saHpiDomainAlarmRowStatus          RowStatus }


saHpiDomainAlarmId OBJECT-TYPE
        SYNTAX SaHpiEntryId
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "DomainAlarm Id"
        ::= { saHpiDomainAlarmEntry 1 }


saHpiDomainAlarmTimestamp OBJECT-TYPE
        SYNTAX SaHpiTime
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Time when alarm was added to the DAT table.
                Refer to SaHpiTime for full description."
        ::= { saHpiDomainAlarmEntry 2 }


saHpiDomainAlarmSeverity OBJECT-TYPE
        SYNTAX SaHpiSeverity
        MAX-ACCESS read-create 
        STATUS current
        DESCRIPTION
                "Severity of alarm.

                Note: Enumerated values are increased by one value
               compared to SAI-HPI-B.01.01 spec."
        ::= { saHpiDomainAlarmEntry 3 }


saHpiDomainAlarmAcknowledged OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Use this columnar object to acknowledge a specific Alarm.
               An HPI SNMP Manager acknowledges an alarm to indicate
               that it is aware of the alarm and to influence
               platform-specific alarm annunciation that may be
               provided  by the implementation.  Typically, an
               implementation ignores acknowledged  alarms when
               announcing an alarm on annunciation devices such as
               audible  sirens and dry contact closures.  However,
               An acknowledged alarm will have the Acknowledged field
               in the alarm entry set to True.      

               DomainAlarms are acknowledged by one of two ways:
               a single alarm entry by DomainAlarmId regardless of
               severity or as a group of alarm entries by Severity     
               regardless of DomainAlarmId.    
                                                                      
              To acknowledge all alarms contained within the DAT,
              set the Severity parameter to allSeverities(256),
              and set the DomainAlarmId parameter to       
                SAHPI_ENTRY_UNSPECIFIED.                     

              To acknowledge all alarms of a specific severity
              contained within the DAT, set the Severity parameter
              to the appropriate value, and set the DomainAlarmId 
              parameter to SAHPI_ENTRY_UNSPECIFIED.                   
                                                                        
              To acknowledge a single alarm entry, set the
              DomainAlarmId parameter to a value   
              other than SAHPI_ENTRY_UNSPECIFIED.  The DomainAlarmId
              must be a valid identifier for an alarm entry present
              in the DAT at the time of the function call.     
                                           
              If an alarm has been previously acknowledged,
              acknowledging it again has no effect.  However,
              this is not an error.                                     
                                                                        
              If the DomainAlarmId parameter has a value other than
              SAHPI_ENTRY_UNSPECIFIED,  the Severity parameter is
              ignored.                                          

              If the DomainAlarmId parameter is passed as
              SAHPI_ENTRY_UNSPECIFIED, and no alarms are present
              that meet the requested Severity, this function will     
              have no effect.  However, this is not an error.      

              SAHPI_ENTRY_UNSPECIFIED is defined as the same value
              as SAHPI_FIRST_ENTRY,  so using either symbol will
              have the same effect.  However, SAHPI_ENTRY_UNSPECIFIED
              should be used with this function for clarity.      
                "
        ::= { saHpiDomainAlarmEntry 4 }
        

saHpiDomainAlarmAckBySeverity OBJECT-TYPE
        SYNTAX SaHpiSeverity
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Use this columnar object to acknowledge Alarms based
              on severity.  An HPI SNMP Manager acknowledges an
              alarm to indicate that it is aware of the alarm 
              and to influence platform-specific alarm annunciation
              that may be provided  by the implementation. 
              Typically, an implementation ignores acknowledged   
              alarms when announcing an alarm on annunciation
              devices such as audible  sirens and dry contact
              closures.  However, alarm annunciation is 
              implementation-specific.

              An acknowledged alarm will have the Acknowledged
              field in the alarm entry  set to True.    
              DomainAlarms are acknowledged by one of two ways:

              a single alarm entry by DomainAlarmId 
              regardless of severity or as a group of alarm
              entries by Severity regardless of DomainAlarmId.  

              To acknowledge all alarms contained within the DAT,
              set the Severity parameter to allSeverities(256),
              and set the DomainAlarmId parameter to         
              SAHPI_ENTRY_UNSPECIFIED.       

              To acknowledge all alarms of a specific severity
              contained within the DAT,  set the Severity parameter
              to the appropriate value, and set the DomainAlarmId    
              parameter to SAHPI_ENTRY_UNSPECIFIED.   
                                                     
              To acknowledge a single alarm entry, set the
              DomainAlarmId parameter to a value   
              other than SAHPI_ENTRY_UNSPECIFIED.  The
              DomainAlarmId must be a valid identifier 
              for an alarm entry present in the DAT at the time
              of the function call.     

              If an alarm has been previously acknowledged,
              acknowledging it again has no 
              effect.  However, this is not an error.                   
                                                                        
              If the DomainAlarmId parameter has a value other than
              SAHPI_ENTRY_UNSPECIFIED, the Severity parameter is
              ignored.                                          
                                 
              If the DomainAlarmId parameter is passed as
              SAHPI_ENTRY_UNSPECIFIED, and no  alarms are present
              that meet the requested Severity, this function will     
              have no effect.  However, this is not an error.          
                                                                                            
              SAHPI_ENTRY_UNSPECIFIED is defined as the same value
              as SAHPI_FIRST_ENTRY, 
              so using either symbol will have the same effect. 
              However,  SAHPI_ENTRY_UNSPECIFIED should be used
              with this function for clarity.      
                "
        ::= { saHpiDomainAlarmEntry 5 }



saHpiDomainAlarmCondStatusCondType OBJECT-TYPE
        SYNTAX SaHpiStatusCondType
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Enumeration of status condition type.

                Note: Enumerated values are increased by one
                     value compared to SAI-HPI-B.01.01 spec."
        ::= { saHpiDomainAlarmEntry 6 }


saHpiDomainAlarmCondEntityPath OBJECT-TYPE
        SYNTAX SaHpiEntityPath
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "See Textual-Convention for details."
        ::= { saHpiDomainAlarmEntry 7 }


saHpiDomainAlarmCondSensorNum OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Sensor associated with status Only valid if
                saHpiDomainAlarmCondStatusCondType is sensor(1)."
        ::= { saHpiDomainAlarmEntry 8 }


saHpiDomainAlarmCondEventState OBJECT-TYPE
        SYNTAX SaHpiEventState
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Sensor event state.  Only valid if
                saHpiDomainAlarmCondStatusCondType is sensor(1)."
        ::= { saHpiDomainAlarmEntry 9 }


saHpiDomainAlarmCondNameValue OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE (0..255))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "AIS compatible identifier associated with Status
                condition.
                        
                The Service Availability(TM) Forum Application
                Interface Specification standardizes the interface
                between Service Availability(TM) Forum compliant
                High Availability (HA) middleware and service
                applications. http://www.saforum.org"
        ::= { saHpiDomainAlarmEntry 10 }


saHpiDomainAlarmCondMid OBJECT-TYPE
        SYNTAX SaHpiManufacturerId
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Manufacturer Id associated with status condition,
                required when saHpiDomainAlarmCondStatusCondType
                is oem(3)."
        ::= { saHpiDomainAlarmEntry 11 }


saHpiDomainAlarmCondTextType OBJECT-TYPE
        SYNTAX SaHpiTextType
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Optional data associated with status condition
                associated with Domain. 
                For more details, see textual definition and 
                saHpiDomainAlarmCondDomainTextType and 
                saHpiDomainAlarmCondDomainTextLanguage"
        ::= { saHpiDomainAlarmEntry 12 }


saHpiDomainAlarmCondTextLanguage OBJECT-TYPE
        SYNTAX SaHpiTextLanguage
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Optional data associated with status
                condition. For more details, see textual definition"
        ::= { saHpiDomainAlarmEntry 13 }


saHpiDomainAlarmCondText OBJECT-TYPE
        SYNTAX SaHpiText
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Optional data associated with status condition.
                The type of date is specified by
                saHpiDomainAlarmCondDomainAlarmaTextType and 
                saHpiDomainAlarmCondDomainAlarmaTextLanguage."
        ::= { saHpiDomainAlarmEntry 14 }


saHpiDomainAlarmRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "This columnar object contains the status of the
                row and is also used to perform add and delete
                operations.

                The status column uses four defined values:

                - `active(1)', which indicates that the conceptual
                   row is available for use by the managed device;

                - `notInService(2)', which indicates that the
                   conceptual row exists in the agent, but is
                   unavailable for use by the managed device
                   (see NOTE below); 'notInService' has
                   no implication regarding the internal
                   consistency of the row, availability of
                   resources, or consistency with
                   the current state of the managed device.

                - `createAndWait(5)', which is supplied by a management
                station wishing to create a new instance of a
                conceptual row (but not make it available for use by
                the managed device). This operation is used to add
                a User Alarm to the Domain Alarm Table.  It also
                subsequently appears in the User Event Table
                (a duplicate).  The row is created (and changes state
                to 'active' when the saHpiDomainAlarmSeverity has
                been set on) to a new instance of the conceptual row.
                The dis-allowed saHpiDomainAlarmSeverity values are
                minor(3), major(2), and critical(3). 

                - `destroy(6)', which is supplied by a management station
                wishing to delete all of the instances associated with
                an existing conceptual row. This function allows the 
                HPI MIB User to delete a single User Alarm or a group 
                identified by  severity (saHpiDomainAlarmSeverity) from
                the Domain Alarm Table. Note this has no efect on the 'User 
                Event Table.'  Only User Alarms added to the DAT can be 
                deleted. 
                        
                To delete a single, specific alarm, set the 
                saHpiDomainAlarmId parameter to a value representing an 
                actual User Alarm ( all three indices must be valid)
                in the DAT.  
                        
                To delete a group of User Alarms by 
                severity set saHpiDomainAlarmId == SAHPI_ENTRY_UNSPECIFIED
                (see textual convention for more details.)"
        REFERENCE
                "SAI-HPI-B.01.01 section 6.6 and 6.6.5."
        ::= { saHpiDomainAlarmEntry 15 }


--/*************************************************************************
-- * ***********************************************************************
-- * **********                                                   **********
-- * **********         Resource Presence Table                   **********
-- * **********                                                   **********
-- * ***********************************************************************
-- * **********************************************************************/

saHpiResourceActiveEntries OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of RPT entries present in the system.
                This field is used to determine if new resources have
                been added or existing removed."
        ::= { hpiDomain 7 }


saHpiResourceTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiResourceEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "The logical domain ID and the Resource ID are used
                 to address a Resource."
        REFERENCE
                "See SAI-HPI-B.01.01 section 6.3"
        ::= { hpiDomain 8 }


saHpiResourceEntry OBJECT-TYPE
        SYNTAX SaHpiResourceEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "A User access the Resource Presence Table (RPT) for
                each domain in the system. This table represents
                up-to-date information on the resources currently
                present in the domain with which it is 
                associated. The ResourceCapabilities field defines the
                capabilities of the resource.  This field must be
                non-zero for all valid resources.  The ResourceTag
                field is an informational value.
                        
                The HotSwapCapabilities field denotes the capabilities
                of the resource, specifically related to hot swap. This
                field is only valid if the resource supports managed
                hot swap, as indicated by the
                 SAHPI_CAPABILITY_MANAGED_HOT_SWAP resource capability.

                All of the fields in the following table may or may
                not be used by a given resource."
        REFERENCE
                "See SAI-HPI-B.01.01 section 6.3"
        INDEX {
                saHpiDomainId,
                saHpiResourceEntryId,
                saHpiResourceIsHistorical }
        ::= { saHpiResourceTable 1 }


SaHpiResourceEntry ::= SEQUENCE {
        saHpiResourceId                   Unsigned32,
        saHpiResourceEntryId              SaHpiEntryId,
        saHpiResourceEntityPath           SaHpiEntityPath,
        saHpiResourceCapabilities         BITS,
        saHpiResourceHotSwapCapabilities  BITS,
        saHpiResourceSeverity             SaHpiSeverity,
        saHpiResourceFailed               TruthValue,
        saHpiResourceInfoResourceRev      Unsigned8,
        saHpiResourceInfoSpecificVer      Unsigned8,
        saHpiResourceInfoDeviceSupport    Unsigned8,
        saHpiResourceInfoManufacturerId   SaHpiManufacturerId,
        saHpiResourceInfoProductId        Unsigned16,
        saHpiResourceInfoFirmwareMajorRev Unsigned8,
        saHpiResourceInfoFirmwareMinorRev Unsigned8,
        saHpiResourceInfoAuxFirmwareRev   Unsigned8,
        saHpiResourceInfoGuid             SaHpiGuid,
        saHpiResourceTagTextType          SaHpiTextType,
        saHpiResourceTagTextLanguage      SaHpiTextLanguage,
        saHpiResourceTag                  SaHpiText,
        saHpiResourceParmControl          INTEGER,
        saHpiResourceResetAction          INTEGER,
        saHpiResourcePowerAction          INTEGER,
        saHpiResourceIsHistorical         TruthValue }


saHpiResourceId OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Resource identifier.

                The SAHPI_UNSPECIFIED_RESOURCE_ID value is used to
                specify the Domain Event Log and to specify that there
                is no resource for such things as HPI User events/alarms.  

                Note:
                SAHPI_UNSPECIFIED_RESOURCE_ID 0xFFFFFFFF"
        ::= { saHpiResourceEntry 1 }


saHpiResourceEntryId OBJECT-TYPE
        SYNTAX SaHpiEntryId
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This index is here to help facilitate browsing a known
                resources RDR's.  For example to find the first RDR's 
                specify a value of SAHPI_FIRST_ENTRY. 
                See textual-convention for further details."
        ::= { saHpiResourceEntry 2 }


saHpiResourceEntityPath OBJECT-TYPE
        SYNTAX SaHpiEntityPath
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "See Texual-Convention for details."
        ::= { saHpiResourceEntry 3 }


saHpiResourceCapabilities OBJECT-TYPE
        SYNTAX BITS {
                        undefined(0),
                        sensor(1),
                        rdr(2),
                        eventLog(3),
                        inventoryDate(4),
                        reset(5),
                        power(6),
                        annunciator(7),
                        fru(8),
                        control(9),
                        watchdog(10),
                        managedHotSwap(11),
                        configuration(12),
                        aggregateStatus(13),
                        evtDeAsserts(14),
                        resource(15) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Resource Capabilities
                        
                This definition defines the capabilities of a given
                resource by using a bit values.  One resource may
                support any number of capabilities using the bits.

                Because each entry in an Resource Table will have the 
                resource(15) bit set; undefined(0) is not a valid value
                for the capability flag, and is thus would be used to
                indicate 'no resource present in' in some objects.
                        
                resource(15) 
                evtDeAsserts(14) 

                Indicates that all sensors on the resource have the
                property that their Assertion and Deassertion event
                enable flags are the same. That is, for all event states
                whose assertion triggers an event, it is guaranteed that
                the deassertion of that event will also trigger an event. 
                        
                Thus, an HPI SNMP Manager may track the state of sensors
                on the resource by monitoring events rather than polling
                for state changes.

                aggregateStatus(13)
                configuration(12)
                managedHotSwap(11) 

                Indicates that the resource supports the full managed
                hot swap model. 
                Since hot swap only makes sense for field-replaceable
                units, the FRU capability string must also be set for
                this columnar object.

                watchdog(10)
                control(9)
                fru(8)

                Indicates that the resource is a field-replaceable unit;
                i.e., it is capable of being removed and replaced in a
                live system. If managedHotSwap(11) is also set, the
                resource supports the full hot swap model.  If
                managedHotSwap(11) is not set, the resource supports
                the simplified hot swap model.

                annunciator(7)
                power(6)
                reset(5)
                inventoryData(4)
                eventLog(3)
                rdr(2)

                Indicates that a resource data record (RDR) repository
                is supplied by the resource. Since the existence of an
                RDR is mandatory for all management instruments, this
                capability must be asserted if the resource contains any
                annunciators, sensors, controls, watchdog timers
                , or inventory data repositories.         
                        
                sensor(1)
                        
                See textual-convention for further definition."
        ::= { saHpiResourceEntry 4 }


saHpiResourceHotSwapCapabilities OBJECT-TYPE
        SYNTAX BITS {
                        undefined(0),
                        autoExtractReadOnly(1),
                        indicatorSupported(2) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This definition defines the managed hot swap
                 capabilities of a given resource. 

                autoExtractReadOnly(1)
                        This capability indicates if the hot swap
                        autoextract timer is read-only.

                indicatorSupported(2)
                        Indicates whether or not the resource has a
                        hot swap indicator.
                        
                See textual convention for futher details."
        REFERENCE
                "See SAI-HPI-B.01.01 sections 6.3, 7.5 and 8.21"
        ::= { saHpiResourceEntry 5 }


saHpiResourceSeverity OBJECT-TYPE
        SYNTAX SaHpiSeverity
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Indicates the criticality that should be
                raised when the resource is not responding.
                        
                Note: The enumerated named have +1 added as opposed to the 
                SAI-HPI-B.01.01 spec for the same constants."
        ::= { saHpiResourceEntry 6 }


saHpiResourceFailed OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "TRUE = Resource Not Functional. 
                 FALSE = Resource Functional"
        ::= { saHpiResourceEntry 7 }


saHpiResourceInfoResourceRev OBJECT-TYPE
        SYNTAX Unsigned8
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "saHpiResourceInfo contains static configuration data
                concerning the management controller associated with 
                the resource, or the resource itself. 
                        
                Note this information is used to describe the resource; 
                that is, the piece of infrastructure which manages an 
                entity (or multiple entities) - NOT the entities for 
                which the resource provides management. The purpose of the 
                saHpiResourceInfoT structure is to provide information 
                that the HPI SNMP Manager may need in order to interact 
                correctly with the resource (e.g., recognize a 
                specific management controller which may have defined 
                oem fields in sensors, oem controls, etc."
        REFERENCE
                "See SAI-HPI-B.01.01 sections 6.3 and 8.21"
        ::= { saHpiResourceEntry 8 }


saHpiResourceInfoSpecificVer OBJECT-TYPE
        SYNTAX Unsigned8
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "See saHpiResourceInfoResourceRev in SAI-HPI-B.01.01
                 for overview."
        REFERENCE
                "See SAI-HPI-B.01.01 sections 6.3 and 8.21"
        ::= { saHpiResourceEntry 9 }


saHpiResourceInfoDeviceSupport OBJECT-TYPE
        SYNTAX Unsigned8
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "See saHpiResourceInfoResourceRev in
                  SAI-HPI-B.01.01 for overview."
        REFERENCE

                "See SAI-HPI-B.01.01 sections 6.3 and 8.21"
        ::= { saHpiResourceEntry 10 }


saHpiResourceInfoManufacturerId OBJECT-TYPE
        SYNTAX SaHpiManufacturerId
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "See saHpiResourceInfoResourceRev in SAI-HPI-B.01.01
                 for overview."
        REFERENCE
                "See SAI-HPI-B.01.01 sections 6.3 and 8.21"
        ::= { saHpiResourceEntry 11 }


saHpiResourceInfoProductId OBJECT-TYPE
        SYNTAX Unsigned16
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "See saHpiResourceInfoResourceRev in SAI-HPI-B.01.01
                 for overview."
        REFERENCE
                "See SAI-HPI-B.01.01 sections 6.3 and 8.21"
        ::= { saHpiResourceEntry 12 }


saHpiResourceInfoFirmwareMajorRev OBJECT-TYPE
        SYNTAX Unsigned8
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "See saHpiResourceInfoResourceRev in SAI-HPI-B.01.01
                for overview."
        REFERENCE
                "See SAI-HPI-B.01.01 sections 6.3 and 8.21"
        ::= { saHpiResourceEntry 13 }


saHpiResourceInfoFirmwareMinorRev OBJECT-TYPE
        SYNTAX Unsigned8
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "See saHpiResourceInfoResourceRev in SAI-HPI-B.01.01
                 for overview."
        REFERENCE
                "See SAI-HPI-B.01.01 sections 6.3 and 8.21"
        ::= { saHpiResourceEntry 14 }


saHpiResourceInfoAuxFirmwareRev OBJECT-TYPE
        SYNTAX Unsigned8
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "See saHpiResourceInfoResourceRev in SAI-HPI-B.01.01
                 for overview."
        REFERENCE
                "See SAI-HPI-B.01.01 sections 6.3 and 8.21"
        ::= { saHpiResourceEntry 15 }


saHpiResourceInfoGuid OBJECT-TYPE
        SYNTAX SaHpiGuid
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The GUID is used to uniquely identify a Resource. A GUID
                value of zero is not valid and indicates that the Resource
                does not have an associated GUID.
                See textual convention for more details."
        REFERENCE
                "See SAI-HPI-B.01.01 sections 6.3 and 8.21"
        ::= { saHpiResourceEntry 16 }


saHpiResourceTagTextType OBJECT-TYPE
        SYNTAX SaHpiTextType
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object contains the resource tag information.

                See textual convention for more information."
        ::= { saHpiResourceEntry 17 }


saHpiResourceTagTextLanguage OBJECT-TYPE
        SYNTAX SaHpiTextLanguage
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object contains the resource tag text
                language enumeration. 
                See textual convention for more information."
        ::= { saHpiResourceEntry 18 }


saHpiResourceTag OBJECT-TYPE
        SYNTAX SaHpiText
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Resource tag. The type of data is specified by
                saHpiResourceTagTextType and saHpiResourceTagLanguage."
        ::= { saHpiResourceEntry 19 }


saHpiResourceParmControl OBJECT-TYPE
        SYNTAX INTEGER {
                        undefined(0),
                        restoreDefaultParm(1),
                        saveParm(2),
                        restoreParm(3),
                        unsupported(4) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object allows the user to save and restore parameters
                associated with a specific resource. Valid actions for this 
                function include:

               undefined(0)   - resource has no concept of configurations.

               restoreDefaultParm(1) - Restores factory default settings
                                for a specific resource. Factory defaults 
                                include sensor thresholds and
                                configurations, and resource-specific
                                configuration parameters.
                saveParm(2) - Stores the resource configuration parameters
                                in non-volatile storage. Resource
                                configuration parameters stored in
                                non-volatile storage will survive power
                                cycles and resource resets.
                restoreParm(3) - Restores resource configuration parameters 
                                from non-volatile storage. Resource
                                configuration parameters include sensor 
                                thresholds and sensor configurations,
                                as well as resource-specific parameters.
                                
                unsupported(4)  - Specifies if the resource does not
                                 support parameter control.  This value
                                 is not written but is read only.  
                                 And states the above actions when
                                 written are not supported and if
                                 written a SNMP error code 
                                'notWritable' will be generated.
                                
                SNMP error codes should be checked to see of
               action written succeeded.
                        

                Note: Enumerated values are increased by one value
               compared to SAI-HPI-B.01.01 spec."
        REFERENCE
                "Derived from SAI-HPI-B.01.01 section 7.8.and 8.18"
        ::= { saHpiResourceEntry 20 }


saHpiResourceResetAction OBJECT-TYPE
        SYNTAX INTEGER {
                        undefined(0),
                        coldReset(1),
                        warmReset(2),
                        resetAssert(3),
                        resetDeAssert(4),
                        unsupported(5) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This function gets the reset state of an entity, allowing
                the HPI SNMP Manager to determine if the entity is being
                held with its reset asserted. If a resource manages
                multiple entities, this function will address the 
                entity which is identified in the Resource Table entry
                for the resource.

                        coldReset(1) and warmReset(2) are pulsed resets, 
                        
                and are not valid values to be returned in saHpiResetAction.

                If the entity is not being held in reset
                (using resetAssert(3)), the appropriate value is
                resetDeAssert(4).

                Note: Enumerated values are increased by one value
                compared to SAI-HPI-B.01.01 spec."
        REFERENCE
                "Derived from SAI-HPI-B.01.01
                 sections 7.9, 7.9.1 and 7.9.2."
        ::= { saHpiResourceEntry 21 }


saHpiResourcePowerAction OBJECT-TYPE
        SYNTAX INTEGER {
                        undefined(0),
                        off(1),
                        on(2),
                        cycle(3),
                        unsupported(4) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This function gets the power state of an entity, allowing
                 the HPI SNMP Manager to determine if the entity is
                 currently powered on or off. If a resource manages
                 multiple entities, this function will address the
                 entity which is identified in the RPT entry for the
                 resource.

                cycle(3) is a pulsed power operation and is not a
                valid return for the power state.

                This function controls the hardware power on a FRU
                entity regardless of what hot-swap state the resource
                is in. For example, it is legal (and may be desirable)
                to cycle power on the FRU even while it is in 
                ACTIVE state in order to attempt to clear a fault
                condition. Similarly, a resource could be instructed
                to power on a FRU even while it is in inactive(1) state,
                for example, in order to run off-line diagnostics.
                Not all resources supporting hot swap will necessarily
                support this function. 
                In particular, resources that use the simplified hot
                swap model may not have the ability to control FRU power.
                This function may also be supported for non-FRU entities
                if power control is available for those entities.

                Note: Enumerated values are increased by
                      one value compared to SAI-HPI-B.01.01 spec."
        REFERENCE
                "Derived from SAI-HPI-B.01.01 sections
                 7.10, 7.10.1 and 7.10.2."
        ::= { saHpiResourceEntry 22 }


saHpiResourceIsHistorical OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This columnar object, which is part of the index for
                 every resource, determines if this resource is
                 historical. Historical meaning not present in the
                 system anymore, but only present in the event and
                 as part of that.

                Note that this means that the implementation must in
                some way control how much data is persisted. Check
                with the implementation documentation for more details."

        ::= { saHpiResourceEntry 23 }


--/************************************************************************
-- * **********************************************************************
-- * **********                                                  ********** 
-- * **********          Hot Swap table                          ********** 
-- * **********                                                  **********
-- * **********************************************************************
-- * **********************************************************************/

saHpiAutoInsertTimeoutTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiAutoInsertTimeoutEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "In support of HPI
                saHpiAutoInsertTimeoutGet, and
                saHpiAutoInsertTimeoutSet."
        REFERENCE

                "Derived from SAI-HPI-B.01.01 section 7.7."
        ::= { hpiHotSwap 1 }


saHpiAutoInsertTimeoutEntry OBJECT-TYPE
        SYNTAX SaHpiAutoInsertTimeoutEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Table of domains with a timeout for how long to wait
                before the default auto-insertion policy is invoked on
                a resource within a specific domain."
        INDEX {
                saHpiDomainId }
        ::= { saHpiAutoInsertTimeoutTable 1 }


SaHpiAutoInsertTimeoutEntry ::= SEQUENCE {
                saHpiAutoInsertTimeoutForInsert SaHpiTime 
                }


saHpiAutoInsertTimeoutForInsert OBJECT-TYPE
        SYNTAX SaHpiTime
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                " This function allows the HPI SNMP Manager to
                  configure a timeout for how long to wait before
                 the default auto-insertion policy is invoked
                 on a resource within a specific domain.  

                This columnar object accepts a parameter instructing
                each resource to impose a delay before performing its
                default hot swap policy for auto-insertion.  The
                parameter may be set to 
                        SAHPI_TIMEOUT_IMMEDIATE 
                                ( see SaHpiTime Textual-Convention
                                  for further details)
                to direct resources to proceed immediately to
                auto-insertion, or to 
                        SAHPI_TIMEOUT_BLOCK 
                                ( see SaHpiTime Textual-Convention
                                  for further details)
                to prevent auto-insertion from ever occurring.
                If the parameter is set to another value, then it
                defines the number of nanoseconds between the time a
                hot swap event with
                saHpiHotSwapState == insertionPending(5) is generated,
                and the time that the auto-insertion policy will be
                invoked for that resource.  
                If, during this time period, a saHpiHotSwapPolicyCancel
                function call is processed, the timer will be stopped,
                and the auto-insertion policy will not be invoked.
                Each domain maintains a single auto-insert timeout value
                and it is applied to all contained resources upon
                insertion, which support managed hot swap. Once the
                auto-insertion process begins, the HPI SNMP Manager will
                not be allowed to take control of the insertion process;
                hence, the timeout should be set appropriately 
                to allow for this condition.  Note that the timeout
                period begins when the hot swap event with
                   saHpiHotSwapState == insertionPending(5) 
                is initially generated."
        REFERENCE
                "Derived from function prototypes in the
                 SAI-HPI-B.01.01 section  7.7.9"
        ::= { saHpiAutoInsertTimeoutEntry 1 }


saHpiHotSwapActiveEntries OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of HotSwap entries present in the system."
        ::= { hpiHotSwap 2 }


saHpiHotSwapTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiHotSwapEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This table represents management attributes common
                 to all hot swappable resources in the managed platform.
                 The entries in this table are straight from the HPI spec.
                 This table builds upon information present in the
                 saHpiResourceTable."
        ::= { hpiHotSwap 3 }


saHpiHotSwapEntry OBJECT-TYPE
        SYNTAX SaHpiHotSwapEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "An entry describing a particular hot swappable entity."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiResourceIsHistorical }
        ::= { saHpiHotSwapTable 1 }


SaHpiHotSwapEntry ::= SEQUENCE {
        saHpiHotSwapIndicator       INTEGER,
        saHpiHotSwapState           SaHpiHotSwapState,
        saHpiHotSwapExtractTimeout  SaHpiTime,
        saHpiHotSwapActionRequest   INTEGER,
        saHpiHotSwapPolicyCancel    INTEGER,
        saHpiHotSwapResourceRequest INTEGER }


saHpiHotSwapIndicator OBJECT-TYPE
        SYNTAX INTEGER {
                        undefined(0),
                        off(1),
                        on(2) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "A FRU associated with a hot-swappable resource may
                 include a hot swap indicator such as a blue LED. This
                 indicator signifies that the FRU is ready for removal. 

                This columnar object allows the HPI SNMP Manager to
                retrieve and set the state of this indicator. 

                When retrieving the values, the valid states are either 
                        saHpiHotSwapIndicator == off(1)
                or 
                        saHpiHotSwapIndicator == on(2).
                This columnar object will return information, regardless of 
                what hot swap state the resource is in.

                When setting the values,  valid states include
                        saHpiHotSwapIndicator == off(1)
                or 
                        saHpiHotSwapIndicator == on(2). 
                This function will set the indicator regardless of what
                hot swap state the resource is in, though it is
               recommended that this function be used only in
               conjunction with moving the resource to the appropriate
               hot swap state."
        REFERENCE
                "Derived from typedef in the
                 SAI-HPI-B.01.01 section(s) 8.13."
        ::= { saHpiHotSwapEntry 1 }


saHpiHotSwapState OBJECT-TYPE
        SYNTAX SaHpiHotSwapState
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for full details."
        REFERENCE
                "Derived from typedef in the
                SAI-HPI-B.01.01 section(s) 8.13."
        ::= { saHpiHotSwapEntry 2 }


saHpiHotSwapExtractTimeout OBJECT-TYPE
        SYNTAX SaHpiTime
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This function allows the HPI SNMP Manager to configure
                a timeout for how long to wait before the default
                auto-extraction policy is invoked. 
                This function accepts a parameter instructing the resource
                to impose a delay before performing its default hot swap
                policy for auto-extraction. The parameter may be set to
                  SAHPI_TIMEOUT_IMMEDIATE
                to direct the resource to proceed immediately to
                auto-extraction, or to SAHPI_TIMEOUT_BLOCK to
                prevent auto-extraction from ever occurring
                on a resource. If the parameter is set to another
                value, then it defines the number of nanoseconds
                between the time a hot swap event with
                saHpiHotSwapState = extractionPending(4)
                is generated and the time that the auto-extraction
                policy will be invoked for the resource. If, during
                this time period, a saHpiHotSwapPolicyCancel 
                function call is processed, the timer will be stopped,
                and the auto-extraction policy will not be invoked. 

                Once the auto-extraction process begins, the HPI SNMP
                Manager will not be allowed to take control of the
                extraction process; hence, the timeout should be set
                appropriately to allow for this condition. 

                Note that the timeout period begins when the hot
                swap event with saHpiHotSwapState = extractionPending(4)
                is initially generated.
                "
        REFERENCE
                "Derived from function prototypes in
                 the SAI-HPI-B.01.01 sections
                7.7, 7.7.10, 7.7.11 and 8.13"
        ::= { saHpiHotSwapEntry 3 }


saHpiHotSwapActionRequest OBJECT-TYPE
        SYNTAX INTEGER {
                        undefined(0),
                        insertion(1),
                        extraction(2) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "A resource supporting hot swap typically requires a
                 physical action on the associated FRU to invoke an
                 insertion or extraction process. An insertion process
                 is invoked by physically inserting the FRU into a
                 chassis. Physically opening an ejector latch or 
                 pressing a button invokes the extraction process. 

                This columnar object allows the HPI SNMP Manager to
                invoke an insertion or extraction process via software.

                Note: Enumerated values are increased by one value
                compared to SAI-HPI-B.01.01 spec."
        REFERENCE
                "Derived from function prototypes in
                the SAI-HPI-B.01.01 sections
                7.7, 7.7.14 and 8.13"
        ::= { saHpiHotSwapEntry 4 }


saHpiHotSwapPolicyCancel OBJECT-TYPE
        SYNTAX INTEGER {
                        undefined(0),
                        cancel(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "A resource supporting hot swap typically supports
                default policies for insertion and extraction. On
                insertion, the default policy may be for 
                the resource to turn the associated FRU~s local
                power on and to de-assert reset.
                On extraction, the default policy may be for the 
                resource to immediately power off the FRU and turn
                on a hot swap indicator. This function allows an HPI
                SNMP Manager, after receiving a hot swap event with
                saHpiHotSwapState equal to INSERTION_PENDING or 
                EXTRACTION_PENDING, to prevent the default policy
                from being executed.  

                Once the resource transitions to either the ACTIVE or
                inactive(1) state, the default policies will once
                again execute, unless cancelled using 
                saHpiHotSwapPolicyCancel.

                The default policy cannot be canceled once it has
                begun to execute.  Because a resource that supports
                the simplified hot swap model will never transition
                into insertionPending(2) or extractionPending(4) states, 
                this function is not applicable to those resources.

                Note: Enumerated values are increased by one
                value compared to SAI-HPI-B spec."
        REFERENCE

                "Derived from function prototype in the SAI-HPI-B.01.01
                 sections 7.7, 7.7.5 and 8.13."
        ::= { saHpiHotSwapEntry 5 }


saHpiHotSwapResourceRequest OBJECT-TYPE
        SYNTAX INTEGER {
                        undefined(0),
                        setActive(1),
                        setInActive(2) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Depending on the values, the user can:

                - use this function to request a resource to return to
                  the ACTIVE state from the extractionPending(4) state
                  in order to reject an extraction request.  Because a
                  resource that supports the simplified hot swap model
                  will never transition into insertionPending(2) or
                  extractionPending(4) states, this function is not
                  applicable to those resources.

                - use this function to request a resource to return to
                  the inactive(1) state from the insertionPending(2)
                  state to abort a hot-swap insertion 
                  action.  Because a resource that supports the
                  simplified hot swap model will never transition into
                  insertionPending(2) or extractionPending(4)
                  states, this function is not applicable to
                  those resources.

                Note: Enumerated values are increased
                by one value compared to SAI-HPI-B.01.01 spec."
        REFERENCE

                "Derived from function prototype in
                the SAI-HPI-B.01.01 sections
                7.7, 7.7.6, 7.7.7 and 8.13."
        ::= { saHpiHotSwapEntry 6 }


-- /************************************************************************
-- *************************************************************************
-- **********                                                     **********
-- **********                 Events                              **********
-- **********                                                     **********
-- *************************************************************************
-- ************************************************************************/
--

saHpiEventLifetimeChanges OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Use this value to determine table activity.  It is incremented 
                each time an event is registered in this table.  It is also 
               incremented whenever an event is removed or the entire table
               is cleared.

                'saHpiEventLifetimeChanges' represents the sum of all
                events of all supported types that have occur in the
                system.  
      
                Note saHpiDomainEventLifetimeChanges represents the subset
                of events that are Domain events.  The same relationship
                exists for ResourceEvent, SensorEvent,
                SensorEnableChangeEvent, HotSwapEvent, WatchdogEvent,
                HpiSwEvent,  OemEvent,  UserEvent."
        ::= { events 1 }


saHpiEventActiveEntries OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of events present in this table.

                'saHpiEventCount' represents the total of all events types 
                currently stored in the 'saHpiEventTable.' 
                        
                saHpiDomainEventCount represents the subset of events 
                that are Domain events.  The same relationship exists for 
                ResourceEvent,  SensorEvent,  SensorEnableChangeEvent, 
                HotSwapEvent,  WatchdogEvent,  HpiSwEvent,  OemEvent, 
                UserEvent."
        ::= { events 2 }


saHpiEventTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiEventEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Event Master table."
        ::= { events 3 }


saHpiEventEntry OBJECT-TYPE
        SYNTAX SaHpiEventEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This table presents the list of all events which are
                 present in the HPI system. The implementation decides
                 how to manipulate the events as they reach a large
                 number. This table is used as a master event
                 table which an index that points to the specific
                 sub-table which has more details on the event.

                Each time a new event is surfaced in the HPI system
                this table increases by a new row and its respective
                sub-event table too (saHpiResourceEventTable,
                saHpiOemEventTable, etc). Futhermore
                based on the type of event, an notification is
                generated as well.
                "
        INDEX {
                saHpiEventRowPointer }
        ::= { saHpiEventTable 1 }


SaHpiEventEntry ::= SEQUENCE {
        saHpiEventRowPointer RowPointer,
        saHpiEventSeverity   SaHpiSeverity,
        saHpiEventSaHpiTime  SaHpiTime,
        saHpiEventType       INTEGER }


saHpiEventRowPointer OBJECT-TYPE
        SYNTAX RowPointer
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "OID value points to any of the other nine tables:
                saHpiResourceEventTable, 
                saHpiDomainEventTable, 
                saHpiSensorEventTable, 
                saHpiSensorEnableChangeTable, 
                saHpiHotSwapEventTable, 
                saHpiWatchdogTable, 
                saHpiSoftwareEventTable, 
                saHpiOemEventTable, 
                and saHpiUserEventTable."
        ::= { saHpiEventEntry 1 }


saHpiEventSeverity OBJECT-TYPE
        SYNTAX SaHpiSeverity
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Severity of event.
                Note: Enumerated values are increased
                by one value compared to SAI-HPI-B.01.01 spec."
        ::= { saHpiEventEntry 2 }


saHpiEventSaHpiTime OBJECT-TYPE
        SYNTAX SaHpiTime
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to textual convention for SaHpiTime for more
                details.  The value is Equal to TIME_UNSPECIFIED if
                time is not available; Absolute time if greater than
                TIME_MAX_RELATIVE, Relative time 
                if less than or equal to TIME_MAX_RELATIVE."
        ::= { saHpiEventEntry 3 }


saHpiEventType OBJECT-TYPE
        SYNTAX INTEGER {
                        undefined(0),
                        resource(1),
                        domain(2),
                        sensor(3),
                        sensorEnableChange(4),
                        hotswap(5),
                        watchdog(6),
                        hpiSw(7),
                        oem(8),
                        user(9) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Event type.
                Note: The enumerated named have +1 added as opposed to the 
                SAI-HPI-B.01.01 spec for the same constants."
        ::= { saHpiEventEntry 4 }


-- *********************************
-- **
-- **     Resource Events
-- **
-- *********************************

saHpiResourceEventLifetimeChanges OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Use this value to determine table activity.  It is incremented 
                each time an event is registered in this table.  It is also 
                incremented whenever an event is removed or the entire table
                is cleared.
  
                The number of events registered in this table
                over the lifetime of the table. If the
                underlying management system is restarted this count
                is reset.  Use this node to determine table activity.

                This scalar object represents the subset of events that
                are Resource Events."
        ::= { events 4 }


saHpiResourceEventActiveEntries OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This scalar object represents the subset of events that
                are Resource Events."
        ::= { events 5 }


saHpiResourceEventTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiResourceEventEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Event table."
        ::= { events 6 }


saHpiResourceEventEntry OBJECT-TYPE
        SYNTAX SaHpiResourceEventEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Resource events."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiEventSeverity,
                saHpiResourceEventEntryId }
        ::= { saHpiResourceEventTable 1 }


SaHpiResourceEventEntry ::= SEQUENCE {
        saHpiResourceEventEntryId   SaHpiEntryId,
        saHpiResourceEventTimestamp SaHpiTime,
        saHpiResourceEventType      INTEGER }


saHpiResourceEventEntryId OBJECT-TYPE
        SYNTAX SaHpiEntryId
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Arbitrary table index."
        ::= { saHpiResourceEventEntry 1 }


saHpiResourceEventTimestamp OBJECT-TYPE
        SYNTAX SaHpiTime
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to textual convention for SaHpiTime for more
                details.  The value is Equal to TIME_UNSPECIFIED if
                time is not available; Absolute time if greater than
                TIME_MAX_RELATIVE, Relative time 
                if less than or equal to TIME_MAX_RELATIVE."
        ::= { saHpiResourceEventEntry 2 }


saHpiResourceEventType OBJECT-TYPE
        SYNTAX INTEGER {
                        undefined(0),
                        resourceFailure(1),
                        resourceRestored(2),
                        resourceAdded(3) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Resource events are sent to indicate the failure or
                subsequent restoration of a resource.  Resource events
                can also be used to announce the addition of a non-FRU
                resource to the RPT table.

                Note: Enumerated values are increased by one value
               compared to SAI-HPI-B.01.01 spec."
        REFERENCE
                "Refer to SAI-HPI-B.01.01 section 3.8 for more
                information on Resource Failures."
        ::= { saHpiResourceEventEntry 3 }


-- *********************************
-- **
-- **     Domain Events
-- **
-- *********************************

saHpiDomainEventLifetimeChanges OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Use this value to determine table activity.  It is incremented 
                 each time an event is registered in this table.  It is also 
                 incremented whenever an event is removed or the entire table
                 is cleared.
  
                The number of events registered in this table
                over the lifetime of the table. If the underlying
                management system is restarted this count is reset. 
                Use this node to determine table activity.

                This scalar object represents the subset of events 
                that are Domain events."
        ::= { events 7 }


saHpiDomainEventActiveEntries OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This scalar object represents the subset of events
                that are Domain events."
        ::= { events 8 }


saHpiDomainEventTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiDomainEventEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Event table."
        ::= { events 9 }


saHpiDomainEventEntry OBJECT-TYPE
        SYNTAX SaHpiDomainEventEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Domain events."
        INDEX {
                saHpiDomainId,
                saHpiDomainEventEntryId,
                saHpiEventSeverity }
        ::= { saHpiDomainEventTable 1 }


SaHpiDomainEventEntry ::= SEQUENCE {
        saHpiDomainEventEntryId   SaHpiEntryId,
        saHpiDomainEventTimestamp SaHpiTime,
        saHpiDomainEventType      INTEGER }


saHpiDomainEventEntryId OBJECT-TYPE
        SYNTAX SaHpiEntryId
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This columnar object is an index for Domain Events
                  in the table."
        ::= { saHpiDomainEventEntry 1 }


saHpiDomainEventTimestamp OBJECT-TYPE
        SYNTAX SaHpiTime
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to textual convention for SaHpiTime for more details.
                The value is Equal to TIME_UNSPECIFIED if time is
                not available; 
                Absolute time if greater than TIME_MAX_RELATIVE,
                Relative time 
                if less than or equal to TIME_MAX_RELATIVE."
        ::= { saHpiDomainEventEntry 2 }


saHpiDomainEventType OBJECT-TYPE
        SYNTAX INTEGER {
                        undefined(0),
                        domainRefAdded(1),
                        domainRefRemoved(2) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object defines the enumeration for the domain to
                 announce the addition of domain references and the
                 removal of domain references to the Domain Table."
        ::= { saHpiDomainEventEntry 3 }


-- *********************************
-- **
-- **     Sensor  Events
-- **
-- *********************************

saHpiSensorEventLifetimeChanges OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Use this value to determine table activity.  It is incremented 
                 each time an event is registered in this table.  It is also 
                 incremented whenever an event is removed or the entire table
                 is cleared.
   
                The number of events registered in this table
                over the lifetime of the table. If the underlying
                management system is restarted this count is reset.
                Use this node to determine table activity.

                This scalar object represents the subset of events 
                that are Sensor events."
        ::= { events 10 }


saHpiSensorEventActiveEntries OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This scalar object represents the subset of events that
                are Sensor Events."
        ::= { events 11 }


saHpiSensorEventTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiSensorEventEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Event table."
        ::= { events 12 }


saHpiSensorEventEntry OBJECT-TYPE
        SYNTAX SaHpiSensorEventEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Sensor events."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiSensorNum,
                saHpiEventSeverity,
                saHpiSensorEventEntryId }
        ::= { saHpiSensorEventTable 1 }


SaHpiSensorEventEntry ::= SEQUENCE {
        saHpiSensorEventEntryId              SaHpiEntryId,
        saHpiSensorEventTimestamp            SaHpiTime,
        saHpiSensorEventType                 SaHpiSensorType,
        saHpiSensorEventCategory             SaHpiEventCategory,
        saHpiSensorEventAssertion            TruthValue,
        saHpiSensorEventState                SaHpiEventState,
        saHpiSensorEventOptionalData         SaHpiOptionalData,
        saHpiSensorEventTriggerReadingType   SaHpiSensorReadingType,
        saHpiSensorEventTriggerReading       SaHpiSensorReadingValue,
        saHpiSensorEventTriggerThresholdType SaHpiSensorReadingType,
        saHpiSensorEventTriggerThreshold     SaHpiSensorReadingValue,
        saHpiSensorEventPreviousState        SaHpiEventState,
        saHpiSensorEventCurrentState         SaHpiEventState,
        saHpiSensorEventOem                  Unsigned32,
        saHpiSensorEventSpecific             Unsigned32 }


saHpiSensorEventEntryId OBJECT-TYPE
        SYNTAX SaHpiEntryId
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Arbitrary table index."
        ::= { saHpiSensorEventEntry 1 }


saHpiSensorEventTimestamp OBJECT-TYPE
        SYNTAX SaHpiTime
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to textual convention for SaHpiTime for more details.
                The value is Equal to TIME_UNSPECIFIED if time is
                not available; Absolute time if greater than
                TIME_MAX_RELATIVE, Relative time 
                if less than or equal to TIME_MAX_RELATIVE."
        ::= { saHpiSensorEventEntry 2 }


saHpiSensorEventType OBJECT-TYPE
        SYNTAX SaHpiSensorType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more
                details."
        ::= { saHpiSensorEventEntry 3 }


saHpiSensorEventCategory OBJECT-TYPE
        SYNTAX SaHpiEventCategory
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Event category: See TEXTUAL-CONVENTION,
                SaHpiEventCategory."
        ::= { saHpiSensorEventEntry 4 }


saHpiSensorEventAssertion OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Sensor Events and Sensor Event States:
                Each Event State may be asserted or deasserted.
                The set of Event States a sensor may support is
                defined by the sensor's 'Event Category.'
                A particular sensor, however, does not have to 
                support all the Event States defined for its
                event category.  
                The specific Event States that a particular
                sensor supports are indicated in the 'Events'
                field in the sensor's RDR. A sensor is 
                not required to support any Event States. If
                no Event States are supported by a sensor, the
               'Events' field will be 0x0000.  A sensor 
                may not support any Event States that are not
                defined for its event category. Each Event State
                is independent, although in some event categories
                the meaning assigned to the Event States will imply that 
                certain Event States will be mutually exclusive.
                For example, a sensor that uses the limit(6) event
                category should only have one of the two Event States,
                SAHPI_ES_LIMIT_NOT_EXCEEDED or 
                SAHPI_ES_LIMIT_EXCEEDED asserted at any one time.
                Except where mutual exclusion is implied, however,
                sensors may have multiple Event States 
                asserted simultaneously. For example, the event category 
                threshold(2) uses six different event states to report the 
                relationship between the value currently measured
                by the sensor and up to six different 'threshold'
                values.  Each threshold is independently 
                examined, and each Event State that represents a
                threshold that has been 'crossed' will be asserted.
                Threshold values must be configured 
                so that 'Minor', 'Major' and 'Critical' thresholds
                are increasingly extreme readings, such that when
                a 'Major' threshold has been crossed, the corresponding
               'Minor' threshold will also have been crossed, and 
                thus both Event States will be asserted.
                When a sensor Event State is 
                asserted or deasserted, an event may be generated
                by the resource.  The generated event identifies the
                sensor and the event state being asserted or
                deasserted.  The HPI implementation may assign event
                severity levels for each event state assertion or
                deassertion on an individual sensor basis."
        ::= { saHpiSensorEventEntry 5 }


saHpiSensorEventState OBJECT-TYPE
        SYNTAX SaHpiEventState
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more details."
        ::= { saHpiSensorEventEntry 6 }


saHpiSensorEventOptionalData OBJECT-TYPE
        SYNTAX SaHpiOptionalData
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "See textual convention aHpiOptionalData."
        ::= { saHpiSensorEventEntry 7 }


saHpiSensorEventTriggerReadingType OBJECT-TYPE
        SYNTAX SaHpiSensorReadingType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more details."
        ::= { saHpiSensorEventEntry 8 }


saHpiSensorEventTriggerReading OBJECT-TYPE
        SYNTAX SaHpiSensorReadingValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more details."
        ::= { saHpiSensorEventEntry 9 }


saHpiSensorEventTriggerThresholdType OBJECT-TYPE
        SYNTAX SaHpiSensorReadingType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more details."
        ::= { saHpiSensorEventEntry 10 }


saHpiSensorEventTriggerThreshold OBJECT-TYPE
        SYNTAX SaHpiSensorReadingValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more details."
        ::= { saHpiSensorEventEntry 11 }


saHpiSensorEventPreviousState OBJECT-TYPE
        SYNTAX SaHpiEventState
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more details."
        ::= { saHpiSensorEventEntry 12 }


saHpiSensorEventCurrentState OBJECT-TYPE
        SYNTAX SaHpiEventState
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to SaHpiEventState textual convention for
                 more details."
        ::= { saHpiSensorEventEntry 13 }


saHpiSensorEventOem OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Reserved for Oem use."
        ::= { saHpiSensorEventEntry 14 }


saHpiSensorEventSpecific OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Event Specific information."
        REFERENCE

                "SAI-HPI-B.01.01 section 8.14."
        ::= { saHpiSensorEventEntry 15 }


-- *********************************
-- **
-- **     Sensor Enable Change Events
-- **
-- *********************************

saHpiSensorEnableChangeEventLifetimeChanges OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Use this value to determine table activity.  It is incremented 
                 each time an event is registered in this table.  It is also 
                 incremented whenever an event is removed or the entire table
                 is cleared.
  
                The number of events registered in this table
                over the lifetime of the table. If the underlying
                management system is restarted this count is reset.
                Use this node to determine table activity.

                This scalar object represents the subset of events 
                that are Sensor Enable ChangeEvents."
        ::= { events 13 }


saHpiSensorEnableChangeEventActiveEntries OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This scalar object represents the subset of events that
                are Sensor Enable ChangeEvents."
        ::= { events 14 }


saHpiSensorEnableChangeEventTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiSensorEnableChangeEventEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Event table."
        ::= { events 15 }


saHpiSensorEnableChangeEventEntry OBJECT-TYPE
        SYNTAX SaHpiSensorEnableChangeEventEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Sensor Enable Change events."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiSensorNum,
                saHpiEventSeverity,
                saHpiSensorEnableChangeEventEntryId }
        ::= { saHpiSensorEnableChangeEventTable 1 }


SaHpiSensorEnableChangeEventEntry ::= SEQUENCE {
        saHpiSensorEnableChangeEventEntryId        SaHpiEntryId,
        saHpiSensorEnableChangeEventTimestamp      SaHpiTime,
        saHpiSensorEnableChangeEventType           SaHpiSensorType,
        saHpiSensorEnableChangeEventCategory       SaHpiEventCategory,
        saHpiSensorEnableChangeEventEnabled        TruthValue,
        saHpiSensorEnableChangeEventEventsEnabled  TruthValue,
        saHpiSensorEnableChangeEventAssertEvents   SaHpiEventState,
        saHpiSensorEnableChangeEventDeassertEvents SaHpiEventState,
        saHpiSensorEnableChangeEventOptionalData   SaHpiOptionalData,
        saHpiSensorEnableChangeEventState          SaHpiEventState }


saHpiSensorEnableChangeEventEntryId OBJECT-TYPE
        SYNTAX SaHpiEntryId
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Arbitrary table index."
        ::= { saHpiSensorEnableChangeEventEntry 1 }


saHpiSensorEnableChangeEventTimestamp OBJECT-TYPE
        SYNTAX SaHpiTime
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to textual convention for SaHpiTime for more
                 details. The value is Equal to TIME_UNSPECIFIED if
                time is not available; Absolute time if greater than
                TIME_MAX_RELATIVE, Relative time 
                if less than or equal to TIME_MAX_RELATIVE."
        ::= { saHpiSensorEnableChangeEventEntry 2 }


saHpiSensorEnableChangeEventType OBJECT-TYPE
        SYNTAX SaHpiSensorType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more
                details."
        ::= { saHpiSensorEnableChangeEventEntry 3 }


saHpiSensorEnableChangeEventCategory OBJECT-TYPE
        SYNTAX SaHpiEventCategory
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more details."
        ::= { saHpiSensorEnableChangeEventEntry 4 }


saHpiSensorEnableChangeEventEnabled OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Current sensor enable status."
        ::= { saHpiSensorEnableChangeEventEntry 5 }


saHpiSensorEnableChangeEventEventsEnabled OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Current event enable status."
        ::= { saHpiSensorEnableChangeEventEntry 6 }


saHpiSensorEnableChangeEventAssertEvents OBJECT-TYPE
        SYNTAX SaHpiEventState
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more details."
        ::= { saHpiSensorEnableChangeEventEntry 7 }


saHpiSensorEnableChangeEventDeassertEvents OBJECT-TYPE
        SYNTAX SaHpiEventState
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more details."
        ::= { saHpiSensorEnableChangeEventEntry 8 }


saHpiSensorEnableChangeEventOptionalData OBJECT-TYPE
        SYNTAX SaHpiOptionalData
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "See textual convention SaHpiOptionalData."
        REFERENCE

                "See SAI-HPI-B.01.01 section 8.14"
        ::= { saHpiSensorEnableChangeEventEntry 9 }


saHpiSensorEnableChangeEventState OBJECT-TYPE
        SYNTAX SaHpiEventState
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Current set of asserted Event states."
        ::= { saHpiSensorEnableChangeEventEntry 10 }


-- *********************************
-- **
-- **     HotSwap Events
-- **
-- *********************************

saHpiHotSwapEventLifetimeChanges OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Use this value to determine table activity.  It is incremented 
                 each time an event is registered in this table.  It is also 
                 incremented whenever an event is removed or the entire table
                 is cleared.
   
                The number of events registered in this table
                over the lifetime of the table. If the underlying
                management system is restarted this count is reset.
                Use this node to determine table activity.

                This scalar object represents the subset of events 
                that are HotSwap Events."
        ::= { events 16 }


saHpiHotSwapEventActiveEntries OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This scalar object represents the subset of events that
                are HotSwap Events."
        ::= { events 17 }


saHpiHotSwapEventTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiHotSwapEventEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Event table."
        ::= { events 18 }


saHpiHotSwapEventEntry OBJECT-TYPE
        SYNTAX SaHpiHotSwapEventEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Hot Swap events."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiEventSeverity,
                saHpiHotSwapEventEntryId }
        ::= { saHpiHotSwapEventTable 1 }


SaHpiHotSwapEventEntry ::= SEQUENCE {
        saHpiHotSwapEventEntryId       SaHpiEntryId,
        saHpiHotSwapEventTimestamp     SaHpiTime,
        saHpiHotSwapEventState         SaHpiHotSwapState,
        saHpiHotSwapEventPreviousState SaHpiHotSwapState }


saHpiHotSwapEventEntryId OBJECT-TYPE
        SYNTAX SaHpiEntryId
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Arbitrary table index."
        ::= { saHpiHotSwapEventEntry 1 }


saHpiHotSwapEventTimestamp OBJECT-TYPE
        SYNTAX SaHpiTime
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to textual convention for SaHpiTime for more
                details.  The value is Equal to TIME_UNSPECIFIED if
                time is not available; Absolute time if greater than
                TIME_MAX_RELATIVE, Relative time if less than or equal
                to TIME_MAX_RELATIVE."
        ::= { saHpiHotSwapEventEntry 2 }


saHpiHotSwapEventState OBJECT-TYPE
        SYNTAX SaHpiHotSwapState
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for full details."
        ::= { saHpiHotSwapEventEntry 3 }


saHpiHotSwapEventPreviousState OBJECT-TYPE
        SYNTAX SaHpiHotSwapState
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for full details."
        ::= { saHpiHotSwapEventEntry 4 }


-- *********************************
-- **
-- **     Watchdog Events
-- **
-- *********************************

saHpiWatchdogEventLifetimeChanges OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Use this value to determine table activity.  It is incremented 
                each time an event is registered in this table.  It is also 
                incremented whenever an event is removed or the entire table
                is cleared.
   
                The number of events registered in this table
                over the lifetime of the table. If the underlying
                management system is restarted this count is reset. 
                Use this node to determine table activity.

                This scalar object represents the subset of events 
                that are Watchdog Events."
        ::= { events 19 }


saHpiWatchdogEventActiveEntries OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This scalar object represents the subset of events that
                are Watchdog Events."
        ::= { events 20 }


saHpiWatchdogEventTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiWatchdogEventEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Event table."
        ::= { events 21 }


saHpiWatchdogEventEntry OBJECT-TYPE
        SYNTAX SaHpiWatchdogEventEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Watchdog events."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiWatchdogNum,
                saHpiEventSeverity,
                saHpiWatchdogEventEntryId }
        ::= { saHpiWatchdogEventTable 1 }


SaHpiWatchdogEventEntry ::= SEQUENCE {
        saHpiWatchdogEventEntryId        SaHpiEntryId,
        saHpiWatchdogEventTimestamp      SaHpiTime,
        saHpiWatchdogEventAction         INTEGER,
        saHpiWatchdogEventPreTimerAction SaHpiWatchdogPreTimerAction,
        saHpiWatchdogEventUse            SaHpiWatchdogTimerUse }


saHpiWatchdogEventEntryId OBJECT-TYPE
        SYNTAX SaHpiEntryId
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Arbitrary table index."
        ::= { saHpiWatchdogEventEntry 1 }


saHpiWatchdogEventTimestamp OBJECT-TYPE
        SYNTAX SaHpiTime
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to textual convention for SaHpiTime for more
                 details.  The value is Equal to TIME_UNSPECIFIED if
                 time is not available; Absolute time if greater than
                 TIME_MAX_RELATIVE, Relative time if less than or equal
                 to TIME_MAX_RELATIVE."
        ::= { saHpiWatchdogEventEntry 2 }


saHpiWatchdogEventAction OBJECT-TYPE
        SYNTAX INTEGER {
                        undefined(0),
                        noAction(1),
                        reset(2),
                        powerDown(3),
                        powerCycle(4),
                        timerInt(9) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "These enumerations represent the possible actions to
                 be taken upon watchdog timer timeout and the events
                 that are generated for watchdog actions."
        ::= { saHpiWatchdogEventEntry 3 }


saHpiWatchdogEventPreTimerAction OBJECT-TYPE
        SYNTAX SaHpiWatchdogPreTimerAction
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "These enumerations represent the possible types of
                 interrupts that may be triggered by a watchdog
                 pre-timer event. The actual meaning of these
                operations may differ depending on the hardware
                architecture."
        ::= { saHpiWatchdogEventEntry 4 }


saHpiWatchdogEventUse OBJECT-TYPE
        SYNTAX SaHpiWatchdogTimerUse
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Watchdog Timer Use
                These enumerations represent the possible watchdog users
                that may have caused the watchdog to expire. For instance,
                if watchdog is being used during power on self test
                (POST), and it expires, the biosPost(3) expiration type 
                will be set. Most specific uses for Watchdog timer by
                users of HPI should indicate smsOs(5)  if the use is
                to provide an OS-healthy heartbeat, 
                or oem(6) if it is used for some other purpose."
        ::= { saHpiWatchdogEventEntry 5 }


-- *********************************
-- **
-- **     Software Events
-- **
-- *********************************

saHpiSoftwareEventLifetimeChanges OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Use this value to determine table activity.  It is incremented 
                each time an event is registered in this table.  It is also 
                incremented whenever an event is removed or the entire table
                is cleared.
   
                The number of events registered in this table
                over the lifetime of the table. If the underlying
                management system is restarted this count is reset.
                Use this node to determine table activity.

                This scalar object represents the subset of events 
                that are Software Events."
        ::= { events 22 }


saHpiSoftwareEventActiveEntries OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This scalar object represents the subset of events that
                are Software Events."
        ::= { events 23 }


saHpiSoftwareEventTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiSoftwareEventEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Event table."
        ::= { events 24 }


saHpiSoftwareEventEntry OBJECT-TYPE
        SYNTAX SaHpiSoftwareEventEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Software events."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiEventSeverity,
                saHpiSoftwareEventEntryId }
        ::= { saHpiSoftwareEventTable 1 }


SaHpiSoftwareEventEntry ::= SEQUENCE {
        saHpiSoftwareEventEntryId         SaHpiEntryId,
        saHpiSoftwareEventTimestamp       SaHpiTime,
        saHpiSoftwareEventManufacturerIdT SaHpiManufacturerId,
        saHpiSoftwareEventType            INTEGER,
        saHpiSoftwareEventTextType        SaHpiTextType,
        saHpiSoftwareEventTextLanguage    SaHpiTextLanguage,
        saHpiSoftwareEventText            SaHpiText }


saHpiSoftwareEventEntryId OBJECT-TYPE
        SYNTAX SaHpiEntryId
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Arbitrary table index."
        ::= { saHpiSoftwareEventEntry 1 }


saHpiSoftwareEventTimestamp OBJECT-TYPE
        SYNTAX SaHpiTime
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to textual convention for SaHpiTime for more
                 details.
                The value is Equal to TIME_UNSPECIFIED if
                time is not available; 
                Absolute time if greater than TIME_MAX_RELATIVE,
               Relative time if less than or equal to TIME_MAX_RELATIVE."
        ::= { saHpiSoftwareEventEntry 2 }


saHpiSoftwareEventManufacturerIdT OBJECT-TYPE
        SYNTAX SaHpiManufacturerId
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more details."
        ::= { saHpiSoftwareEventEntry 3 }


saHpiSoftwareEventType OBJECT-TYPE
        SYNTAX INTEGER {
                        undefined(0),
                        hpieAudit(1),
                        hpieStartup(2),
                        hpieOther(3) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The following type defines the types of events that can be
                reported  by the HPI software implementation. 

                Audit events report a discrepancy in the audit process.  
                Audits are typically performed by HA software to
                detect problems.  
                Audits may look for such things as corrupted data stores, 
                inconsistent RPT information, or improperly managed queues.

                Startup events report a failure to start-up properly, or 
                inconsistencies in persisted data. 

                Note: Enumerated values are increased by one
                value compared to SAI-HPI-B.01.01 spec."
        ::= { saHpiSoftwareEventEntry 4 }


saHpiSoftwareEventTextType OBJECT-TYPE
        SYNTAX SaHpiTextType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more details."
        ::= { saHpiSoftwareEventEntry 5 }


saHpiSoftwareEventTextLanguage OBJECT-TYPE
        SYNTAX SaHpiTextLanguage
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more details."
        ::= { saHpiSoftwareEventEntry 6 }


saHpiSoftwareEventText OBJECT-TYPE
        SYNTAX SaHpiText
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more details."
        ::= { saHpiSoftwareEventEntry 7 }


-- *********************************
-- **
-- **     Oem Events
-- **
-- *********************************

saHpiOemEventLifetimeChanges OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Use this value to determine table activity.  It is incremented 
               each time an event is registered in this table.  It is also 
               incremented whenever an event is removed or the entire table
               is cleared.
   
                The number of events registered in this table
                over the lifetime of the table. If the underlying
                management system is restarted this count is reset.
                Use this node to determine table activity.

                This scalar object represents the subset of events 
                that are oem Events."
        ::= { events 25 }


saHpiOemEventActiveEntries OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This scalar object represents the subset of events that
                are oem Events."
        ::= { events 26 }


saHpiOemEventTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiOemEventEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Event table."
        ::= { events 27 }


saHpiOemEventEntry OBJECT-TYPE
        SYNTAX SaHpiOemEventEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Oem events."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiEventSeverity,
                saHpiOemEventEntryId }
        ::= { saHpiOemEventTable 1 }


SaHpiOemEventEntry ::= SEQUENCE {
        saHpiOemEventEntryId         SaHpiEntryId,
        saHpiOemEventTimestamp       SaHpiTime,
        saHpiOemEventManufacturerIdT SaHpiManufacturerId,
        saHpiOemEventTextType        SaHpiTextType,
        saHpiOemEventTextLanguage    SaHpiTextLanguage,
        saHpiOemEventText            SaHpiText }


saHpiOemEventEntryId OBJECT-TYPE
        SYNTAX SaHpiEntryId
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Arbitrary table index."
        ::= { saHpiOemEventEntry 1 }


saHpiOemEventTimestamp OBJECT-TYPE
        SYNTAX SaHpiTime
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "Refer to textual convention for SaHpiTime for more details.
                The value is Equal to TIME_UNSPECIFIED if time is not
                available; 
                Absolute time if greater than TIME_MAX_RELATIVE, Relative
                time if less than or equal to TIME_MAX_RELATIVE."
        ::= { saHpiOemEventEntry 2 }


saHpiOemEventManufacturerIdT OBJECT-TYPE
        SYNTAX SaHpiManufacturerId
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more details."
        ::= { saHpiOemEventEntry 3 }


saHpiOemEventTextType OBJECT-TYPE
        SYNTAX SaHpiTextType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more details."
        ::= { saHpiOemEventEntry 4 }


saHpiOemEventTextLanguage OBJECT-TYPE
        SYNTAX SaHpiTextLanguage
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more details."
        ::= { saHpiOemEventEntry 5 }


saHpiOemEventText OBJECT-TYPE
        SYNTAX SaHpiText
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more details."
        ::= { saHpiOemEventEntry 6 }


-- *********************************
-- **
-- **     User Events
-- **
-- *********************************

saHpiUserEventLifetimeChanges OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Use this value to determine table activity.  It is incremented 
                each time an event is registered in this table.  It is also 
                incremented whenever an event is removed or the entire table
                is cleared.
   
                The number of events registered in this table
                over the lifetime of the table. If the underlying
                management system is restarted this count is reset. 
                Use this node to determine table activity.

                This scalar object represents the subset of events 
                that are User Events."
        ::= { events 28 }


saHpiUserEventActiveEntries OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This scalar object represents the subset of events that
                are User Events."
        ::= { events 29 }


saHpiUserEventTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiUserEventEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Event table."
        ::= { events 30 }


saHpiUserEventEntry OBJECT-TYPE
        SYNTAX SaHpiUserEventEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "User events."
        INDEX {
                saHpiDomainId,
                saHpiEventSeverity,
                saHpiUserEventEntryId }
        ::= { saHpiUserEventTable 1 }


SaHpiUserEventEntry ::= SEQUENCE {
        saHpiUserEventEntryId      SaHpiEntryId,
        saHpiUserEventTimestamp    SaHpiTime,
        saHpiUserEventTextType     SaHpiTextType,
        saHpiUserEventTextLanguage SaHpiTextLanguage,
        saHpiUserEventText         SaHpiText,
        saHpiUserEventRowStatus    RowStatus }


saHpiUserEventEntryId OBJECT-TYPE
        SYNTAX SaHpiEntryId
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Arbitrary table index."
        ::= { saHpiUserEventEntry 1 }


saHpiUserEventTimestamp OBJECT-TYPE
        SYNTAX SaHpiTime
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to textual convention for SaHpiTime for more details.
                The value is Equal to TIME_UNSPECIFIED if time is not
                available; Absolute time if greater than
                TIME_MAX_RELATIVE, Relative time if less than or equal
                to TIME_MAX_RELATIVE."
        ::= { saHpiUserEventEntry 2 }


saHpiUserEventTextType OBJECT-TYPE
        SYNTAX SaHpiTextType
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Refer to SaHpiTextType for more details."
        ::= { saHpiUserEventEntry 3 }


saHpiUserEventTextLanguage OBJECT-TYPE
        SYNTAX SaHpiTextLanguage
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Refer to saHpiTextLanguage for more details."
        ::= { saHpiUserEventEntry 4 }


saHpiUserEventText OBJECT-TYPE
        SYNTAX SaHpiText
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Refer to saHpiText for more details."
        ::= { saHpiUserEventEntry 5 }


saHpiUserEventRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "This columnar object contains the status of the row and also
                perform add and delete operations.

                The status column uses three defined values:

                - `active(1)', which indicates that the conceptual row is
                  available for use by the managed device;

                - `createAndWait(5)', which is supplied by a management
                  station wishing to create a new instance of a
                  conceptual row (but not make it available for use by
                  the managed device). This function is used to add a 
                  User Alarm  to this User Event Table and also to the
                  to the Domain Alarm Table; The effect of creating a new 
                  row will also be reflected in the DAT - with a new 
                  row there.
    
                - `destroy(6)', which is supplied by a management station
                  wishing to delete all of the instances associated with
                  an existing conceptual row. This function allows the 
                  HPI MIB User to delete an User Event. Note a deletion of 
                  a row that is already in the 'active(1)' state is prohibited.
                  HPI does not support deleting existing events.  A row can only
                  be deleted if its RowStatus value is 'createAndGo(4)'.
                  
                  Developers Note:
                  
                  Avoid creating duplicate entries here! 
                        1. a manager would add an event to the User
                           Event Table, 
                        2. the Sub-agent would see this and call
                           saHpiEventAdd(), 
                        3. the event would go thru the HPI system
                           and would be added to the HPI event queue, 
                        4. the sub-agent would read the event queue
                            as part of its normal operations, and when
                            it sees this event it would know to
                            ignore it, since it is already in 
                            the table (because the manager added it
                            to the table to start this whole process)."
        REFERENCE
                "SAI-HPI-B.01.01 section 6.5.4."
        ::= { saHpiUserEventEntry 6 }


-- *********************************
-- **
-- **     Announcement table
-- **
-- *********************************

saHpiAnnouncementActiveEntries OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of announcements present on this system."
        ::= { events 31 }


saHpiAnnouncementTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiAnnouncementEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Table of Announcements."
        ::= { events 32 }


saHpiAnnouncementEntry OBJECT-TYPE
        SYNTAX SaHpiAnnouncementEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "The table of announcements is used to provide
                a common interface to varied mechanisms for announcing
                conditions.

                Each announcement in an Annunciator's current set
                contains a severity level, details describing the
                specific condition that is being reported, 
                an Acknowledged flag, a timestamp indicating when
                the announcement was added to the set, and an
                EntryId that uniquely identifies the particular 
                status item within the set.

                EntryIds are assigned to announcements as they are added
                to the set as well as a Timestamp.  After an
                announcement is deleted from the current set, its
                EntryId may be reused for a newly added announcement
                as long as the new announcement will have a different
                timestamp than any previously deleted announcement
                using the same EntryId.  Thus, the EntryId and
                Timestamp together will uniquely identify any announcement, 
                which was ever present in the Annunciator's set.

                The actual meaning of the Acknowledged flag is
                arbitrary, and the actions taken by the platform
                when announcements are flagged as 'acknowledged'
                or 'unacknowledged' are implementation-specific.  
                The intended use of the flag is to indicate whether
                a particular announcement in the current set has
                been recognized by whomever or whatever is inspecting
                the LEDs, displays, etc., that are being 
                driven by the Annunciator management instrument. 
                Thus, when announcements are added to the current
                set, generally the flag should be set to indicate
                that the condition is 'unacknowledged'.  
                Later, either as the result of an HPI SNMP Manager
                function call, or due to some implementation-dependent
                action (such as pressing an 'acknowledge' button on
                a front-panel display), the flag can be 
                changed to indicate that the announcement is
                now 'acknowledged.'

                The ability to acknowledge announcements is not controlled 
                by the Annunciator 'mode' setting (Auto, User, or Shared).  
                Any announcement may be acknowledged by the
                HPI implementation, or via the
                saHpiAnnunciatorAcknowledge() function call, regardless 
                of the current mode setting for the Annunciator.

                Over time, announcements are added to and deleted from an 
                Annunciator`s current set of announcements.
                This may be done automatically by the HPI
                implementation to reflect platform fault 
                conditions, or by the HPI SNMP Manager via
                the HPI interface.  When announcements are added or
                deleted automatically by the HPI 
                implementation, it is implementation-specific
                which announcements are added or removed.
                "
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiAnnouncementEntryId }
        ::= { saHpiAnnouncementTable 1 }


SaHpiAnnouncementEntry ::= SEQUENCE {
        saHpiAnnouncementEntryId        SaHpiEntryId,
        saHpiAnnouncementAnnunciatorNum SaHpiInstrumentId,
        saHpiAnnouncementTimestamp      SaHpiTime,
        saHpiAnnouncementAddedByUser    TruthValue,
        saHpiAnnouncementSeverity       SaHpiSeverity,
        saHpiAnnouncementAcknowledged   TruthValue,
        saHpiAnnouncementAckBySeverity  SaHpiSeverity,
        saHpiAnnouncementStatusCondType SaHpiStatusCondType,
        saHpiAnnouncementEntityPath     SaHpiEntityPath,
        saHpiAnnouncementSensorNum      Unsigned32,
        saHpiAnnouncementEventState     SaHpiEventState,
        saHpiAnnouncementName           OCTET STRING,
        saHpiAnnouncementMid            SaHpiManufacturerId,
        saHpiAnnouncementTextType       SaHpiTextType,
        saHpiAnnouncementTextLanguage   SaHpiTextLanguage,
        saHpiAnnouncementText           SaHpiText,
        saHpiAnnouncementDelete         RowStatus }


saHpiAnnouncementEntryId OBJECT-TYPE
        SYNTAX SaHpiEntryId
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Entry ID for record
                Table Related Type Definitions  
                SAHPI_FIRST_ENTRY 0x00000000
                SAHPI_LAST_ENTRY  0xFFFFFFFF"
        ::= { saHpiAnnouncementEntry 1 }

saHpiAnnouncementAnnunciatorNum OBJECT-TYPE
        SYNTAX SaHpiInstrumentId
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Annunciator number for the addressed Annunciator."
        ::= { saHpiAnnouncementEntry 2 }

saHpiAnnouncementTimestamp OBJECT-TYPE
        SYNTAX SaHpiTime
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Time when announcement added to set."
        ::= { saHpiAnnouncementEntry 3 }


saHpiAnnouncementAddedByUser OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "True if added to set by HPI SNMP Manager, False if added
                automatically by HPI implementation."
        ::= { saHpiAnnouncementEntry 4 }


saHpiAnnouncementSeverity OBJECT-TYPE
        SYNTAX SaHpiSeverity
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Only used with DAT and Annunciator functions.
                This is not a valid severity for events or alarms."
        ::= { saHpiAnnouncementEntry 5 }


saHpiAnnouncementAcknowledged OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Acknowledged flag.Use this columnar object to 
                acknowledge a specific Announcement."
        ::= { saHpiAnnouncementEntry 6 }
        
saHpiAnnouncementAckBySeverity OBJECT-TYPE
        SYNTAX SaHpiSeverity
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Use this columnar object to acknowledge 
                all Announcements of a particular severity."
        ::= { saHpiAnnouncementEntry 7 }

saHpiAnnouncementStatusCondType OBJECT-TYPE
        SYNTAX SaHpiStatusCondType
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Status Condition Type."
        ::= { saHpiAnnouncementEntry 8 }


saHpiAnnouncementEntityPath OBJECT-TYPE
        SYNTAX SaHpiEntityPath
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "See Textual-Convention for details."
        ::= { saHpiAnnouncementEntry 9 }


saHpiAnnouncementSensorNum OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Sensor associated with status Only valid
                if Type is SAHPI_STATUS_COND_TYPE_SENSOR."
        ::= { saHpiAnnouncementEntry 10 }


saHpiAnnouncementEventState OBJECT-TYPE
        SYNTAX SaHpiEventState
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Sensor event state. Only valid if Type is
                SAHPI_STATUS_COND_TYPE_SENSOR.."
        ::= { saHpiAnnouncementEntry 11 }


saHpiAnnouncementName OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE (0..255))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "AIS compatible identifier associated
                 with Status condition."
        ::= { saHpiAnnouncementEntry 12 }


saHpiAnnouncementMid OBJECT-TYPE
        SYNTAX SaHpiManufacturerId
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Manufacturer Id associated with status condition,
                required when type is SAHPI_STATUS_COND_TYPE_OEM."
        ::= { saHpiAnnouncementEntry 13 }


saHpiAnnouncementTextType OBJECT-TYPE
        SYNTAX SaHpiTextType
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Field Data.
                See Definition for SaHpiTextType for more details."
        ::= { saHpiAnnouncementEntry 14 }


saHpiAnnouncementTextLanguage OBJECT-TYPE
        SYNTAX SaHpiTextLanguage
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Field Data.
                See Definition for SaHpiTextLanguage for more details."
        ::= { saHpiAnnouncementEntry 15 }


saHpiAnnouncementText OBJECT-TYPE
        SYNTAX SaHpiText
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Field Data.
                The type of date is specified
                by saHpiResourceTagTextType and saHpiResourceTagLanguage."
        ::= { saHpiAnnouncementEntry 16 }


saHpiAnnouncementDelete OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "This function allows the HPI SNMP Manager to
                delete a single announcement. Announcements may
                be deleted individually by specifying a specific
                index and setting this columnar object to destroy(6)."
        ::= { saHpiAnnouncementEntry 17 }


--/************************************************************************
-- * **********************************************************************
-- * ********** ********** ********** Event Log ********** **********
-- * **********************************************************************
-- * **********************************************************************/
-- *********************************
-- **
-- **     Event Log Info Table
-- **
-- *********************************

saHpiEventLogInfoTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiEventLogInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "A table definining Event Log Information records."
        ::= { eventLog 1 }


saHpiEventLogInfoEntry OBJECT-TYPE
        SYNTAX SaHpiEventLogInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Each resource has a Event Log Information
                record, which contains per resource pertinent
                logging information."
        INDEX {
                saHpiDomainId,
                saHpiResourceId }
        ::= { saHpiEventLogInfoTable 1 }


SaHpiEventLogInfoEntry ::= SEQUENCE {
        saHpiEventLogInfoEntries           Unsigned32,
        saHpiEventLogInfoSize              Unsigned32,
        saHpiEventLogInfoUserEventMaxSize  Unsigned32,
        saHpiEventLogInfoUpdateTimestamp   SaHpiTime,
        saHpiEventLogInfoTime              SaHpiTime,
        saHpiEventLogInfoIsEnabled         TruthValue,
        saHpiEventLogInfoOverflowFlag      TruthValue,
        saHpiEventLogInfoOverflowResetable TruthValue,
        saHpiEventLogInfoOverflowAction    INTEGER,
        saHpiEventLogInfoOverflowReset     INTEGER,
        saHpiEventLogClear                 TruthValue,
        saHpiEventLogState                 TruthValue }


saHpiEventLogInfoEntries OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of active entries contained in the log."
        ::= { saHpiEventLogInfoEntry 1 }


saHpiEventLogInfoSize OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The total number of entries the log is able to hold."
        ::= { saHpiEventLogInfoEntry 2 }


saHpiEventLogInfoUserEventMaxSize OBJECT-TYPE
        SYNTAX Unsigned32 (0..255)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The UserEventMaxSize entry indicates the maximum
                size of the text buffer data field in an HPI
                SNMP Manager event that is supported 
                by the Event Log implementation. 
                If the implementation does not enforce a more
                restrictive data length, it should be set
                to SAHPI_MAX_TEXT_BUFFER_LENGTH (255)."
        ::= { saHpiEventLogInfoEntry 3 }


saHpiEventLogInfoUpdateTimestamp OBJECT-TYPE
        SYNTAX SaHpiTime
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The UpdateTimestamp entry denotes the time of the last
                update to the Event Log. 

                Refer to SaHpiTime for full description."
        ::= { saHpiEventLogInfoEntry 4 }


saHpiEventLogInfoTime OBJECT-TYPE
        SYNTAX SaHpiTime
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "The Time entry denotes the Event Log's idea of the
                current time; i.e the timestamp that would be placed on an
                entry if it was added now. 

                Remarks:

                Entries placed in the Event Log after this function is 
                called will have Event Log timestamps (i.e., the Timestamp 
                field in the SaHpiEventLogEntryT structure) based on the 
                new time.  Setting the clock does not affect existing Event 
                Log entries.  If the time is set to a relative time,
                subsequent entries placed in the Event Log will have
                an Event Log timestamp expressed as a relative time;
                if the time is set to an absolute time, subsequent
                entries will have an Event Log timestamp expressed as
                an absolute time.  

                This function only sets the Event Log time clock and
                does not have any direct bearing on the timestamps
                placed on events (i.e., the Timestamp field in the
                SaHpiEventT structure), or the timestamps 
                placed in the domain RPT info record.  Setting
                the clocks used to generate timestamps other than
                Event Log timestamps is implementation-dependent,
                and should be documented by the HPI implementation
                provider.

                Some underlying implementations may not be able to handle
                the same relative and absolute time ranges, as those
                defined in HPI.  Such limitations will be documented
                in implementation-specific documentation.  
                When a time value is set in a region that is not
                supported by the implementation, an error code of
                SNMP_GENERROR  will be returned.

                Refer to SaHpiTime for full description."
        REFERENCE
                "Derived from typedefs in SAI-HPI-B.01.01 section 8.23."
        ::= { saHpiEventLogInfoEntry 5 }


saHpiEventLogInfoIsEnabled OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The Enabled entry indicates whether the log is enabled.
                If the event log is 'disabled' no events generated
                within the HPI implementation will be added to the
                event log. 

                User events may still be added to the event log.

                When the event log is 'enabled' events may be automatically 
                added to the event log as they are generated in a resource 
                or a domain, however, it is implementation-specific which
                events are automatically added to any event log."
        ::= { saHpiEventLogInfoEntry 6 }


saHpiEventLogInfoOverflowFlag OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The OverflowFlag entry indicates the log has overflowed.
                Events have been dropped or overwritten due to a table
                overflow."
        ::= { saHpiEventLogInfoEntry 7 }


saHpiEventLogInfoOverflowResetable OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Indicates if the the overflow falg can be cleared
                by calling saHpiEventLogInfoOverflowReset."
        ::= { saHpiEventLogInfoEntry 8 }


saHpiEventLogInfoOverflowAction OBJECT-TYPE
        SYNTAX INTEGER {
                        undefined(0),
                        drop(1),
                        overwrite(2) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The OverflowAction entry indicates the behavior of the
                event log when an overflow occurs.

                drop(1)
                        New entries are dropped when log is full

                overwrite(2)

                        Event Log overwrites existing entries when
                        Event Log is full"
        ::= { saHpiEventLogInfoEntry 9 }


saHpiEventLogInfoOverflowReset OBJECT-TYPE
        SYNTAX INTEGER {
                        undefined(0),
                        resetOverflowFlag(1) }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "This function resets the OverflowFlag in the
                 Event Log info record of the specified Event Log."
        ::= { saHpiEventLogInfoEntry 10 }

saHpiEventLogClear OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "This function erases the contents of the
                 specified Event Log.

                TRUE clears the event log of the resource specified.
                        
                FALSE has no effect.

                NOTE: The OverflowFlag field in the Event Log
                      info record will be reset when this function
                      is called."
        REFERENCE

                "Derived from SAI-HPI-B.01.01 section 6.4.4."
        ::= { saHpiEventLogInfoEntry 11 }


saHpiEventLogState OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "When reading this value, true indicates that the Event
                Log is enabled; False indicates that it is disabled.

                When writing this value, true indicates that the
                Event Log is to be enabled; False indicates that
                it is to be disabled.

                This node enables an HPI SNMP Manager to set/get
                the Event Log state. If the Event Log is disabled
                no events generated within the HPI implementation will 
                be added to the Event Log. Events may still be added
                to the Event Log. When the Event Log is enabled events
                may be automatically added to the Event Log 
                as they are generated in a resource or a domain,
                however, it is implementation-specific which
                events are automatically added to any Event Log.
                "
        REFERENCE

                "Derived from SAI-HPI-B.01.01 sections 6.4.7 and 6.4.8."
        ::= { saHpiEventLogInfoEntry 12 }


-- *********************************
-- **
-- **     Event Log
-- **
-- *********************************

saHpiEventLogTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiEventLogEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "A table definining Event Log records."
        ::= { eventLog 2 }


saHpiEventLogEntry OBJECT-TYPE
        SYNTAX SaHpiEventLogEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This section defines the types associated with the SEL."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiEventLogIndex }
        ::= { saHpiEventLogTable 1 }


SaHpiEventLogEntry ::= SEQUENCE {
        saHpiEventLogIndex          SaHpiEntryId,
        saHpiEventLogType           INTEGER,
        saHpiEventLogAddedTimestamp SaHpiTime,
        saHpiEventLogRowPointer     RowPointer }


saHpiEventLogIndex OBJECT-TYPE
        SYNTAX SaHpiEntryId
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Entry ID for record

                Reserved values for event log entry IDs

                OLDEST_ENTRY    0x00000000
                NEWEST_ENTRY    0xFFFFFFFF
                NO_MORE_ENTRIES 0xFFFFFFFE
                "
        ::= { saHpiEventLogEntry 1 }


saHpiEventLogType OBJECT-TYPE
        SYNTAX INTEGER {
                        undefined(0),
                        resource(1),
                        domain(2),
                        sensor(3),
                        sensorEnableChange(4),
                        hotswap(5),
                        watchdog(6),
                        hpiSoftware(7),
                        oem(8),
                        user(9) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The type of event.

                Note: The enumerated named have +1 added as opposed to the 
                SA HPI  spec for the same constants."
        ::= { saHpiEventLogEntry 2 }


saHpiEventLogAddedTimestamp OBJECT-TYPE
        SYNTAX SaHpiTime
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to SaHpiTime for full description."
        ::= { saHpiEventLogEntry 3 }


saHpiEventLogRowPointer OBJECT-TYPE
        SYNTAX RowPointer
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Pointer to the event."
        ::= { saHpiEventLogEntry 4 }


-- *********************************
-- **
-- **     Resource Event Log
-- **
-- *********************************

saHpiResourceEventLogLifetimeChanges OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Use this value to determine table activity.  It is incremented 
                each time an event is registered in this table.  It is also 
               incremented whenever an event is removed or the entire table
               is cleared.
   
                The number of events registered in this table
                over the lifetime of the table.
                If the underlying management system is restarted
                this count is reset.  Use this node to determine
                table activity.

                This scalar object represents the subset of events that
                are Resource Events."
        ::= { eventLog 3 }


saHpiResourceEventLogActiveEntries OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This scalar object represents the subset of events that
                are Resource Events."
        ::= { eventLog 4 }


saHpiResourceEventLogTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiResourceEventLogEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Event table."
        ::= { eventLog 5 }


saHpiResourceEventLogEntry OBJECT-TYPE
        SYNTAX SaHpiResourceEventLogEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Resource events."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiEventSeverity,
                saHpiResourceEventLogEntryId }
        ::= { saHpiResourceEventLogTable 1 }


SaHpiResourceEventLogEntry ::= SEQUENCE {
        saHpiResourceEventLogEntryId   SaHpiEntryId,
        saHpiResourceEventLogTimestamp SaHpiTime,
        saHpiResourceEventLogType      INTEGER }


saHpiResourceEventLogEntryId OBJECT-TYPE
        SYNTAX SaHpiEntryId
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Table Index."
        REFERENCE
                "SAI-HPI-B.01.01 section 6.4.1
                 for further details on EntryId."
        ::= { saHpiResourceEventLogEntry 1 }


saHpiResourceEventLogTimestamp OBJECT-TYPE
        SYNTAX SaHpiTime
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to textual convention for SaHpiTime for more details.
                The value is Equal to TIME_UNSPECIFIED if time is not
                available; Absolute time if greater than
                TIME_MAX_RELATIVE, Relative time 
                if less than or equal to TIME_MAX_RELATIVE."
        ::= { saHpiResourceEventLogEntry 2 }


saHpiResourceEventLogType OBJECT-TYPE
        SYNTAX INTEGER {
                        undefined(0),
                        resourceFailure(1),
                        resourceRestored(2),
                        resourceAdded(3) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Resource events are sent to indicate the failure or
                subsequent restoration of a resource.  Resource events
                can also be used to announce the addition of a
                non-FRU resource to the RPT table.

                Note: Enumerated values are increased by
                     one value compared to SAI-HPI-B spec."
        REFERENCE
                "Refer to SAI-HPI-B.01.01
                 section 3.8 for more information on Resource Failures."
        ::= { saHpiResourceEventLogEntry 3 }


-- *********************************
-- **
-- **     Domain Event Log
-- **
-- *********************************

saHpiDomainEventLogLifetimeChanges OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Use this value to determine table activity.  It is incremented 
                 each time an event is registered in this table.  It is also 
                 incremented whenever an event is removed or the entire table
                 is cleared.
   
                The number of events registered in this table
                over the lifetime of the table. If the underlying
                management system is restarted this count is reset. 
                Use this node to determine table activity.

                This scalar object represents the subset of events 
                that are Domain events."
        ::= { eventLog 6 }


saHpiDomainEventLogActiveEntries OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This scalar object represents the subset of events
                that are Domain events."
        ::= { eventLog 7 }


saHpiDomainEventLogTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiDomainEventLogEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Event table."
        ::= { eventLog 8 }


saHpiDomainEventLogEntry OBJECT-TYPE
        SYNTAX SaHpiDomainEventLogEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Domain events."
        INDEX {
                saHpiDomainId,
                saHpiDomainEventEntryId,
                saHpiEventSeverity }
        ::= { saHpiDomainEventLogTable 1 }


SaHpiDomainEventLogEntry ::= SEQUENCE {
        saHpiDomainEventLogEntryId   SaHpiEntryId,
        saHpiDomainEventLogTimestamp SaHpiTime,
        saHpiDomainEventLogType      INTEGER }


saHpiDomainEventLogEntryId OBJECT-TYPE
        SYNTAX SaHpiEntryId
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This columnar object is an index for Domain Events
                 in the table."
        REFERENCE
                "SAI-HPI-B.01.01 section 6.4.1
                 for further details on EntryId."
        ::= { saHpiDomainEventLogEntry 1 }


saHpiDomainEventLogTimestamp OBJECT-TYPE
        SYNTAX SaHpiTime
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to textual convention for SaHpiTime for more
                details.
                The value is Equal to TIME_UNSPECIFIED if time
                is not available; Absolute time if greater than
                TIME_MAX_RELATIVE, Relative time 
                if less than or equal to TIME_MAX_RELATIVE."
        ::= { saHpiDomainEventLogEntry 2 }


saHpiDomainEventLogType OBJECT-TYPE
        SYNTAX INTEGER {
                        undefined(0),
                        domainRefAdded(1),
                        domainRefRemoved(2) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Domain events are used to announce the
                 addition of domain references
                 and the removal of domain references to the DRT."
        ::= { saHpiDomainEventLogEntry 3 }


-- *********************************
-- **
-- **     Sensor  Event Log
-- **
-- *********************************

saHpiSensorEventLogLifetimeChanges OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Use this value to determine table activity.  It is incremented 
                each time an event is registered in this table.  It is also 
                incremented whenever an event is removed or the entire table
                is cleared.
   
                The number of events registered in this table
                over the lifetime of the table. If the
                underlying management system is restarted this
                count is reset.  Use this node to 
                determine table activity.

                This scalar object represents the subset of events 
                that are Sensor events."
        ::= { eventLog 9 }


saHpiSensorEventLogActiveEntries OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This scalar object represents the subset of events that
                are Sensor Events."
        ::= { eventLog 10 }


saHpiSensorEventLogTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiSensorEventLogEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Event table."
        ::= { eventLog 11 }


saHpiSensorEventLogEntry OBJECT-TYPE
        SYNTAX SaHpiSensorEventLogEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Sensor events."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiSensorNum,
                saHpiEventSeverity,
                saHpiSensorEventEntryId }
        ::= { saHpiSensorEventLogTable 1 }


SaHpiSensorEventLogEntry ::= SEQUENCE {
        saHpiSensorEventLogTimestamp            SaHpiTime,
        saHpiSensorEventLogType                 SaHpiSensorType,
        saHpiSensorEventLogCategory             SaHpiEventCategory,
        saHpiSensorEventLogAssertion            TruthValue,
        saHpiSensorEventLogState                SaHpiEventState,
        saHpiSensorEventLogOptionalData         SaHpiOptionalData,
        saHpiSensorEventLogTriggerReadingType   SaHpiSensorReadingType,
        saHpiSensorEventLogTriggerReading       SaHpiSensorReadingValue,
        saHpiSensorEventLogTriggerThresholdType SaHpiSensorReadingType,
        saHpiSensorEventLogTriggerThreshold     SaHpiSensorReadingValue,
        saHpiSensorEventLogPreviousState        SaHpiEventState,
        saHpiSensorEventLogCurrentState         SaHpiEventState,
        saHpiSensorEventLogOem                  Unsigned32,
        saHpiSensorEventLogSpecific             Unsigned32 }


saHpiSensorEventLogTimestamp OBJECT-TYPE
        SYNTAX SaHpiTime
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to textual convention for SaHpiTime for more
               details.  The value is Equal to TIME_UNSPECIFIED
               if time is not available; Absolute time if greater
               than TIME_MAX_RELATIVE, Relative time 
               if less than or equal to TIME_MAX_RELATIVE."
        ::= { saHpiSensorEventLogEntry 1 }


saHpiSensorEventLogType OBJECT-TYPE
        SYNTAX SaHpiSensorType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more
                details."
        ::= { saHpiSensorEventLogEntry 2 }


saHpiSensorEventLogCategory OBJECT-TYPE
        SYNTAX SaHpiEventCategory
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Event category: See TEXTUAL-CONVENTION,
                SaHpiEventCategory."
        ::= { saHpiSensorEventLogEntry 3 }


saHpiSensorEventLogAssertion OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Sensor Events and Sensor Event States:
                Each Event State may be asserted or deasserted.
                The set of Event States a sensor may support is
                defined by the sensor's 'Event Category.'  A particular
                sensor, however, does not have to support all the Event
                States defined for its event category.  
                The specific Event States that a particular sensor
                supports are indicated in the 'Events' field in the
                sensor's RDR. A sensor is not required to support any
                Event States. If no Event States are supported by a
                sensor, the 'Events' field will be 0x0000.  A sensor 
                may not support any Event States that are not defined
                for its event category. Each Event State is independent,
                although in some event categories the meaning assigned
                to the Event States will imply that certain Event States
                will be mutually exclusive.  For example, a 
                sensor that uses the limit(6) event category
                should only have one of the two Event States,
                SAHPI_ES_LIMIT_NOT_EXCEEDED or 
                SAHPI_ES_LIMIT_EXCEEDED asserted at any one time.
                Except where mutual exclusion is implied, however,
                sensors may have multiple Event States asserted
                simultaneously. For example, the event category 
                threshold(2) uses six different event states to report the 
                relationship between the value currently measured by
                the sensor and up to six different 'threshold' values. 
                Each threshold is independently examined, and each
                Event State that represents a threshold that has 
                been 'crossed' will be asserted. 
                Threshold values must be configured so that 'Minor',
                'Major' and 'Critical' thresholds are increasingly 
                extreme readings, such that when a 'Major' threshold
                has been crossed, the corresponding 'Minor' threshold
                will also have been crossed, and thus both Event
                States will be asserted. When a sensor Event State is 
                asserted or deasserted, an event may be generated by
                the resource.  
                The generated event identifies the sensor and the
                event state being asserted or deasserted.  The HPI
                implementation may assign event severity levels for
                each event state assertion or deassertion on an 
                individual sensor basis."
        ::= { saHpiSensorEventLogEntry 4 }


saHpiSensorEventLogState OBJECT-TYPE
        SYNTAX SaHpiEventState
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more details."
        ::= { saHpiSensorEventLogEntry 5 }


saHpiSensorEventLogOptionalData OBJECT-TYPE
        SYNTAX SaHpiOptionalData
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "See textual convention aHpiOptionalData."
        ::= { saHpiSensorEventLogEntry 6 }


saHpiSensorEventLogTriggerReadingType OBJECT-TYPE
        SYNTAX SaHpiSensorReadingType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more details."
        ::= { saHpiSensorEventLogEntry 7 }


saHpiSensorEventLogTriggerReading OBJECT-TYPE
        SYNTAX SaHpiSensorReadingValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more details."
        ::= { saHpiSensorEventLogEntry 8 }


saHpiSensorEventLogTriggerThresholdType OBJECT-TYPE
        SYNTAX SaHpiSensorReadingType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more details."
        ::= { saHpiSensorEventLogEntry 9 }


saHpiSensorEventLogTriggerThreshold OBJECT-TYPE
        SYNTAX SaHpiSensorReadingValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more details."
        ::= { saHpiSensorEventLogEntry 10 }


saHpiSensorEventLogPreviousState OBJECT-TYPE
        SYNTAX SaHpiEventState
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more details."
        ::= { saHpiSensorEventLogEntry 11 }


saHpiSensorEventLogCurrentState OBJECT-TYPE
        SYNTAX SaHpiEventState
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to SaHpiEventState textual convention
                 for more details."
        ::= { saHpiSensorEventLogEntry 12 }


saHpiSensorEventLogOem OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Reserved for Oem use."
        ::= { saHpiSensorEventLogEntry 13 }


saHpiSensorEventLogSpecific OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Event log specific data."
        REFERENCE

                "SAI-HPI-B.01.01 section 8.14."
        ::= { saHpiSensorEventLogEntry 14 }


-- *********************************
-- **
-- **     Sensor Enable Change Event Log
-- **
-- *********************************

saHpiSensorEnableChangeEventLogLifetimeChanges OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Use this value to determine table activity.  It is incremented 
                 each time an event is registered in this table.  It is also 
                 incremented whenever an event is removed or the entire table
                 is cleared.
   
                The number of events registered in this table
                over the lifetime of the table. If the underlying
                management system is restarted this count is reset.
                Use this node to determine table activity.

                This scalar object represents the subset of events 
                that are Sensor Enable ChangeEvents."
        ::= { eventLog 12 }


saHpiSensorEnableChangeEventLogActiveEntries OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This scalar object represents the subset of events that
                are Sensor Enable ChangeEvents."
        ::= { eventLog 13 }


saHpiSensorEnableChangeEventLogTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiSensorEnableChangeEventLogEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Event table."
        ::= { eventLog 14 }


saHpiSensorEnableChangeEventLogEntry OBJECT-TYPE
        SYNTAX SaHpiSensorEnableChangeEventLogEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Sensor Enable Change events."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiSensorNum,
                saHpiEventSeverity,
                saHpiSensorEnableChangeEventEntryId }
        ::= { saHpiSensorEnableChangeEventLogTable 1 }


SaHpiSensorEnableChangeEventLogEntry ::= SEQUENCE {
        saHpiSensorEnableChangeEventLogTimestamp      SaHpiTime,
        saHpiSensorEnableChangeEventLogType           SaHpiSensorType,
        saHpiSensorEnableChangeEventLogCategory       SaHpiEventCategory,
        saHpiSensorEnableChangeEventLogEnabled        TruthValue,
        saHpiSensorEnableChangeEventLogEventsEnabled  TruthValue,
        saHpiSensorEnableChangeEventLogAssertEvents   SaHpiEventState,
        saHpiSensorEnableChangeEventLogDeassertEvents SaHpiEventState,
        saHpiSensorEnableChangeEventLogOptionalData   SaHpiOptionalData,
        saHpiSensorEnableChangeEventLogState          SaHpiEventState }


saHpiSensorEnableChangeEventLogTimestamp OBJECT-TYPE
        SYNTAX SaHpiTime
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to textual convention for SaHpiTime for more
                details.  The value is Equal to TIME_UNSPECIFIED if
                time is not available; Absolute time if greater
                than TIME_MAX_RELATIVE, Relative time 
                if less than or equal to TIME_MAX_RELATIVE."
        ::= { saHpiSensorEnableChangeEventLogEntry 1 }


saHpiSensorEnableChangeEventLogType OBJECT-TYPE
        SYNTAX SaHpiSensorType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more
                details."
        ::= { saHpiSensorEnableChangeEventLogEntry 2 }


saHpiSensorEnableChangeEventLogCategory OBJECT-TYPE
        SYNTAX SaHpiEventCategory
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more details."
        ::= { saHpiSensorEnableChangeEventLogEntry 3 }


saHpiSensorEnableChangeEventLogEnabled OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Current sensor enable status."
        ::= { saHpiSensorEnableChangeEventLogEntry 4 }


saHpiSensorEnableChangeEventLogEventsEnabled OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Current event enable status."
        ::= { saHpiSensorEnableChangeEventLogEntry 5 }


saHpiSensorEnableChangeEventLogAssertEvents OBJECT-TYPE
        SYNTAX SaHpiEventState
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more details."
        ::= { saHpiSensorEnableChangeEventLogEntry 6 }


saHpiSensorEnableChangeEventLogDeassertEvents OBJECT-TYPE
        SYNTAX SaHpiEventState
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more details."
        ::= { saHpiSensorEnableChangeEventLogEntry 7 }


saHpiSensorEnableChangeEventLogOptionalData OBJECT-TYPE
        SYNTAX SaHpiOptionalData
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "See textual convention SaHpiOptionalData."
        REFERENCE

                "See SAI-HPI-B.01.01 section 8.14"
        ::= { saHpiSensorEnableChangeEventLogEntry 8 }


saHpiSensorEnableChangeEventLogState OBJECT-TYPE
        SYNTAX SaHpiEventState
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Current set of asserted Event states."
        ::= { saHpiSensorEnableChangeEventLogEntry 9 }


-- *********************************
-- **
-- **     HotSwap Event Log
-- **
-- *********************************

saHpiHotSwapEventLogLifetimeChanges OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Use this value to determine table activity.  It is incremented 
                each time an event is registered in this table.  It is also 
                incremented whenever an event is removed or the entire table
                is cleared.
   
                The number of events registered in this table
                over the lifetime of the table. If the underlying
                management system is restarted this count is reset.
                Use this node to determine table activity.

                This scalar object represents the subset of events 
                that are HotSwap Events."
        ::= { eventLog 15 }


saHpiHotSwapEventLogActiveEntries OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This scalar object represents the subset of events that
                are HotSwap Events."
        ::= { eventLog 16 }


saHpiHotSwapEventLogTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiHotSwapEventLogEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Event table."
        ::= { eventLog 17 }

saHpiHotSwapEventLogEntry OBJECT-TYPE
        SYNTAX SaHpiHotSwapEventLogEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Hot Swap events."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiEventSeverity,
                saHpiHotSwapEventEntryId }
        ::= { saHpiHotSwapEventLogTable 1 }


SaHpiHotSwapEventLogEntry ::= SEQUENCE {
        saHpiHotSwapEventLogTimestamp     SaHpiTime,
        saHpiHotSwapEventLogState         SaHpiHotSwapState,
        saHpiHotSwapEventLogPreviousState SaHpiHotSwapState }


saHpiHotSwapEventLogTimestamp OBJECT-TYPE
        SYNTAX SaHpiTime
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to textual convention for SaHpiTime for more
                details.  The value is Equal to TIME_UNSPECIFIED
                if time is not available; Absolute time if greater
                than TIME_MAX_RELATIVE, Relative time 
                if less than or equal to TIME_MAX_RELATIVE."
        ::= { saHpiHotSwapEventLogEntry 1 }


saHpiHotSwapEventLogState OBJECT-TYPE
        SYNTAX SaHpiHotSwapState
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for full details."
        ::= { saHpiHotSwapEventLogEntry 2 }


saHpiHotSwapEventLogPreviousState OBJECT-TYPE
        SYNTAX SaHpiHotSwapState
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for full details."
        ::= { saHpiHotSwapEventLogEntry 3 }


-- *********************************
-- **
-- **     Watchdog Event Log
-- **
-- *********************************

saHpiWatchdogEventLogLifetimeChanges OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Use this value to determine table activity.  It is incremented 
                each time an event is registered in this table.  It is also 
                incremented whenever an event is removed or the entire table
                is cleared.
   
                The number of events registered in this table
                over the lifetime of the table. If the
                underlying management system is restarted
                this count is reset.  Use this node to 
                determine table activity.

                This scalar object represents the subset of events 
                that are Watchdog Events."
        ::= { eventLog 18 }


saHpiWatchdogEventLogActiveEntries OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This scalar object represents the subset of events that
                are Watchdog Events."
        ::= { eventLog 19 }


saHpiWatchdogEventLogTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiWatchdogEventLogEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Event table."
        ::= { eventLog 20 }


saHpiWatchdogEventLogEntry OBJECT-TYPE
        SYNTAX SaHpiWatchdogEventLogEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Watchdog events."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiWatchdogNum,
                saHpiEventSeverity,
                saHpiWatchdogEventEntryId }
        ::= { saHpiWatchdogEventLogTable 1 }


SaHpiWatchdogEventLogEntry ::= SEQUENCE {
        saHpiWatchdogEventLogTimestamp      SaHpiTime,
        saHpiWatchdogEventLogAction         INTEGER,
        saHpiWatchdogEventLogPreTimerAction SaHpiWatchdogPreTimerAction,
        saHpiWatchdogEventLogUse            SaHpiWatchdogTimerUse }


saHpiWatchdogEventLogTimestamp OBJECT-TYPE
        SYNTAX SaHpiTime
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to textual convention for SaHpiTime for more
                 details.  The value is Equal to TIME_UNSPECIFIED
                 if time is not available; Absolute time if greater
                 than TIME_MAX_RELATIVE, Relative time 
                if less than or equal to TIME_MAX_RELATIVE."
        ::= { saHpiWatchdogEventLogEntry 1 }


saHpiWatchdogEventLogAction OBJECT-TYPE
        SYNTAX INTEGER {
                        undefined(0),
                        noAction(1),
                        reset(2),
                        powerDown(3),
                        powerCycle(4),
                        timerInt(9) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "These enumerations represent the possible actions
                 to be taken upon watchdog timer timeout and the
                 events that are generated for watchdog actions."
        ::= { saHpiWatchdogEventLogEntry 2 }


saHpiWatchdogEventLogPreTimerAction OBJECT-TYPE
        SYNTAX SaHpiWatchdogPreTimerAction
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "These enumerations represent the possible types
                of interrupts that may be triggered by a watchdog
                pre-timer event. The actual meaning of these
                operations may differ depending on the hardware
                architecture."
        ::= { saHpiWatchdogEventLogEntry 3 }


saHpiWatchdogEventLogUse OBJECT-TYPE
        SYNTAX SaHpiWatchdogTimerUse
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Watchdog Timer Use
                These enumerations represent the possible watchdog
                users that may have caused the watchdog to expire.
                For instance, if watchdog is being used during power 
                on self test (POST), and it expires, the biosPost(3)
                expiration type will be set. Most specific uses for
                Watchdog timer by users of HPI should 
                indicate smsOs(5)  if the use is to provide an
                OS-healthy heartbeat, 
                or oem(6) if it is used for some other purpose."
        ::= { saHpiWatchdogEventLogEntry 4 }


-- *********************************
-- **
-- **     Software Event Log
-- **
-- *********************************

saHpiSoftwareEventLogLifetimeChanges OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Use this value to determine table activity.  It is incremented 
                each time an event is registered in this table.  It is also 
                incremented whenever an event is removed or the entire table
                is cleared.
   
                The number of events registered in this table
                over the lifetime of the table. If the underlying
                management system is restarted this count is reset.
                Use this node to determine table activity.

                This scalar object represents the subset of events 
                that are Software Events."
        ::= { eventLog 21 }


saHpiSoftwareEventLogActiveEntries OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This scalar object represents the subset of events that
                are Software Events."
        ::= { eventLog 22 }


saHpiSoftwareEventLogTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiSoftwareEventLogEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Event table."
        ::= { eventLog 23 }


saHpiSoftwareEventLogEntry OBJECT-TYPE
        SYNTAX SaHpiSoftwareEventLogEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Software events."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiEventSeverity,
                saHpiSoftwareEventEntryId }
        ::= { saHpiSoftwareEventLogTable 1 }


SaHpiSoftwareEventLogEntry ::= SEQUENCE {
        saHpiSoftwareEventLogTimestamp       SaHpiTime,
        saHpiSoftwareEventLogManufacturerIdT SaHpiManufacturerId,
        saHpiSoftwareEventLogType            INTEGER,
        saHpiSoftwareEventLogTextType        SaHpiTextType,
        saHpiSoftwareEventLogTextLanguage    SaHpiTextLanguage,
        saHpiSoftwareEventLogText            SaHpiText }


saHpiSoftwareEventLogTimestamp OBJECT-TYPE
        SYNTAX SaHpiTime
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to textual convention for SaHpiTime for more
                details.  The value is Equal to TIME_UNSPECIFIED if
                time is not available; Absolute time if greater than
                TIME_MAX_RELATIVE, Relative time 
                if less than or equal to TIME_MAX_RELATIVE."
        ::= { saHpiSoftwareEventLogEntry 1 }


saHpiSoftwareEventLogManufacturerIdT OBJECT-TYPE
        SYNTAX SaHpiManufacturerId
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more details."
        ::= { saHpiSoftwareEventLogEntry 2 }


saHpiSoftwareEventLogType OBJECT-TYPE
        SYNTAX INTEGER {
                        undefined(0),
                        hpieAudit(1),
                        hpieStartup(2),
                        hpieOther(3) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The following type defines the types of events that can be
                reported  by the HPI software implementation. 

                Audit events report a discrepancy in the audit process.  
                Audits are typically performed by HA software to detect
                problems.  

                Audits may look for such things as corrupted data stores, 
                inconsistent RPT information, or improperly managed queues.

                Startup events report a failure to start-up properly, or 
                inconsistencies in persisted data. 

                Note: Enumerated values are increased
                      by one value compared to SAI-HPI-B spec."
        ::= { saHpiSoftwareEventLogEntry 3 }


saHpiSoftwareEventLogTextType OBJECT-TYPE
        SYNTAX SaHpiTextType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more details."
        ::= { saHpiSoftwareEventLogEntry 4 }


saHpiSoftwareEventLogTextLanguage OBJECT-TYPE
        SYNTAX SaHpiTextLanguage
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more details."
        ::= { saHpiSoftwareEventLogEntry 5 }


saHpiSoftwareEventLogText OBJECT-TYPE
        SYNTAX SaHpiText
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more details."
        ::= { saHpiSoftwareEventLogEntry 6 }


-- *********************************
-- **
-- **     Oem Event Log
-- **
-- *********************************

saHpiOemEventLogLifetimeChanges OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Use this value to determine table activity.  It is incremented 
                each time an event is registered in this table.  It is also 
                incremented whenever an event is removed or the entire table
                is cleared.
   
                The number of events registered in this table
                over the lifetime of the table. If the underlying
                management system is restarted this count is reset. 
                Use this node to determine table activity.

                This scalar object represents the subset of events 
                that are Oem Events."
        ::= { eventLog 24 }


saHpiOemEventLogActiveEntries OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This scalar object represents the subset of events that
                are Oem Events."
        ::= { eventLog 25 }


saHpiOemEventLogTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiOemEventLogEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Event table."
        ::= { eventLog 26 }


saHpiOemEventLogEntry OBJECT-TYPE
        SYNTAX SaHpiOemEventLogEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Oem events."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiEventSeverity,
                saHpiOemEventEntryId }
        ::= { saHpiOemEventLogTable 1 }


SaHpiOemEventLogEntry ::= SEQUENCE {
        saHpiOemEventLogTimestamp       SaHpiTime,
        saHpiOemEventLogManufacturerIdT SaHpiManufacturerId,
        saHpiOemEventLogTextType        SaHpiTextType,
        saHpiOemEventLogTextLanguage    SaHpiTextLanguage,
        saHpiOemEventLogText            SaHpiText }


saHpiOemEventLogTimestamp OBJECT-TYPE
        SYNTAX SaHpiTime
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to textual convention for SaHpiTime for more details.
                The value is Equal to TIME_UNSPECIFIED if time is not
                available; Absolute time if greater than
                TIME_MAX_RELATIVE, Relative time if less than or
                equal to TIME_MAX_RELATIVE."
        ::= { saHpiOemEventLogEntry 1 }


saHpiOemEventLogManufacturerIdT OBJECT-TYPE
        SYNTAX SaHpiManufacturerId
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more details."
        ::= { saHpiOemEventLogEntry 2 }


saHpiOemEventLogTextType OBJECT-TYPE
        SYNTAX SaHpiTextType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more details."
        ::= { saHpiOemEventLogEntry 3 }


saHpiOemEventLogTextLanguage OBJECT-TYPE
        SYNTAX SaHpiTextLanguage
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more details."
        ::= { saHpiOemEventLogEntry 4 }


saHpiOemEventLogText OBJECT-TYPE
        SYNTAX SaHpiText
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more details."
        ::= { saHpiOemEventLogEntry 5 }


-- *********************************
-- **
-- **     User Event Log
-- **
-- *********************************

saHpiUserEventLogLifetimeChanges OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Use this value to determine table activity.  It is incremented 
                each time an event is registered in this table.  It is also 
                incremented whenever an event is removed or the entire table
                is cleared.
   
                The number of events registered in this table
                over the lifetime of the table.
                If the underlying management system is restarted
                this count is reset.  Use this node to 
                determine table activity.

                This scalar object represents the subset of events 
                that are User Events."
        ::= { eventLog 27 }


saHpiUserEventLogActiveEntries OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This scalar object represents the subset of events that
                are User Events."
        ::= { eventLog 28 }


saHpiUserEventLogTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiUserEventLogEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Event table."
        ::= { eventLog 29 }


saHpiUserEventLogEntry OBJECT-TYPE
        SYNTAX SaHpiUserEventLogEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "User events."
        INDEX {
                saHpiDomainId,
                saHpiEventSeverity,
                saHpiUserEventEntryId }
        ::= { saHpiUserEventLogTable 1 }


SaHpiUserEventLogEntry ::= SEQUENCE {
        saHpiUserEventLogTimestamp    SaHpiTime,
        saHpiUserEventLogTextType     SaHpiTextType,
        saHpiUserEventLogTextLanguage SaHpiTextLanguage,
        saHpiUserEventLogText         SaHpiText,
        saHpiUserEventLogRowStatus    RowStatus }


saHpiUserEventLogTimestamp OBJECT-TYPE
        SYNTAX SaHpiTime
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Refer to textual convention for SaHpiTime for more details.
                The value is Equal to TIME_UNSPECIFIED if time is not
                available; Absolute time if greater than
                TIME_MAX_RELATIVE, Relative time 
                if less than or equal to TIME_MAX_RELATIVE."
        ::= { saHpiUserEventLogEntry 1 }


saHpiUserEventLogTextType OBJECT-TYPE
        SYNTAX SaHpiTextType
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Refer to SaHpiTextType for more details."
        ::= { saHpiUserEventLogEntry 2 }


saHpiUserEventLogTextLanguage OBJECT-TYPE
        SYNTAX SaHpiTextLanguage
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Refer to saHpiTextLanguage for more details."
        ::= { saHpiUserEventLogEntry 3 }


saHpiUserEventLogText OBJECT-TYPE
        SYNTAX SaHpiText
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Refer to saHpiText for more details."
        ::= { saHpiUserEventLogEntry 4 }


saHpiUserEventLogRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "This columnar object contains the status of the row and also
                perform add and delete operations.

                The status column uses four defined values:

                - `active(1)', which indicates that the conceptual row is
                  available for use by the managed device;

                - `createAndGo(4)', which is supplied by a management
                  station wishing to create a new instance of a
                  conceptual row (but not make it available for use by
                  the managed device). This function is used to add a 
                  User Alarm  to this User Event Table and also to the
                  to the Domain Alarm Table; The effect of creating a 
                  new row will also be reflected in the DAT - with
                  a new row there.
                  
                  Developers Note:
                  
                  Avoid creating duplicate entries here! 
                        1. a manager would add an event to the
                           User Event Table, 
                        2. the Sub-agent would see this and call
                           saHpiEventLogAdd(), 
                        3. the event would go thru the HPI system
                           and would be added to the HPI event queue, 
                        4. the sub-agent would read the event queue
                           as part of its normal operations, and when
                           it sees this event it would know to ignore
                           it, since it is already in the table
                          (because the manager added it to the table 
                          to start this whole process)."
        REFERENCE
                "SAI-hpi-B.01.01 section 6.4.3."
        ::= { saHpiUserEventLogEntry 5 }


--/************************************************************************
--  ***********************************************************************
--  ********** ********** ********** Resource Data Record ********** ******
--  **********
--  ***********************************************************************
--  **********************************************************************/

saHpiRdrActiveEntries OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Number of resource data records in this system."
        ::= { hpiResources 1 }


saHpiRdrTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiRdrEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "A table definining Resource Data Records (RDR) records."
        ::= { hpiResources 2 }


saHpiRdrEntry OBJECT-TYPE
        SYNTAX SaHpiRdrEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "The following describes the different types of records
                that exist within a Resource Data Repository  and the
                RDR super-structure to all of the specific RDR
                types (sensor, inventory data, watchdog, etc.)."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiResourceIsHistorical,
                saHpiRdrEntryId }
        ::= { saHpiRdrTable 1 }


SaHpiRdrEntry ::= SEQUENCE {
        saHpiRdrEntryId      SaHpiEntryId,
        saHpiRdrNextEntryId  SaHpiEntryId,
        saHpiRdrType         INTEGER,
        saHpiRdrEntityPath   SaHpiEntityPath,
        saHpiRdrIsFru        TruthValue,
        saHpiRdrRowPointer   RowPointer,
        saHpiRdrRPT          RowPointer,
        saHpiRdrTextType     SaHpiTextType,
        saHpiRdrTextLanguage SaHpiTextLanguage,
        saHpiRdrIdString     OCTET STRING }


saHpiRdrEntryId OBJECT-TYPE
        SYNTAX SaHpiEntryId
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Id of the Resource Data Repository (RDR) entry."
        ::= { saHpiRdrEntry 1 }


saHpiRdrNextEntryId OBJECT-TYPE
        SYNTAX SaHpiEntryId
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "ID of the next Resource Data Repository (RDR) entry.
                 Use this to aid in walking just the RDRs for a given
                 ResourceId.  

                For example If you know the DomainId and ResourceId
                use SAHPI_FIRST_ENTRY to retrieve this columnar object.
                Now you have the saHpiRdrEntryId for the next RDR owned
                by the Resource in question.  When the value of
                saHpiRdrNextEntryId is SAHPI_LAST_ENTRY it means the 
                index specified represents the last valid RDR represented
                by the Resource in question."
        REFERENCE
                "see section 7.1.1."
        ::= { saHpiRdrEntry 2 }


saHpiRdrType OBJECT-TYPE
        SYNTAX INTEGER {
                        undefined(0),
                        noRecord(1),
                        ctrlRdr(2),
                        sensorRdr(3),
                        inventoryRdr(4),
                        watchdogRdr(5),
                        annunciatorRdr(6) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Type of Resource Data Repository entry.

                Note: Enumerated values are increased by one
                value compared to SAI-HPI-B.01.01 spec."
        ::= { saHpiRdrEntry 3 }


saHpiRdrEntityPath OBJECT-TYPE
        SYNTAX SaHpiEntityPath
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "See Textual-Convention for details."
        ::= { saHpiRdrEntry 4 }


saHpiRdrIsFru OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Entity is a FRU.  This field is Only valid if the
                Entity path given in the 'Entity' field is different
                from the Entity path in the RPT entry for the resource."
        ::= { saHpiRdrEntry 5 }


saHpiRdrRowPointer OBJECT-TYPE
        SYNTAX RowPointer
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Forward pointer to one of the four types of tables:

                saHpiCtrlRec        
                saHpiSensorRec
                saHpiInventoryRec
                saHpiWatchdogRec"
        ::= { saHpiRdrEntry 6 }


saHpiRdrRPT OBJECT-TYPE
        SYNTAX RowPointer
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Forward pointer to the Resource Presence Table (RPT)
                entry."
        ::= { saHpiRdrEntry 7 }


saHpiRdrTextType OBJECT-TYPE
        SYNTAX SaHpiTextType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The resource text definition. See textual definition for
                more information."
        ::= { saHpiRdrEntry 8 }


saHpiRdrTextLanguage OBJECT-TYPE
        SYNTAX SaHpiTextLanguage
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The resource text language type. See textual definition for
                more information."
        ::= { saHpiRdrEntry 9 }


saHpiRdrIdString OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "ID String of the Resource Data Repository entry."
        ::= { saHpiRdrEntry 10 }


--/************************************************************************
-- * **********************************************************************
-- * ** ********** ********** Control Resource and States tables **********
-- * **********************************************************************
-- * **********************************************************************/
--
-- Digital 
--

saHpiCtrlDigitalActiveEntries OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of digital controls in the system."
        ::= { hpiControl 1 }


saHpiCtrlDigitalTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiCtrlDigitalEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "A table of digital controls and its states."
        ::= { hpiControl 2 }


saHpiCtrlDigitalEntry OBJECT-TYPE
        SYNTAX SaHpiCtrlDigitalEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Definition of the digital control table."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiResourceIsHistorical,
                saHpiCtrlDigitalEntryId }
        ::= { saHpiCtrlDigitalTable 1 }


SaHpiCtrlDigitalEntry ::= SEQUENCE {
        saHpiCtrlDigitalEntryId      SaHpiEntryId,
        saHpiCtrlDigitalNum          SaHpiInstrumentId,
        saHpiCtrlDigitalOutputType   SaHpiCtrlOutputType,
        saHpiCtrlDigitalDefaultMode  SaHpiCtrlMode,
        saHpiCtrlDigitalMode         SaHpiCtrlMode,
        saHpiCtrlDigitalIsReadOnly   TruthValue,
        saHpiCtrlDigitalIsWriteOnly  TruthValue,
        saHpiCtrlDigitalDefaultState SaHpiCtrlStateDigital,
        saHpiCtrlDigitalState        SaHpiCtrlStateDigital,
        saHpiCtrlDigitalOem          Unsigned32,
        saHpiCtrlDigitalRDR          RowPointer }


saHpiCtrlDigitalEntryId OBJECT-TYPE
        SYNTAX SaHpiEntryId
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This index element is here to help facilitate browsing
                 of digital controls based on resource id.
                For example to find the first digital control from the
                domain 1, for the resource 3, construct the index tuple
                to be 1.3.0.
                See textual convention for further details."
        ::= { saHpiCtrlDigitalEntry 1 }

saHpiCtrlDigitalNum OBJECT-TYPE
        SYNTAX SaHpiInstrumentId
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The control number"
        ::= { saHpiCtrlDigitalEntry 2 }


saHpiCtrlDigitalOutputType OBJECT-TYPE
        SYNTAX SaHpiCtrlOutputType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more details on the
                enumerations.

                Note: Enumerated values are increased by one
                value compared to SAI-HPI-B.01.01 spec."
        ::= { saHpiCtrlDigitalEntry 3 }


saHpiCtrlDigitalDefaultMode OBJECT-TYPE
        SYNTAX SaHpiCtrlMode
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object describes the default method the control
                is managed.  The control may be managed automatically
                by the implementation (auto mode).  Or it may be managed
                by the HPI SNMP Manager (manual mode).  Some controls allow 
                their modes to be changed, allowing the HPI SNMP Manager
                to determine if they will manage the control,
                or relinquish the management to the implementation.
                But, other controls do not allow the mode to be 
                changed.  These static-mode controls are indicated
                with the saHpiCtrlDigitalReadOnly flag set as part of
                the default control mode.
                        
                Note: Enumerated values are increased by one value
                      compared to SAI-HPI-B.01.01 spec."
        REFERENCE

                "See section 7.3.2 and 7.3.3 from
                 SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlDigitalEntry 4 }


saHpiCtrlDigitalMode OBJECT-TYPE
        SYNTAX SaHpiCtrlMode
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object describes how the control is managed. 
                The control may be managed automatically by the
                implementation (auto mode).  Or it may be managed
                by the HPI SNMP Manager (manual mode).  Some controls allow 
                their modes to be changed, allowing the HPI SNMP
                Manager to determine if they will manage the control,
                or relinquish the management to the implementation. 
                But, other controls do not allow the mode to be 
                changed.  These static-mode controls are indicated with the 
                saHpiCtrlDigitalReadOnly flag set as part of the default
                control mode.
                        
                When the mode is set to auto(1), the state input is 
                ignored. Ignored state inputs are not checked by the
                implementation. 

                Note: Enumerated values are increased by one value
                      compared to SAI-HPI-B.01.01 spec."
        REFERENCE
                "See section 7.3.2 and 7.3.3 from
                 SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlDigitalEntry 5 }


saHpiCtrlDigitalIsReadOnly OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Indicates if mode is read-only"
        REFERENCE
                "See section 8.7 and 8.8 from
                 SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlDigitalEntry 6 }


saHpiCtrlDigitalIsWriteOnly OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Indicates if Control is write-only"
        REFERENCE
                "See section 7.3.2, 8.7 and 8.8 from
                SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlDigitalEntry 7 }


saHpiCtrlDigitalDefaultState OBJECT-TYPE
        SYNTAX SaHpiCtrlStateDigital
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object represents the default digital control state.

                Refer to the textual convention for more details on the
                enumerations."
        REFERENCE
                "See section 7.1.1, 7.3.2, 7.3.3. 8.7
                 and 8.8 from SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlDigitalEntry 8 }


saHpiCtrlDigitalState OBJECT-TYPE
        SYNTAX SaHpiCtrlStateDigital
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object represents the current digital state of
                the control.  Write to this object to change the
                digital state.  

                You may not change the state of the control unless
                the Mode is set to manual(2).  If a write is
                attempted when the mode is set to auto(1), SNMP
                will return an error-status of inconsistentValue.

                Refer to the textual convention for more details on the
                enumerations.

                Note that the SNMP errors that are returned are
                mapped to the HPI errors that could be returned
                (errors above the value 6 are SNMPv2 or v3 protocol
                and are converted to genErr(1) for v1 protocol).

                  SA_ERR_HPI_ERROR               genErr(5)           
                  SA_ERR_HPI_UNSUPPORTED_API     genErr(5)           
                  SA_ERR_HPI_BUSY                genErr(5)           
                  SA_ERR_HPI_INTERNAL_ERROR      genErr(5)           
                  SA_ERR_HPI_INVALID_CMD         genErr(5)           
                  SA_ERR_HPI_TIMEOUT             genErr(5)           
                  SA_ERR_HPI_OUT_OF_SPACE        genErr(5)           
                  SA_ERR_HPI_OUT_OF_MEMORY       genErr(5)           
                  SA_ERR_HPI_INVALID_PARAMS      genErr(5)           
                  SA_ERR_HPI_INVALID_DATA        wrongValue(10)      
                  SA_ERR_HPI_NOT_PRESENT         inconsistentName(18)
                  SA_ERR_HPI_NO_RESPONSE         genErr(5)           
                  SA_ERR_HPI_DUPLICATE           genErr(5)           
                  SA_ERR_HPI_INVALID_SESSION     genErr(5)           
                  SA_ERR_HPI_INVALID_DOMAIN      inconsistentName(18)
                  SA_ERR_HPI_INVALID_RESOURCE    inconsistentName(18)
                  SA_ERR_HPI_INVALID_REQUEST     genErr(5)           
                  SA_ERR_HPI_ENTITY_NOT_PRESENT  inconsistentName(18)
                  SA_ERR_HPI_READ_ONLY           notWritable(9)      
                  SA_ERR_HPI_CAPABILITY          genErr(5)           
                  SA_ERR_HPI_UNKNOWN             genErr(5)"
        REFERENCE
                "See section 7.3.2, 7.3.3. 8.7 and
                  8.8 from SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlDigitalEntry 9 }


saHpiCtrlDigitalOem OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Reserved for Oem use"
        REFERENCE

                "See section 8.8 from SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlDigitalEntry 10 }


saHpiCtrlDigitalRDR OBJECT-TYPE
        SYNTAX RowPointer
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Pointer to Resource Table for this digital control."
        ::= { saHpiCtrlDigitalEntry 11 }


---
--- Discrete
---

saHpiCtrlDiscreteActiveEntries OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of discrete controls  in the system."
        ::= { hpiControl 3 }


saHpiCtrlDiscreteTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiCtrlDiscreteEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "A table of discrete controls and its states."
        ::= { hpiControl 4 }


saHpiCtrlDiscreteEntry OBJECT-TYPE
        SYNTAX SaHpiCtrlDiscreteEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Definition of the discrete control table."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiResourceIsHistorical,
                saHpiCtrlDiscreteEntryId }
        ::= { saHpiCtrlDiscreteTable 1 }


SaHpiCtrlDiscreteEntry ::= SEQUENCE {
        saHpiCtrlDiscreteEntryId      SaHpiEntryId,
        saHpiCtrlDiscreteNum          SaHpiInstrumentId,
        saHpiCtrlDiscreteOutputType   SaHpiCtrlOutputType,
        saHpiCtrlDiscreteDefaultMode  SaHpiCtrlMode,
        saHpiCtrlDiscreteMode         SaHpiCtrlMode,
        saHpiCtrlDiscreteIsReadOnly   TruthValue,
        saHpiCtrlDiscreteIsWriteOnly  TruthValue,
        saHpiCtrlDiscreteDefaultState Unsigned32,
        saHpiCtrlDiscreteState        Unsigned32,
        saHpiCtrlDiscreteOem          Unsigned32,
        saHpiCtrlDiscreteRDR          RowPointer }


saHpiCtrlDiscreteEntryId OBJECT-TYPE
        SYNTAX SaHpiEntryId
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This index element is here to help facilitate browsing
                of digital controls based on resource id.

                For example to find the first digital control from
               the domain 1, for the resource 3, construct the
                index tuple to be 1.3.0.

                See textual convention for further details."
        ::= { saHpiCtrlDiscreteEntry 1 }


saHpiCtrlDiscreteNum OBJECT-TYPE
        SYNTAX SaHpiInstrumentId
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The control number"
        ::= { saHpiCtrlDiscreteEntry 2 }


saHpiCtrlDiscreteOutputType OBJECT-TYPE
        SYNTAX SaHpiCtrlOutputType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more details on the
                enumerations.

                Note: Enumerated values are increased by one value compared to
                SAI-HPI-B.01.01 spec."
        ::= { saHpiCtrlDiscreteEntry 3 }


saHpiCtrlDiscreteDefaultMode OBJECT-TYPE
        SYNTAX SaHpiCtrlMode
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object describes the default method the control
                is managed.  The control may be managed automatically
                by the implementation (auto mode).  Or it 
                may be managed by the HPI SNMP Manager (manual mode). 
                Some controls allow their modes to be changed, allowing
                the HPI SNMP Manager to determine if they will manage
                the control, or relinquish the management to the 
                implementation.  Other controls do not allow the mode
                to be changed.  These static-mode controls are indicated
                with the saHpiCtrlDiscreteReadOnly flag set as part
                of the default control mode.
                        
                Note: Enumerated values are increased by one value
                      compared to SAI-HPI-B.01.01 spec."
        REFERENCE
                "See section 7.3.2 and 7.3.3 from
                 SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlDiscreteEntry 4 }


saHpiCtrlDiscreteMode OBJECT-TYPE
        SYNTAX SaHpiCtrlMode
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object describes how the control is managed. 
                The control may be managed automatically by the
                implementation (auto mode).  Or it may be managed by
                the HPI SNMP Manager (manual mode).  Some controls allow 
                their modes to be changed, allowing the
                HPI SNMP Manager to determine if they will manage
                the control, or relinquish the management to the 
                implementation.  But, other controls do not allow
                the mode to be changed.  These static-mode controls
                are indicated with the saHpiCtrlDiscreteReadOnly
                flag set as part of the default control mode.
                        
                Note: Enumerated values are increased by one value
                     compared to SAI-HPI-B.01.01 spec."
        REFERENCE
                "See section 7.3.2 and 7.3.3 from
                 SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlDiscreteEntry 5 }


saHpiCtrlDiscreteIsReadOnly OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Indicates if mode is read-only"
        REFERENCE
                "See section 8.7 and 8.8 from
                 SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlDiscreteEntry 6 }


saHpiCtrlDiscreteIsWriteOnly OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Indicates if Control is write-only"
        REFERENCE
                "See section 7.3.2, 8.7 and 8.8 from
                SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlDiscreteEntry 7 }


saHpiCtrlDiscreteDefaultState OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object represents the default value of the discrete
                control resource. 

                Refer to the textual convention for more details on the
                enumerations."
        REFERENCE

                "See section 7.3.2, 7.3.3. 8.7 and 8.8 from
                 SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlDiscreteEntry 8 }


saHpiCtrlDiscreteState OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object represents the current discrete state of
                the control.  Write to this object to change the values
                of the state.
                    
                You may not change the state of the control unless
                the Mode is set to manual(2).  If a write is
                attempted when the mode is set to auto(1), SNMP
                will return an error-status of inconsistentValue.

            Note that the SNMP errors that are returned are mapped to the
            HPI errors that could be returned (errors above the value 6
            are SNMPv2 or v3 protocol and are converted to genErr(1) for v1
            protocol).

                 SA_ERR_HPI_ERROR               genErr(5)           
                 SA_ERR_HPI_UNSUPPORTED_API     genErr(5)           
                 SA_ERR_HPI_BUSY                genErr(5)           
                 SA_ERR_HPI_INTERNAL_ERROR      genErr(5)           
                 SA_ERR_HPI_INVALID_CMD         genErr(5)           
                 SA_ERR_HPI_TIMEOUT             genErr(5)           
                 SA_ERR_HPI_OUT_OF_SPACE        genErr(5)           
                 SA_ERR_HPI_OUT_OF_MEMORY       genErr(5)           
                 SA_ERR_HPI_INVALID_PARAMS      genErr(5)           
                 SA_ERR_HPI_INVALID_DATA        wrongValue(10)      
                 SA_ERR_HPI_NOT_PRESENT         inconsistentName(18)
                 SA_ERR_HPI_NO_RESPONSE         genErr(5)           
                 SA_ERR_HPI_DUPLICATE           genErr(5)           
                 SA_ERR_HPI_INVALID_SESSION     genErr(5)           
                 SA_ERR_HPI_INVALID_DOMAIN      inconsistentName(18)
                 SA_ERR_HPI_INVALID_RESOURCE    inconsistentName(18)
                 SA_ERR_HPI_INVALID_REQUEST     genErr(5)           
                 SA_ERR_HPI_ENTITY_NOT_PRESENT  inconsistentName(18)
                 SA_ERR_HPI_READ_ONLY           notWritable(9)      
                 SA_ERR_HPI_CAPABILITY          genErr(5)           
                 SA_ERR_HPI_UNKNOWN             genErr(5)"
        REFERENCE
                "See section 7.3.2, 7.3.3. 8.7 and 8.8
                 from SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlDiscreteEntry 9 }


saHpiCtrlDiscreteOem OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Reserved for Oem use"
        REFERENCE
                "See section 8.8 from SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlDiscreteEntry 10 }


saHpiCtrlDiscreteRDR OBJECT-TYPE
        SYNTAX RowPointer
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
              "Pointer to Resource Table for this discrete control entry."
        ::= { saHpiCtrlDiscreteEntry 11 }


--
-- Analog
--

saHpiCtrlAnalogActiveEntries OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of analog controls in the system."
        ::= { hpiControl 6 }


saHpiCtrlAnalogTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiCtrlAnalogEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "A table of analog controls and its states."
        ::= { hpiControl 7 }


saHpiCtrlAnalogEntry OBJECT-TYPE
        SYNTAX SaHpiCtrlAnalogEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Definition of the analog control table."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiResourceIsHistorical,
                saHpiCtrlAnalogEntryId }
        ::= { saHpiCtrlAnalogTable 1 }


SaHpiCtrlAnalogEntry ::= SEQUENCE {
        saHpiCtrlAnalogEntryId         SaHpiEntryId,
        saHpiCtrlAnalogNum             SaHpiInstrumentId,
        saHpiCtrlAnalogOutputType      SaHpiCtrlOutputType,
        saHpiCtrlAnalogDefaultMode     SaHpiCtrlMode,
        saHpiCtrlAnalogMode            SaHpiCtrlMode,
        saHpiCtrlAnalogIsReadOnly      TruthValue,
        saHpiCtrlAnalogIsWriteOnly     TruthValue,
        saHpiCtrlAnalogDefaultMinState Integer32,
        saHpiCtrlAnalogDefaultMaxState Integer32,
        saHpiCtrlAnalogDefaultState    Integer32,
        saHpiCtrlAnalogState           Integer32,
        saHpiCtrlAnalogOem             Unsigned32,
        saHpiCtrlAnalogRDR             RowPointer }


saHpiCtrlAnalogEntryId OBJECT-TYPE
        SYNTAX SaHpiEntryId
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "This index element is here to help facilitate
             browsing of digital controls based on resource id.

           For example to find the first digital control from the
           domain 1, for the resource 3, construct the index tuple
           to be 1.3.0.

           See textual convention for further details."
        ::= { saHpiCtrlAnalogEntry 1 }


saHpiCtrlAnalogNum OBJECT-TYPE
        SYNTAX SaHpiInstrumentId
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The control number"
        ::= { saHpiCtrlAnalogEntry 2 }


saHpiCtrlAnalogOutputType OBJECT-TYPE
        SYNTAX SaHpiCtrlOutputType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
             "Refer to the textual convention for more details on the
             enumerations.

           Note: Enumerated values are increased by one value compared to
           SAI-HPI-B.01.01 spec."
        ::= { saHpiCtrlAnalogEntry 3 }


saHpiCtrlAnalogDefaultMode OBJECT-TYPE
        SYNTAX SaHpiCtrlMode
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object describes the default method control
                is managed.  The control may be managed automatically
                by the implementation (auto mode).  Or it may be managed
                by the HPI SNMP Manager (manual mode).  Some controls
                allow their modes to be changed, allowing the HPI SNMP
                Manager to determine if they will manage the control,
                or relinquish the management to the implementation. 
                But, other controls do not allow the mode to be 
                changed.  These static-mode controls are indicated
                with the saHpiCtrlAnalogReadOnly flag set as
                part of the default control mode.
                        
                Note: Enumerated values are increased by one value
                      compared to SAI-HPI-B.01.01 spec."
        REFERENCE
                "See section 7.3.2 and 7.3.3
                 from SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlAnalogEntry 4 }


saHpiCtrlAnalogMode OBJECT-TYPE
        SYNTAX SaHpiCtrlMode
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object describes how the control is managed. 
                 The control may be managed automatically by the
                 implementation (auto mode).  Or it may be managed
                 by the HPI SNMP Manager (manual mode).  Some controls
                 allow their modes to be changed, allowing the HPI
                 SNMP Manager to determine if they will manage the
                 control, or relinquish the management to the 
                 implementation.  But, other controls do not allow
                 the mode to be changed.  These static-mode controls
                 are indicated with the saHpiCtrlAnalogReadOnly
                 flag set as part of the default control mode.
                        
                When the mode is set to auto(1), the state input is 
                ignored. Ignored state inputs are not checked by the
                implementation. 

                Note: Enumerated values are increased by one value
                compared to SAI-HPI-B.01.01 spec."
        REFERENCE
                "See section 7.3.2 and 7.3.3. from
                 SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlAnalogEntry 5 }


saHpiCtrlAnalogIsReadOnly OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Indicates if mode is read-only"
        REFERENCE
                "See section 8.7 and 8.8
                 from SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlAnalogEntry 6 }


saHpiCtrlAnalogIsWriteOnly OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Indicates if Control is write-only"
        REFERENCE
                "See section 7.3.2, 8.7 and 8.8
                 from SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlAnalogEntry 7 }


saHpiCtrlAnalogDefaultMinState OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object represents the default minimum value of this
                analog control."
        REFERENCE

                "See section 7.3.3, 8.7 and 8.8
                from SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlAnalogEntry 8 }


saHpiCtrlAnalogDefaultMaxState OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object represents the default maximum value of this
                analog control."
        REFERENCE

                "See section 7.3.3, 8.7 and 8.8
                 from SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlAnalogEntry 9 }


saHpiCtrlAnalogDefaultState OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object represents the default value of
                 this analog control."
        REFERENCE

                "See section 7.3.2, 8.7 and 8.8
                 from SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlAnalogEntry 10 }


saHpiCtrlAnalogState OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object represents the current state of the
                analog control.  Write to this object to change
                the state.
                    
                You may not change the state of the control unless
                the Mode is set to manual(2).  If a write is
                attempted when the mode is set to auto(1), SNMP
                will return an error-status of inconsistentValue.

             Note that the SNMP errors that are returned are mapped to the
             HPI errors that could be returned (errors above the value 6
             are SNMPv2 or v3 protocol and are converted to genErr(1) for v1
             protocol).

                SA_ERR_HPI_ERROR               genErr(5)           
                SA_ERR_HPI_UNSUPPORTED_API     genErr(5)           
                SA_ERR_HPI_BUSY                genErr(5)           
                SA_ERR_HPI_INTERNAL_ERROR      genErr(5)           
                SA_ERR_HPI_INVALID_CMD         genErr(5)           
                SA_ERR_HPI_TIMEOUT             genErr(5)           
                SA_ERR_HPI_OUT_OF_SPACE        genErr(5)           
                SA_ERR_HPI_OUT_OF_MEMORY       genErr(5)           
                SA_ERR_HPI_INVALID_PARAMS      genErr(5)           
                SA_ERR_HPI_INVALID_DATA        wrongValue(10)      
                SA_ERR_HPI_NOT_PRESENT         inconsistentName(18)
                SA_ERR_HPI_NO_RESPONSE         genErr(5)           
                SA_ERR_HPI_DUPLICATE           genErr(5)           
                SA_ERR_HPI_INVALID_SESSION     genErr(5)           
                SA_ERR_HPI_INVALID_DOMAIN      inconsistentName(18)
                SA_ERR_HPI_INVALID_RESOURCE    inconsistentName(18)
                SA_ERR_HPI_INVALID_REQUEST     genErr(5)           
                SA_ERR_HPI_ENTITY_NOT_PRESENT  inconsistentName(18)
                SA_ERR_HPI_READ_ONLY           notWritable(9)      
                SA_ERR_HPI_CAPABILITY          genErr(5)           
                SA_ERR_HPI_UNKNOWN             genErr(5)"
        REFERENCE
                "See section 7.3.3, 8.7 and 8.8
                 from SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlAnalogEntry 11 }


saHpiCtrlAnalogOem OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Reserved for Oem use"
        REFERENCE

                "See section 8.8 from SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlAnalogEntry 12 }


saHpiCtrlAnalogRDR OBJECT-TYPE
        SYNTAX RowPointer
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Pointer to Resource Table for this analog control."
        ::= { saHpiCtrlAnalogEntry 13 }


--
-- Stream
--

saHpiCtrlStreamActiveEntries OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of stream controls in the system."
        ::= { hpiControl 8 }


saHpiCtrlStreamTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiCtrlStreamEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "A table of stream controls and its states."
        ::= { hpiControl 9 }


saHpiCtrlStreamEntry OBJECT-TYPE
        SYNTAX SaHpiCtrlStreamEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Definition of the stream control table."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiResourceIsHistorical,
                saHpiCtrlStreamEntryId }
        ::= { saHpiCtrlStreamTable 1 }


SaHpiCtrlStreamEntry ::= SEQUENCE {
        saHpiCtrlStreamEntryId       SaHpiEntryId,
        saHpiCtrlStreamNum           SaHpiInstrumentId,
        saHpiCtrlStreamOutputType    SaHpiCtrlOutputType,
        saHpiCtrlStreamDefaultMode   SaHpiCtrlMode,
        saHpiCtrlStreamMode          SaHpiCtrlMode,
        saHpiCtrlStreamIsReadOnly    TruthValue,
        saHpiCtrlStreamIsWriteOnly   TruthValue,
        saHpiCtrlStreamDefaultRepeat TruthValue,
        saHpiCtrlStreamDefaultState  SaHpiText,
        saHpiCtrlStreamRepeat        TruthValue,
        saHpiCtrlStreamState         SaHpiText,
        saHpiCtrlStreamOem           Unsigned32,
        saHpiCtrlStreamRDR           RowPointer }


saHpiCtrlStreamEntryId OBJECT-TYPE
        SYNTAX SaHpiEntryId
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This index element is here to help facilitate
                 browsing of digital controls based on resource id.

                For example to find the first digital control from the
                domain 1, for the resource 3, construct the index tuple
                to be 1.3.0.

                See textual convention for further details."
        ::= { saHpiCtrlStreamEntry 1 }


saHpiCtrlStreamNum OBJECT-TYPE
        SYNTAX SaHpiInstrumentId
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The control number"
        ::= { saHpiCtrlStreamEntry 2 }


saHpiCtrlStreamOutputType OBJECT-TYPE
        SYNTAX SaHpiCtrlOutputType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more details on the
                enumerations.

                Note: Enumerated values are increased by one value
                compared to SAI-HPI-B.01.01 spec."
        ::= { saHpiCtrlStreamEntry 3 }


saHpiCtrlStreamDefaultMode OBJECT-TYPE
        SYNTAX SaHpiCtrlMode
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object describes the default method the control
                 is managed.  The control may be managed automatically
                 by the implementation (auto mode).  Or it may be
                 managed by the HPI SNMP Manager (manual mode).
                 Some controls allow their modes to be changed,
                 allowing the HPI SNMP Manager to determine if they 
                 will manage the control, or relinquish the management
                 to the implementation.  But, other controls do not
                 allow the mode to be changed.  These static-mode
                 controls are indicated with the saHpiCtrlReadOnly
                 flag set as part of the default control mode.
                        
                Note: Enumerated values are increased by one value
                 compared to SAI-HPI-B.01.01 spec."
        REFERENCE
                "See section 7.3, 8.7 and 8.8
                  from SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlStreamEntry 4 }


saHpiCtrlStreamMode OBJECT-TYPE
        SYNTAX SaHpiCtrlMode
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object describes how the control is managed. 
                 The control may be managed automatically by the
                 implementation (auto mode).  Or it may be managed by
                 the HPI SNMP Manager (manual mode).  Some controls allow 
                 their modes to be changed, allowing the HPI SNMP
                 Manager to determine if they will manage the control,
                 or relinquish the management to the implementation. 
                 But, other controls do not allow the mode to be 
                 changed.  These static-mode controls are indicated with
                 the saHpiCtrlReadOnly flag set as part of the default
                 control mode.
                        
                 When the mode is set to auto(1), the state input is 
                 ignored. Ignored state inputs are not checked by the
                 implementation. 

                Note: Enumerated values are increased by one value
                compared to SAI-HPI-B.01.01 spec."
        REFERENCE
                "See section 7.3, 8.7 and 8.8
                from SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlStreamEntry 5 }


saHpiCtrlStreamIsReadOnly OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Indicates if mode is read-only"
        REFERENCE
                "See section 7.3.2, 8.7 and 8.8
                 from SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlStreamEntry 6 }


saHpiCtrlStreamIsWriteOnly OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Indicates if Control is write-only"
        REFERENCE
                "See section 7.3.2, 8.7 and 8.8
                 from SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlStreamEntry 7 }


saHpiCtrlStreamDefaultRepeat OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object represents the default repeat flag of
                 stream control."
        REFERENCE
                "See section 7.1.1, 7.3.2, 8.7 and 8.8
                 from SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlStreamEntry 8 }


saHpiCtrlStreamDefaultState OBJECT-TYPE
        SYNTAX SaHpiText
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object represents the default value of the
                 stream control."
        REFERENCE
                "See section 7.1.1, 7.3.2, 8.7 and 8.8
                from SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlStreamEntry 9 }


saHpiCtrlStreamRepeat OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object represents the current repeat flag of the
                 stream control.  Write to this object to change the
                 repeat value of the stream data.
                        
                You may not change the state of the control unless
                the Mode is set to manual(2).  If a write is
                attempted when the mode is set to auto(1), SNMP
                will return an error-status of inconsistentValue. 

                Note that the SNMP errors that are returned are mapped
                to the HPI errors that could be returned (errors above
                the value 6 are SNMPv2 or v3 protocol and are
                converted to genErr(1) for v1 protocol).

                 SA_ERR_HPI_ERROR               genErr(5)           
                 SA_ERR_HPI_UNSUPPORTED_API     genErr(5)           
                 SA_ERR_HPI_BUSY                genErr(5)           
                 SA_ERR_HPI_INTERNAL_ERROR      genErr(5)           
                 SA_ERR_HPI_INVALID_CMD         genErr(5)           
                 SA_ERR_HPI_TIMEOUT             genErr(5)           
                 SA_ERR_HPI_OUT_OF_SPACE        genErr(5)           
                 SA_ERR_HPI_OUT_OF_MEMORY       genErr(5)           
                 SA_ERR_HPI_INVALID_PARAMS      genErr(5)           
                 SA_ERR_HPI_INVALID_DATA        wrongValue(10)      
                 SA_ERR_HPI_NOT_PRESENT         inconsistentName(18)
                 SA_ERR_HPI_NO_RESPONSE         genErr(5)           
                 SA_ERR_HPI_DUPLICATE           genErr(5)           
                 SA_ERR_HPI_INVALID_SESSION  *  genErr(5)           
                 SA_ERR_HPI_INVALID_DOMAIN      inconsistentName(18)
                 SA_ERR_HPI_INVALID_RESOURCE    inconsistentName(18)
                 SA_ERR_HPI_INVALID_REQUEST     genErr(5)           
                 SA_ERR_HPI_ENTITY_NOT_PRESENT  inconsistentName(18)
                 SA_ERR_HPI_READ_ONLY           notWritable(9)      
                 SA_ERR_HPI_CAPABILITY          genErr(5)           
                 SA_ERR_HPI_UNKNOWN             genErr(5)"
        REFERENCE
                "See section 7.3.2, 7.3.3, 8.7 and 8.8
                 from SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlStreamEntry 10 }


saHpiCtrlStreamState OBJECT-TYPE
        SYNTAX SaHpiText
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object represents the current state of the stream
                control.  Write to this object to change the state of
               the stream control.
                    
                You may not change the state of the control unless
                the Mode is set to manual(2).  If a write is
                attempted when the mode is set to auto(1), SNMP
                will return an error-status of inconsistentValue.
  
              Note that the SNMP errors that are returned are mapped to the
              HPI errors that could be returned (errors above the value 6
              are SNMPv2 or v3 protocol and are converted to genErr(1)
              for v1 protocol).

                SA_ERR_HPI_ERROR               genErr(5)           
                SA_ERR_HPI_UNSUPPORTED_API     genErr(5)           
                SA_ERR_HPI_BUSY                genErr(5)           
                SA_ERR_HPI_INTERNAL_ERROR      genErr(5)           
                SA_ERR_HPI_INVALID_CMD         genErr(5)           
                SA_ERR_HPI_TIMEOUT             genErr(5)           
                SA_ERR_HPI_OUT_OF_SPACE        genErr(5)           
                SA_ERR_HPI_OUT_OF_MEMORY       genErr(5)           
                SA_ERR_HPI_INVALID_PARAMS      genErr(5)           
                SA_ERR_HPI_INVALID_DATA        wrongValue(10)      
                SA_ERR_HPI_NOT_PRESENT         inconsistentName(18)
                SA_ERR_HPI_NO_RESPONSE         genErr(5)           
                SA_ERR_HPI_DUPLICATE           genErr(5)           
                SA_ERR_HPI_INVALID_SESSION     genErr(5)           
                SA_ERR_HPI_INVALID_DOMAIN      inconsistentName(18)
                SA_ERR_HPI_INVALID_RESOURCE    inconsistentName(18)
                SA_ERR_HPI_INVALID_REQUEST     genErr(5)           
                SA_ERR_HPI_ENTITY_NOT_PRESENT  inconsistentName(18)
                SA_ERR_HPI_READ_ONLY           notWritable(9)      
                SA_ERR_HPI_CAPABILITY          genErr(5)           
                SA_ERR_HPI_UNKNOWN             genErr(5)"       
        REFERENCE
                "See section 7.3.2, 7.3.3, 8.7 and 8.8
                 from SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlStreamEntry 11 }


saHpiCtrlStreamOem OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Reserved for Oem use"
        REFERENCE

                "See section 8.8 from SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlStreamEntry 12 }


saHpiCtrlStreamRDR OBJECT-TYPE
        SYNTAX RowPointer
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Pointer to Resource Table for this stream control."
        ::= { saHpiCtrlStreamEntry 13 }


---
--- Text
---

saHpiCtrlTextActiveEntries OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of text controls  in the system."
        ::= { hpiControl 10 }


saHpiCtrlTextTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiCtrlTextEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "A table of text controls and its states."
        ::= { hpiControl 11 }


saHpiCtrlTextEntry OBJECT-TYPE
        SYNTAX SaHpiCtrlTextEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Definition of the text control table."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiResourceIsHistorical,
                saHpiCtrlTextEntryId }
        ::= { saHpiCtrlTextTable 1 }


SaHpiCtrlTextEntry ::= SEQUENCE {
        saHpiCtrlTextEntryId     SaHpiEntryId,
        saHpiCtrlTextNum         SaHpiInstrumentId,
        saHpiCtrlTextOutputType  SaHpiCtrlOutputType,
        saHpiCtrlTextDefaultMode SaHpiCtrlMode,
        saHpiCtrlTextMode        SaHpiCtrlMode,
        saHpiCtrlTextIsReadOnly  TruthValue,
        saHpiCtrlTextIsWriteOnly TruthValue,
        saHpiCtrlTextMaxChars    Unsigned8,
        saHpiCtrlTextMaxLines    Unsigned8,
        saHpiCtrlTextLanguage    SaHpiTextLanguage,
        saHpiCtrlTextType        SaHpiTextType,
        saHpiCtrlTextDefaultLine Unsigned8,
        saHpiCtrlTextDefault     SaHpiText,
        saHpiCtrlTextLine        Unsigned8,
        saHpiCtrlTextState       SaHpiText,
        saHpiCtrlTextOem         Unsigned32,
        saHpiCtrlTextRDR         RowPointer }


saHpiCtrlTextEntryId OBJECT-TYPE
        SYNTAX SaHpiEntryId
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This index element is here to help facilitate browsing
                 of digital controls based on resource id.

                For example to find the first digital control from
                the domain 1, for the resource 3, construct the index
               tuple to be 1.3.0.

                See textual convention for further details."
        ::= { saHpiCtrlTextEntry 1 }


saHpiCtrlTextNum OBJECT-TYPE
        SYNTAX SaHpiInstrumentId
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The control number"
        ::= { saHpiCtrlTextEntry 2 }


saHpiCtrlTextOutputType OBJECT-TYPE
        SYNTAX SaHpiCtrlOutputType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more details on the
                enumerations.

                Note: Enumerated values are increased by one value
                compared to SAI-HPI-B.01.01 spec."
        REFERENCE

                "See section 8.7 and 8.8
                 from SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlTextEntry 3 }


saHpiCtrlTextDefaultMode OBJECT-TYPE
        SYNTAX SaHpiCtrlMode
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object describes the default method the control
                is managed.  The control may be managed automatically
                by the implementation (auto mode).  Or it 
                may be managed by the HPI User (manual mode). 
                Some controls allow their modes to be changed,
                allowing the HPI User to determine if they 
                will manage the control, or relinquish the
                management to the implementation.  But, other
                controls do not allow the mode to be 
                changed.  These static-mode controls are indicated
                with the saHpiCtrlReadOnly flag set as part of the
                default control mode.
                        
               When the mode is set to auto(1), the state input is 
               ignored. Ignored state inputs are not checked by the
               implementation. 

                Note: Enumerated values are increased by one value
                      compared to SAI-HPI-B.01.01 spec."
        REFERENCE
                "See section 8.7 and 8.8
                 from SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlTextEntry 4 }


saHpiCtrlTextMode OBJECT-TYPE
        SYNTAX SaHpiCtrlMode
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object describes how the control is managed. 
                The control may be managed automatically by the
                implementation (auto mode).  Or it may be managed by
                the HPI User (manual mode).  Some controls allow 
                their modes to be changed, allowing the HPI User to
                determine if they will manage the control, or
                relinquish the management to the implementation. 
                But, other controls do not allow the mode to be 
                changed.  These static-mode controls are indicated
                with the saHpiCtrlReadOnly flag set as part of the
                default control mode.
                        
                When the mode is set to auto(1), the state input is 
                ignored. Ignored state inputs are not checked by the
                implementation. 

                Note: Enumerated values are increased by one value
                compared to SAI-HPI-B.01.01 spec."
        REFERENCE
                "See section 8.7 and 8.8
                 from SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlTextEntry 5 }


saHpiCtrlTextIsReadOnly OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Indicates if mode is read-only"
        REFERENCE

                "See section 8.7 and 8.8 from
                 SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlTextEntry 6 }


saHpiCtrlTextIsWriteOnly OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Indicates if Control is write-only"
        REFERENCE
                "See section 7.3.2, 8.7 and 8.8
                 from SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlTextEntry 7 }


saHpiCtrlTextMaxChars OBJECT-TYPE
        SYNTAX Unsigned8
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object represents the maximum characters per
                line for this text control.

                Note: If the saHpiCtrlTextType is unicode(1), there will 
                be two bytes required for each character.  This field 
                reports the number of characters per line- not the 
                number of bytes.  saHpiCtrlTextMaxChars must not be
                larger than the number of characters that can be 
                placed in a saHpiTextState columnar object."
        REFERENCE
                "See section 8.7 and 8.8 from
                 SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlTextEntry 8 }


saHpiCtrlTextMaxLines OBJECT-TYPE
        SYNTAX Unsigned8
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object represents the maximum number of lines of the
                text control."
        REFERENCE
                "See section 8.7 and 8.8 from
                 SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlTextEntry 9 }


saHpiCtrlTextLanguage OBJECT-TYPE
        SYNTAX SaHpiTextLanguage
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object represents the default text language setting
                of the control text."
        REFERENCE
                "See section 8.7 and 8.8
                  from SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlTextEntry 10 }


saHpiCtrlTextType OBJECT-TYPE
        SYNTAX SaHpiTextType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This represents the current text setting of the control."
        REFERENCE
                "See section 8.7 and 8.8 from
                 SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlTextEntry 11 }


saHpiCtrlTextDefaultLine OBJECT-TYPE
        SYNTAX Unsigned8
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object represents the default line number
                of text represented in saHpiCtrlTextDefault object.

                If the line is 255, then saHpiCtrlTextDefault
                columnar object will containt the entire text of
                the control, or as much of it as will fit in a single 
                columnar object. This value will consist of the text
                of all the lines concatenated, 
                using the maximum number of characters for each line
                (no trimming of trailing blanks). 
                        
                Note that depending on the data type and language,
                the text may be encoded in 2-byte 
                Unicode, which requires two bytes of data per character. 

                Note that the number of lines and columns in a text
               control can be obtained from the
               saHpiCtrlTextMaxLines and saHpiCtrlTextMaxChars."
        REFERENCE
                "See section 8.7 and 8.8 from
                 SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlTextEntry 12 }


saHpiCtrlTextDefault OBJECT-TYPE
        SYNTAX SaHpiText
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The default text of a control text resource.
                Refer to saHpiCtrlTextDefaultLine for the line number,
                saHpiCtrlTextLanguage for the
                language setting and saHpiCtrlTextType for the text type."
        REFERENCE
                "See section 8.7 and 8.8
                 from SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlTextEntry 13 }


saHpiCtrlTextLine OBJECT-TYPE
        SYNTAX Unsigned8
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "The current line number of text. Refer to
              saHpiCtrlTextState for usage examples.

              If the line number passed in is 255, then
              saHpiCtrlTextState columnar object will 
              containt the entire text of the control,
              or as much of it as will fit in a single 
              columnar object. This value will consist of
              the text of all the lines concatenated, 
              using the maximum number of characters for
              each line (no trimming of trailing blanks). 
                        
              Note that depending on the data type and language,
              the text may be encoded in 2-byte Unicode, which
              requires two bytes of data per character. 

              Note that the number of lines and columns in a text
              control can be obtained from the saHpiCtrlTextMaxLines
              and saHpiCtrlTextMaxChars. 

              Note that the SNMP errors that are returned are mapped to the
              HPI errors that could be returned (errors above the value 6
              are SNMPv2 or v3 protocol and are converted to
              genErr(1) for v1 protocol).

                 SA_ERR_HPI_ERROR               genErr(5)           
                 SA_ERR_HPI_UNSUPPORTED_API     genErr(5)           
                 SA_ERR_HPI_BUSY                genErr(5)           
                 SA_ERR_HPI_INTERNAL_ERROR      genErr(5)           
                 SA_ERR_HPI_INVALID_CMD         genErr(5)           
                 SA_ERR_HPI_TIMEOUT             genErr(5)           
                 SA_ERR_HPI_OUT_OF_SPACE        genErr(5)           
                 SA_ERR_HPI_OUT_OF_MEMORY       genErr(5)           
                 SA_ERR_HPI_INVALID_PARAMS      genErr(5)           
                 SA_ERR_HPI_INVALID_DATA        wrongValue(10)      
                 SA_ERR_HPI_NOT_PRESENT         inconsistentName(18)
                 SA_ERR_HPI_NO_RESPONSE         genErr(5)           
                 SA_ERR_HPI_DUPLICATE           genErr(5)           
                 SA_ERR_HPI_INVALID_SESSION     genErr(5)           
                 SA_ERR_HPI_INVALID_DOMAIN      inconsistentName(18)
                 SA_ERR_HPI_INVALID_RESOURCE    inconsistentName(18)
                 SA_ERR_HPI_INVALID_REQUEST     genErr(5)           
                 SA_ERR_HPI_ENTITY_NOT_PRESENT  inconsistentName(18)
                 SA_ERR_HPI_READ_ONLY           notWritable(9)      
                 SA_ERR_HPI_CAPABILITY          genErr(5)           
                 SA_ERR_HPI_UNKNOWN             genErr(5)"
        REFERENCE
                "See section 7.3.2, 7.3.3. 8.7 and 8.8
                 from SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlTextEntry 14 }


saHpiCtrlTextState OBJECT-TYPE
        SYNTAX SaHpiText
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This columnar object can be used to write to the
                 text controls. To do so, first set the line number
                 in saHpiCtrlTextLine and then write to this object. 

                The first line of the text control is line number  1 .
                If less than a full line of data is written,
                the control will clear all spaces beyond those written
                on the line. 
                Thus writing a zero-length string will clear the
                addressed line. It is also possible to include more
                characters in the text passed in this columnar object
                than will fit on one line; in this case, the control
                will wrap to the next line (still clearing the 
                trailing characters on the last line written).
                Thus, there are two ways to write 
                multiple lines to a text control: 
                        
                  (a) set saHpiCtrlTextState repeatedly for each line, or 
                  (b) set saHpiCtrlTextState once and send more characters
                      than will fit on one line.

              An HPI SNMP Manager should not assume any cursor
              positioning  characters are available to use, but
              rather should always write full lines and allow 
              wrapping to occur. 

              When calling this  object, an HPI SNMP Manager may
              set the line number to 255; in this case, the entire
              control will be cleared, and the data will be written 
              starting on line 1. (This is different from simply
              writing at line 1, which only alters the lines written
              to.) This feature may be used to clear the entire control, 
              which can be accomplished by setting:
              saHpiCtrlTextLine = 255; saHpiCtrlState = '';

              Note that the number of lines and columns in a text
              control can be obtained from 
              the saHpiCtrlTextMaxLines and saHpiCtrlTextMaxChars. 

              Note that the saHpiCtrlTextLanguage object has the
              language setting and saHpiCtrlTextType object
              has the text type.

              Note that the SNMP errors that are returned are mapped to the
              HPI errors that could be returned (errors above the value 6
              are SNMPv2 or v3 protocol and are converted to genErr(1)
              for v1 protocol).

                 SA_ERR_HPI_ERROR               genErr(5)           
                 SA_ERR_HPI_UNSUPPORTED_API     genErr(5)           
                 SA_ERR_HPI_BUSY                genErr(5)           
                 SA_ERR_HPI_INTERNAL_ERROR      genErr(5)           
                 SA_ERR_HPI_INVALID_CMD         genErr(5)           
                 SA_ERR_HPI_TIMEOUT             genErr(5)           
                 SA_ERR_HPI_OUT_OF_SPACE        genErr(5)           
                 SA_ERR_HPI_OUT_OF_MEMORY       genErr(5)           
                 SA_ERR_HPI_INVALID_PARAMS      genErr(5)           
                 SA_ERR_HPI_INVALID_DATA        wrongValue(10)      
                 SA_ERR_HPI_NOT_PRESENT         inconsistentName(18)
                 SA_ERR_HPI_NO_RESPONSE         genErr(5)           
                 SA_ERR_HPI_DUPLICATE           genErr(5)           
                 SA_ERR_HPI_INVALID_SESSION     genErr(5)           
                 SA_ERR_HPI_INVALID_DOMAIN      inconsistentName(18)
                 SA_ERR_HPI_INVALID_RESOURCE    inconsistentName(18)
                 SA_ERR_HPI_INVALID_REQUEST     genErr(5)           
                 SA_ERR_HPI_ENTITY_NOT_PRESENT  inconsistentName(18)
                 SA_ERR_HPI_READ_ONLY           notWritable(9)      
                 SA_ERR_HPI_CAPABILITY          genErr(5)           
                 SA_ERR_HPI_UNKNOWN             genErr(5)"       
  
        REFERENCE

                "See section 7.3.2, 7.3.3. 8.7 and 8.8
                 from SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlTextEntry 15 }


saHpiCtrlTextOem OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Reserved for Oem use"
        REFERENCE

                "See section 8.8 from SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlTextEntry 16 }


saHpiCtrlTextRDR OBJECT-TYPE
        SYNTAX RowPointer
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Pointer to Resource Table for this text control."
        ::= { saHpiCtrlTextEntry 17 }


---
--- Oem
---

saHpiCtrlOemActiveEntries OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of Oem controls in the system."
        ::= { hpiControl 12 }


saHpiCtrlOemTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiCtrlOemEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "A table of Oem controls and its states."
        ::= { hpiControl 13 }


saHpiCtrlOemEntry OBJECT-TYPE
        SYNTAX SaHpiCtrlOemEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Definition of the Oem control table."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiResourceIsHistorical,
                saHpiCtrlOemEntryId }
        ::= { saHpiCtrlOemTable 1 }


SaHpiCtrlOemEntry ::= SEQUENCE {
        saHpiCtrlOemEntryId           SaHpiEntryId,
        saHpiCtrlOemNum               SaHpiInstrumentId,
        saHpiCtrlOemOutputType        SaHpiCtrlOutputType,
        saHpiCtrlOemDefaultMode       SaHpiCtrlMode,
        saHpiCtrlOemMode              SaHpiCtrlMode,
        saHpiCtrlOemIsReadOnly        TruthValue,
        saHpiCtrlOemIsWriteOnly       TruthValue,
        saHpiCtrlOemManufacturerId    SaHpiManufacturerId,
        saHpiCtrlOemDefaultConfigData OCTET STRING,
        saHpiCtrlOemDefaultMId        SaHpiManufacturerId,
        saHpiCtrlOemDefaultState      OCTET STRING,
        saHpiCtrlOemState             OCTET STRING,
        saHpiCtrlOemValue             Unsigned32,
        saHpiCtrlOemRDR               RowPointer }


saHpiCtrlOemEntryId OBJECT-TYPE
        SYNTAX SaHpiEntryId
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This index element is here to help facilitate browsing
                of digital controls based on resource id.

                For example to find the first digital control from the
                domain 1, for the resource 3, construct the index tuple
                to be 1.3.0.

                See textual convention for further details."
        ::= { saHpiCtrlOemEntry 1 }


saHpiCtrlOemNum OBJECT-TYPE
        SYNTAX SaHpiInstrumentId
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The control number"
        ::= { saHpiCtrlOemEntry 2 }


saHpiCtrlOemOutputType OBJECT-TYPE
        SYNTAX SaHpiCtrlOutputType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more details on the
                enumerations.

                Note: Enumerated values are increased by one value
                compared to SAI-HPI-B.01.01 spec."
        REFERENCE

                " See section 8.7 and 8.8 
                 from SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlOemEntry 3 }


saHpiCtrlOemDefaultMode OBJECT-TYPE
        SYNTAX SaHpiCtrlMode
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object describes the default method the
                 control is managed.  The control may
                 be managed automatically by the implementation
                 (auto mode).  Or it may be managed by the HPI User
                 (manual mode).  Some controls allow 
                 their modes to be changed, allowing the HPI
                 User to determine if they will manage the control,
                 or relinquish the management to the 
                 implementation.  But, other controls do not allow
                 the mode to be changed.  These static-mode controls
                 are indicated with the saHpiCtrlReadOnly flag set
                 as part of the default control mode.
                        
                When the mode is set to auto(1), the state input is 
                ignored. Ignored state inputs are not checked by the
                implementation. 

                Note: Enumerated values are increased by
                one value compared to SAI-HPI-B.01.01 spec."
        REFERENCE
                "See section 8.7 and 8.8 from 
                 SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlOemEntry 4 }


saHpiCtrlOemMode OBJECT-TYPE
        SYNTAX SaHpiCtrlMode
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object describes how the control is managed.  The
                control may be managed automatically by the implementation
                (auto mode).  Or it may be managed by the HPI User
                (manual mode).  Some controls allow their modes to be
                changed, allowing the HPI User to determine if they 
                will manage the control, or relinquish the management
                to the implementation.  But, other controls do not
                allow the mode to be changed.  These static-mode controls
                are indicated with the saHpiCtrlReadOnly flag set as part
                of the default control mode.
                        
                When the mode is set to auto(1), the state input is 
                ignored. Ignored state inputs are not checked by the
                implementation. 

                Note: Enumerated values are increased by one value
                compared to SAI-HPI-B.01.01 spec."
        REFERENCE
                "See section 8.7 and 8.8 from SAI-HPI-B.01.01
                 specification."
        ::= { saHpiCtrlOemEntry 5 }


saHpiCtrlOemIsReadOnly OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Indicates if mode is read-only"
        REFERENCE
                "See section 8.7 and 8.8 from SAI-HPI-B.01.01
                  specification."
        ::= { saHpiCtrlOemEntry 6 }


saHpiCtrlOemIsWriteOnly OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Indicates if Control is write-only"
        REFERENCE
                "See section 7.3.2, 8.7 and 8.8 from SAI-HPI-B.01.01
                specification."
        ::= { saHpiCtrlOemEntry 7 }


saHpiCtrlOemManufacturerId OBJECT-TYPE
        SYNTAX SaHpiManufacturerId
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object represents the Oem's manufacturer ID for
                this Oem control. 

                Refer to the textual convention for more details."
        REFERENCE
                "See section 8.7 and 8.8 from SAI-HPI-B.01.01
                 specification."
        ::= { saHpiCtrlOemEntry 8 }


saHpiCtrlOemDefaultConfigData OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE (0..10))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object represents the Oem control
                  configuration data."
        REFERENCE
                "See section 8.7 and 8.8 from SAI-HPI-B.01.01
                 specification."
        ::= { saHpiCtrlOemEntry 9 }


saHpiCtrlOemDefaultMId OBJECT-TYPE
        SYNTAX SaHpiManufacturerId
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object represents the Oem's manufacturer ID for
                this Oem control resource. 

                Refer to the textual convention for more details."
        REFERENCE
                "See section 8.7 and 8.8 from SAI-HPI-B.01.01
                 specification."
        ::= { saHpiCtrlOemEntry 10 }


saHpiCtrlOemDefaultState OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE (0..255))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This represents the Oem control state setting."
        REFERENCE
                "See section 8.7 and 8.8 from SAI-HPI-B.01.01
                 specification."
        ::= { saHpiCtrlOemEntry 11 }


saHpiCtrlOemState OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE (0..255))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object allows to write to the Oem control state
                setting.
    
                You may not change the state of the control unless
                the Mode is set to manual(2).  If a write is
                attempted when the mode is set to auto(1), SNMP
                will return an error-status of inconsistentValue.

                Note that the SNMP errors that are returned are mapped
               to the HPI errors that could be returned (errors above
               the value 6 are SNMPv2 or v3 protocol and are converted
               to genErr(1) for v1 protocol).

                 SA_ERR_HPI_ERROR               genErr(5)           
                 SA_ERR_HPI_UNSUPPORTED_API     genErr(5)           
                 SA_ERR_HPI_BUSY                genErr(5)           
                 SA_ERR_HPI_INTERNAL_ERROR      genErr(5)           
                 SA_ERR_HPI_INVALID_CMD         genErr(5)           
                 SA_ERR_HPI_TIMEOUT             genErr(5)           
                 SA_ERR_HPI_OUT_OF_SPACE        genErr(5)           
                 SA_ERR_HPI_OUT_OF_MEMORY       genErr(5)           
                 SA_ERR_HPI_INVALID_PARAMS      genErr(5)           
                 SA_ERR_HPI_INVALID_DATA        wrongValue(10)      
                 SA_ERR_HPI_NOT_PRESENT         inconsistentName(18)
                 SA_ERR_HPI_NO_RESPONSE         genErr(5)           
                 SA_ERR_HPI_DUPLICATE           genErr(5)           
                 SA_ERR_HPI_INVALID_SESSION     genErr(5)           
                 SA_ERR_HPI_INVALID_DOMAIN      inconsistentName(18)
                 SA_ERR_HPI_INVALID_RESOURCE    inconsistentName(18)
                 SA_ERR_HPI_INVALID_REQUEST     genErr(5)           
                 SA_ERR_HPI_ENTITY_NOT_PRESENT  inconsistentName(18)
                 SA_ERR_HPI_READ_ONLY           notWritable(9)      
                 SA_ERR_HPI_CAPABILITY          genErr(5)           
                 SA_ERR_HPI_UNKNOWN             genErr(5)"       
                
        REFERENCE
                "See section 8.7 and 8.8 from
                SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlOemEntry 12 }


saHpiCtrlOemValue OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Reserved for Oem use"
        REFERENCE
                "See section 8.8 from SAI-HPI-B.01.01 specification."
        ::= { saHpiCtrlOemEntry 13 }


saHpiCtrlOemRDR OBJECT-TYPE
        SYNTAX RowPointer
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Pointer to Resource Table for this Oem control."
        ::= { saHpiCtrlOemEntry 14 }


--/************************************************************************
-- * **********************************************************************
-- * **********                                                  ********** 
-- * **********    Sensor Resource Data Records                  **********
-- * **********                                                  **********
-- * **********************************************************************
-- * **********************************************************************/

saHpiSensorActiveEntries OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "The number of sensor resource data records in the system."
        ::= { hpiSensor 1 }


saHpiSensorTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiSensorEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "A table defining the static Sensor data found in the
                Sensor Resource Data Repository."
        ::= { hpiSensor 2 }


saHpiSensorEntry OBJECT-TYPE
        SYNTAX SaHpiSensorEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This is the sensor resource data record which
                describes all of the static data associated with a sensor."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiResourceIsHistorical,
                saHpiSensorNum }
        ::= { saHpiSensorTable 1 }


SaHpiSensorEntry ::= SEQUENCE {
        saHpiSensorNum                  SaHpiInstrumentId,
        saHpiSensorType                 SaHpiSensorType,
        saHpiSensorCategory             SaHpiEventCategory,
        saHpiSensorEnableCtrl           TruthValue,
        saHpiSensorEventCtrl            INTEGER,
        saHpiSensorSupportedEventStates SaHpiEventState,
        saHpiSensorIsSupported          TruthValue,
        saHpiSensorReadingType          SaHpiSensorReadingType,
        saHpiSensorBaseUnits            SaHpiSensorUnits,
        saHpiSensorModifierUnits        SaHpiSensorUnits,
        saHpiSensorModifierUse          INTEGER,
        saHpiSensorPercentage           TruthValue,
        saHpiSensorRangeFlags           OCTET STRING,
        saHpiSensorAccuracyFactor       Double,
        saHpiSensorOem                  Unsigned32,
        saHpiSensorRDR                  RowPointer }


saHpiSensorNum OBJECT-TYPE
        SYNTAX SaHpiInstrumentId
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "The sensor number."
        REFERENCE

                "SAI-HPI-B.01.01 section 8.4."
        ::= { saHpiSensorEntry 1 }


saHpiSensorType OBJECT-TYPE
        SYNTAX SaHpiSensorType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Refer to the textual convention for more details."
        ::= { saHpiSensorEntry 2 }


saHpiSensorCategory OBJECT-TYPE
        SYNTAX SaHpiEventCategory
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Sensors category.
                                
                 Sensor events contain an event category and event state. 
                Depending on the event category, the event states take on 
                different meanings for events generated by specific sensors.
                                
                The generic(128) category can be used for discrete
                sensors which have state meanings other than those
                identified with other event categories.
                "
        ::= { saHpiSensorEntry 3 }


saHpiSensorEnableCtrl OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "True if HPI SNMP Manager can enable or disable sensor via
                saHpiSensorEnableSet."
        ::= { saHpiSensorEntry 4 }


saHpiSensorEventCtrl OBJECT-TYPE
        SYNTAX INTEGER {
                        undefined(0),
                        perEvent(1),
                        readOnlyMasks(2),
                        readOnly(3) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This columnar object represents the sensor category
                control of events. The possible states are:

                perEvent - Event message control per event,             
                   or by entire sensor; sensor event enable     
                   status can be changed, and assert/deassert   
                   masks can be changed      
                   
                readOnlyMasks - Control for entire sensor only; sensor  
                   event enable status can be changed, but      
                   assert/deassert masks cannot be changed 
                   
                readOnly - Event control not supported; sensor event    
                   enable status cannot be changed and          
                   assert/deassert masks cannot be changed.

              Note: Enumerated values are increased by one
                    value compared to SAI-HPI-B.01.01 section 8.5."
        ::= { saHpiSensorEntry 5 }


saHpiSensorSupportedEventStates OBJECT-TYPE
        SYNTAX SaHpiEventState
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Set of event states supported. For format and
                  possible types, refer to SaHpiEventState."
        ::= { saHpiSensorEntry 6 }


saHpiSensorIsSupported OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Indicates if sensor data readings are supported."
        ::= { saHpiSensorEntry 7 }


saHpiSensorReadingType OBJECT-TYPE
        SYNTAX SaHpiSensorReadingType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Type of value for sensor reading."
        ::= { saHpiSensorEntry 8 }


saHpiSensorBaseUnits OBJECT-TYPE
        SYNTAX SaHpiSensorUnits
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This columnar object provides the sensor data base units,
                (meters, etc.)"
        ::= { saHpiSensorEntry 9 }


saHpiSensorModifierUnits OBJECT-TYPE
        SYNTAX SaHpiSensorUnits
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This columnar object provides the sensor data modifier
                unit(s).
                Example unit = second, etc.
                        
                Also see modifier use columnar object saHpiSensorModifierUse
                for further insight. "
        REFERENCE
                "SAI-HPI-B.01.01 section 8.5."
        ::= { saHpiSensorEntry 10 }


saHpiSensorModifierUse OBJECT-TYPE
        SYNTAX INTEGER {
                        undefined(0),
                        none(1),
                        basicOverModifier(2),
                        basicTimesModifier(3) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Modifier Unit Use (m/sec, etc.).
                                 
              This type defines how the modifier unit is used. For example: 
              base unit == meter, modifier unit == seconds, and
              modifier unit use == basicOverModifier(1). 

              The resulting unit would be meters per second.

              Note: Enumerated values are increased by
              one value compared to SAI-HPI-B.01.01 section 8.5."
        ::= { saHpiSensorEntry 11 }


saHpiSensorPercentage OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Is the value a percentage."
        ::= { saHpiSensorEntry 12 }


saHpiSensorRangeFlags OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE (0..255))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Defines which range flags the sensor supports. The
                string tokens are 
                        MIN, 
                        MAX, 
                        NOMINAL, 
                        NORMAL_MAX, 
                        NORMAL_MIN, 
                or nothing (NULL) if the sensor does not support any 
                ranges. If more than one range is supported then the 
                strings tokens are comma (',') or semicolon (';') 
                delimited"
        REFERENCE

                "SAI-HPI-B.01.01 section 8.5."
        ::= { saHpiSensorEntry 13 }


saHpiSensorAccuracyFactor OBJECT-TYPE
        SYNTAX Double
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The Accuracy Factor is expressed as a floating point
                percentage (e.g. 0.05 = 5%) and represents statistically
                how close the measured reading is to the actual value.
                It is an interpreted value that figures in all sensor
                accuracies, resolutions, and tolerances."
        ::= { saHpiSensorEntry 14 }


saHpiSensorOem OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Reserved for Oem use."
        ::= { saHpiSensorEntry 15 }


saHpiSensorRDR OBJECT-TYPE
        SYNTAX RowPointer
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Forward pointer to the Resource Data Repository OID."
        ::= { saHpiSensorEntry 16 }


--
-- /***********************************************************************
-- ************************************************************************
-- **********                                                    **********
-- **********               Sensors - readings                   **********
-- **********                                                    **********
-- ************************************************************************
-- ***********************************************************************/

saHpiCurrentSensorStateTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiCurrentSensorStateEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "A table definining current sensor readings and
                 settings of a sensor."
        ::= { hpiSensor 3 }


saHpiCurrentSensorStateEntry OBJECT-TYPE
        SYNTAX SaHpiCurrentSensorStateEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This is the sensor dynamic data associated with sensors
                readings and event states."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiSensorNum }
        ::= { saHpiCurrentSensorStateTable 1 }


SaHpiCurrentSensorStateEntry ::= SEQUENCE {
        saHpiCurrentSensorStateDataPresent         INTEGER,
        saHpiCurrentSensorStateType                SaHpiSensorReadingType,
        saHpiCurrentSensorStateValue               SaHpiSensorReadingValue,
        saHpiCurrentSensorStateEventState          SaHpiEventState,
        saHpiCurrentSensorStateSensorEnable        TruthValue,
        saHpiCurrentSensorStateEventEnable         TruthValue,
        saHpiCurrentSensorStateAssertAddEventMask  SaHpiEventState,
        saHpiCurrentSensorStateAssertRemoveEventMask   SaHpiEventState,
        saHpiCurrentSensorStateDeassertAddEventMask    SaHpiEventState,
        saHpiCurrentSensorStateDeassertRemoveEventMask SaHpiEventState }


saHpiCurrentSensorStateDataPresent OBJECT-TYPE
        SYNTAX INTEGER {
                        undefined(0),
                        reading(1),
                        eventState(2),
                        readingAndEventState(3),
                        noData(4) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "reading(1) - This table contains only the
                               sensor reading values. 
                        Refer to saHpiCurrentSensorStateType and 
                        saHpiCurrentSensorStateValue.
                        SAI-HPI-b.01.01 IsSupported is set when a sensor 
                        reading/threshold value is available.  
                   
                eventState(2) - The sensor does not support reading values, 
                        instead events are available. Refer to 
                        saHpiCurrentSensorStateEventState.     
                        
                readingAndEventState(3) - The sensor supports both reading 
                        current values and events. Refer to 
                        saHpiCurrentSensorStateType,
                        saHpiCurrentSensorStateValue, 
                        saHpiCurrentSensorStateEventState.
                        
                noData(4) - The sensor does not support reading
                           current values nor events.  
                        
                See SAI-HPI-B.01.01 SaHpiSensorReadingT, this columnar
                node is analogous to field 'IsSupported' in
                SaHpiSensorReadingT.  'IsSupported' is set when a 
                sensor reading/threshold value is available.  Otherwise,
                if no reading or threshold is supported, this flag is
                set to False.
                "
        ::= { saHpiCurrentSensorStateEntry 1 }


saHpiCurrentSensorStateType OBJECT-TYPE
        SYNTAX SaHpiSensorReadingType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "See Definition in TEXTUAL-CONVENTION."
        ::= { saHpiCurrentSensorStateEntry 2 }


saHpiCurrentSensorStateValue OBJECT-TYPE
        SYNTAX SaHpiSensorReadingValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "See Definition in TEXTUAL-CONVENTION."
        ::= { saHpiCurrentSensorStateEntry 3 }


saHpiCurrentSensorStateEventState OBJECT-TYPE
        SYNTAX SaHpiEventState
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "See Definition in TEXTUAL-CONVENTION."
        ::= { saHpiCurrentSensorStateEntry 4 }


saHpiCurrentSensorStateSensorEnable OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "When reading, this object returns the current sensor
                 enable status for an addressed sensor.

                When writing this object sets the sensor enable status
                for an addressed sensor.  If a sensor is disabled,
                the rows in saHpiCurrentSensorState for that sensor
                will not be present, and no events will be generated
                for the sensor."
        REFERENCE
                "Derived from SAI-HPI-B.01.01 sections 7.2.9, and 7.2.10."
        ::= { saHpiCurrentSensorStateEntry 5 }


saHpiCurrentSensorStateEventEnable OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "When reading, this object returns the current sensor
                 event enable status for an addressed sensor.

                When writing this object sets the sensor event enable
                status for an addressed sensor.  If event generation
                for a sensor is disabled, no events will be generated
                as a result of the assertion or deassertion 
                of any event state, regardless of the setting
                of the assert or deassert event masks for the sensor.
                If event generation for a sensor is enabled, events
                will be generated when event states are asserted or 
                deasserted, according to the settings of the assert
                and deassert event masks for the sensor.  Event states
                may still be read for a sensor even 
                if event generation is disabled, by reading the 
                saHpiCurrentSensorState table."
        REFERENCE
                "Derived from SAI-HPI-B.01.01 sections 7.2.11 and 7.2.12."
        ::= { saHpiCurrentSensorStateEntry 6 }


saHpiCurrentSensorStateAssertAddEventMask OBJECT-TYPE
        SYNTAX SaHpiEventState
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "A string values separated by a delimiter
                (see SaHpiEventState for
                more details) is returned by this object.

                A string value, seperated by a delimiter in the
                saHpiSesnorAssertEventMask indicates that an event
                will be generated by the sensor when 
                the corresponding event state for that sensor
                changes from deasserted to asserted.  

                Events will only be generated by the sensor if the
               appropriate saHpiSensorAssertEventMask or
               saHpiSensorDeassertEventMask events 
                is set, sensor events are enabled, and the
               sensor is enabled.
                        
                Remarks
                For sensors hosted by a resource that has the 
                evtDeAsserts(14) flag set in its Resource Table , the
                assert and deassert event masks cannot be independently 
                configured.  Only this object can be set, and the 
                saHpiSensorAssertEventMask values are  used to determine
                which values to set or clear in both the assert event
                mask and deassert event mask for the sensor. 

                If the sensor assert event masks change as a result of 
                writing to this object , an event will be generated."
        REFERENCE

                "Derived from SAI-HPI-B.01.01 section 7.2.13 and 7.2.14."
        ::= { saHpiCurrentSensorStateEntry 7 }


saHpiCurrentSensorStateAssertRemoveEventMask OBJECT-TYPE
        SYNTAX SaHpiEventState
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "A string values seperated by a delimiter
                (see SaHpiEventState for more details) is returned by
                this object.

                A string value, separated by a delimiter in the
                saHpiSesnorAssertEventMask indicates that an event
                will be generated by the sensor when 
                the corresponding event state for that sensor
                changes from deasserted to asserted.  

                Events will only be generated by the sensor if the
                appropriate saHpiSensorAssertEventMask or
                saHpiSensorDeassertEventMask events is set, sensor
                 events are enabled, and the sensor is enabled.
                        
                Remarks
                For sensors hosted by a resource that has the 
                evtDeAsserts(14) flag set in its Resource Table , the
                assert and deassert event masks cannot be independently 
                configured.  Only this object can be set, and the 
                saHpiSensorAssertEventMask values are  used to
                determine which values to set or clear in both the
                assert event mask and deassert event mask for the sensor. 

                If the sensor assert event masks change as a result of 
                writing to this object , an event will be generated."
        REFERENCE
                "Derived from SAI-HPI-B.01.01 section 7.2.13 and 7.2.14."
        ::= { saHpiCurrentSensorStateEntry 8 }


saHpiCurrentSensorStateDeassertAddEventMask OBJECT-TYPE
        SYNTAX SaHpiEventState
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "A string values seperated by a delimiter
                (see SaHpiEventState for more details) is
                 returned by this object.

                A string value, seperated by a delimiter in the 
                saHpiSensorDeassertEventMask indicates that an event will 
                be generated by the sensor when the corresponding event 
                state for that sensor changes from asserted to deasserted.  

                Events will only be generated by the sensor if the
                appropriate saHpiSensorAssertEventMask or
                saHpiSensorDeassertEventMask events is set, sensor
                 events are enabled, and the sensor is enabled.
                        
                Remarks
                For sensors hosted by a resource that has the 
                evtDeAsserts(14) flag set in its Repository Table , the
                assert and deassert event masks cannot be independently 
                configured.  Only saHpiSensorAssertEventMask object can
                set, and the saHpiAssertEventMask values are  used to
                determine which values to set or clear in both the
                assert event mask and deassert event mask for the sensor. 

                If the sensor deassert event masks change as a result of 
                writing to this object , an event will be generated."
        REFERENCE
                "Derived from SAI-HPI-B.01.01 sections 7.2.13 and 7.2.14."
        ::= { saHpiCurrentSensorStateEntry 9 }


saHpiCurrentSensorStateDeassertRemoveEventMask OBJECT-TYPE
        SYNTAX SaHpiEventState
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "A string values seperated by a delimiter
                (see SaHpiEventState for more details) is
                returned by this object.

                A string value, seperated by a delimiter in the 
                saHpiSensorDeassertEventMask indicates that an event will 
                be generated by the sensor when the corresponding event 
                state for that sensor changes from asserted to deasserted.  

                Events will only be generated by the sensor if the
                appropriate saHpiSensorAssertEventMask or
                saHpiSensorDeassertEventMask events is set, sensor
                events are enabled, and the sensor is enabled.
                        
                Remarks
                For sensors hosted by a resource that has the 
                evtDeAsserts(14) flag set in its Repository Table , the
                assert and deassert event masks cannot be independently 
                configured.  Only saHpiSensorAssertEventMask object
                can set, and the saHpiAssertEventMask values are 
                used to determine which values to set or clear in both
                the assert event mask 
                and deassert event mask for the sensor. 

                If the sensor deassert event masks change as a result of 
                writing to this object , an event will be generated."
        REFERENCE
                "Derived from SAI-HPI-B.01.01 sections 7.2.13 and 7.2.14."
        ::= { saHpiCurrentSensorStateEntry 10 }


-- *********************************
-- **
-- **     SensorReadingMaxTable
-- **
-- *********************************

saHpiSensorReadingMaxTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiSensorReadingMaxEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "A table definining maximum sensor readings as
                defined in the sensor Resource Data Repository"
        REFERENCE
                "SAI-HPI-B.01.01 section 7.2 and 8.5."
        ::= { hpiSensor 4 }


saHpiSensorReadingMaxEntry OBJECT-TYPE
        SYNTAX SaHpiSensorReadingMaxEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This table contains the fields used to define the sensor
                SAHPI_SRF_MAX values.  It is representative of the
                static data found in the SAI-HPI-B.01.01 sensor
                RDR records."
        REFERENCE
                "SAI-HPI-B.01.01 sections 7.1.1, 7.2, and 8.5."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiResourceIsHistorical,
                saHpiSensorNum }
        ::= { saHpiSensorReadingMaxTable 1 }


SaHpiSensorReadingMaxEntry ::= SEQUENCE {
        saHpiSensorReadingMaxIsSupported TruthValue,
        saHpiSensorReadingMaxType        SaHpiSensorReadingType,
        saHpiSensorReadingMaxValue       SaHpiSensorReadingValue }


saHpiSensorReadingMaxIsSupported OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "IsSupported is set when a sensor reading/threshold
                 value is available.  Otherwise, if no reading or
                 threshold is supported, this flag is set to
                 False."
        ::= { saHpiSensorReadingMaxEntry 1 }


saHpiSensorReadingMaxType OBJECT-TYPE
        SYNTAX SaHpiSensorReadingType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "See Definition in TEXTUAL-CONVENTION."
        ::= { saHpiSensorReadingMaxEntry 2 }


saHpiSensorReadingMaxValue OBJECT-TYPE
        SYNTAX SaHpiSensorReadingValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "See Definition in TEXTUAL-CONVENTION."
        ::= { saHpiSensorReadingMaxEntry 3 }


-- *********************************
-- **
-- **     saHpiSensorReadingMinTable
-- **
-- *********************************

saHpiSensorReadingMinTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiSensorReadingMinEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "A table definining minimum sensor readings
                as defined in the sensor Resource Data Repository."
        REFERENCE

                "SAI-HPI-B.01.01 section 7.2 and 8.5."
        ::= { hpiSensor 5 }


saHpiSensorReadingMinEntry OBJECT-TYPE
        SYNTAX SaHpiSensorReadingMinEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This table contains the fields used to define the sensor
                SAHPI_SRF_MIN values.  It is representative of the static
                data found in the SAI-HPI-B.01.01 sensor RDR records."
        REFERENCE
                "SAI-HPI-B.01.01 sections 7.1.1, 7.2, and 8.5."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiResourceIsHistorical,
                saHpiSensorNum }
        ::= { saHpiSensorReadingMinTable 1 }


SaHpiSensorReadingMinEntry ::= SEQUENCE {
        saHpiSensorReadingMinIsSupported TruthValue,
        saHpiSensorReadingMinType        SaHpiSensorReadingType,
        saHpiSensorReadingMinValue       SaHpiSensorReadingValue }


saHpiSensorReadingMinIsSupported OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "IsSupported is set when a sensor reading/threshold
                 value is available.  Otherwise, if no reading or
                 threshold is supported, this flag is set to False."
        ::= { saHpiSensorReadingMinEntry 1 }


saHpiSensorReadingMinType OBJECT-TYPE
        SYNTAX SaHpiSensorReadingType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "See Definition in TEXTUAL-CONVENTION."
        ::= { saHpiSensorReadingMinEntry 2 }


saHpiSensorReadingMinValue OBJECT-TYPE
        SYNTAX SaHpiSensorReadingValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "See Definition in TEXTUAL-CONVENTION."
        ::= { saHpiSensorReadingMinEntry 3 }


-- *********************************
-- **
-- **     saHpiSensorReadingNominalTable
-- **
-- *********************************

saHpiSensorReadingNominalTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiSensorReadingNominalEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "A table definining nominal sensor readings."
        REFERENCE
                "SAI-HPI-B.01.01 section 7.2 and 8.5."
        ::= { hpiSensor 6 }


saHpiSensorReadingNominalEntry OBJECT-TYPE
        SYNTAX SaHpiSensorReadingNominalEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This table contains the fields used to define the sensor
                SAHPI_SRF_NOMINAL values.  It is representative of the
                static data found in the SAI-HPI-B.01.01 sensor RDR
                records."
        REFERENCE
                "SAI-HPI-B.01.01 sections 7.1.1, 7.2, and 8.5."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiResourceIsHistorical,
                saHpiSensorNum }
        ::= { saHpiSensorReadingNominalTable 1 }


SaHpiSensorReadingNominalEntry ::= SEQUENCE {
        saHpiSensorReadingNominalIsSupported TruthValue,
        saHpiSensorReadingNominalType        SaHpiSensorReadingType,
        saHpiSensorReadingNominalValue       SaHpiSensorReadingValue }


saHpiSensorReadingNominalIsSupported OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "IsSupported is set when a sensor reading/threshold
                 value is available.  Otherwise, if no reading or
                 threshold is supported, this flag is set to
                False."
        ::= { saHpiSensorReadingNominalEntry 1 }


saHpiSensorReadingNominalType OBJECT-TYPE
        SYNTAX SaHpiSensorReadingType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "See Definition in TEXTUAL-CONVENTION."
        ::= { saHpiSensorReadingNominalEntry 2 }


saHpiSensorReadingNominalValue OBJECT-TYPE
        SYNTAX SaHpiSensorReadingValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "See Definition in TEXTUAL-CONVENTION."
        ::= { saHpiSensorReadingNominalEntry 3 }


-- *********************************
-- **
-- **     saHpiSensorReadingNormalMaxTable
-- **
-- *********************************

saHpiSensorReadingNormalMaxTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiSensorReadingNormalMaxEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "A table definining normal maximum sensor readings."
        ::= { hpiSensor 7 }


saHpiSensorReadingNormalMaxEntry OBJECT-TYPE
        SYNTAX SaHpiSensorReadingNormalMaxEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This table contains the fields used to define the sensor
                SAHPI_SRF_NORMAL_MAX values.  It is representative of
                the static data found in the SAI-HPI-B.01.01
                sensor RDR records."
        REFERENCE

                "SAI-HPI-B.01.01 sections 7.1.1, 7.2, and 8.5."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiResourceIsHistorical,
                saHpiSensorNum }
        ::= { saHpiSensorReadingNormalMaxTable 1 }


SaHpiSensorReadingNormalMaxEntry ::= SEQUENCE {
        saHpiSensorReadingNormalMaxIsSupported TruthValue,
        saHpiSensorReadingNormalMaxType        SaHpiSensorReadingType,
        saHpiSensorReadingNormalMaxValue       SaHpiSensorReadingValue }


saHpiSensorReadingNormalMaxIsSupported OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "IsSupported is set when a sensor reading/threshold
                 value is available.  Otherwise, if no reading or
                 threshold is supported, this flag is set to
                 False."
        ::= { saHpiSensorReadingNormalMaxEntry 1 }


saHpiSensorReadingNormalMaxType OBJECT-TYPE
        SYNTAX SaHpiSensorReadingType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "See Definition in TEXTUAL-CONVENTION."
        ::= { saHpiSensorReadingNormalMaxEntry 2 }


saHpiSensorReadingNormalMaxValue OBJECT-TYPE
        SYNTAX SaHpiSensorReadingValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "See Definition in TEXTUAL-CONVENTION."
        ::= { saHpiSensorReadingNormalMaxEntry 3 }


-- *********************************
-- **
-- **     saHpiSensorReadingNormalMinTable
-- **
-- *********************************

saHpiSensorReadingNormalMinTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiSensorReadingNormalMinEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "A table definining normal minimum sensor readings."
        ::= { hpiSensor 8 }


saHpiSensorReadingNormalMinEntry OBJECT-TYPE
        SYNTAX SaHpiSensorReadingNormalMinEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This table contains the fields used to define the sensor
                SAHPI_SRF_NORMAL_MIN values.  It is representative of
                the static data found in the SAI-HPI-B.01.01
                sensor RDR records."
        REFERENCE
                "SAI-HPI-B.01.01 sections 7.1.1, 7.2, and 8.5."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiResourceIsHistorical,
                saHpiSensorNum }
        ::= { saHpiSensorReadingNormalMinTable 1 }


SaHpiSensorReadingNormalMinEntry ::= SEQUENCE {
        saHpiSensorReadingNormalMinIsSupported TruthValue,
        saHpiSensorReadingNormalMinType        SaHpiSensorReadingType,
        saHpiSensorReadingNormalMinValue       SaHpiSensorReadingValue }


saHpiSensorReadingNormalMinIsSupported OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "IsSupported is set when a sensor reading/threshold
                 value is available.  Otherwise, if no reading or
                 threshold is supported, this flag is set to
                False."
        ::= { saHpiSensorReadingNormalMinEntry 1 }


saHpiSensorReadingNormalMinType OBJECT-TYPE
        SYNTAX SaHpiSensorReadingType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "See Definition in TEXTUAL-CONVENTION."
        ::= { saHpiSensorReadingNormalMinEntry 2 }


saHpiSensorReadingNormalMinValue OBJECT-TYPE
        SYNTAX SaHpiSensorReadingValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "See Definition in TEXTUAL-CONVENTION."
        ::= { saHpiSensorReadingNormalMinEntry 3 }


-- *********************************
-- **
-- **     Threshold values
-- **
-- *********************************

saHpiSensorThdLowCriticalTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiSensorThdLowCriticalEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "A table definining the lower critical threshold value.
                If SAI-HPI-B.01.01 SaHpiSensorThdDefnT field
                IsAccessible == FALSE then no threshold record is created.
                Also see saHpiCurrentSensorStateDataPresent
                for dependencies."
        REFERENCE
                "SAI-HPI-B.01.01 sections 7.2 and 8.5."
        ::= { hpiSensor 9 }


saHpiSensorThdLowCriticalEntry OBJECT-TYPE
        SYNTAX SaHpiSensorThdLowCriticalEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This is the sensor threshold data for lower
                 critical thresholds."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiResourceIsHistorical,
                saHpiSensorNum }
        ::= { saHpiSensorThdLowCriticalTable 1 }


SaHpiSensorThdLowCriticalEntry ::= SEQUENCE {
        saHpiSensorThdLowCriticalIsReadable TruthValue,
        saHpiSensorThdLowCriticalIsWritable TruthValue,
        saHpiSensorThdLowCriticalType       SaHpiSensorReadingType,
        saHpiSensorThdLowCriticalValue      SaHpiSensorReadingValue,
        saHpiSensorThdLowCriticalNonLinear  TruthValue }


saHpiSensorThdLowCriticalIsReadable OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Defines if sensor threshold information can be read."
        REFERENCE
                "Object derived from SAF SAI-HPI-B.01.01 section 7.2.6."
        ::= { saHpiSensorThdLowCriticalEntry 1 }


saHpiSensorThdLowCriticalIsWritable OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Defines if sensor threshold information can be written."
        REFERENCE
                "Object derived from SAF SAI-HPI-B.01.01 section 7.2.7."
        ::= { saHpiSensorThdLowCriticalEntry 2 }


saHpiSensorThdLowCriticalType OBJECT-TYPE
        SYNTAX SaHpiSensorReadingType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "See Definition in TEXTUAL-CONVENTION."
        ::= { saHpiSensorThdLowCriticalEntry 3 }


saHpiSensorThdLowCriticalValue OBJECT-TYPE
        SYNTAX SaHpiSensorReadingValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "See Definition in TEXTUAL-CONVENTION."
        ::= { saHpiSensorThdLowCriticalEntry 4 }


saHpiSensorThdLowCriticalNonLinear OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This columnar object flag is set, hysteresis values
                are calculated at the nominal sensor value."
        REFERENCE
                "Object derived from SAF SAI-HPI-B.01.01 sections
                 7.2, 7.2.13, 7.2.14, 8.3, 8.4, and 8.14."
        ::= { saHpiSensorThdLowCriticalEntry 5 }


-- *********************************
-- **
-- **     saHpiSensorThdLowMajorTable
-- **
-- *********************************

saHpiSensorThdLowMajorTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiSensorThdLowMajorEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "A table definining the lower major threshold value.
                If SAI-HPI-B.01.01 SaHpiSensorThdDefnT field
                  IsAccessible == FALSE then 
                no threshold record is created. 
                Also see saHpiCurrentSensorStateDataPresent
                for dependencies."
        REFERENCE
                "SAI-HPI-B.01.01 sections 7.2 and 8.5."
        ::= { hpiSensor 10 }


saHpiSensorThdLowMajorEntry OBJECT-TYPE
        SYNTAX SaHpiSensorThdLowMajorEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This is the sensor threshold data for lower major
                 thresholds."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiResourceIsHistorical,
                saHpiSensorNum }
        ::= { saHpiSensorThdLowMajorTable 1 }


SaHpiSensorThdLowMajorEntry ::= SEQUENCE {
        saHpiSensorThdLowMajorIsReadable TruthValue,
        saHpiSensorThdLowMajorIsWritable TruthValue,
        saHpiSensorThdLowMajorType       SaHpiSensorReadingType,
        saHpiSensorThdLowMajorValue      SaHpiSensorReadingValue,
        saHpiSensorThdLowMajorNonLinear  TruthValue }


saHpiSensorThdLowMajorIsReadable OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Defines if sensor threshold information can be read."
        REFERENCE
                "Object derived from SAF SAI-HPI-B.01.01 section 7.2.6."
        ::= { saHpiSensorThdLowMajorEntry 1 }


saHpiSensorThdLowMajorIsWritable OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Defines if sensor threshold information can be written.

                If set to 'false(2)' writting to saHpiSensorThdLowMajorRaw 
                and saHpiSensorThdLowMajorInterpreted will not change the
                threshold values."
        REFERENCE

                "Object derived from SAF SAI-HPI-B.01.01 section 7.2.7."
        ::= { saHpiSensorThdLowMajorEntry 2 }


saHpiSensorThdLowMajorType OBJECT-TYPE
        SYNTAX SaHpiSensorReadingType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "See Definition in TEXTUAL-CONVENTION."
        ::= { saHpiSensorThdLowMajorEntry 3 }


saHpiSensorThdLowMajorValue OBJECT-TYPE
        SYNTAX SaHpiSensorReadingValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "See Definition in TEXTUAL-CONVENTION."
        ::= { saHpiSensorThdLowMajorEntry 4 }


saHpiSensorThdLowMajorNonLinear OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This columnar object flag is set, hysteresis values
                 are calculated at the nominal sensor value."
        REFERENCE
                "Object derived from SAF SAI-HPI-B.01.01
                 sections 7.2, 7.2.13, 7.2.14, 8.3, 8.4, and 8.14."
        ::= { saHpiSensorThdLowMajorEntry 5 }


-- *********************************
-- **
-- **     saHpiSensorThdLowMinorTable
-- **
-- *********************************

saHpiSensorThdLowMinorTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiSensorThdLowMinorEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "A table definining the lower minor threshold value.
                If SAI-HPI-B.01.01 SaHpiSensorThdDefnT field
                  IsAccessible == FALSE then 
                no threshold record is created. 
                Also see saHpiCurrentSensorStateDataPresent
                for dependencies."
        ::= { hpiSensor 11 }


saHpiSensorThdLowMinorEntry OBJECT-TYPE
        SYNTAX SaHpiSensorThdLowMinorEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Sensor threshold data for lower minor thresholds."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiResourceIsHistorical,
                saHpiSensorNum }
        ::= { saHpiSensorThdLowMinorTable 1 }


SaHpiSensorThdLowMinorEntry ::= SEQUENCE {
        saHpiSensorThdLowMinorIsReadable TruthValue,
        saHpiSensorThdLowMinorIsWritable TruthValue,
        saHpiSensorThdLowMinorType       SaHpiSensorReadingType,
        saHpiSensorThdLowMinorValue      SaHpiSensorReadingValue,
        saHpiSensorThdLowMinorNonLinear  TruthValue }


saHpiSensorThdLowMinorIsReadable OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Defines if sensor threshold information can be read."
        REFERENCE

                "Object derived from SAF SAI-HPI-B.01.01 section 7.2.6."
        ::= { saHpiSensorThdLowMinorEntry 1 }


saHpiSensorThdLowMinorIsWritable OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Defines if sensor threshold information can be written."
        REFERENCE

                "Object derived from SAF SAI-HPI-B.01.01 section 7.2.7."
        ::= { saHpiSensorThdLowMinorEntry 2 }


saHpiSensorThdLowMinorType OBJECT-TYPE
        SYNTAX SaHpiSensorReadingType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "See Definition in TEXTUAL-CONVENTION."
        ::= { saHpiSensorThdLowMinorEntry 3 }


saHpiSensorThdLowMinorValue OBJECT-TYPE
        SYNTAX SaHpiSensorReadingValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "See Definition in TEXTUAL-CONVENTION."
        ::= { saHpiSensorThdLowMinorEntry 4 }


saHpiSensorThdLowMinorNonLinear OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This columnar object flag is set, hysteresis values
                are calculated at the nominal sensor value."
        REFERENCE
                "Object derived from SAF SAI-HPI-B.01.01
                  sections 7.2, 7.2.13,
                7.2.14, 8.3, 8.4, and 8.14."
        ::= { saHpiSensorThdLowMinorEntry 5 }


-- *********************************
-- **
-- **     saHpiSensorThdUpCriticalTable
-- **
-- *********************************

saHpiSensorThdUpCriticalTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiSensorThdUpCriticalEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "A table definining the upper critical threshold value.
                If SAI-HPI-B.01.01 SaHpiSensorThdDefnT
                 field IsAccessible == FALSE then 
                no threshold record is created. 
                Also see saHpiCurrentSensorStateDataPresent
                for dependencies."
        ::= { hpiSensor 12 }


saHpiSensorThdUpCriticalEntry OBJECT-TYPE
        SYNTAX SaHpiSensorThdUpCriticalEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Sensor threshold data for upper critical thresholds."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiResourceIsHistorical,
                saHpiSensorNum }
        ::= { saHpiSensorThdUpCriticalTable 1 }


SaHpiSensorThdUpCriticalEntry ::= SEQUENCE {
        saHpiSensorThdUpCriticalIsReadable TruthValue,
        saHpiSensorThdUpCriticalIsWritable TruthValue,
        saHpiSensorThdUpCriticalType       SaHpiSensorReadingType,
        saHpiSensorThdUpCriticalValue      SaHpiSensorReadingValue,
        saHpiSensorThdUpCriticalNonLinear  TruthValue }


saHpiSensorThdUpCriticalIsReadable OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Defines if sensor threshold information can be read."
        REFERENCE

                "Object derived from SAF SAI-HPI-B.01.01 section 7.2.6."
        ::= { saHpiSensorThdUpCriticalEntry 1 }


saHpiSensorThdUpCriticalIsWritable OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Defines if sensor threshold information can be written."
        REFERENCE

                "Object derived from SAF SAI-HPI-B.01.01 section 7.2.7."
        ::= { saHpiSensorThdUpCriticalEntry 2 }


saHpiSensorThdUpCriticalType OBJECT-TYPE
        SYNTAX SaHpiSensorReadingType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "See Definition in TEXTUAL-CONVENTION."
        ::= { saHpiSensorThdUpCriticalEntry 3 }


saHpiSensorThdUpCriticalValue OBJECT-TYPE
        SYNTAX SaHpiSensorReadingValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "See Definition in TEXTUAL-CONVENTION."
        ::= { saHpiSensorThdUpCriticalEntry 4 }


saHpiSensorThdUpCriticalNonLinear OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This columnar object flag is set, hysteresis
                 values are calculated at the nominal sensor value."
        REFERENCE
                "Object derived from SAF SAI-HPI-B.01.01
                 sections 7.2, 7.2.13,
                 7.2.14, 8.3, 8.4, and 8.14."
        ::= { saHpiSensorThdUpCriticalEntry 5 }


-- *********************************
-- **
-- **     saHpiSensorThdUpMajorTable
-- **
-- *********************************

saHpiSensorThdUpMajorTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiSensorThdUpMajorEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "A table definining the upper major threshold value.
                If SAI-HPI-B.01.01 SaHpiSensorThdDefnT field
                 IsAccessible == FALSE then 
                no threshold record is created. 
                Also see saHpiCurrentSensorStateDataPresent
                for dependencies."
        ::= { hpiSensor 13 }


saHpiSensorThdUpMajorEntry OBJECT-TYPE
        SYNTAX SaHpiSensorThdUpMajorEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Sensor threshold data for upper major thresholds."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiResourceIsHistorical,
                saHpiSensorNum }
        ::= { saHpiSensorThdUpMajorTable 1 }


SaHpiSensorThdUpMajorEntry ::= SEQUENCE {
        saHpiSensorThdUpMajorIsReadable TruthValue,
        saHpiSensorThdUpMajorIsWritable TruthValue,
        saHpiSensorThdUpMajorType       SaHpiSensorReadingType,
        saHpiSensorThdUpMajorValue      SaHpiSensorReadingValue,
        saHpiSensorThdUpMajorNonLinear  TruthValue }


saHpiSensorThdUpMajorIsReadable OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Defines if sensor threshold information can be read"
        REFERENCE

                "Object derived from SAF SAI-HPI-B.01.01 section 7.2.6."
        ::= { saHpiSensorThdUpMajorEntry 1 }


saHpiSensorThdUpMajorIsWritable OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Defines if sensor threshold information can be written."
        REFERENCE

                "Object derived from SAF SAI-HPI-B.01.01 section 7.2.7."
        ::= { saHpiSensorThdUpMajorEntry 2 }


saHpiSensorThdUpMajorType OBJECT-TYPE
        SYNTAX SaHpiSensorReadingType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "See Definition in TEXTUAL-CONVENTION."
        ::= { saHpiSensorThdUpMajorEntry 3 }


saHpiSensorThdUpMajorValue OBJECT-TYPE
        SYNTAX SaHpiSensorReadingValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "See Definition in TEXTUAL-CONVENTION."
        ::= { saHpiSensorThdUpMajorEntry 4 }


saHpiSensorThdUpMajorNonLinear OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This columnar object flag is set, hysteresis values are
                 calculated at the nominal sensor value."
        REFERENCE
                "Object derived from SAF SAI-HPI-B.01.01
                 sections 7.2, 7.2.13, 7.2.14, 8.3, 8.4, and 8.14."
        ::= { saHpiSensorThdUpMajorEntry 5 }


-- *********************************
-- **
-- **     saHpiSensorThdUpMinorTable
-- **
-- *********************************

saHpiSensorThdUpMinorTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiSensorThdUpMinorEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "A table definining the upper minor threshold value.
                If SAI-HPI-B.01.01 SaHpiSensorThdDefnT field
                 IsAccessible == FALSE then 
                no threshold record is created.
                Also see saHpiCurrentSensorStateDataPresent
                for dependencies."
        ::= { hpiSensor 14 }


saHpiSensorThdUpMinorEntry OBJECT-TYPE
        SYNTAX SaHpiSensorThdUpMinorEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Sensor threshold data for upper minor thresholds."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiResourceIsHistorical,
                saHpiSensorNum }
        ::= { saHpiSensorThdUpMinorTable 1 }


SaHpiSensorThdUpMinorEntry ::= SEQUENCE {
        saHpiSensorThdUpMinorIsReadable TruthValue,
        saHpiSensorThdUpMinorIsWritable TruthValue,
        saHpiSensorThdUpMinorType       SaHpiSensorReadingType,
        saHpiSensorThdUpMinorValue      SaHpiSensorReadingValue,
        saHpiSensorThdUpMinorNonLinear  TruthValue }


saHpiSensorThdUpMinorIsReadable OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Defines if sensor threshold information can be read."
        REFERENCE

                "Object derived from SAF SAI-HPI-B.01.01 section 7.2.13."
        ::= { saHpiSensorThdUpMinorEntry 1 }


saHpiSensorThdUpMinorIsWritable OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Defines if sensor threshold information can be written."
        REFERENCE

                "Object derived from SAF SAI-HPI-B.01.01 section 7.2.14."
        ::= { saHpiSensorThdUpMinorEntry 2 }


saHpiSensorThdUpMinorType OBJECT-TYPE
        SYNTAX SaHpiSensorReadingType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "See Definition in TEXTUAL-CONVENTION."
        ::= { saHpiSensorThdUpMinorEntry 3 }


saHpiSensorThdUpMinorValue OBJECT-TYPE
        SYNTAX SaHpiSensorReadingValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "See Definition in TEXTUAL-CONVENTION."
        ::= { saHpiSensorThdUpMinorEntry 4 }


saHpiSensorThdUpMinorNonLinear OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This columnar object flag is set, hysteresis
                values are calculated at the nominal sensor value."
        REFERENCE
                "Object derived from SAF SAI-HPI-B.01.01
                sections 7.2, 7.2.13,
                7.2.14, 8.3, 8.4, and 8.14."
        ::= { saHpiSensorThdUpMinorEntry 5 }


-- *********************************
-- **
-- **     saHpiSensorThdPosHysteresisTable
-- **
-- *********************************

saHpiSensorThdPosHysteresisTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiSensorThdPosHysteresisEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "A table definining the positive going hysteresis
                upper bound."
        ::= { hpiSensor 15 }


saHpiSensorThdPosHysteresisEntry OBJECT-TYPE
        SYNTAX SaHpiSensorThdPosHysteresisEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                " This is the sensor hysteresis data which
                  defines hysteresis values
                 at the positive upper bound."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiResourceIsHistorical,
                saHpiSensorNum }
        ::= { saHpiSensorThdPosHysteresisTable 1 }


SaHpiSensorThdPosHysteresisEntry ::= SEQUENCE {
        saHpiSensorThdPosHysteresisIsReadable TruthValue,
        saHpiSensorThdPosHysteresisIsWritable TruthValue,
        saHpiSensorThdPosHysteresisType       SaHpiSensorReadingType,
        saHpiSensorThdPosHysteresisValue      SaHpiSensorReadingValue,
        saHpiSensorThdPosHysteresisNonLinear  TruthValue }


saHpiSensorThdPosHysteresisIsReadable OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Defines if sensor hysteresis information can be read."
        REFERENCE

                "Object derived from SAF SAI-HPI-B.01.01 section 7.2.13."
        ::= { saHpiSensorThdPosHysteresisEntry 1 }


saHpiSensorThdPosHysteresisIsWritable OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Defines if sensor hysteresis information can be written."
        REFERENCE

                "Object derived from SAF SAI-HPI-B.01.01 section 7.2.14."
        ::= { saHpiSensorThdPosHysteresisEntry 2 }


saHpiSensorThdPosHysteresisType OBJECT-TYPE
        SYNTAX SaHpiSensorReadingType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "See Definition in TEXTUAL-CONVENTION."
        ::= { saHpiSensorThdPosHysteresisEntry 3 }


saHpiSensorThdPosHysteresisValue OBJECT-TYPE
        SYNTAX SaHpiSensorReadingValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "See Definition in TEXTUAL-CONVENTION."
        ::= { saHpiSensorThdPosHysteresisEntry 4 }


saHpiSensorThdPosHysteresisNonLinear OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This columnar object flag is set, hysteresis
                 values are calculated at the nominal sensor value."
        REFERENCE
                "Object derived from SAF SAI-HPI-B.01.01
                 sections 7.2, 7.2.13,
                 7.2.14, 8.3, 8.4, and 8.14."
        ::= { saHpiSensorThdPosHysteresisEntry 5 }


-- *********************************
-- **
-- **     saHpiSensorThdNegHysteresisTable
-- **
-- *********************************

saHpiSensorThdNegHysteresisTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiSensorThdNegHysteresisEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "A table definining the negative going hysteresis
                lower bound."
        ::= { hpiSensor 16 }


saHpiSensorThdNegHysteresisEntry OBJECT-TYPE
        SYNTAX SaHpiSensorThdNegHysteresisEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This is the sensor hysteresis data which
                 defines hysteresis values
                at the negative lower bound for a given sensor."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiResourceIsHistorical,
                saHpiSensorNum }
        ::= { saHpiSensorThdNegHysteresisTable 1 }


SaHpiSensorThdNegHysteresisEntry ::= SEQUENCE {
        saHpiSensorThdNegHysteresisIsReadable TruthValue,
        saHpiSensorThdNegHysteresisIsWritable TruthValue,
        saHpiSensorThdNegHysteresisType       SaHpiSensorReadingType,
        saHpiSensorThdNegHysteresisValue      SaHpiSensorReadingValue,
        saHpiSensorThdNegHysteresisNonLinear  TruthValue }


saHpiSensorThdNegHysteresisIsReadable OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Defines if sensor hysteresis information can be read."
        REFERENCE

                "Object derived from SAF SAI-HPI-B.01.01 section 7.2.13."
        ::= { saHpiSensorThdNegHysteresisEntry 1 }


saHpiSensorThdNegHysteresisIsWritable OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Defines if sensor hysteresis information can be written."
        REFERENCE

                "Object derived from SAF SAI-HPI-B.01.01 section 7.2.14."
        ::= { saHpiSensorThdNegHysteresisEntry 2 }


saHpiSensorThdNegHysteresisType OBJECT-TYPE
        SYNTAX SaHpiSensorReadingType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "See Definition in TEXTUAL-CONVENTION."
        ::= { saHpiSensorThdNegHysteresisEntry 3 }


saHpiSensorThdNegHysteresisValue OBJECT-TYPE
        SYNTAX SaHpiSensorReadingValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "See Definition in TEXTUAL-CONVENTION."
        ::= { saHpiSensorThdNegHysteresisEntry 4 }


saHpiSensorThdNegHysteresisNonLinear OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                " This columnar object flag is set, hysteresis
                 values are calculated at the nominal sensor value."
        REFERENCE
                "Object derived from SAF SAI-HPI-B.01.01
                sections 7.2, 7.2.13,
                7.2.14, 8.3, 8.4, and 8.14."
        ::= { saHpiSensorThdNegHysteresisEntry 5 }


--
-- /***********************************************************************
-- ************************************************************************
-- **********                                                    **********
-- **********            Entity Inventory Data                   **********
-- **********                                                    **********
-- ************************************************************************
-- ************************************************************************/

saHpiInventoryActiveEntries OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of inventory resource data records
                managed by the underlying management system."
        ::= { hpiInventory 1 }


saHpiInventoryTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiInventoryEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Table defining static data associated
                 with Inventory Repository Data Repository."
        ::= { hpiInventory 2 }


saHpiInventoryEntry OBJECT-TYPE
        SYNTAX SaHpiInventoryEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "These structures are used to read and
                 write inventory data to Inventory entity
                 Data Repository (IDR).  
                        
                Each table row represents an IDR.  All inventory
                data contained in an inventory data repository
               (IDR) must be represented in the 
                RDR repository as an RDR record."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiResourceIsHistorical,
                saHpiInventoryId }
        ::= { saHpiInventoryTable 1 }


SaHpiInventoryEntry ::= SEQUENCE {
        saHpiInventoryId          SaHpiInstrumentId,
        saHpiInventoryPersistent  TruthValue,
        saHpiInventoryOem         Unsigned32,
        saHpiInventoryUpdateCount Unsigned32,
        saHpiInventoryIsReadOnly  TruthValue,
        saHpiInventoryNumAreas    Unsigned32,
        saHpiInventoryRDR         RowPointer }


saHpiInventoryId OBJECT-TYPE
        SYNTAX SaHpiInstrumentId
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "See TEXTUAL-CONVENTION 'SaHpiInstrumentId'"
        ::= { saHpiInventoryEntry 1 }


saHpiInventoryPersistent OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "True indicates that updates to IDR are automatically    
                and immediately persistent. False indicates that updates
                are not immediately persistent; but optionally may be
                persisted via saHpiParmControl function, as
                defined in implementation documentation."
        ::= { saHpiInventoryEntry 2 }


saHpiInventoryOem OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Oem value for the inventory record. This is manufacturer'
                specific value."
        ::= { saHpiInventoryEntry 3 }

saHpiInventoryUpdateCount OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The count is incremented any time the IDR is changed."
        ::= { saHpiInventoryEntry 4 }


saHpiInventoryIsReadOnly OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Describes if the IDR is read-only. If 'IsReadOnly is
                'TRUE' then all 'areas' and 'fields' associated with
                Inventory Data Repository are also flagged as 'Read Only'
                in thier repsective columnar objects tracking this capability.
                        
                An IDR with read-only elements does not allow additions, 
                deletetions, or modifications of its elements."
        REFERENCE
                "See SAI-HPI-B.01.01 section 7.4 and 8.9"
        ::= { saHpiInventoryEntry 5 }


saHpiInventoryNumAreas OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Number of Area(s) contained in IDR"
        REFERENCE
                "See SAI-HPI-B.01.01 section 8.9"
        ::= { saHpiInventoryEntry 6 }


saHpiInventoryRDR OBJECT-TYPE
        SYNTAX RowPointer
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Pointer to resource data record for this particular
                 inventory resource data record"
        ::= { saHpiInventoryEntry 7 }


-- **************************************
-- **
-- ** saHpiAreaTable
-- **
-- **************************************

saHpiAreaActiveEntries OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of inventory data records present on
                 this system."
        ::= { hpiInventory 3 }


saHpiAreaTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiAreaEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Table defining inventory data respository data
                 area records."
        ::= { hpiInventory 4 }


saHpiAreaEntry OBJECT-TYPE
        SYNTAX SaHpiAreaEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "These structures are used to read and write
                 inventory data respository data area records.

                The four-tuple index value consits of:
                - saHpiDomainId, which is the domain of the resource
                - saHpiResourceId, the id value for the resource
                - saHpiIdrId, the id value of entity inventory 
                - saHpiAreaId, the id value of inventory data area.

                SAI-HPI-B.01.01, section 7.4."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiResourceIsHistorical,
                saHpiInventoryId,
                saHpiAreaId }
        ::= { saHpiAreaTable 1 }


SaHpiAreaEntry ::= SEQUENCE {
        saHpiAreaId            SaHpiInstrumentId,
        saHpiAreaIdIndex       SaHpiInstrumentId,
        saHpiAreaType          INTEGER,
        saHpiAreaIsReadOnly    TruthValue,
        saHpiAreaRowStatus     RowStatus,
        saHpiAreaNumDataFields Unsigned32 }


saHpiAreaId OBJECT-TYPE
        SYNTAX SaHpiInstrumentId
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This is the HPI management user specified AreaId value.
                It is this value that is used in row 'createAndWait' 
                function, which is synonomous with adding a new IDR 'Area.' 
                See saHpiAreaRowStatus.
                        
                See TEXTUAL-CONVENTION 'SaHpiInstrumentId.'"
        REFERENCE
                "SAI-HPI-B.01.01 section 7.4 and 7.4.3."
        ::= { saHpiAreaEntry 1 }


saHpiAreaIdIndex OBJECT-TYPE
        SYNTAX SaHpiInstrumentId
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This columnar object is the value generated and utilized by
                the underlying system management implementation.  This is 
                the SAI-HPI-b.01.01 AreaId.
                        
                See TEXTUAL-CONVENTION 'SaHpiInstrumentId'"
        ::= { saHpiAreaEntry 2 }


saHpiAreaType OBJECT-TYPE
        SYNTAX INTEGER {
                        undefined(0),
                        internalUse(177),
                        chassisInfo(178),
                        boardInfo(179),
                        productInfo(180),
                        oem(193),
                        unspecified(256) }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "The type of Area.
                        
                New Area's are Created when 'saHpiIdrAreaType' is
                written with the appropriate index values's.   

                Note: Enumerated values are increased by one value
                compared to SAI-HPI-B.01.01 spec."
        REFERENCE
                "SAI-HPI-B.01.01 and 7.4 and 7.4.3."
        ::= { saHpiAreaEntry 3 }


saHpiAreaIsReadOnly OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This columnar object is informational only. 
                 Describes if an area is read-only.    
                        
                If it is set to 'FASLE' then a user
                can 'delete' this 'area'  and add new 'fields.'  
                        
                If  the  'IsReadOnly' is 'TRUE'  then 'area'
                cannot be deleted nor have 'fields' added.
                        
                Additionally, if an 'IsReadOnly' may be FALSE
                and a delete still may not be possibly if one
                or more of the 'area's' fields are flagged
                as read-only.

                If  'IsReadOnly' is 'FASLE' then  all area 'fields' 
                are flagged as 'read-only' as well."

        ::= { saHpiAreaEntry 4 }


saHpiAreaRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "This columnar object contains the status of the row
                and also perform add and delete operations.

                The status column uses three defined values:

                - `active(1)', which indicates that the conceptual row is
                  available for use by the managed device;

                - `notInService(2)', which indicates that the conceptual
                  row exists in the agent, but is unavailable for use by
                  the managed device (see NOTE below); 'notInService' has
                  no implication regarding the internal consistency of
                  the row, availability of resources, or consistency with
                  the current state of the managed device.

                - `createAndWait(5)', which is supplied by a management
                  station wishing to create a new instance of a
                  conceptual row (but not make it available for use by
                  the managed device). 
                  
                  This function is used to add an Area to the specified 
                  Inventory Data Repository.  The row is created 
                  (and changes state to 'active' when the saHpiAreaType 
                  has been correctly set) to a new instance of the 
                  conceptual row. The dis-allowed saHpiAreaType value is 
                  undefined(0) and unspecified(256).
                  
                  It is the responsibility of the caller to specify an 
                  AreadId that has not been previously assigned.  The 
                  user specifies AreaId may or maynot be the same value
                  as the under lying HPI system management service.  The 
                  HPI assigned ID will be reflected in the columnar object
                  'saHpiAreaIdIndex'.
                  

                - `destroy(6)', which is supplied by a management station
                  wishing to delete all of the instances associated with
                  an existing conceptual row. This function allows the 
                  HPI MIB User to delete an Inventory Data Area, including 
                  the Area header and all fields contained with the area, 
                  from a particular Inventory Data Repository.
                  In some implementations, certain Areas are intrinsically 
                  read-only.  The saHpiAreaIsReadOnly flag, indicates
                  if the Area is read-only.
                  If the Inventory Data Area is not 
                  read-only, but contains a Field that is
                  read-only, the Area cannot be deleted.  An attempt
                  to delete an Area that contains a read-only Field
                  will return an error."
        REFERENCE
                "Derived from SAI-HPI-B.01.01 sections
                  7.4.2, 7.4.3, and 7.4.4."
        ::= { saHpiAreaEntry 5 }


saHpiAreaNumDataFields OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Number of Fields contained in Area"
        ::= { saHpiAreaEntry 6 }


-- **************************************
-- **
-- ** saHpiField
-- **
-- **************************************

saHpiFieldActiveEntries OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of inventory data repository field records."
        ::= { hpiInventory 5 }


saHpiFieldTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiFieldEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Table defining inventory data repository field records."
        ::= { hpiInventory 6 }


saHpiFieldEntry OBJECT-TYPE
        SYNTAX SaHpiFieldEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "These structures are used to read and write
                 inventory data repository field records.
                "
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiResourceIsHistorical,
                saHpiInventoryId,
                saHpiAreaId,
                saHpiFieldId }
        ::= { saHpiFieldTable 1 }


SaHpiFieldEntry ::= SEQUENCE {
        saHpiFieldId           SaHpiInstrumentId,
        saHpiFieldIdIndex      SaHpiInstrumentId,
        saHpiFieldType         INTEGER,
        saHpiFieldIsReadOnly   TruthValue,
        saHpiFieldTextType     SaHpiTextType,
        saHpiFieldTextLanguage SaHpiTextLanguage,
        saHpiFieldText         SaHpiText,
        saHpiFieldStatus       RowStatus }


saHpiFieldId OBJECT-TYPE
        SYNTAX SaHpiInstrumentId
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "See TEXTUAL-CONVENTION 'SaHpiInstrumentId'. 
                 SubAgent created and maintained Index value.
                 Do not confuse this with saHpiFieldIdIndex
                 that is created and maintained by the underlying
                  HPI library.  See next column."
        ::= { saHpiFieldEntry 1 }


saHpiFieldIdIndex OBJECT-TYPE
        SYNTAX SaHpiInstrumentId
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "See TEXTUAL-CONVENTION 'SaHpiInstrumentId', 
                Used to store the HPI
                generated AreaId, very important."
        ::= { saHpiFieldEntry 2 }


saHpiFieldType OBJECT-TYPE
        SYNTAX INTEGER {
                        undefined(0),
                        chassisType(1),
                        mfgDatetime(2),
                        manufacturer(3),
                        productName(4),
                        productVersion(5),
                        serialNumber(6),
                        partNumber(7),
                        fileId(8),
                        assetTag(9),
                        custom(10),
                        unspecified(256) }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Inventory Data Field type definitions.
                        
                Note: Enumerated values are increased by one
                value compared to SAI-HPI-B spec."
        ::= { saHpiFieldEntry 3 }


saHpiFieldIsReadOnly OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Describes if an field is read-only.  All field
                 headers in a read-only IDR are flagged as read-only
                 as well."
        ::= { saHpiFieldEntry 4 }


saHpiFieldTextType OBJECT-TYPE
        SYNTAX SaHpiTextType
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Field Data.
                See Definition for SaHpiTextType for more details."
        ::= { saHpiFieldEntry 5 }


saHpiFieldTextLanguage OBJECT-TYPE
        SYNTAX SaHpiTextLanguage
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Field Data.
                See Definition for SaHpiTextLanguage for more details."
        ::= { saHpiFieldEntry 6 }


saHpiFieldText OBJECT-TYPE
        SYNTAX SaHpiText
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Field Data.
                The type of date is specified
                by saHpiResourceTagTextType and saHpiResourceTagLanguage."
        ::= { saHpiFieldEntry 7 }


saHpiFieldStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "This object provides a method to create and delete a
                    Data Inventory Field.

                    Supported states are:
                                 active(1),
                                 notInService(2),
                                 createAndWait(5),
                                 destroy(6)

                The status column has four defined values:

                - `active(1)', which indicates that the conceptual row is
                    available for use by the managed device. For it to
                    be in such state, the columnar objects: saHpiFieldType, 
                    saHpiFieldTextType, saHpiTextLanguage,
                   and saHpiFieldText 
                   must have valid values.

                - `notInService(2)', which indicates that the conceptual
                    row exists in the agent, but is unavailable for use by
                    the managed device (see NOTE below); 'notInService' has
                    no implication regarding the internal consistency of
                    the row, availability of resources, or consistency with
                    the current state of the managed device.

                - `createAndWait(5)', which is supplied by a management
                    station wishing to create a new instance of a
                    conceptual row. After setting this value, the management
                    station is responsible of providing valid values to the
                    columnar objects: saHpiFieldIsReadOnly, saHpiFieldType,
                    saHpiFieldTextType, saHpiTextLanguage
                    and saHpiFieldText.

                - `destroy(6)', which is supplied by a management station
                    wishing to delete all of the instances associated with
                    an existing conceptual row."
        REFERENCE
                "SAI-HPI-B.01.01 sections 7.4.5, 7.4.6, 7.4.7, and 7.4.8."
        ::= { saHpiFieldEntry 8 }


--
-- /***********************************************************************
-- ************************************************************************
-- **********                                                    **********
-- **********          Watchdog Resource Data Records            **********
-- **********                                                    **********
-- ************************************************************************
-- ***********************************************************************/
--

saHpiWatchdogActiveEntries OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of watchdogs present on this system."
        ::= { hpiResources 3 }


saHpiWatchdogTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiWatchdogEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Table of static and dynamic watchdog information
                including watchdog RDR data.  The dynamic data
               portion is necessary for control and operation of
              the watchdog timers."
        ::= { hpiResources 4 }


saHpiWatchdogEntry OBJECT-TYPE
        SYNTAX SaHpiWatchdogEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "When the 'Watchdog' capability is set in a
               resource, a watchdog with an identifier of
               SAHPI_DEFAULT_WATCHDOG_NUM(0), that is defined as 0,  
               is required. All watchdogs shall be
               represented with an entry in saHpiWatchdogTable,
               including the initial watchdog with an identifier of 
               SAHPI_DEFAULT_WATCHDOG_NUM(0)."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiResourceIsHistorical,
                saHpiWatchdogNum }
        ::= { saHpiWatchdogTable 1 }


SaHpiWatchdogEntry ::= SEQUENCE {
        saHpiWatchdogNum                SaHpiInstrumentId,
        saHpiWatchdogLog                TruthValue,
        saHpiWatchdogRunning            TruthValue,
        saHpiWatchdogTimerUseState      SaHpiWatchdogTimerUse,
        saHpiWatchdogTimerAction        INTEGER,
        saHpiWatchdogPretimerInterrupt  SaHpiWatchdogPreTimerAction,
        saHpiWatchdogPreTimeoutInterval Unsigned32,
        saHpiWatchdogTimerUseExpFlags   OCTET STRING,
        saHpiWatchdogTimerInitialCount  Unsigned32,
        saHpiWatchdogTimerPresentCount  Unsigned32,
        saHpiWatchdogTimerReset         TruthValue,
        saHpiWatchdogOem                Unsigned32,
        saHpiWatchdogRDR                RowPointer }


saHpiWatchdogNum OBJECT-TYPE
        SYNTAX SaHpiInstrumentId
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "RPT entry for a resource indicates that it supports
                 watchdog timers, then there must be at least one
                 watchdog timer hosted by the resource,
                with the watchdog number of
                   SAHPI_DEFAULT_WATCHDOG_NUM (0x00000).
               If additional watchdog timers are hosted by the
               resource, they may have any watchdog number, and may
               be located by watchdog records in the RDR
               repository. Note: The SAHPI_DEFAULT_WATCHDOG_NUM
               is defined as 0x0000000."
        ::= { saHpiWatchdogEntry 1 }


saHpiWatchdogLog OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "If you read this object, it means:
                Log -  indicates whether or not the Watchdog is
                       configured to issue an event when it next
                       times out. TRUE=event will be issued on timeout.

                If you set this object, it means:
                Log -  indicates whether or not the Watchdog should  issue
                       an event when it next times out. TRUE=event will be
                       issued on timeout.

                Setting this object will NOT take effect on the
                Watchdog until the object SaHpiWatchdogRunning is
                set to true(1).
                "
        ::= { saHpiWatchdogEntry 2 }


saHpiWatchdogRunning OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "If you read this object, it means:
                Running -       indicates whether or not the Watchdog
                                is currently running or stopped.
                               TRUE=Watchdog is running.

                If you set this object, it means:
                Running -       indicates whether or not the Watchdog
                                should be stopped before updating.
                                TRUE =  Watchdog is not stopped. If it is
                                        already stopped, it will remain
                                        stopped, but if it is running,
                                        it will continue to run, with the
                                        countdown timer reset to the
                                        new InitialCount.
                                        Note that there is a race
                                        condition possible
                                        with this setting, so it
                                        should be used with care.
                                FALSE = Watchdog is stopped.
                                        After this object is called,
                                        a subsequent write to
                                        saHpiWatchdogTimerReset 
                                        is required to start the timer."
        REFERENCE
                "See SAI-HPI-B.01.01 section 7.5 and 7.5.3."
        ::= { saHpiWatchdogEntry 3 }


saHpiWatchdogTimerUseState OBJECT-TYPE
        SYNTAX SaHpiWatchdogTimerUse
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "If you read this object, it means:
                TimerUse - indicates the current use of the timer;
                           one of five preset uses which was included
                           on the last SET object request, or through some
                           other implementation-dependent means to start
                           the Watchdog timer.  

                If you set this object, it means:
                TimerUse - indicates the current use of the timer.
                          Will control which saHpiWatchdogTimerUseExpFlags
                           is set if the timer expires

                Setting this object will NOT take effect on the
                Watchdog until the object SaHpiWatchdogRunning
                is set to true(1)."
        ::= { saHpiWatchdogEntry 4 }


saHpiWatchdogTimerAction OBJECT-TYPE
        SYNTAX INTEGER {
                        undefined(0),
                        noAction(1),
                        reset(2),
                        powerDown(3),
                        powerCycle(4) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Indicates what action will be taken when
                 the Watchdog times out.

                  Setting this object will NOT take effect on the
                 Watchdog until the object SaHpiWatchdogRunning is
                 set to true(1).

                Note: Enumerated values are increased by one value
               compared to SAI-HPI-B spec."
        ::= { saHpiWatchdogEntry 5 }


saHpiWatchdogPretimerInterrupt OBJECT-TYPE
        SYNTAX SaHpiWatchdogPreTimerAction
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "PretimerInterrupt -  indicates which action will be taken
                                'PreTimeoutInterval' seconds prior
                                to Watchdog timer expiration. 

                Setting this object will NOT take effect on the
               Watchdog until the object SaHpiWatchdogRunning
               is set to true(1)."
        ::= { saHpiWatchdogEntry 6 }

saHpiWatchdogPreTimeoutInterval OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
          "PreTimeoutInterval indicates how many
          milliseconds prior to timer time
          out the PretimerInterrupt action will be taken. If
          'PreTimeoutInterval' = 0, the PretimerInterrupt action
          will occur concurrently with 'TimerAction.' HPI
          implementations may not be able to support millisecond
          resolution and may have a maximum value restriction.
          These restrictions should be documented by the
         provider of the HPI interface. 

       Setting this object will NOT take effect on the Watchdog until the
       object SaHpiWatchdogRunning is set to true(1)."
        ::= { saHpiWatchdogEntry 7 }


saHpiWatchdogTimerUseExpFlags OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE (0..56))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
         "Set of values seperated by a delimiter.
        For each value set, the corresponding Timer Use
        Expiration Flag will be CLEARED. Generally,
        a program should only clear the Timer Use 
        Expiration Flag corresponding to its own
        TimerUse, so that other software, which may
        have used the timer for another purpose in the 
        past can still read its TimerUseExpFlag to determine
        whether or not the timer expired during that use.
                        
                The values are:

                EXP_BIOS_FRB2  
                EXP_BIOS_POST
                EXP_OS_LOAD
                EXP_SMS_OS
                EXP_OEM

       Setting this object will NOT take effect on the Watchdog until the
                object SaHpiWatchdogRunning is set to true(1)."
        ::= { saHpiWatchdogEntry 8 }


saHpiWatchdogTimerInitialCount OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
         "InitialCount - The time, in milliseconds, before the timer
                     will time out after a SaHpiWatchdogTimerReset()
                     function call is made, or some other
                     implementation-dependent strobe is sent to the
                     Watchdog. HPI implementations may not be
                     able to support millisecond resolution and may have a
                     maximum value restriction. These restrictions should
                     be documented by the provider of the HPI interface.

        Setting this object will NOT take effect on the Watchdog until the
        object SaHpiWatchdogRunning is set to true(1)."
        ::= { saHpiWatchdogEntry 9 }


saHpiWatchdogTimerPresentCount OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION "
        PresentCount - The remaining time in milliseconds before the timer
                       will time out unless a SaHpiWatchdogTimerReset()
                       function call is made, or some other implementation-
                       dependent strobe is sent to the Watchdog.
                       HPI implementations may not be able to support
                       millisecond resolution on watchdog timers, but will
                       return the number of clock ticks remaining times the
                       number of milliseconds between each tick. 

          Setting this object will NOT take effect on the Watchdog
          until the object SaHpiWatchdogRunning is set to true(1)."
        ::= { saHpiWatchdogEntry 10 }


saHpiWatchdogTimerReset OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "This object provides a method to start or restart
                the watchdog timer from the initial countdown value. 

                Setting this to true(1) will 'strobe' the counter and
               reset to the initial countdown value as specified in 
                saHpiWatchdogTimerInitialCount.

                Setting this object will NOT take effect on the
               Watchdog until the object SaHpiWatchdogRunning
               is set to true(1)."
        ::= { saHpiWatchdogEntry 11 }


saHpiWatchdogOem OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Reserved for Oem use"
        ::= { saHpiWatchdogEntry 12 }


saHpiWatchdogRDR OBJECT-TYPE
        SYNTAX RowPointer
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Forward pointer to the Resource Data Repository OID."
        ::= { saHpiWatchdogEntry 13 }


--
-- /***********************************************************************
-- ************************************************************************
-- **********                                                    **********
-- **********          Annunciator Resource Data Records         **********
-- **********                                                    **********
-- ************************************************************************
-- ************************************************************************/
--

saHpiAnnunciatorActiveEntries OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of annunciators present on this system."
        ::= { hpiResources 5 }


saHpiAnnunciatorTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SaHpiAnnunciatorEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Table of static Annunciator resource data record
                information and dynamic control data.  The columnar object 
                'saHpiAnnunciatorMode' is in support of SAI-HPI-B.01.01
               sections 7.6.6 and 7.6.7 and is representative
               of the dynamic control data found in this table.  
                "
        ::= { hpiResources 6 }


saHpiAnnunciatorEntry OBJECT-TYPE
        SYNTAX SaHpiAnnunciatorEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "The Annunciator table is used to control the set of
                 annunciators associated with a resource.

                An Annunciator management instrument holds a set of
                individual announcements.  The function of the
                Annunciator is to communicate the contents of its
                current set via whatever platform-specific 
                mechanism is associated with that particular
                Annunciator management instrument.  For example,
                if announcements are to be communicated 
                via lighting a set of LEDs on a front-panel display,
                the Annunciator management instrument may analyze
                its current set of announcements and turn on a
                single LED reflecting the most severe condition found, 
                or turn on a 'System Ok' LED if there are currently no
                items in the set.  A different Annunciator may
                continuously scroll each announcement in
                its set on a text display, as well as turning on
                LEDs and setting dry-contact relays to reflect
                the severity of conditions present.  
                A third Annunciator may announce items in its set
                by sending messages to a proprietary management
                system, or by sending emails or pages to a
                system technician.

                The Annunciator provides a common interface to these
                varied mechanisms for announcing conditions, so the
                HPI SNMP Manager is not burdened by 
                platform-to-platform differences.  However, the
                current content of any annunciator management
                instrument is not defined by the HPI standard 
                in the same way that the contents of the DAT are defined.
                Thus, the HPI implementation and HPI SNMP Manager's
                can exert more control over what conditions should be
                announced.  Further, a platform can contain 
                multiple Annunciator management instruments, each
                reflecting a different physical announcement device
                in the platform.  By exposing each separately, 
                HPI SNMP Manager's and the HPI implementation can
                control which conditions are handled by each
                announcement device.

                An Annunciator management instrument may be implemented
                using other HPI controls that are in 'auto' mode;
                for example, digital controls to turn LEDs on and
                off, stream controls to sound audible alerts, and/or text 
                controls to display detailed information.  However,
                Annunciators may also operate directly to report
                conditions using mechanisms that are 
                not themselves visible directly in the HPI interface.

                Over time, announcements are added to and deleted from
                an Annunciator`s current set of announcements. This
                may be done automatically by the HPI 
                implementation to reflect platform fault conditions,
                or by the HPI SNMP Manager via the HPI interface.
                When announcements are added or deleted 
                automatically by the HPI implementation, it is
                implementation-specific 
                which announcements are added or removed."
        INDEX {
                saHpiDomainId,
                saHpiResourceId,
                saHpiAnnunciatorNum }
        ::= { saHpiAnnunciatorTable 1 }


SaHpiAnnunciatorEntry ::= SEQUENCE {
        saHpiAnnunciatorNum           SaHpiInstrumentId,
        saHpiAnnunciatorType          INTEGER,
        saHpiAnnunciatorModeReadOnly  TruthValue,
        saHpiAnnunciatorMaxConditions Unsigned32,
        saHpiAnnunciatorMode          INTEGER,
        saHpiAnnunciatorOem           Unsigned32,
        saHpiAnnunciatorRDR           RowPointer }


saHpiAnnunciatorNum OBJECT-TYPE
        SYNTAX SaHpiInstrumentId
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Unique Number identifying each annunciator."
        ::= { saHpiAnnunciatorEntry 1 }


saHpiAnnunciatorType OBJECT-TYPE
        SYNTAX INTEGER {
                        undefined(0),
                        led(1),
                        dryContactClosure(2),
                        audible(3),
                        lcdDisplay(4),
                        message(5),
                        composite(6),
                        oem(7) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
         "The following enumerated type defines the possible output types
         which can be associated with an Annunciator Management Instrument.
         Note: Enumerated values are increased by one value compared to
                SAI-HPI-B spec."
        ::= { saHpiAnnunciatorEntry 2 }


saHpiAnnunciatorModeReadOnly OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "if True, Mode may not be changed by HPI SNMP Manager."
        ::= { saHpiAnnunciatorEntry 3 }


saHpiAnnunciatorMaxConditions OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Maximum number of conditions that can be held in current
                set.  0 means no fixed limit."
        ::= { saHpiAnnunciatorEntry 4 }


saHpiAnnunciatorMode OBJECT-TYPE
        SYNTAX INTEGER {
                        undefined(0),
                        auto(1),
                        user(2),
                        shared(3) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The Annunciator management instrument has a current mode that
            indicates whether announcements are added and removed
            automatically by the HPI implementation, by the HPI SNMP
            Manager, or both.  The mode may be set to one of three
            values, with the following meanings:      
                 
                auto(1) - the HPI implementation automatically adds
                          and deletes announcements; the HPI SNMP
                          Manager is not permitted to add or delete
                          announcements.     
                user(2) - the HPI SNMP Manager may add and delete
                          announcements; the HPI implementation will
                          not automatically add or delete announcements.    
                shared(3) -  the HPI implementation automatically adds
                         and deletes announcements, and the HPI SNMP
                         Manager may also add and delete announcements.     
                 
                The initial mode of each Annunciator is
                implementation-specific.  The HPI User may change
                the mode of Annunciators with the saHpiAnnunciatorMode
                object.  However, the mode may be configured to be
                Read-only, in which case the HPI User will not be able
                to change the mode.        
                 
                When the mode is user(2) or shared(3), HPI SNMP Managers
                may add or delete any types 
                of announcements in the Annunciator's current set -
                not just HPI SNMP Manager announcements.  
                This is allowed so that the HPI SNMP Manager can exert
                complete control over what conditions 
                are being announced, if that is required. 
                Note that this is less restrictive than 
                the similar operations on the DAT. 
                To distinguish between announcements added to an
                Annunciator automatically and those added by an
                HPI SNMP Manager, an saHpiAddedByUser 
                field in the announcement indicates the source of
                the announcement in the set.

                Note: Enumerated values are increased by one value
                compared to SAI-HPI-B.01.01 spec."
        ::= { saHpiAnnunciatorEntry 5 }


saHpiAnnunciatorOem OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Maximum number of conditions that can be held in current
                set.  0 means no fixed limit.  if True, Mode may not be 
                changed by HPI SNMP Manager."
        ::= { saHpiAnnunciatorEntry 6 }


saHpiAnnunciatorRDR OBJECT-TYPE
        SYNTAX RowPointer
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Forward pointer to the Resource Data Repository OID."
        ::= { saHpiAnnunciatorEntry 7 }



--
-- /***********************************************************************
-- ************************************************************************
-- *********                                                     **********
-- *********           Notifications                             **********
-- *********                                                     **********
-- ************************************************************************
-- ***********************************************************************/
--

hpiNotificationPrefix OBJECT IDENTIFIER ::= { hpiNotifications 0 }

saHpiSensorNotification NOTIFICATION-TYPE
        OBJECTS {
                saHpiDomainActiveAlarms,
                saHpiResourceId,
                saHpiEventSeverity,
                saHpiSensorEventType,
                saHpiSensorEventCategory,
                saHpiSensorEventState,
                saHpiSensorEventTriggerReadingType,
                saHpiSensorEventTriggerReading,
                saHpiSensorEventTriggerThresholdType,
                saHpiSensorEventTriggerThreshold}
        STATUS current
        DESCRIPTION
                "Sensor event notification."
        REFERENCE
                "Derived from typedefs in SAI-HPI-B.01.01
                 sections 7.2 and 7.2.1."
        ::= { hpiNotificationPrefix 1 }


saHpiSensorEnableChangeNotification NOTIFICATION-TYPE
        OBJECTS {
                saHpiDomainActiveAlarms,
                saHpiResourceId,
                saHpiEventSeverity,
                saHpiSensorEnableChangeEventType,
                saHpiSensorEnableChangeEventCategory,
                saHpiSensorEnableChangeEventState}
        STATUS current
        DESCRIPTION
                "Sensor enable change event notification."
        REFERENCE
                "Derived from typedefs in SAI-HPI-B.01.01
                 sections 7.2.9 and 7.2.10."
        ::= { hpiNotificationPrefix 2 }


saHpiResourceNotification NOTIFICATION-TYPE
        OBJECTS {
                saHpiDomainActiveAlarms,
                saHpiResourceId,
                saHpiEventSeverity,
                saHpiResourceEventType}
        STATUS current
        DESCRIPTION
                "Resource failure/restoration event notifications."
        ::= { hpiNotificationPrefix 3 }


saHpiDomainNotification NOTIFICATION-TYPE
        OBJECTS {
                saHpiDomainActiveAlarms,
                saHpiResourceId,
                saHpiEventSeverity,
                saHpiDomainEventType}
        STATUS current
        DESCRIPTION
               "Domain events are used to announce the addition of domain
               references and the removal of domain references to the DRT."
        REFERENCE
                "SAI-HPI-B.01.01 section 6.4, 6.5, 8.14."
        ::= { hpiNotificationPrefix 4 }


saHpiWatchdogNotification NOTIFICATION-TYPE
        OBJECTS {
                saHpiDomainActiveAlarms,
                saHpiResourceId,
                saHpiEventSeverity,
                saHpiWatchdogEventAction,
                saHpiWatchdogEventPreTimerAction,
                saHpiWatchdogEventUse}
        STATUS current
        DESCRIPTION
                "Watchdog notification."
        REFERENCE
                "SAI-HPI-B.01.01 section 6.4, 6.5, 8.14."
        ::= { hpiNotificationPrefix 5 }


saHpiHotSwapNotification NOTIFICATION-TYPE
        OBJECTS {
                saHpiDomainActiveAlarms,
                saHpiResourceId,
                saHpiEventSeverity,
                saHpiHotSwapEventState,
                saHpiHotSwapEventPreviousState}
        STATUS current
        DESCRIPTION
                "Hot swap notification."
        REFERENCE
                "SAI-HPI-B.01.01 section 6.4, 6.5, 8.14."
        ::= { hpiNotificationPrefix 6 }


saHpiSoftwareNotification NOTIFICATION-TYPE
        OBJECTS {
                saHpiDomainActiveAlarms,
                saHpiResourceId,
                saHpiEventSeverity,
                saHpiSoftwareEventType,
                saHpiSoftwareEventTextType,
                saHpiSoftwareEventTextLanguage,
                saHpiSoftwareEventText}
        STATUS current
        DESCRIPTION
                "Audit events report a discrepancy in the audit process.
                Audits are typically performed by HA software to detect
                problems.  Audits may look for such things as corrupted
                data stores, inconsistent RPT information, or improperly
                managed queues.  Startup events report a failure to
                start-up properly, or inconsistencies in persisted data."
        REFERENCE
                "SAI-HPI-B.01.01 section 6.4, 6.5, 8.14."
        ::= { hpiNotificationPrefix 7 }


saHpiOemNotification NOTIFICATION-TYPE
        OBJECTS {
                saHpiDomainActiveAlarms,
                saHpiResourceId,
                saHpiEventSeverity,
                saHpiOemEventTextType,
                saHpiOemEventTextLanguage,
                saHpiOemEventText}
        STATUS current
        DESCRIPTION
                "Oem event notifications."
        REFERENCE
                "SAI-HPI-B.01.01 section 6.4, 6.5, 8.14."
        ::= { hpiNotificationPrefix 8 }


saHpiUserNotification NOTIFICATION-TYPE
        OBJECTS {
                saHpiDomainActiveAlarms,
                saHpiResourceId,
                saHpiEventSeverity,
                saHpiUserEventTextType,
                saHpiUserEventTextLanguage,
                saHpiUserEventText}
        STATUS current
        DESCRIPTION
                "User events may be used for storing
                 custom events created by an HPI
                User when injecting events into the Event Log using 
                saHpiEventLogEntryAdd()."
        REFERENCE
                "SAI-HPI-B.01.01 section 6.4, 6.5, 8.14."
        ::= { hpiNotificationPrefix 9 }

--
-- /***********************************************************************
-- ************************************************************************
-- *********                                                     **********
-- *********  Conformance Information (for SMIv2)                **********
-- *********                                                     **********
-- ************************************************************************
-- ***********************************************************************/
--

hpiGroups      OBJECT IDENTIFIER ::= { hpiConformance 1 }
hpiCompliances OBJECT IDENTIFIER ::= { hpiConformance 2 }

saHpiCompliance MODULE-COMPLIANCE
        STATUS current
        DESCRIPTION
                "The compliance statement for SNMP hardware platform
                entities."

        MODULE  -- this module
        MANDATORY-GROUPS {
                        saHpiDomainInfoGroup,
                        saHpiDomainReferenceGroup,
                        saHpiDomainAlarmGroup,
                        saHpiResourceGroup,
                        saHpiAutoInsertTimeoutGroup,
                        saHpiHotSwapGroup,
                        saHpiEventGroup,
                        saHpiResourceEventGroup,
                        saHpiDomainEventGroup,
                        saHpiSensorEventGroup,
                        saHpiSensorEnableChangeEventGroup,
                        saHpiHotSwapEventGroup,
                        saHpiWatchdogEventGroup,
                        saHpiSoftwareEventGroup,
                        saHpiOemEventGroup,
                        saHpiUserEventGroup,
                        saHpiAnnouncementGroup,
                        saHpiEventLogInfoGroup,
                        saHpiEventLogGroup,
                        saHpiResourceEventLogGroup,
                        saHpiDomainEventLogGroup,
                        saHpiSensorEventLogGroup,
                        saHpiSensorEnableChangeEventLogGroup,
                        saHpiHotSwapEventLogGroup,
                        saHpiWatchdogEventLogGroup,
                        saHpiSoftwareEventLogGroup,
                        saHpiOemEventLogGroup,
                        saHpiUserEventLogGroup,
                        saHpiRdrGroup,
                        saHpiCtrlDigitalGroup,
                        saHpiCtrlDiscreteGroup,
                        saHpiCtrlAnalogGroup,
                        saHpiCtrlStreamGroup,
                        saHpiCtrlTextGroup,
                        saHpiCtrlOemGroup,
                        saHpiSensorGroup,
                        saHpiCurrentSensorStateGroup,
                        saHpiSensorReadingMaxGroup,
                        saHpiSensorReadingMinGroup,
                        saHpiSensorReadingNominalGroup,
                        saHpiSensorReadingNormalMaxGroup,
                        saHpiSensorReadingNormalMinGroup,
                        saHpiSensorThdLowCriticalGroup,
                        saHpiSensorThdLowMajorGroup,
                        saHpiSensorThdLowMinorGroup,
                        saHpiSensorThdUpCriticalGroup,
                        saHpiSensorThdUpMajorGroup,
                        saHpiSensorThdUpMinorGroup,
                        saHpiSensorThdPosHysteresisGroup,
                        saHpiSensorThdNegHysteresisGroup,
                        saHpiInventoryGroup,
                        saHpiAreaGroup,
                        saHpiFieldGroup,
                        saHpiWatchdogGroup,
                        saHpiAnnunciatorGroup,
                        saHpiNotificationGroup,
                        saHpiAdministrationGroup }
        ::= { hpiCompliances 1 }

saHpiDomainInfoGroup OBJECT-GROUP
        OBJECTS {
                saHpiHpiVersion,
                saHpiDiscover,
                saHpiAgentVersion,
                saHpiDomainInfoActiveEntries,
                saHpiDomainCapabilities,
                saHpiDomainIsPeer,
                saHpiDomainTagTextType,
                saHpiDomainTagTextLanguage,
                saHpiDomainTag,
                saHpiDomainReferenceUpdateCount,
                saHpiDomainReferenceUpdateTimestamp,
                saHpiDomainResourcePresenceUpdateCount,
                saHpiDomainResourcePresenceUpdateTimestamp,
                saHpiDomainAlarmUpdateCount,
                saHpiDomainAlarmUpdateTimestamp,
                saHpiDomainActiveAlarms,
                saHpiDomainCriticalAlarms,
                saHpiDomainMajorAlarms,
                saHpiDomainMinorAlarms,
                saHpiDomainAlarmUserLimit,
                saHpiDomainAlarmOverflow,
                saHpiSnmpResourceId,
                saHpiDomainGuid }
        STATUS current
        DESCRIPTION
                "saHpiDomainInfo table."
        ::= { hpiGroups 1 }

saHpiDomainReferenceGroup OBJECT-GROUP
        OBJECTS {
                saHpiDomainReferenceActiveEntries,
                saHpiDomainReferenceIsPeer }
        STATUS current
        DESCRIPTION
                "saHpiDomainReference table."
        ::= { hpiGroups 2 }

saHpiDomainAlarmGroup OBJECT-GROUP
        OBJECTS {
                saHpiDomainAlarmActiveEntries,
                saHpiDomainAlarmTimestamp,
                saHpiDomainAlarmSeverity,
                saHpiDomainAlarmAcknowledged,
                saHpiDomainAlarmAckBySeverity,
                saHpiDomainAlarmCondStatusCondType,
                saHpiDomainAlarmCondEntityPath,
                saHpiDomainAlarmCondSensorNum,
                saHpiDomainAlarmCondEventState,
                saHpiDomainAlarmCondNameValue,
                saHpiDomainAlarmCondMid,
                saHpiDomainAlarmCondTextType,
                saHpiDomainAlarmCondTextLanguage,
                saHpiDomainAlarmCondText,
                saHpiDomainAlarmRowStatus }
        STATUS current
        DESCRIPTION
                "saHpiDomainAlarm table."
        ::= { hpiGroups 3 }

saHpiResourceGroup OBJECT-GROUP
        OBJECTS {
                saHpiResourceActiveEntries,
                saHpiResourceId,
                saHpiResourceEntityPath,
                saHpiResourceCapabilities,
                saHpiResourceHotSwapCapabilities,
                saHpiResourceSeverity,
                saHpiResourceFailed,
                saHpiResourceInfoResourceRev,
                saHpiResourceInfoSpecificVer,
                saHpiResourceInfoDeviceSupport,
                saHpiResourceInfoManufacturerId,
                saHpiResourceInfoProductId,
                saHpiResourceInfoFirmwareMajorRev,
                saHpiResourceInfoFirmwareMinorRev,
                saHpiResourceInfoAuxFirmwareRev,
                saHpiResourceInfoGuid,
                saHpiResourceTagTextType,
                saHpiResourceTagTextLanguage,
                saHpiResourceTag,
                saHpiResourceParmControl,
                saHpiResourceResetAction,
                saHpiResourcePowerAction }
        STATUS current
        DESCRIPTION
                "saHpiResource table."
        ::= { hpiGroups 4 }

saHpiAutoInsertTimeoutGroup OBJECT-GROUP
        OBJECTS {
                saHpiAutoInsertTimeoutForInsert }
        STATUS current
        DESCRIPTION
                "saHpiAutoInsertTimeout table."
        ::= { hpiGroups 5 }

saHpiHotSwapGroup OBJECT-GROUP
        OBJECTS {
                saHpiHotSwapActiveEntries,
                saHpiHotSwapIndicator,
                saHpiHotSwapState,
                saHpiHotSwapExtractTimeout,
                saHpiHotSwapActionRequest,
                saHpiHotSwapPolicyCancel,
                saHpiHotSwapResourceRequest }
        STATUS current
        DESCRIPTION
                "saHpiHotSwap table."
        ::= { hpiGroups 6 }

saHpiEventGroup OBJECT-GROUP
        OBJECTS {
                saHpiEventLifetimeChanges,
                saHpiEventActiveEntries,
                saHpiEventSeverity,
                saHpiEventSaHpiTime,
                saHpiEventType }
        STATUS current
        DESCRIPTION
                "saHpiEvent table."
        ::= { hpiGroups 7 }

saHpiResourceEventGroup OBJECT-GROUP
        OBJECTS {
                saHpiResourceEventLifetimeChanges,
                saHpiResourceEventActiveEntries,
                saHpiResourceEventTimestamp,
                saHpiResourceEventType }
        STATUS current
        DESCRIPTION
                "saHpiResourceEvent table."
        ::= { hpiGroups 8 }

saHpiDomainEventGroup OBJECT-GROUP
        OBJECTS {
                saHpiDomainEventLifetimeChanges,
                saHpiDomainEventActiveEntries,
                saHpiDomainEventTimestamp,
                saHpiDomainEventType }
        STATUS current
        DESCRIPTION
                "saHpiDomainEvent table."
        ::= { hpiGroups 9 }

saHpiSensorEventGroup OBJECT-GROUP
        OBJECTS {
                saHpiSensorEventLifetimeChanges,
                saHpiSensorEventActiveEntries,
                saHpiSensorEventTimestamp,
                saHpiSensorEventType,
                saHpiSensorEventCategory,
                saHpiSensorEventAssertion,
                saHpiSensorEventState,
                saHpiSensorEventOptionalData,
                saHpiSensorEventTriggerReadingType,
                saHpiSensorEventTriggerReading,
                saHpiSensorEventTriggerThresholdType,
                saHpiSensorEventTriggerThreshold,
                saHpiSensorEventPreviousState,
                saHpiSensorEventCurrentState,
                saHpiSensorEventOem,
                saHpiSensorEventSpecific }
        STATUS current
        DESCRIPTION
                "saHpiSensorEvent table."
        ::= { hpiGroups 10 }

saHpiSensorEnableChangeEventGroup OBJECT-GROUP
        OBJECTS {
                saHpiSensorEnableChangeEventLifetimeChanges,
                saHpiSensorEnableChangeEventActiveEntries,
                saHpiSensorEnableChangeEventTimestamp,
                saHpiSensorEnableChangeEventType,
                saHpiSensorEnableChangeEventCategory,
                saHpiSensorEnableChangeEventEnabled,
                saHpiSensorEnableChangeEventEventsEnabled,
                saHpiSensorEnableChangeEventAssertEvents,
                saHpiSensorEnableChangeEventDeassertEvents,
                saHpiSensorEnableChangeEventOptionalData,
                saHpiSensorEnableChangeEventState }
        STATUS current
        DESCRIPTION
                "saHpiSensorEnableChangeEvent table."
        ::= { hpiGroups 11 }

saHpiHotSwapEventGroup OBJECT-GROUP
        OBJECTS {
                saHpiHotSwapEventLifetimeChanges,
                saHpiHotSwapEventActiveEntries,
                saHpiHotSwapEventTimestamp,
                saHpiHotSwapEventState,
                saHpiHotSwapEventPreviousState }
        STATUS current
        DESCRIPTION
                "saHpiHotSwapEvent table."
        ::= { hpiGroups 12 }

saHpiWatchdogEventGroup OBJECT-GROUP
        OBJECTS {
                saHpiWatchdogEventLifetimeChanges,
                saHpiWatchdogEventActiveEntries,
                saHpiWatchdogEventTimestamp,
                saHpiWatchdogEventAction,
                saHpiWatchdogEventPreTimerAction,
                saHpiWatchdogEventUse }
        STATUS current
        DESCRIPTION
                "saHpiWatchdogEvent table."
        ::= { hpiGroups 13 }

saHpiSoftwareEventGroup OBJECT-GROUP
        OBJECTS {
                saHpiSoftwareEventLifetimeChanges,
                saHpiSoftwareEventActiveEntries,
                saHpiSoftwareEventTimestamp,
                saHpiSoftwareEventManufacturerIdT,
                saHpiSoftwareEventType,
                saHpiSoftwareEventTextType,
                saHpiSoftwareEventTextLanguage,
                saHpiSoftwareEventText }
        STATUS current
        DESCRIPTION
                "saHpiSoftwareEvent table."
        ::= { hpiGroups 14 }

saHpiOemEventGroup OBJECT-GROUP
        OBJECTS {
                saHpiOemEventLifetimeChanges,
                saHpiOemEventActiveEntries,
                saHpiOemEventTimestamp,
                saHpiOemEventManufacturerIdT,
                saHpiOemEventTextType,
                saHpiOemEventTextLanguage,
                saHpiOemEventText }
        STATUS current
        DESCRIPTION
                "saHpiOemEvent table."
        ::= { hpiGroups 15 }

saHpiUserEventGroup OBJECT-GROUP
        OBJECTS {
                saHpiUserEventLifetimeChanges,
                saHpiUserEventActiveEntries,
                saHpiUserEventTimestamp,
                saHpiUserEventTextType,
                saHpiUserEventTextLanguage,
                saHpiUserEventText,
                saHpiUserEventRowStatus }
        STATUS current
        DESCRIPTION
                "saHpiUserEvent table."
        ::= { hpiGroups 16 }

saHpiAnnouncementGroup OBJECT-GROUP
        OBJECTS {
                saHpiAnnouncementActiveEntries,
                saHpiAnnouncementAnnunciatorNum,
                saHpiAnnouncementTimestamp,
                saHpiAnnouncementAddedByUser,
                saHpiAnnouncementSeverity,
                saHpiAnnouncementAcknowledged,
                saHpiAnnouncementAckBySeverity,
                saHpiAnnouncementStatusCondType,
                saHpiAnnouncementEntityPath,
                saHpiAnnouncementSensorNum,
                saHpiAnnouncementEventState,
                saHpiAnnouncementName,
                saHpiAnnouncementMid,
                saHpiAnnouncementTextType,
                saHpiAnnouncementTextLanguage,
                saHpiAnnouncementText,
                saHpiAnnouncementDelete }
        STATUS current
        DESCRIPTION
                "saHpiAnnouncement table."
        ::= { hpiGroups 17 }

saHpiEventLogInfoGroup OBJECT-GROUP
        OBJECTS {
                saHpiEventLogInfoEntries,
                saHpiEventLogInfoSize,
                saHpiEventLogInfoUserEventMaxSize,
                saHpiEventLogInfoUpdateTimestamp,
                saHpiEventLogInfoTime,
                saHpiEventLogInfoIsEnabled,
                saHpiEventLogInfoOverflowFlag,
                saHpiEventLogInfoOverflowResetable,
                saHpiEventLogInfoOverflowAction,
                saHpiEventLogInfoOverflowReset,
                saHpiEventLogClear,
                saHpiDomainEventLogEntryId,
                saHpiEventLogState }
        STATUS current
        DESCRIPTION
                "saHpiEventLogInfo table."
        ::= { hpiGroups 18 }

saHpiEventLogGroup OBJECT-GROUP
        OBJECTS {
                saHpiEventLogType,
                saHpiEventLogAddedTimestamp,
                saHpiEventLogRowPointer }
        STATUS current
        DESCRIPTION
                "saHpiEventLog table."
        ::= { hpiGroups 19 }

saHpiResourceEventLogGroup OBJECT-GROUP
        OBJECTS {
                saHpiResourceEventLogLifetimeChanges,
                saHpiResourceEventLogActiveEntries,
                saHpiResourceEventLogTimestamp,
                saHpiResourceEventLogType }
        STATUS current
        DESCRIPTION
                "saHpiResourceEventLog table."
        ::= { hpiGroups 20 }

saHpiDomainEventLogGroup OBJECT-GROUP
        OBJECTS {
                saHpiDomainEventLogLifetimeChanges,
                saHpiDomainEventLogActiveEntries,
                saHpiDomainEventLogTimestamp,
                saHpiDomainEventLogType }
        STATUS current
        DESCRIPTION
                "saHpiDomainEventLog table."
        ::= { hpiGroups 21 }

saHpiSensorEventLogGroup OBJECT-GROUP
        OBJECTS {
                saHpiSensorEventLogLifetimeChanges,
                saHpiSensorEventLogActiveEntries,
                saHpiSensorEventLogTimestamp,
                saHpiSensorEventLogType,
                saHpiSensorEventLogCategory,
                saHpiSensorEventLogAssertion,
                saHpiSensorEventLogState,
                saHpiSensorEventLogOptionalData,
                saHpiSensorEventLogTriggerReadingType,
                saHpiSensorEventLogTriggerReading,
                saHpiSensorEventLogTriggerThresholdType,
                saHpiSensorEventLogTriggerThreshold,
                saHpiSensorEventLogPreviousState,
                saHpiSensorEventLogCurrentState,
                saHpiSensorEventLogOem,
                saHpiSensorEventLogSpecific }
        STATUS current
        DESCRIPTION
                "saHpiSensorEventLog table."
        ::= { hpiGroups 22 }

saHpiSensorEnableChangeEventLogGroup OBJECT-GROUP
        OBJECTS {
                saHpiSensorEnableChangeEventLogLifetimeChanges,
                saHpiSensorEnableChangeEventLogActiveEntries,
                saHpiSensorEnableChangeEventLogTimestamp,
                saHpiSensorEnableChangeEventLogType,
                saHpiSensorEnableChangeEventLogCategory,
                saHpiSensorEnableChangeEventLogEnabled,
                saHpiSensorEnableChangeEventLogEventsEnabled,
                saHpiSensorEnableChangeEventLogAssertEvents,
                saHpiSensorEnableChangeEventLogDeassertEvents,
                saHpiSensorEnableChangeEventLogOptionalData,
                saHpiSensorEnableChangeEventLogState }
        STATUS current
        DESCRIPTION
                "saHpiSensorEnableChangeEventLog table."
        ::= { hpiGroups 23 }

saHpiHotSwapEventLogGroup OBJECT-GROUP
        OBJECTS {
                saHpiHotSwapEventLogLifetimeChanges,
                saHpiHotSwapEventLogActiveEntries,
                saHpiHotSwapEventLogTimestamp,
                saHpiHotSwapEventLogState,
                saHpiHotSwapEventLogPreviousState }
        STATUS current
        DESCRIPTION
                "saHpiHotSwapEventLog table."
        ::= { hpiGroups 24 }

saHpiWatchdogEventLogGroup OBJECT-GROUP
        OBJECTS {
                saHpiWatchdogEventLogLifetimeChanges,
                saHpiWatchdogEventLogActiveEntries,
                saHpiWatchdogEventLogTimestamp,
                saHpiWatchdogEventLogAction,
                saHpiWatchdogEventLogPreTimerAction,
                saHpiWatchdogEventLogUse }
        STATUS current
        DESCRIPTION
                "saHpiWatchdogEventLog table."
        ::= { hpiGroups 25 }

saHpiSoftwareEventLogGroup OBJECT-GROUP
        OBJECTS {
                saHpiSoftwareEventLogLifetimeChanges,
                saHpiSoftwareEventLogActiveEntries,
                saHpiSoftwareEventLogTimestamp,
                saHpiSoftwareEventLogManufacturerIdT,
                saHpiSoftwareEventLogType,
                saHpiSoftwareEventLogTextType,
                saHpiSoftwareEventLogTextLanguage,
                saHpiSoftwareEventLogText }
        STATUS current
        DESCRIPTION
                "saHpiSoftwareEventLog table."
        ::= { hpiGroups 26 }

saHpiOemEventLogGroup OBJECT-GROUP
        OBJECTS {
                saHpiOemEventLogLifetimeChanges,
                saHpiOemEventLogActiveEntries,
                saHpiOemEventLogTimestamp,
                saHpiOemEventLogManufacturerIdT,
                saHpiOemEventLogTextType,
                saHpiOemEventLogTextLanguage,
                saHpiOemEventLogText }
        STATUS current
        DESCRIPTION
                "saHpiOemEventLog table."
        ::= { hpiGroups 27 }

saHpiUserEventLogGroup OBJECT-GROUP
        OBJECTS {
                saHpiUserEventLogLifetimeChanges,
                saHpiUserEventLogActiveEntries,
                saHpiUserEventLogTimestamp,
                saHpiUserEventLogTextType,
                saHpiUserEventLogTextLanguage,
                saHpiUserEventLogText,
                saHpiUserEventLogRowStatus }
        STATUS current
        DESCRIPTION
                "saHpiUserEventLog table."
        ::= { hpiGroups 28 }

saHpiRdrGroup OBJECT-GROUP
        OBJECTS {
                saHpiRdrActiveEntries,
                saHpiRdrNextEntryId,
                saHpiRdrType,
                saHpiRdrEntityPath,
                saHpiRdrIsFru,
                saHpiRdrRowPointer,
                saHpiRdrRPT,
                saHpiRdrTextType,
                saHpiRdrTextLanguage,
                saHpiRdrIdString }
        STATUS current
        DESCRIPTION
                "saHpiRdr table."
        ::= { hpiGroups 29 }

saHpiCtrlDigitalGroup OBJECT-GROUP
        OBJECTS {
                saHpiCtrlDigitalActiveEntries,
                saHpiCtrlDigitalNum,
                saHpiCtrlDigitalOutputType,
                saHpiCtrlDigitalDefaultMode,
                saHpiCtrlDigitalMode,
                saHpiCtrlDigitalIsReadOnly,
                saHpiCtrlDigitalIsWriteOnly,
                saHpiCtrlDigitalDefaultState,
                saHpiCtrlDigitalState,
                saHpiCtrlDigitalOem,
                saHpiCtrlDigitalRDR }
        STATUS current
        DESCRIPTION
                "saHpiCtrlDigital table."
        ::= { hpiGroups 30 }

saHpiCtrlDiscreteGroup OBJECT-GROUP
        OBJECTS {
                saHpiCtrlDiscreteActiveEntries,
                saHpiCtrlDiscreteNum,
                saHpiCtrlDiscreteOutputType,
                saHpiCtrlDiscreteDefaultMode,
                saHpiCtrlDiscreteMode,
                saHpiCtrlDiscreteIsReadOnly,
                saHpiCtrlDiscreteIsWriteOnly,
                saHpiCtrlDiscreteDefaultState,
                saHpiCtrlDiscreteState,
                saHpiCtrlDiscreteOem,
                saHpiCtrlDiscreteRDR }
        STATUS current
        DESCRIPTION
                "saHpiCtrlDiscrete table."
        ::= { hpiGroups 31 }

saHpiCtrlAnalogGroup OBJECT-GROUP
        OBJECTS {
                saHpiCtrlAnalogActiveEntries,
                saHpiCtrlAnalogNum,
                saHpiCtrlAnalogOutputType,
                saHpiCtrlAnalogDefaultMode,
                saHpiCtrlAnalogMode,
                saHpiCtrlAnalogIsReadOnly,
                saHpiCtrlAnalogIsWriteOnly,
                saHpiCtrlAnalogDefaultMinState,
                saHpiCtrlAnalogDefaultMaxState,
                saHpiCtrlAnalogDefaultState,
                saHpiCtrlAnalogState,
                saHpiCtrlAnalogOem,
                saHpiCtrlAnalogRDR }
        STATUS current
        DESCRIPTION
                "saHpiCtrlAnalog table."
        ::= { hpiGroups 32 }

saHpiCtrlStreamGroup OBJECT-GROUP
        OBJECTS {
                saHpiCtrlStreamActiveEntries,
                saHpiCtrlStreamNum,
                saHpiCtrlStreamOutputType,
                saHpiCtrlStreamDefaultMode,
                saHpiCtrlStreamMode,
                saHpiCtrlStreamIsReadOnly,
                saHpiCtrlStreamIsWriteOnly,
                saHpiCtrlStreamDefaultRepeat,
                saHpiCtrlStreamDefaultState,
                saHpiCtrlStreamRepeat,
                saHpiCtrlStreamState,
                saHpiCtrlStreamOem,
                saHpiCtrlStreamRDR }
        STATUS current
        DESCRIPTION
                "saHpiCtrlStream table."
        ::= { hpiGroups 33 }

saHpiCtrlTextGroup OBJECT-GROUP
        OBJECTS {
                saHpiCtrlTextActiveEntries,
                saHpiCtrlTextNum,
                saHpiCtrlTextOutputType,
                saHpiCtrlTextDefaultMode,
                saHpiCtrlTextMode,
                saHpiCtrlTextIsReadOnly,
                saHpiCtrlTextIsWriteOnly,
                saHpiCtrlTextMaxChars,
                saHpiCtrlTextMaxLines,
                saHpiCtrlTextLanguage,
                saHpiCtrlTextType,
                saHpiCtrlTextDefaultLine,
                saHpiCtrlTextDefault,
                saHpiCtrlTextLine,
                saHpiCtrlTextState,
                saHpiCtrlTextOem,
                saHpiCtrlTextRDR }
        STATUS current
        DESCRIPTION
                "saHpiCtrlText table."
        ::= { hpiGroups 34 }

saHpiCtrlOemGroup OBJECT-GROUP
        OBJECTS {
                saHpiCtrlOemActiveEntries,
                saHpiCtrlOemNum,
                saHpiCtrlOemOutputType,
                saHpiCtrlOemDefaultMode,
                saHpiCtrlOemMode,
                saHpiCtrlOemIsReadOnly,
                saHpiCtrlOemIsWriteOnly,
                saHpiCtrlOemManufacturerId,
                saHpiCtrlOemDefaultConfigData,
                saHpiCtrlOemDefaultMId,
                saHpiCtrlOemDefaultState,
                saHpiCtrlOemState,
                saHpiCtrlOemValue,
                saHpiCtrlOemRDR }
        STATUS current
        DESCRIPTION
                "saHpiCtrlOem table."
        ::= { hpiGroups 35 }

saHpiSensorGroup OBJECT-GROUP
        OBJECTS {
                saHpiSensorActiveEntries,
                saHpiSensorType,
                saHpiSensorCategory,
                saHpiSensorEnableCtrl,
                saHpiSensorEventCtrl,
                saHpiSensorSupportedEventStates,
                saHpiSensorIsSupported,
                saHpiSensorReadingType,
                saHpiSensorBaseUnits,
                saHpiSensorModifierUnits,
                saHpiSensorModifierUse,
                saHpiSensorPercentage,
                saHpiSensorRangeFlags,
                saHpiSensorAccuracyFactor,
                saHpiSensorOem,
                saHpiSensorRDR }
        STATUS current
        DESCRIPTION
                "saHpiSensor table."
        ::= { hpiGroups 36 }

saHpiCurrentSensorStateGroup OBJECT-GROUP
        OBJECTS {
                saHpiCurrentSensorStateDataPresent,
                saHpiCurrentSensorStateType,
                saHpiCurrentSensorStateValue,
                saHpiCurrentSensorStateEventState,
                saHpiCurrentSensorStateSensorEnable,
                saHpiCurrentSensorStateEventEnable,
                saHpiCurrentSensorStateAssertAddEventMask,
                saHpiCurrentSensorStateAssertRemoveEventMask,
                saHpiCurrentSensorStateDeassertAddEventMask,
                saHpiCurrentSensorStateDeassertRemoveEventMask }
        STATUS current
        DESCRIPTION
                "saHpiCurrentSensorState table."
        ::= { hpiGroups 37 }

saHpiSensorReadingMaxGroup OBJECT-GROUP
        OBJECTS {
                saHpiSensorReadingMaxIsSupported,
                saHpiSensorReadingMaxType,
                saHpiSensorReadingMaxValue }
        STATUS current
        DESCRIPTION
                "saHpiSensorReadingMax table."
        ::= { hpiGroups 38 }

saHpiSensorReadingMinGroup OBJECT-GROUP
        OBJECTS {
                saHpiSensorReadingMinIsSupported,
                saHpiSensorReadingMinType,
                saHpiSensorReadingMinValue }
        STATUS current
        DESCRIPTION
                "saHpiSensorReadingMin table."
        ::= { hpiGroups 39 }

saHpiSensorReadingNominalGroup OBJECT-GROUP
        OBJECTS {
                saHpiSensorReadingNominalIsSupported,
                saHpiSensorReadingNominalType,
                saHpiSensorReadingNominalValue }
        STATUS current
        DESCRIPTION
                "saHpiSensorReadingNominal table."
        ::= { hpiGroups 40 }

saHpiSensorReadingNormalMaxGroup OBJECT-GROUP
        OBJECTS {
                saHpiSensorReadingNormalMaxIsSupported,
                saHpiSensorReadingNormalMaxType,
                saHpiSensorReadingNormalMaxValue }
        STATUS current
        DESCRIPTION
                "saHpiSensorReadingNormalMax table."
        ::= { hpiGroups 41 }

saHpiSensorReadingNormalMinGroup OBJECT-GROUP
        OBJECTS {
                saHpiSensorReadingNormalMinIsSupported,
                saHpiSensorReadingNormalMinType,
                saHpiSensorReadingNormalMinValue }
        STATUS current
        DESCRIPTION
                "saHpiSensorReadingNormalMin table."
        ::= { hpiGroups 42 }

saHpiSensorThdLowCriticalGroup OBJECT-GROUP
        OBJECTS {
                saHpiSensorThdLowCriticalIsReadable,
                saHpiSensorThdLowCriticalIsWritable,
                saHpiSensorThdLowCriticalType,
                saHpiSensorThdLowCriticalValue,
                saHpiSensorThdLowCriticalNonLinear }
        STATUS current
        DESCRIPTION
                "saHpiSensorThdLowCritical table."
        ::= { hpiGroups 43 }

saHpiSensorThdLowMajorGroup OBJECT-GROUP
        OBJECTS {
                saHpiSensorThdLowMajorIsReadable,
                saHpiSensorThdLowMajorIsWritable,
                saHpiSensorThdLowMajorType,
                saHpiSensorThdLowMajorValue,
                saHpiSensorThdLowMajorNonLinear }
        STATUS current
        DESCRIPTION
                "saHpiSensorThdLowMajor table."
        ::= { hpiGroups 44 }

saHpiSensorThdLowMinorGroup OBJECT-GROUP
        OBJECTS {
                saHpiSensorThdLowMinorIsReadable,
                saHpiSensorThdLowMinorIsWritable,
                saHpiSensorThdLowMinorType,
                saHpiSensorThdLowMinorValue,
                saHpiSensorThdLowMinorNonLinear }
        STATUS current
        DESCRIPTION
                "saHpiSensorThdLowMinor table."
        ::= { hpiGroups 45 }

saHpiSensorThdUpCriticalGroup OBJECT-GROUP
        OBJECTS {
                saHpiSensorThdUpCriticalIsReadable,
                saHpiSensorThdUpCriticalIsWritable,
                saHpiSensorThdUpCriticalType,
                saHpiSensorThdUpCriticalValue,
                saHpiSensorThdUpCriticalNonLinear }
        STATUS current
        DESCRIPTION
                "saHpiSensorThdUpCritical table."
        ::= { hpiGroups 46 }

saHpiSensorThdUpMajorGroup OBJECT-GROUP
        OBJECTS {
                saHpiSensorThdUpMajorIsReadable,
                saHpiSensorThdUpMajorIsWritable,
                saHpiSensorThdUpMajorType,
                saHpiSensorThdUpMajorValue,
                saHpiSensorThdUpMajorNonLinear }
        STATUS current
        DESCRIPTION
                "saHpiSensorThdUpMajor table."
        ::= { hpiGroups 47 }

saHpiSensorThdUpMinorGroup OBJECT-GROUP
        OBJECTS {
                saHpiSensorThdUpMinorIsReadable,
                saHpiSensorThdUpMinorIsWritable,
                saHpiSensorThdUpMinorType,
                saHpiSensorThdUpMinorValue,
                saHpiSensorThdUpMinorNonLinear }
        STATUS current
        DESCRIPTION
                "saHpiSensorThdUpMinor table."
        ::= { hpiGroups 48 }

saHpiSensorThdPosHysteresisGroup OBJECT-GROUP
        OBJECTS {
                saHpiSensorThdPosHysteresisIsReadable,
                saHpiSensorThdPosHysteresisIsWritable,
                saHpiSensorThdPosHysteresisType,
                saHpiSensorThdPosHysteresisValue,
                saHpiSensorThdPosHysteresisNonLinear }
        STATUS current
        DESCRIPTION
                "saHpiSensorThdPosHysteresis table."
        ::= { hpiGroups 49 }

saHpiSensorThdNegHysteresisGroup OBJECT-GROUP
        OBJECTS {
                saHpiSensorThdNegHysteresisIsReadable,
                saHpiSensorThdNegHysteresisIsWritable,
                saHpiSensorThdNegHysteresisType,
                saHpiSensorThdNegHysteresisValue,
                saHpiSensorThdNegHysteresisNonLinear }
        STATUS current
        DESCRIPTION
                "saHpiSensorThdNegHysteresis table."
        ::= { hpiGroups 50 }

saHpiInventoryGroup OBJECT-GROUP
        OBJECTS {
                saHpiInventoryActiveEntries,
                saHpiInventoryPersistent,
                saHpiInventoryOem,
                saHpiInventoryUpdateCount,
                saHpiInventoryIsReadOnly,
                saHpiInventoryNumAreas,
                saHpiInventoryRDR }
        STATUS current
        DESCRIPTION
                "saHpiInventory table."
        ::= { hpiGroups 51 }

saHpiAreaGroup OBJECT-GROUP
        OBJECTS {
                saHpiAreaIdIndex,
                saHpiAreaActiveEntries,
                saHpiAreaType,
                saHpiAreaIsReadOnly,
                saHpiAreaRowStatus,
                saHpiAreaNumDataFields }
        STATUS current
        DESCRIPTION
                "saHpiArea table."
        ::= { hpiGroups 52 }

saHpiFieldGroup OBJECT-GROUP
        OBJECTS {
                saHpiFieldIdIndex,
                saHpiFieldActiveEntries,
                saHpiFieldType,
                saHpiFieldIsReadOnly,
                saHpiFieldTextType,
                saHpiFieldTextLanguage,
                saHpiFieldText,
                saHpiFieldStatus }
        STATUS current
        DESCRIPTION
                "saHpiField table."
        ::= { hpiGroups 53 }

saHpiWatchdogGroup OBJECT-GROUP
        OBJECTS {
                saHpiWatchdogActiveEntries,
                saHpiWatchdogLog,
                saHpiWatchdogRunning,
                saHpiWatchdogTimerUseState,
                saHpiWatchdogTimerAction,
                saHpiWatchdogPretimerInterrupt,
                saHpiWatchdogPreTimeoutInterval,
                saHpiWatchdogTimerUseExpFlags,
                saHpiWatchdogTimerInitialCount,
                saHpiWatchdogTimerPresentCount,
                saHpiWatchdogTimerReset,
                saHpiWatchdogOem,
                saHpiWatchdogRDR }
        STATUS current
        DESCRIPTION
                "saHpiWatchdog table."
        ::= { hpiGroups 54 }

saHpiAnnunciatorGroup OBJECT-GROUP
        OBJECTS {
                saHpiAnnunciatorActiveEntries,
                saHpiAnnunciatorType,
                saHpiAnnunciatorModeReadOnly,
                saHpiAnnunciatorMaxConditions,
                saHpiAnnunciatorMode,
                saHpiAnnunciatorOem,
                saHpiAnnunciatorRDR }
        STATUS current
        DESCRIPTION
                "saHpiAnnunciator table."
        ::= { hpiGroups 55 }

saHpiNotificationGroup NOTIFICATION-GROUP
        NOTIFICATIONS {
                saHpiSensorNotification,
                saHpiSensorEnableChangeNotification,
                saHpiResourceNotification,
                saHpiDomainNotification,
                saHpiWatchdogNotification,
                saHpiHotSwapNotification,
                saHpiSoftwareNotification,
                saHpiOemNotification,
                saHpiUserNotification }
        STATUS current
        DESCRIPTION
                "Notification group."
        ::= { hpiGroups 56 }

saHpiAdministrationGroup OBJECT-GROUP
        OBJECTS {
                saHpiHpiVersion,
                saHpiAgentVersion,
                saHpiSnmpResourceId,
                saHpiDiscover }
        STATUS current
        DESCRIPTION
                "Administration group."
        ::= { hpiGroups 57 }

END
