-- =============================================================
-- Copyright (C) 2002 by H3C TECHNOLOGIES. All rights reserved.
--
-- Description:  provide the info about CF Card.
-- Version: V1.0
-- History:
--   V1.0 Initial Version created by lizhiyong
-- =============================================================
H3C-CFCARD-MIB DEFINITIONS ::= BEGIN

        IMPORTS
            h3cCfCard
                FROM HUAWEI-3COM-OID-MIB
            OBJECT-GROUP, MODULE-COMPLIANCE, NOTIFICATION-GROUP
                FROM SNMPv2-CONF
            Unsigned32, OBJECT-TYPE, MODULE-IDENTITY, OBJECT-IDENTITY, NOTIFICATION-TYPE
                FROM SNMPv2-SMI;


--  December 24, 2004 at 15:41 GMT
        h3cCfCardMIB MODULE-IDENTITY
            LAST-UPDATED "200412240000Z"
            ORGANIZATION
                "Hangzhou H3C Tech. Co., Ltd."
            CONTACT-INFO
                "Platform Team Hangzhou H3C Tech. Co., Ltd.
                Hai-Dian District Beijing P.R. China
                http://www.h3c.com
                Zip:100085
                "
            DESCRIPTION
                "This MIB provides the information about CF Card."
            ::= { h3cCfCard 1 }




        h3cCfCardMIBObjects OBJECT-IDENTITY
            STATUS current
            DESCRIPTION
                "Objects used for CF Card management."
            ::= { h3cCfCardMIB 1 }


        h3cCfCardScalarObjects OBJECT-IDENTITY
            STATUS current
            DESCRIPTION
                "The scalar objects for the CF Card(s)."
            ::= { h3cCfCardMIBObjects 1 }


        h3cCfCardNumber OBJECT-TYPE
            SYNTAX INTEGER (0..255)
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The total number of the CF Card(s) at present."
            ::= { h3cCfCardScalarObjects 1 }


        h3cCfCardInfoObjects OBJECT-IDENTITY
            STATUS current
            DESCRIPTION
                "The basic information about CF Card(s)."
            ::= { h3cCfCardMIBObjects 2 }


        h3cCfCardInfoTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3CfCardInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "This table contains the basic information about CF Card(s)."
            ::= { h3cCfCardInfoObjects 2 }


        h3CfCardInfoEntry OBJECT-TYPE
            SYNTAX H3CfCardInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "This list contains the basic information about CF Card."
            INDEX { h3cCfCardIndex }
            ::= { h3cCfCardInfoTable 1 }


        H3CfCardInfoEntry ::=
            SEQUENCE {
                h3cCfCardIndex
                    INTEGER,
                h3cCfCardIsPresent
                    INTEGER,
                h3cCfCardContainedIn
                    INTEGER,
                h3cCfCardParentRelPos
                    INTEGER,
                h3cCfCardDescription
                    OCTET STRING,
                h3cCfCardSerialNumber
                    OCTET STRING,
                h3cCfCardFirewareVersion
                    OCTET STRING,
                h3cCfCardModelNumber
                    OCTET STRING,
                h3cCfCardState
                    INTEGER,
                h3cCfCardSize
                    Unsigned32,
                h3cCfCardUsedSize
                    Unsigned32,
                h3cCfCardFreeSize
                    Unsigned32
             }

        h3cCfCardIndex OBJECT-TYPE
            SYNTAX INTEGER (1..255)
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The index of the table."
            ::= { h3CfCardInfoEntry 1 }


        h3cCfCardIsPresent OBJECT-TYPE
            SYNTAX INTEGER
                {
                yes(1),
                no(2)
                }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The value indicates whether the CF Card is present or not."
            ::= { h3CfCardInfoEntry 2 }


        h3cCfCardContainedIn OBJECT-TYPE
            SYNTAX INTEGER (0..255)
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of the slot which containes this CF Card "
            ::= { h3CfCardInfoEntry 3 }


        h3cCfCardParentRelPos OBJECT-TYPE
            SYNTAX INTEGER (0..255)
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "An indication of the relative position of this CF Card
                among all the CF Card contained in the same slot."
            ::= { h3CfCardInfoEntry 4 }


        h3cCfCardDescription OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE (0..255))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The Description of CF Card."
            ::= { h3CfCardInfoEntry 5 }


        h3cCfCardSerialNumber OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE (0..255))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The serial number of CF Card."
            ::= { h3CfCardInfoEntry 6 }


        h3cCfCardFirewareVersion OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE (0..255))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The firmware revision of CF Card."
            ::= { h3CfCardInfoEntry 7 }


        h3cCfCardModelNumber OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE (0..255))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The model number containing infomation of manufacturer."
            ::= { h3CfCardInfoEntry 8 }


        h3cCfCardState OBJECT-TYPE
            SYNTAX INTEGER
                {
                sNoError(1),          -- No error
                sFormatError(2),      -- Format error
                sSectorBufferError(3),-- Sector Buffer error
                sECCError(4),         -- ECC circuitry error
                sCMPError(5),         -- Controlling microprocessor error
                sSlaveError(128),     -- Slave error in True IDE Mode
                sIOError(240),        -- I/O error
                sOther(255)           -- Unknown status
                }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The state of CF Card."
            ::= { h3CfCardInfoEntry 9 }


        h3cCfCardSize OBJECT-TYPE
            SYNTAX Unsigned32
            UNITS "byte"
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The size of CF Card."
            ::= { h3CfCardInfoEntry 10 }


        h3cCfCardUsedSize OBJECT-TYPE
            SYNTAX Unsigned32
            UNITS "byte"
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The used size of CF Card."
            ::= { h3CfCardInfoEntry 11 }


        h3cCfCardFreeSize OBJECT-TYPE
            SYNTAX Unsigned32
            UNITS "byte"
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The free size of CF Card."
            ::= { h3CfCardInfoEntry 12 }


        h3cCfCardNotifications OBJECT-IDENTITY
            STATUS current
            DESCRIPTION
                "Notification about the CF Card."
            ::= { h3cCfCardMIB 2 }


        h3cCfCardNotificationsV2 OBJECT-IDENTITY
            STATUS current
            DESCRIPTION
                "Root node for the Notification."
            ::= { h3cCfCardNotifications 0 }


        h3cCfCardHotSwapOn NOTIFICATION-TYPE
            OBJECTS { h3cCfCardContainedIn, h3cCfCardParentRelPos, h3cCfCardDescription }
            STATUS current
            DESCRIPTION
                "This notification is sent when a CF Card is hot swapped in."
            ::= { h3cCfCardNotificationsV2 1 }


        h3cCfCardHotSwapOff NOTIFICATION-TYPE
            OBJECTS { h3cCfCardContainedIn, h3cCfCardParentRelPos, h3cCfCardDescription }
            STATUS current
            DESCRIPTION
                "This notification is sent when a CF Card is hot swapped out."
            ::= { h3cCfCardNotificationsV2 2 }


        h3cCfCardMIBConformance OBJECT IDENTIFIER ::= { h3cCfCardMIB 4 }


        h3cCfCardMIBGroups OBJECT IDENTIFIER ::= { h3cCfCardMIBConformance 1 }


        currentObjectGroup OBJECT-GROUP
            OBJECTS { h3cCfCardNumber, h3cCfCardIndex, h3cCfCardIsPresent,
                    h3cCfCardContainedIn, h3cCfCardParentRelPos, h3cCfCardDescription,
                    h3cCfCardSerialNumber, h3cCfCardFirewareVersion, h3cCfCardModelNumber,
                    h3cCfCardState, h3cCfCardSize, h3cCfCardUsedSize, h3cCfCardFreeSize
                    }
            STATUS current
            DESCRIPTION
                "A collection of objects."
            ::= { h3cCfCardMIBGroups 1 }


        currentNotificationGroup NOTIFICATION-GROUP
            NOTIFICATIONS { h3cCfCardHotSwapOn, h3cCfCardHotSwapOff }
            STATUS current
            DESCRIPTION
                "Notification group."
            ::= { h3cCfCardMIBGroups 2 }


        h3cCfCardMIBCompliances OBJECT IDENTIFIER ::= { h3cCfCardMIBConformance 2 }



        basicCompliance MODULE-COMPLIANCE
            STATUS current
            DESCRIPTION
                "The compliance statement."
            MODULE -- this module
                MANDATORY-GROUPS { currentObjectGroup, currentNotificationGroup }
            ::= { h3cCfCardMIBCompliances 1 }



    END
