--===========================================================
-- Copyright (C) 2004-2010 by H3C Technologies. All rights reserved.
--
-- Description:  Transceiver MIB
-- Reference:  IF-MIB
-- Version:  V1.2
-- History:
-- V1.0 created by liuhongxu and zoudian.
--   Initial version 2006-01-10
-- V1.1 2006-06-08 Updated by chenzhaojie
--   Change description of h3cTransceiverWaveLength
-- V1.2 2009-12-29 Updated by jinyi
--   Add the objects of h3cTransceiverDiagnostic, h3cTransceiverCurTXPower,
--   h3cTransceiverMaxTXPower, h3cTransceiverMinTXPower, h3cTransceiverCurRXPower,
--   h3cTransceiverMaxRXPower, h3cTransceiverMinRXPower, h3cTransceiverTemperature,
--   h3cTransceiverVoltage, h3cTransceiverBiasCurrent
--=================================================================
A3COM-HUAWEI-TRANSCEIVER-INFO-MIB DEFINITIONS ::= BEGIN
IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Integer32
        FROM SNMPv2-SMI
    TruthValue
        FROM SNMPv2-TC
    ifEntry, ifIndex
        FROM RFC1213-MIB
    h3cCommon
        FROM A3COM-HUAWEI-OID-MIB;

    h3cTransceiver MODULE-IDENTITY
        LAST-UPDATED "200912291650Z"
        ORGANIZATION
            "H3C Technologies 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
            "The objects in this MIB module are used to display the
            information of transceiver on interface."
        REVISION "200912291650Z"
        DESCRIPTION
            "The initial revision of this MIB module."
            ::= { h3cCommon 70 }

    h3cTransceiverInfoAdm OBJECT IDENTIFIER ::= { h3cTransceiver 1 }

    h3cTransceiverInfoTable OBJECT-TYPE
        SYNTAX SEQUENCE OF H3cTransceiverInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "This table show the information of transceiver on interface."
        ::= { h3cTransceiverInfoAdm 1 }

    h3cTransceiverInfoEntry OBJECT-TYPE
        SYNTAX H3cTransceiverInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The entry of the h3cTransceiverInfoTable."
        INDEX { ifIndex }
        ::= { h3cTransceiverInfoTable 1 }

    H3cTransceiverInfoEntry ::=
        SEQUENCE {
            h3cTransceiverHardwareType      OCTET STRING,
            h3cTransceiverType              OCTET STRING,
            h3cTransceiverWaveLength        Integer32,
            h3cTransceiverVendorName        OCTET STRING,
            h3cTransceiverSerialNumber      OCTET STRING,
            h3cTransceiverFiberDiameterType INTEGER,
            h3cTransceiverTransferDistance  Integer32,
            h3cTransceiverDiagnostic        TruthValue,
            h3cTransceiverCurTXPower        Integer32,
            h3cTransceiverMaxTXPower        Integer32,
            h3cTransceiverMinTXPower        Integer32,
            h3cTransceiverCurRXPower        Integer32,
            h3cTransceiverMaxRXPower        Integer32,
            h3cTransceiverMinRXPower        Integer32,
            h3cTransceiverTemperature       Integer32,
            h3cTransceiverVoltage           Integer32,
            h3cTransceiverBiasCurrent       Integer32
        }

    h3cTransceiverHardwareType OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Hardware type of the interface, such as SM(single mode)."
        ::= { h3cTransceiverInfoEntry 1 }

    h3cTransceiverType OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Type of the interface, such as SFP/XFP/GBIC."
        ::= { h3cTransceiverInfoEntry 2 }

    h3cTransceiverWaveLength OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Wave length of the interface, measured in nanometer."
        ::= { h3cTransceiverInfoEntry 3 }

    h3cTransceiverVendorName OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Vendor name of the interface."
        ::= { h3cTransceiverInfoEntry 4 }

    h3cTransceiverSerialNumber OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Serial number of the interface."
        ::= { h3cTransceiverInfoEntry 5 }

    h3cTransceiverFiberDiameterType OBJECT-TYPE
        SYNTAX INTEGER
            {
              fiber9(1),
              fiber50(2),
              fiber625(3),
              copper(4),
              unknown(65535)
            }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The diameter of the fiber, measured in micron.
            fiber9 - 9 micron multi-mode fiber
            fiber50 - 50 micron multi-mode fiber
            fiber625 - 62.5 micron multi-mode fiber
            copper - copper cable."
        ::= { h3cTransceiverInfoEntry 6 }

    h3cTransceiverTransferDistance OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The maximal distance which the interface could transmit,
            measured in meter."
        ::= { h3cTransceiverInfoEntry 7 }

    h3cTransceiverDiagnostic OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicating the digital diagnostic monitoring function ."
        ::= { h3cTransceiverInfoEntry 8 }

    h3cTransceiverCurTXPower OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicating the current transmitted power .
            The unit is in hundredths of dBM."
        ::= { h3cTransceiverInfoEntry 9 }

    h3cTransceiverMaxTXPower OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicating the maximal transmitted power .
            The unit is in hundredths of dBM."
        ::= { h3cTransceiverInfoEntry 10 }

    h3cTransceiverMinTXPower OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicating the minimal transmitted power .
            The unit is in hundredths of dBM."
        ::= { h3cTransceiverInfoEntry 11 }

    h3cTransceiverCurRXPower OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicating the current received power .
            The unit is in hundredths of dBM."
        ::= { h3cTransceiverInfoEntry 12 }

    h3cTransceiverMaxRXPower OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicating the maximal received power .
            The unit is in hundredths of dBM."
        ::= { h3cTransceiverInfoEntry 13 }

    h3cTransceiverMinRXPower OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicating the minimal received power .
            The unit is in hundredths of dBM."
        ::= { h3cTransceiverInfoEntry 14 }

    h3cTransceiverTemperature OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicating the current temperature.
             The unit is celsius. "
        ::= { h3cTransceiverInfoEntry 15 }

    h3cTransceiverVoltage OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicating the current voltage .
            The unit is in hundredths of V"
        ::= { h3cTransceiverInfoEntry 16 }

    h3cTransceiverBiasCurrent OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicating the current bias electric current .
            The unit is in hundredths of mA"
        ::= { h3cTransceiverInfoEntry 17 }

END
