-- ===========================================================
-- Copyright (C) 2007 by H3C TECHNOLOGIES. All rights reserved.
-- Description: The MIB is designed to manage the disk.
-- Reference:
-- Version: V1.0
-- History:
--   V1.0 2007-09-04 created by lizhicheng
-- =================================================================
H3C-LOGIC-VOLUME-MIB DEFINITIONS ::= BEGIN
IMPORTS
        Counter32, Integer32,
        OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE
    FROM SNMPv2-SMI
        RowStatus, DateAndTime, TEXTUAL-CONVENTION, TruthValue
    FROM SNMPv2-TC
        InetAddressType, InetAddress
    FROM INET-ADDRESS-MIB
        entPhysicalIndex
    FROM ENTITY-MIB
        H3cLvIDType, H3cStorageEnableState, H3cStorageActionType,
        H3cStorageLedStateType, H3cSessionIDType,
        H3cRaidIDType, H3cWwpnListType, h3cStorageRef
    FROM H3C-STORAGE-REF-MIB;


h3cLogicVolume MODULE-IDENTITY
    LAST-UPDATED "200709041452Z"
    ORGANIZATION
        "H3C Technologies Co., Ltd."
    CONTACT-INFO
        "Platform Team H3C Technologies Co., Ltd.
         Hai-Dian District Beijing P.R. China
         Http://www.h3c.com
         Zip:100085"
    DESCRIPTION
        "This MIB describes the general information of disk device."
    ::= { h3cStorageRef 5 }

h3cLvMibObjects OBJECT IDENTIFIER ::= { h3cLogicVolume 1 }




h3cLogicResourceCapacityObject  OBJECT IDENTIFIER ::= { h3cLvMibObjects 1 }
h3cLvCount OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object identifies the maximal number of logic volumes supported."
    ::= { h3cLogicResourceCapacityObject 1 }

h3cLvMaxSize OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "TB"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object identifies the maximal size of logic volumes supported."
    ::= { h3cLogicResourceCapacityObject 2 }

h3cTargetCount OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object identifies the maximal number of targets supported."
    ::= { h3cLogicResourceCapacityObject 3 }

h3cInitiatorCount OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object identifies the maximal number of initiators supported."
    ::= { h3cLogicResourceCapacityObject 4 }

h3cSanClientCount OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object identifies the maximal number of SAN client supported."
    ::= { h3cLogicResourceCapacityObject 5 }

-- Logic Resource Table
-- This table described the logic resource information.

h3cLogicVolumeResource  OBJECT IDENTIFIER ::= { h3cLvMibObjects 2 }

h3cLvCreateIndex OBJECT-TYPE
    SYNTAX      H3cLvIDType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object supplys an valid index which uses to create a new
        entry for the h3cLvTable object. Reference to h3cLvRowStatus object
        for more information.
        Note that if an entry of the associated table has been created or
        deleted, the historical value of this object may be an invalid index
        to create a new entry for the associated table."
    ::= { h3cLogicVolumeResource 1 }

h3cLvTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cLvEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table describes the logic resource information of a
        logic volume."
    ::= { h3cLogicVolumeResource 2 }

h3cLvEntry OBJECT-TYPE
    SYNTAX      H3cLvEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry containing management information applicable
        to a particular logic resource."
    INDEX
        {
            h3cLvIndex
        }

    ::= { h3cLvTable 1 }

H3cLvEntry ::= SEQUENCE
    {
        h3cLvIndex                H3cLvIDType,
        h3cLvName                 OCTET STRING,
        h3cLvTotalSize            Integer32,
        h3cLvCreateRaidUuid       H3cRaidIDType,
        h3cLvCreateRaidSize       Integer32,
        h3cLvSedInquiryStringKeep TruthValue,
        h3cLvSedRaidUuid          H3cRaidIDType,
        h3cLvState                INTEGER,
        h3cLvAssigned             INTEGER,
        h3cLvType                 INTEGER,
        h3cLvExtendTimes          Integer32,
        h3cLvRowStatus            RowStatus
    }

h3cLvIndex OBJECT-TYPE
    SYNTAX      H3cLvIDType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This object describes the symbol of a logic volume."
    ::= { h3cLvEntry 1 }

h3cLvName OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..31))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object identifies the name of a logic volume."
    ::= { h3cLvEntry 2 }

h3cLvTotalSize OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "MB"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object describes the total size of a logic volume. The
        units is million bytes."
    ::= { h3cLvEntry 3 }

h3cLvCreateRaidUuid OBJECT-TYPE
    SYNTAX      H3cRaidIDType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object describes the ID of array where a logic volume
        build on."
    ::= { h3cLvEntry 4 }

h3cLvCreateRaidSize OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "MB"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object describes the size of a logic volume when create it.
        The units is million bytes."
    ::= { h3cLvEntry 5 }

h3cLvSedInquiryStringKeep OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object identifies if the inquiry string of the logic volume should
        be reserved. This value of this object is valid only when the associated
        h3cLvType is equal to 'serviceEnabled'."
    ::= { h3cLvEntry 6 }

h3cLvSedRaidUuid OBJECT-TYPE
    SYNTAX      H3cRaidIDType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object describes the location where the SED infomation is
        build on."
    ::= { h3cLvEntry 7 }

h3cLvState OBJECT-TYPE
    SYNTAX      INTEGER
        {
            usable(1),
            unusable(2),
            conflict(3)
        }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object identifies the state of a logic volume. The value
        'conflict' means the names of two or more logic volume are reduplicate."
    ::= { h3cLvEntry 8 }

h3cLvAssigned OBJECT-TYPE
    SYNTAX      INTEGER
        {
            use(1),
            unused(2)
        }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object identifies if the logic volume has be designated for
        target or SAN client."
    ::= { h3cLvEntry 9 }

h3cLvType OBJECT-TYPE
    SYNTAX      INTEGER
        {
            virtual(1),
            direct(2),
            serviceEnabled(3)
        }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object describes the type of a logic volume.
         The value 'virtual' means virtual devices are defined as sets of storage blocks
         from one or more physical array. This allows the creation of virtual devices that
         can be a portion of a larger physical array, or an aggregation of multiple physical array.
         The value 'direct' means direct devices are directly mapped SCSI devices.
         Because they are not virtualized, direct devices cannot take advantage of advanced storage options,
         such as mirroring, failover, replication, or snapshot copy.
         The value 'serviceEnabled' means service enabled devices are all maintained in a one-to-one
         mapping relationship(one physical array equals one logical device)."
    ::= { h3cLvEntry 10 }

h3cLvExtendTimes OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object describes the times the logic volume has been extended."
    ::= { h3cLvEntry 11 }

h3cLvRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object describes the actions to create or delete a logic
        volume."
    ::= { h3cLvEntry 12 }



-- Extend Logic Resource Table
-- This table described the extend resource information of the logic volume.
h3cLvExtTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cLvExtEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains the extend resource information of the logic
        volume."
    ::= { h3cLvMibObjects 3}

h3cLvExtEntry OBJECT-TYPE
    SYNTAX      H3cLvExtEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry containing management information applicable
        to extend resource of logic volume."
    INDEX
        {
            h3cLvIndex,
            h3cLvRaidUuid
        }

    ::= { h3cLvExtTable 1 }

H3cLvExtEntry ::= SEQUENCE
    {
        h3cLvRaidUuid        H3cRaidIDType,
        h3cLvExtSize         Integer32,
        h3cLvRaidSize        Integer32,
        h3cLvExtRowStatus    RowStatus
    }

h3cLvRaidUuid OBJECT-TYPE
    SYNTAX      H3cRaidIDType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This index is identical to h3cRaidUuid in H3C-RAID-MIB."
    ::= { h3cLvExtEntry 1 }

h3cLvExtSize OBJECT-TYPE
    SYNTAX      Integer32(1..2147483647)
    UNITS       "MB"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object describes the extend size of the logic volume in a
        specific raid. The units is million bytes.
        This object will always return zero when read."
    ::= { h3cLvExtEntry 2 }

h3cLvRaidSize OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "MB"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object describes the size of logic volume on the specific raid.
        The units is million bytes."
    ::= { h3cLvExtEntry 3 }

h3cLvExtRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object describes the action to extend the logic volume."
    ::= { h3cLvExtEntry 4 }





-- Target's Creation Information Table
-- This table describes some information when creating the target.
h3cTargetResource OBJECT IDENTIFIER ::= { h3cLvMibObjects 4 }

h3cTargetCreateIndex OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object supplys an valid index which uses to create a new
        entry for the h3cTargetTable object.
        Note that if an entry of the associated table has been created or
        deleted, the historical value of this object may be an invalid index
        to create a new entry for the associated table."
    ::= { h3cTargetResource 1 }

h3cTargetTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cTargetEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table describes some information when creating a target."
    ::= { h3cTargetResource 2 }

h3cTargetEntry OBJECT-TYPE
    SYNTAX      H3cTargetEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry containing management information applicable
        to a target when create it."
    INDEX
        {
            h3cTargetId
        }

    ::= { h3cTargetTable 1 }

H3cTargetEntry ::= SEQUENCE
    {
        h3cTargetId           Integer32,
        h3cTargetName         OCTET STRING,
        h3cTargetMinLun       Integer32,
        h3cTargetRowStatus    RowStatus
    }

h3cTargetId OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This object identifies the ID of a target."
    ::= { h3cTargetEntry 1 }

h3cTargetName OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..223))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object describes the name of a target."
    ::= { h3cTargetEntry 2 }

h3cTargetMinLun OBJECT-TYPE
    SYNTAX      Integer32(0..127)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object describes the mini LUN(logical unit number) number
        of a target."
    DEFVAL { 0 }
    ::= { h3cTargetEntry 3 }

h3cTargetRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object describes the actions to add or delete the target."
    ::= { h3cTargetEntry 4 }




-- Target's Address Information Table
-- This table described address information of the target.
h3cTargetAddressTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cTargetAddressEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table described some address information of a target."
    ::= { h3cLvMibObjects 5 }

h3cTargetAddressEntry OBJECT-TYPE
    SYNTAX      H3cTargetAddressEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry containing management information applicable
        to the address of a target."
    INDEX
        {
            h3cTargetId,
            h3cTargetIpAddrType,
            h3cTargetIpAddress
        }

    ::= { h3cTargetAddressTable 1 }

H3cTargetAddressEntry ::= SEQUENCE
    {
        h3cTargetIpAddress      InetAddress,
        h3cTargetIpAddrType     InetAddressType,
        h3cTargetIpRowStatus    RowStatus
    }

h3cTargetIpAddress OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This object describes the IP address of a target."
    ::= { h3cTargetAddressEntry 1 }

h3cTargetIpAddrType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This object describes the type of IP address."
    ::= { h3cTargetAddressEntry 2 }

h3cTargetIpRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object describes the actions to add or delete a IP address
        of a target."
    ::= { h3cTargetAddressEntry 3 }





-- Target's Logic Resource Information Table
-- This table describes logic resource information of the target.
h3cTargetLvAssignTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cTargetLvAssignEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table describes logic resource information of a target."
    ::= { h3cLvMibObjects 6 }

h3cTargetLvAssignEntry OBJECT-TYPE
    SYNTAX      H3cTargetLvAssignEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry containing management information applicable
        to the logic resource of a target."
    INDEX
        {
            h3cTargetId,
            h3cLvIndex
        }

    ::= { h3cTargetLvAssignTable 1 }

H3cTargetLvAssignEntry ::= SEQUENCE
    {
        h3cTargetLvLun          Integer32,
        h3cTargetLvRowStatus    RowStatus
    }

h3cTargetLvLun OBJECT-TYPE
    SYNTAX      Integer32(0..127)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object identifies the init LUN number of a target."
    ::= { h3cTargetLvAssignEntry 1 }

h3cTargetLvRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object describes the actions to add or delete
        the logic resource of a target."
    ::= { h3cTargetLvAssignEntry 2 }



-- Initiator's Creation Information Table
-- This table describes the creation information of initiators.
h3cInitiatorResource  OBJECT IDENTIFIER ::= { h3cLvMibObjects 7 }

h3cInitiatorCreateIndex OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object supplys an valid index which uses to create a new
        entry for the h3cInitiatorTable object.
        Note that if an entry of the associated table has been created or
        deleted, the historical value of this object may be an invalid index
        to create a new entry for the associated table."
    ::= { h3cInitiatorResource 1 }

h3cInitiatorTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cInitiatorEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table describes the creation information of initiators."
    ::= { h3cInitiatorResource 2 }

h3cInitiatorEntry OBJECT-TYPE
    SYNTAX      H3cInitiatorEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry containing management information applicable to the creation
        of initiator."
    INDEX
        {
            h3cSanClientId,
            h3cInitiatorId
        }

    ::= { h3cInitiatorTable 1 }

H3cInitiatorEntry ::= SEQUENCE
    {
        h3cInitiatorId          Integer32,
        h3cInitiatorName        OCTET STRING,
        h3cInitiatorRowStatus   RowStatus
    }

h3cInitiatorId OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This object identifies the ID of the initiator."
    ::= { h3cInitiatorEntry 1 }

h3cInitiatorName OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(1..223))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object describes the name of the initiator."
    ::= { h3cInitiatorEntry 2 }

h3cInitiatorRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object describes the actions to add or delete initiators."
    ::= { h3cInitiatorEntry 3 }




-- Target And Initiator Associate Information Table
-- This table describes the associates information between targets and initiators.
h3cTargetInitiatorAssociateTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cTargetInitiatorAssociateEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table describes the associate information between the target and
        initiator."
    ::= { h3cLvMibObjects 8 }

h3cTargetInitiatorAssociateEntry OBJECT-TYPE
    SYNTAX      H3cTargetInitiatorAssociateEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry containing management information applicable
        to association between the target and initiator."
    INDEX
        {
            h3cTargetId,
            h3cInitiatorId
        }

    ::= { h3cTargetInitiatorAssociateTable 1 }

H3cTargetInitiatorAssociateEntry ::= SEQUENCE
    {
        h3cTIAccessMode    INTEGER,
        h3cTIChap          H3cStorageEnableState,
        h3cTIUserName      OCTET STRING,
        h3cTIPassword      OCTET STRING,
        h3cTIRowStatus     RowStatus
    }

h3cTIAccessMode OBJECT-TYPE
    SYNTAX      INTEGER
        {
            read(1),
            write(2),
            nonexclusive(3)
        }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object identifies the mode of accessing between the target
        and initiator.
        The value 'read' means read available.
        The value 'write' means read/write available, and write available only for one association.
        The value 'nonexclusive' means read/write available for multi-association."
    ::= { h3cTargetInitiatorAssociateEntry 1 }

h3cTIChap OBJECT-TYPE
    SYNTAX      H3cStorageEnableState
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object identifies the state of the chap attestation."
    DEFVAL { disable }
    ::= { h3cTargetInitiatorAssociateEntry 2 }

h3cTIUserName OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..128))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object identifies the user name for the chap attestation."
    ::= { h3cTargetInitiatorAssociateEntry 3 }

h3cTIPassword OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(12..16))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object identifies the password for the chap attestation.
        It is proclaimed and can be modified."
    ::= { h3cTargetInitiatorAssociateEntry 4 }

h3cTIRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object describes the actions to add or delete the association."
    ::= { h3cTargetInitiatorAssociateEntry 5 }




-- Session Status Table
-- This table described the information of the sessions between targets and
-- initiators.
h3cTISessionTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cTISessionEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table described the information of the sessions."
    ::= { h3cLvMibObjects 9 }

h3cTISessionEntry OBJECT-TYPE
    SYNTAX      H3cTISessionEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry containing management information applicable
        to the sessions."
    INDEX
        {
            h3cTargetId,
            h3cTISessionId
        }

    ::= { h3cTISessionTable 1 }

H3cTISessionEntry ::= SEQUENCE
    {
        h3cTISessionId                 H3cSessionIDType,
        h3cTISessionConnectionCount    Counter32,
        h3cTISessionInitiatorName      OCTET STRING
    }


h3cTISessionId OBJECT-TYPE
    SYNTAX      H3cSessionIDType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This object identifies the ID of a session."
    ::= { h3cTISessionEntry 1 }

h3cTISessionConnectionCount OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object describes the number of connections between the targets
        and initiators."
    ::= { h3cTISessionEntry 2 }

h3cTISessionInitiatorName OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..223))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object identifies the initiator's name of a session."
    ::= { h3cTISessionEntry 3 }


-- SAN Client Information Table
-- This table described the information of the logs.
h3cSanClientResource  OBJECT IDENTIFIER ::= { h3cLvMibObjects 10 }

h3cSanClientCreateIndex OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object supplys an valid index which uses to create a new
        entry for the h3cSanClientTable object.
        Note that if an entry of the associated table has been created or
        deleted, the historical value of this object may be an invalid index
        to create a new entry for the associated table."
    ::= { h3cSanClientResource 1 }

h3cSanClientTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cSanClientEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table described the information of SAN(Storage Area Network)
        clients."
    ::= { h3cSanClientResource 2 }

h3cSanClientEntry OBJECT-TYPE
    SYNTAX      H3cSanClientEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry containing management information applicable to the SAN
        clients."
    INDEX
        {
            h3cSanClientId
        }
    ::= { h3cSanClientTable 1 }

H3cSanClientEntry ::= SEQUENCE
    {
        h3cSanClientId            Integer32,
        h3cSanClientName          OCTET STRING,
        h3cSanClientType          INTEGER,
        h3cFcInitiatorWwpnList    H3cWwpnListType,
        h3cFcAccessMode           INTEGER,
        h3cSanClientRowStatus     RowStatus
    }

h3cSanClientId OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This object identifies the index of a SAN client."
    ::= { h3cSanClientEntry 1 }

h3cSanClientName OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..64))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object identifies the name of a SAN client."
    ::= { h3cSanClientEntry 2 }

h3cSanClientType OBJECT-TYPE
    SYNTAX      INTEGER
        {
            iscsi(1),
            fc(2)
        }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object identifies the type of a SAN client."
    ::= { h3cSanClientEntry 3 }

h3cFcInitiatorWwpnList OBJECT-TYPE
    SYNTAX      H3cWwpnListType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object identifies the name list of FC Initiator WWPN(World Wide
        Port Name). The value of this object is invalid and should be ignored
        when the value of associated h3cSanClientType object is not equal
        to 'fc'."
    ::= { h3cSanClientEntry 4 }

h3cFcAccessMode OBJECT-TYPE
    SYNTAX      INTEGER
        {
            read(1),
            write(2),
            nonexclusive(3)
        }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object identifies the mode of access. The value of this object
        is invalid and should be ignored when the value of associated
        h3cSanClientType object is not equal to 'fc'.
        The value 'read' means read available.
        The value 'write' means read/write available, and write available only for one association.
        The value 'nonexclusive' means read/write available for multi-association."
    ::= { h3cSanClientEntry 6 }

h3cSanClientRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object describes the action to create or delete a SAN client."
    ::= { h3cSanClientEntry 7 }

-- FC's Logic Resource Information Table
-- This table describes logic resource information of the FC.
h3cFcLogicResourceTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cFcLogicResourceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table describes logic resource information of a FC."
    ::= { h3cLvMibObjects 11 }

h3cFcLogicResourceEntry OBJECT-TYPE
    SYNTAX      H3cFcLogicResourceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry containing management information applicable
        to the logic resource of a FC."
    INDEX
        {
            h3cSanClientId,
            h3cLvIndex
        }

    ::= { h3cFcLogicResourceTable 1 }

H3cFcLogicResourceEntry ::= SEQUENCE
    {
        h3cFcLvLun             Integer32,
        h3cFcTargetWwpnName    H3cWwpnListType,
        h3cFcInitiatorWwpnName H3cWwpnListType,
        h3cFcLvRowStatus       RowStatus
    }

h3cFcLvLun OBJECT-TYPE
    SYNTAX      Integer32(0..127)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object identifies the init LUN number of a FC."
    ::= { h3cFcLogicResourceEntry 1 }


h3cFcTargetWwpnName OBJECT-TYPE
    SYNTAX      H3cWwpnListType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object identifies the name list of FC Target WWPN(World Wide
        Port Name). "
    ::= { h3cFcLogicResourceEntry 2 }

h3cFcInitiatorWwpnName OBJECT-TYPE
    SYNTAX      H3cWwpnListType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object identifies the name list of FC Initiator WWPN(World Wide
        Port Name). "
    ::= { h3cFcLogicResourceEntry 3 }

h3cFcLvRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object describes the actions to add or delete
        the logic resource of a FC."
    ::= { h3cFcLogicResourceEntry 4 }
END
