--===========================================================
-- 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 hh3cTransceiverWaveLength
-- V1.2 2009-12-29 Updated by jinyi
--   Add the objects of hh3cTransceiverDiagnostic, hh3cTransceiverCurTXPower,
--   hh3cTransceiverMaxTXPower, hh3cTransceiverMinTXPower, hh3cTransceiverCurRXPower,
--   hh3cTransceiverMaxRXPower, hh3cTransceiverMinRXPower, hh3cTransceiverTemperature,
--   hh3cTransceiverVoltage, hh3cTransceiverBiasCurrent
--=================================================================
HH3C-TRANSCEIVER-INFO-MIB DEFINITIONS ::= BEGIN
IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Integer32
        FROM SNMPv2-SMI
    TruthValue
        FROM SNMPv2-TC
    ifEntry, ifIndex
        FROM RFC1213-MIB
    hh3cCommon
        FROM HH3C-OID-MIB;

    hh3cTransceiver MODULE-IDENTITY
        LAST-UPDATED "200912291650Z"
        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
            "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."
            ::= { hh3cCommon 70 }

    hh3cTransceiverInfoAdm OBJECT IDENTIFIER ::= { hh3cTransceiver 1 }

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

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

    Hh3cTransceiverInfoEntry ::=
        SEQUENCE {
            hh3cTransceiverHardwareType      OCTET STRING,
            hh3cTransceiverType              OCTET STRING,
            hh3cTransceiverWaveLength        Integer32,
            hh3cTransceiverVendorName        OCTET STRING,
            hh3cTransceiverSerialNumber      OCTET STRING,
            hh3cTransceiverFiberDiameterType INTEGER,
            hh3cTransceiverTransferDistance  Integer32,
            hh3cTransceiverDiagnostic        TruthValue,
            hh3cTransceiverCurTXPower        Integer32,
            hh3cTransceiverMaxTXPower        Integer32,
            hh3cTransceiverMinTXPower        Integer32,
            hh3cTransceiverCurRXPower        Integer32,
            hh3cTransceiverMaxRXPower        Integer32,
            hh3cTransceiverMinRXPower        Integer32,
            hh3cTransceiverTemperature       Integer32,
            hh3cTransceiverVoltage           Integer32,
            hh3cTransceiverBiasCurrent       Integer32
        }

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

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

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

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

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

    hh3cTransceiverFiberDiameterType 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."
        ::= { hh3cTransceiverInfoEntry 6 }

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

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

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

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

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

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

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

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

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

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

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

END
