
--------------------------------------------------------------------------
-- Copyright (c) 1998, 1999, 2000, All rights reserved by
--
-- EMC Corporation
-- 171 South Street
-- Hopkinton, MA 01748 USA 
--
-- This software is furnished under a license and may be used and copied
-- inclusion of the above copyright notice. This software or  any  other
-- only  in  accordance  with  the  terms  of such  license and with the
-- copies thereof may not be provided or otherwise made available to any
-- other person. No title to and ownership of  the  software  is  hereby
-- transferred.
--
-- The information in this software is subject to change without notice
-- and should not be construed as a commitment by EMC Corporation.
--
-- EMC Corporation assumes no responsibility for the use or reliability
-- of this software.
--
----------------------------------------------------------------------------
--
-- EMC Symmetrix Management Information Base description
--
----------------------------------------------------------------------------
----------------------------------------------------------------------------
-- 
-- Author Identification
--
-- JDS      John D. Sullivan, EMC
--
----------------------------------------------------------------------------
--
--  002  JDS   06-05-2000     changed discSymapisrv-IP to type IpAddress
--  001  JDS   03-17-2000     Obsoleted ALL ECC 4.0 and earlier OIDs
--                            all OIDs under emcControlCenter
--                            all OIDs under systemCalls
--                            most OIDs under agentAdministration
--                            all OIDs under mainframeVariables
--                            all OIDs under symList, symRemoteList, and symDgList
--                            all OIDs under lDevStatTable and dgStatTable
--                               
--                            all remaining OIDs under symAPI are indexed to 
--                               discIndex found in discovery
--
--  000  JDS   05-01-1998     Created Original Module
--
----------------------------------------------------------------------------

EMC-MIB

DEFINITIONS ::= BEGIN

   IMPORTS
   enterprises, Opaque, Gauge, TimeTicks, experimental,
   IpAddress
        FROM RFC1155-SMI
   OBJECT-TYPE
        FROM RFC-1212          
	DisplayString 
		FROM RFC1213-MIB 
   TRAP-TYPE
        FROM RFC-1215;

   UInt32 ::= Gauge

   emc                        OBJECT IDENTIFIER ::= { enterprises 1139 }
   emcSymmetrix               OBJECT IDENTIFIER ::= { emc 1 }


   systemCalls                OBJECT IDENTIFIER ::= { emcSymmetrix 2 }
      informational           OBJECT IDENTIFIER ::= { systemCalls 1 }
         systemInformation    OBJECT IDENTIFIER ::= { informational 257 }
         systemCodes          OBJECT IDENTIFIER ::= { informational 258 }
         diskAdapterDeviceConfiguration OBJECT IDENTIFIER ::= { informational 273 }
         deviceHostAddressConfiguration OBJECT IDENTIFIER ::= { informational 281 }

      control                 OBJECT IDENTIFIER ::= { systemCalls 2 }

   discovery                  OBJECT IDENTIFIER ::= { emcSymmetrix 3 }

   agentAdministration        OBJECT IDENTIFIER ::= { emcSymmetrix 4 }
      analyzer                OBJECT IDENTIFIER ::= { agentAdministration 1000}
         analyzerFiles        OBJECT IDENTIFIER ::= { analyzer 3 }
      clients                 OBJECT IDENTIFIER ::= { agentAdministration 1001}
      trapSetup               OBJECT IDENTIFIER ::= { agentAdministration 1002}
      activePorts             OBJECT IDENTIFIER ::= { agentAdministration 1003}
      agentConfiguration      OBJECT IDENTIFIER ::= { agentAdministration 1004}
      subagentConfiguration   OBJECT IDENTIFIER ::= { agentAdministration 1005}
 
   mainframeVariables         OBJECT IDENTIFIER ::= { emcSymmetrix 5 }
 
   symAPI                     OBJECT IDENTIFIER ::= { emcSymmetrix 6 }
      symAPIList              OBJECT IDENTIFIER ::= { symAPI 1 }
         symList              OBJECT IDENTIFIER ::= { symAPIList 1 }
         symRemoteList        OBJECT IDENTIFIER ::= { symAPIList 2 }
         symDevList           OBJECT IDENTIFIER ::= { symAPIList 3 }
         symPDevList          OBJECT IDENTIFIER ::= { symAPIList 4 }
         symPDevNoDgList      OBJECT IDENTIFIER ::= { symAPIList 5 }
         symDevNoDgList       OBJECT IDENTIFIER ::= { symAPIList 6 }
         symDgList            OBJECT IDENTIFIER ::= { symAPIList 7 }
         symLDevList          OBJECT IDENTIFIER ::= { symAPIList 8 }
         symGateList          OBJECT IDENTIFIER ::= { symAPIList 9 }
         symBcvDevList        OBJECT IDENTIFIER ::= { symAPIList 10 }
         symBcvPDevList       OBJECT IDENTIFIER ::= { symAPIList 11 }

      symAPIShow              OBJECT IDENTIFIER ::= { symAPI 2 }
         symShow              OBJECT IDENTIFIER ::= { symAPIShow 1 }
         symDevShow           OBJECT IDENTIFIER ::= { symAPIShow 2 }


      symAPIStatistics        OBJECT IDENTIFIER ::= { symAPI 3 }
         dirPortStatistics    OBJECT IDENTIFIER ::= { symAPIStatistics 10 }

   symmEvent                  OBJECT IDENTIFIER ::= { emcSymmetrix 7 }





----------------------------------------------------------------------------
--
-- emcControlCenter branch of the Symmetrix Management Information Base
--
----------------------------------------------------------------------------

   emcControlCenter OBJECT-TYPE
      SYNTAX  SEQUENCE OF ESMVariables
      ACCESS  not-accessible
      STATUS  obsolete
      DESCRIPTION
         "A list of EMC Control Center specific variables entries. The number
          of entries is given by the value of discoveryTableSize."
      ::= { emcSymmetrix 1 }

   esmVariables OBJECT-TYPE
      SYNTAX  ESMVariables
      ACCESS  not-accessible
      STATUS  obsolete
      DESCRIPTION
         "An entry containing objects for a particular Symmertrix."
      INDEX { discIndex }
      ::= { emcControlCenter 1 }

   ESMVariables ::=
      SEQUENCE {
         emcSymCnfg                 Opaque,
         emcSymDiskCfg              Opaque,
         emcSymMirrorDiskCfg        Opaque,
         emcSymMirror3DiskCfg       Opaque,
         emcSymMirror4DiskCfg       Opaque,
         emcSymStatistics           Opaque,
         emcSymUtilA7               DisplayString,
         emcSymRdfMaint             Opaque,
         emcSymWinConfig            Opaque,
         emcSymUtil99               DisplayString,
         emcSymDir                  Opaque,
         emcSymDevStats             Opaque,
         emcSymSumStatus            Opaque,
         emcRatiosOutofRange        DisplayString,
         emcSymPortStats            Opaque,
         emcSymBCVDevice            Opaque,
         emcSymSaitInfo             Opaque,
         emcSymTimefinderInfo       Opaque,
         emcSymSRDFInfo             Opaque,
         emcSymPhysDevStats         Opaque,
         emcSymSumStatusErrorCodes  DisplayString
}


   emcSymCnfg OBJECT-TYPE
              SYNTAX  Opaque
              ACCESS  read-only
              STATUS  obsolete

              DESCRIPTION
                      "symmetrix.cnfg disk variable "
          ::= { esmVariables 1 }

   emcSymDiskCfg OBJECT-TYPE
              SYNTAX  Opaque
              ACCESS  read-only
              STATUS  obsolete

              DESCRIPTION
                      "Symmetrix DISKS CONFIGURATION data"
              ::= { esmVariables 2 }

   emcSymMirrorDiskCfg OBJECT-TYPE
              SYNTAX  Opaque
              ACCESS  read-only
              STATUS  obsolete

              DESCRIPTION
                      "Symmetrix MIRRORED DISKS CONFIGURATION data"
              ::= { esmVariables 3 }

   emcSymMirror3DiskCfg OBJECT-TYPE
              SYNTAX  Opaque
              ACCESS  read-only
              STATUS  obsolete

              DESCRIPTION
                      "Symmetrix MIRRORED3 DISKS CONFIGURATION data"
              ::= { esmVariables 4 }

   emcSymMirror4DiskCfg OBJECT-TYPE
              SYNTAX  Opaque
              ACCESS  read-only
              STATUS  obsolete

              DESCRIPTION
                      "Symmetrix MIRRORED4 DISKS CONFIGURATION data"
              ::= { esmVariables 5 }

   emcSymStatistics OBJECT-TYPE
              SYNTAX  Opaque
              ACCESS  read-only
              STATUS  obsolete

              DESCRIPTION
                      "Symmetrix STATISTICS data"
              ::= { esmVariables 6 }

   emcSymUtilA7 OBJECT-TYPE
              SYNTAX  DisplayString
              ACCESS  read-only
              STATUS  obsolete

              DESCRIPTION
                      "UTILITY A7 -- Show disks 'W PEND' tracks counts"
              ::= { esmVariables 7 }

   emcSymRdfMaint OBJECT-TYPE
              SYNTAX  Opaque
              ACCESS  read-only
              STATUS  obsolete

              DESCRIPTION
                      "Symmetrix Remote Data Facility Maintenance"
              ::= { esmVariables 8 }

   emcSymWinConfig OBJECT-TYPE
              SYNTAX  Opaque
              ACCESS  read-only
              STATUS  obsolete

              DESCRIPTION
                      "EMC ICDA Manager CONFIGURATION data"
              ::= { esmVariables 9 }

   emcSymUtil99 OBJECT-TYPE
              SYNTAX  DisplayString
              ACCESS  read-only
              STATUS  obsolete

              DESCRIPTION
                      "Symmetrix error stats"
              ::= { esmVariables 10 }

   emcSymDir OBJECT-TYPE
              SYNTAX  Opaque
              ACCESS  read-only
              STATUS  obsolete

              DESCRIPTION
                      "Symmetrix director information."
              ::= { esmVariables 11 }

   emcSymDevStats OBJECT-TYPE
              SYNTAX  Opaque
              ACCESS  read-only
              STATUS  obsolete

              DESCRIPTION
                      "Symmetrix error stats"
              ::= { esmVariables 12 }

   emcSymSumStatus OBJECT-TYPE
              SYNTAX  Opaque
              ACCESS  read-only
              STATUS  obsolete

              DESCRIPTION
                      "Symmetrix Summary Status.
                          0  = no errors
                          1  = warning
                          2+ = Fatal error
              "
              ::= { esmVariables 13 }

   emcRatiosOutofRange OBJECT-TYPE
              SYNTAX  DisplayString
              ACCESS  read-only
              STATUS  obsolete

              DESCRIPTION
                      "Symmetrix Write/Hit Ratio Status. A bit-wise integer
                       value indicating hit or write ratio out of range. If
                       (value & 1) then hit ratio out of specified range.  If
                       (value & 2) then write ratio out of specified range.
               "
              ::= { esmVariables 14 }

   emcSymPortStats OBJECT-TYPE
              SYNTAX  Opaque
              ACCESS  read-only
              STATUS  obsolete

              DESCRIPTION
                      "Symmetrix port statistics"
              ::= { esmVariables 15 }

    emcSymBCVDevice OBJECT-TYPE
              SYNTAX  Opaque
              ACCESS  read-only
              STATUS  obsolete

              DESCRIPTION
                      "Symmetrix BCV Device information"
              ::= { esmVariables 16 }


    emcSymSaitInfo OBJECT-TYPE
              SYNTAX  Opaque
              ACCESS  read-only
              STATUS  obsolete

              DESCRIPTION
                      "Symmetrix SCSI/Fiber channel information"
              ::= { esmVariables 17 }

    emcSymTimefinderInfo OBJECT-TYPE
              SYNTAX  Opaque
              ACCESS  read-only
              STATUS  obsolete

              DESCRIPTION
                      "Symmetrix Tinmefinder information"
              ::= { esmVariables 18 }

    emcSymSRDFInfo OBJECT-TYPE
              SYNTAX  Opaque
              ACCESS  read-only
              STATUS  obsolete

              DESCRIPTION
                      "Symmetrix RDF Device information"
              ::= { esmVariables 19 }

    emcSymPhysDevStats OBJECT-TYPE
              SYNTAX  Opaque
              ACCESS  read-only
              STATUS  obsolete

              DESCRIPTION
                      "Symmetrix Physical Device Statistics"
              ::= { esmVariables 20 }


    emcSymSumStatusErrorCodes OBJECT-TYPE
              SYNTAX  DisplayString
              ACCESS  read-only
              STATUS  obsolete

              DESCRIPTION
                      "A Colon-delimited list of error codes that caused the
                       error in emcSymSumStatus
              "
              ::= { esmVariables 98 }



----------------------------------------------------------------------------
--
-- the following objects define the contents of Syscall 0101
-- System Configuration information
--
----------------------------------------------------------------------------


   systemInfoHeaderTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF SystemInfoHeader
      ACCESS  not-accessible
      STATUS obsolete
      DESCRIPTION
         "A table of Symmetrix information contain is the results of 
          Syscall 0x0101 for the specified Symmetrix instance.
          The number of entries is given by the value discIndex."
      ::= { systemInformation 1 }

   systemInfoHeaderEntry OBJECT-TYPE
      SYNTAX  SystemInfoHeader
      ACCESS  not-accessible
      STATUS obsolete
      DESCRIPTION
         "An entry containing objects for the indicated systemInfoHeaderTable
          element."
      INDEX { discIndex }
      ::= { systemInfoHeaderTable 1 }

   SystemInfoHeader ::=
      SEQUENCE {
         sysinfoBuffer              Opaque,
         sysinfoNumberofRecords     INTEGER,
         sysinfoRecordSize          INTEGER,
         sysinfoFirstRecordNumber   INTEGER,
         sysinfoMaxRecords          INTEGER
      }


   sysinfoBuffer  OBJECT-TYPE
      SYNTAX  Opaque
      ACCESS  read-only
      STATUS obsolete
      DESCRIPTION
         "The entire return buffer of system call 0x0101 for the 
          indicated Symmetrix."
      ::= { systemInfoHeaderEntry 1 }

   sysinfoNumberofRecords  OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS obsolete
      DESCRIPTION
         "The count of the number of records in the buffer returned
          by Syscall 0x0101."
      ::= { systemInfoHeaderEntry 2 }

   sysinfoRecordSize OBJECT-TYPE
      SYNTAX   INTEGER
      ACCESS   read-only
      STATUS   obsolete
      DESCRIPTION
         "This object is the size of one record in the buffer returned
          by Syscall 0x0101."
      ::= { systemInfoHeaderEntry 3 }

   sysinfoFirstRecordNumber   OBJECT-TYPE
      SYNTAX   INTEGER
      ACCESS   read-only
      STATUS   obsolete
      DESCRIPTION
         "This object is the first record number in the buffer returned
          by Syscall 0x0101."
      ::= { systemInfoHeaderEntry 4 }

   sysinfoMaxRecords OBJECT-TYPE
      SYNTAX   INTEGER
      ACCESS   read-only
      STATUS   obsolete
      DESCRIPTION
         "This object is the maximum number of records available in this
          Symmetrix for Syscall 0x0101."
      ::= { systemInfoHeaderEntry 5 }



------------------------------
-- individual syscall objects
------------------------------

   sysinfoRecordsTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF SysinfoRecords
      ACCESS  not-accessible
      STATUS obsolete
      DESCRIPTION
         "This table provides a method to access one device record 
          within the buffer returned by Syscall 0x0101."
      ::= { systemInformation 2 }

   sysinfoRecordsEntry OBJECT-TYPE
      SYNTAX  SysinfoRecords
      ACCESS  not-accessible
      STATUS obsolete
      DESCRIPTION
         "One entire record of system information for the indicated
          Symmetrix."
      INDEX { discIndex }
      ::= { sysinfoRecordsTable 1 }

   SysinfoRecords ::=
      SEQUENCE {
         sysinfoSerialNumber                 DisplayString,
         sysinfoNumberofDirectors            INTEGER,
         sysinfoNumberofVolumes              INTEGER,
         sysinfoMemorySize                   Opaque
      }


   sysinfoSerialNumber  OBJECT-TYPE
      SYNTAX   DisplayString (SIZE (16))
      ACCESS   read-only
      STATUS   obsolete
      DESCRIPTION
         " This object describes the serial number of indicated Symmetrix."
      ::= { sysinfoRecordsEntry 1 }


   sysinfoNumberofDirectors   OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS obsolete
      DESCRIPTION
         "The number of directors in this Symmetrix.
         "
      ::= { sysinfoRecordsEntry 19 }

   sysinfoNumberofVolumes     OBJECT-TYPE
      SYNTAX   INTEGER
      ACCESS   read-only
      STATUS   obsolete
      DESCRIPTION
         " This object describes the number of logical
           devices present on the system."
      ::= { sysinfoRecordsEntry 23 }

   sysinfoMemorySize OBJECT-TYPE
      SYNTAX  Opaque
      ACCESS  read-only
      STATUS obsolete
      DESCRIPTION
         "The amount of memory, in Megabytes, in the system. This is also
             the last memory address in the system
         "
      ::= { sysinfoRecordsEntry 25 }




----------------------------------------------------------------------------
--
-- the following objects define the contents of Syscall 0102
-- System Codes
--
---------------------------------------------------------------------------


   systemCodesTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF SystemCodes
      ACCESS  not-accessible
      STATUS  obsolete
      DESCRIPTION
         "A table of Symmetrix information contain is the results of 
          Syscall 0x0102 for the specified Symmetrix instance.
          The number of entries is given by the value discIndex."
      ::= { systemCodes 1 }

   systemCodesEntry OBJECT-TYPE
      SYNTAX  SystemCodes
      ACCESS  not-accessible
      STATUS  obsolete
      DESCRIPTION
         "An entry containing objects for the indicated systemCodesTable
          element."
      INDEX { discIndex }
      ::= { systemCodesTable 1 }

   SystemCodes ::=
      SEQUENCE {
         syscodesBuffer             Opaque,
         syscodesNumberofRecords    INTEGER,
         syscodesRecordSize         INTEGER,
         syscodesFirstRecordNumber  INTEGER,
         syscodesMaxRecords         INTEGER
      }


   syscodesBuffer  OBJECT-TYPE
      SYNTAX  Opaque
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The entire return buffer of system call 0x0102.
         "
      ::= { systemCodesEntry 1 }

   syscodesNumberofRecords  OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The count of the number of records in the buffer returned
          by Syscall 0x0102."
      ::= { systemCodesEntry 2 }

   syscodesRecordSize OBJECT-TYPE
      SYNTAX   INTEGER
      ACCESS   read-only
      STATUS   obsolete
      DESCRIPTION
         "This object is the size of one record in the buffer returned
          by Syscall 0x0102."
      ::= { systemCodesEntry 3 }

   syscodesFirstRecordNumber   OBJECT-TYPE
      SYNTAX   INTEGER
      ACCESS   read-only
      STATUS   obsolete
      DESCRIPTION
         "This object is the first record number in the buffer returned
          by Syscall 0x0102."
      ::= { systemCodesEntry 4 }

   syscodesMaxRecords OBJECT-TYPE
      SYNTAX   INTEGER
      ACCESS   read-only
      STATUS   obsolete
      DESCRIPTION
         "This object is the maximum number of records available in this
          Symmetrix for Syscall 0x0102."
      ::= { systemCodesEntry 5 }


----------------------------------------------
-- individual syscall objects
----------------------------------------------

   systemCodesRecordsTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF SystemCodesRecords
      ACCESS  not-accessible
      STATUS  obsolete
      DESCRIPTION
         "This table provides a method to access one director record 
          within the buffer returned by Syscall 0x0102."
      ::= { systemCodes 2 }

   systemCodesRecordsEntry OBJECT-TYPE
      SYNTAX  SystemCodesRecords
      ACCESS  not-accessible
      STATUS  obsolete
      DESCRIPTION
         "One entire record of system code information for the
          the indicated Symmetrix and director."
      INDEX { discIndex, syscodesDirectorNum }
      ::= { systemCodesRecordsTable 1 }

   SystemCodesRecords ::=
      SEQUENCE {
         syscodesDirectorType     INTEGER,
         syscodesDirectorNum      INTEGER,
         emulCodeType     DisplayString,
         emulVersion      INTEGER,
         emulDate         Opaque,
         emulChecksum     INTEGER,
         emulMTPF         INTEGER,
         emulFileCount    INTEGER,
         implCodeType     DisplayString,
         implVersion      INTEGER,
         implDate         Opaque,
         implChecksum     INTEGER,
         implMTPF         INTEGER,
         implFileCount    INTEGER,
         initCodeType     DisplayString,
         initVersion      INTEGER,
         initDate         Opaque,
         initChecksum     INTEGER,
         initMTPF         INTEGER,
         initFileCount    INTEGER,
         escnCodeType     DisplayString,
         escnVersion      INTEGER,
         escnDate         Opaque,
         escnChecksum     INTEGER,
         escnMTPF         INTEGER,
         escnFileCount    INTEGER
        }

    syscodesDirectorType OBJECT-TYPE
      SYNTAX  INTEGER    {
         parallel-adapter(1),    --- Parallel Channel Adapter card
         escon-adapter(2),    --- ESCON Adapter card
         scsi-adapter(3),     --- SCSI Adapter card
         disk-adapter(4),     --- Disk Adapter card
         remote-adapter(5),      --- RDF Adapter card
         fiber-adapter(6)     --- Fibre Channel Adapter card
      }
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The 1 byte director type identifier. 
            1 - Parallel Channel Adapter card
            2 - ESCON Adapter card
            3 - SCSI Adapter card
            4 - Disk Adapter card
            5 - RDF Adapter card
            6 - Fiber Channel Adapter card
         "
      ::= { systemCodesRecordsEntry 1 }

    syscodesDirectorNum  OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The index to the table. The number of instances should be
          the number of Directors. The instance we are interested in at any
          point would be the Director number.
          NOTE: Director numbering may be zero based.  If so, then an 
          instance is Director number plus 1.
         "
      ::= { systemCodesRecordsEntry 2 }

-- 3-4 reserved

    emulCodeType   OBJECT-TYPE
      SYNTAX  DisplayString (SIZE (0..4))
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The 4 byte code type of the director. Value is 'EMUL'
         "
      ::= { systemCodesRecordsEntry 5 }

    emulVersion OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The 4 byte version of the director's code. 
         "
      ::= { systemCodesRecordsEntry 6 }

    emulDate OBJECT-TYPE
      SYNTAX  Opaque
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The 4 byte version date for the director's code. 
         "
      ::= { systemCodesRecordsEntry 7 }

    emulChecksum   OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The 4 byte checksum for the director's code. 
         "
      ::= { systemCodesRecordsEntry 8 }

    emulMTPF OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The 4 byte MTPF of the director's code. 
         "
      ::= { systemCodesRecordsEntry 9 }

    emulFileCount OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The 4 byte file length of the director's code. 
         "
      ::= { systemCodesRecordsEntry 10 }

    implCodeType   OBJECT-TYPE
      SYNTAX  DisplayString (SIZE (0..4))
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The 4 byte code type of the director. Value is 'IMPL'
         "
      ::= { systemCodesRecordsEntry 11 }

    implVersion OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The 4 byte version of the director's code. 
         "
      ::= { systemCodesRecordsEntry 12 }

    implDate OBJECT-TYPE
      SYNTAX  Opaque
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The 4 byte version date for the director's code. 
         "
      ::= { systemCodesRecordsEntry 13 }

    implChecksum   OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The 4 byte checksum for the director's code. 
         "
      ::= { systemCodesRecordsEntry 14 }

    implMTPF OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The 4 byte MTPF of the director's code. 
         "
      ::= { systemCodesRecordsEntry 15 }

    implFileCount OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The 4 byte file length of the director's code. 
         "
      ::= { systemCodesRecordsEntry 16 }

    initCodeType   OBJECT-TYPE
      SYNTAX  DisplayString (SIZE (0..4))
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The 4 byte code type of the director. Value is 'INIT'
         "
      ::= { systemCodesRecordsEntry 17 }

    initVersion OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The 4 byte version of the director's code. 
         "
      ::= { systemCodesRecordsEntry 18 }

    initDate OBJECT-TYPE
      SYNTAX  Opaque
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The 4 byte version date for the director's code. 
         "
      ::= { systemCodesRecordsEntry 19 }

    initChecksum   OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The 4 byte checksum for the director's code. 
         "
      ::= { systemCodesRecordsEntry 20 }

    initMTPF OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The 4 byte MTPF of the director's code. 
         "
      ::= { systemCodesRecordsEntry 21 }

    initFileCount OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The 4 byte file length of the director's code. 
         "
      ::= { systemCodesRecordsEntry 22 }

    escnCodeType   OBJECT-TYPE
      SYNTAX  DisplayString (SIZE (0..4))
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The 4 byte code type of the director. Value is 'ESCN'
         "
      ::= { systemCodesRecordsEntry 23 }

    escnVersion OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The 4 byte version of the director's code. 
         "
      ::= { systemCodesRecordsEntry 24 }

    escnDate OBJECT-TYPE
      SYNTAX  Opaque
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The 4 byte version date for the director's code. 
         "
      ::= { systemCodesRecordsEntry 25 }

    escnChecksum   OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The 4 byte checksum for the director's code. 
         "
      ::= { systemCodesRecordsEntry 26 }

    escnMTPF OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The 4 byte MTPF of the director's code. 
         "
      ::= { systemCodesRecordsEntry 27 }

    escnFileCount OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The 4 byte file length of the director's code. 
         "
      ::= { systemCodesRecordsEntry 28 }





----------------------------------------------------------------------------
--
-- the following objects define the contents of Syscall 0111
-- Disk Adapter device configuration records
--
----------------------------------------------------------------------------


   diskAdapterDeviceConfigurationTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF DadConfiguration
      ACCESS  not-accessible
      STATUS  obsolete
      DESCRIPTION
         "A table of Symmetrix information contain is the results of 
          Syscall 0x0111 for the specified Symmetrix instance.
          The number of entries is given by the value discIndex."
      ::= { diskAdapterDeviceConfiguration 1 }

   diskAdapterDeviceConfigurationEntry OBJECT-TYPE
      SYNTAX  DadConfiguration
      ACCESS  not-accessible
      STATUS  obsolete
      DESCRIPTION
         "An entry containing objects for the indicated
          diskAdapterDeviceConfigurationTable element."
      INDEX { discIndex }
      ::= { diskAdapterDeviceConfigurationTable 1 }

   DadConfiguration ::=
      SEQUENCE {
         dadcnfigBuffer             Opaque,
         dadcnfigNumberofRecords    INTEGER,
         dadcnfigRecordSize         INTEGER,
         dadcnfigFirstRecordNumber  INTEGER,
         dadcnfigMaxRecords         INTEGER
     }


   dadcnfigBuffer  OBJECT-TYPE
      SYNTAX  Opaque
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The entire return buffer of system call 0x0111.
         "
      ::= { diskAdapterDeviceConfigurationEntry 1 }
      
   dadcnfigNumberofRecords  OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The count of the number of records in the buffer returned
          by Syscall 0x0111."
      ::= { diskAdapterDeviceConfigurationEntry 2 }

   dadcnfigRecordSize OBJECT-TYPE
      SYNTAX   INTEGER
      ACCESS   read-only
      STATUS   obsolete
      DESCRIPTION
         "This object is the size of one record in the buffer returned
          by Syscall 0x0111."
      ::= { diskAdapterDeviceConfigurationEntry 3 }

   dadcnfigFirstRecordNumber   OBJECT-TYPE
      SYNTAX   INTEGER
      ACCESS   read-only
      STATUS   obsolete
      DESCRIPTION
         "This object is the first record number in the buffer returned
          by Syscall 0x0111."
      ::= { diskAdapterDeviceConfigurationEntry 4 }

   dadcnfigMaxRecords OBJECT-TYPE
      SYNTAX   INTEGER
      ACCESS   read-only
      STATUS   obsolete
      DESCRIPTION
         "This object is the maximum number of records available in this
          Symmetrix for Syscall 0x0111."
      ::= { diskAdapterDeviceConfigurationEntry 5 }


----------------------------------------------
-- individual syscall objects
----------------------------------------------

   dadcnfigDeviceRecordsTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF DadcnfigRecords
      ACCESS  not-accessible
      STATUS  obsolete
      DESCRIPTION
         "This table provides a method to access one device record 
          within the buffer returned by Syscall 0x0111."
      ::= { diskAdapterDeviceConfiguration 2 }

   dadcnfigDeviceRecordsEntry OBJECT-TYPE
      SYNTAX  DadcnfigRecords
      ACCESS  not-accessible
      STATUS  obsolete
      DESCRIPTION
         "One entire record of disk adapter device configuration information
          for the indicated Symmetrix."
      INDEX { discIndex, dadcnfigSymmNumber }
      ::= { dadcnfigDeviceRecordsTable 1 }

   DadcnfigRecords ::=
      SEQUENCE {
         dadcnfigSymmNumber              INTEGER,
         dadcnfigMirrors                 Opaque,
         dadcnfigMirror1Director         INTEGER,
         dadcnfigMirror1Interface        INTEGER,
         dadcnfigMirror2Director         INTEGER,
         dadcnfigMirror2Interface        INTEGER,
         dadcnfigMirror3Director         INTEGER,
         dadcnfigMirror3Interface        INTEGER,
         dadcnfigMirror4Director         INTEGER,
         dadcnfigMirror4Interface        INTEGER
      }
    

   dadcnfigSymmNumber OBJECT-TYPE
      SYNTAX   INTEGER
      ACCESS   read-only
      STATUS   obsolete
      DESCRIPTION
         "The 2 byte Symmetrix number of the device.
         "
      ::= { dadcnfigDeviceRecordsEntry 1 }

-- 2-7 unused

    dadcnfigMirrors   OBJECT-TYPE
      SYNTAX  Opaque
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "an 8 byte buffer, 4 mirrors * 2 bytes per, indicating director 
          and port assignments for this device's mirrors. 
          
          Buffer format is:

             mir 1     mir 2     mir 3     mir 4       
          *----+----*----+----*----+----*----+----+           
          |DIR |i/f |DIR |i/f |DIR |i/f |DIR |i/f |
          | #  |    | #  |    | #  |    | #  |    |
          *----+----*----+----*----+----*----+----+           
         
         "
      ::= { dadcnfigDeviceRecordsEntry 8 }

    dadcnfigMirror1Director OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The director number of this device's Mirror 1 device.
         "
      ::= { dadcnfigDeviceRecordsEntry 9 }

    dadcnfigMirror1Interface   OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The interface number of this device's Mirror 1 device.
         "
      ::= { dadcnfigDeviceRecordsEntry 10 }

    dadcnfigMirror2Director OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The director number of this device's Mirror 2 device.
         "
      ::= { dadcnfigDeviceRecordsEntry 11 }

    dadcnfigMirror2Interface   OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The interface number of this device's Mirror 2 device.
         "
      ::= { dadcnfigDeviceRecordsEntry 12 }

    dadcnfigMirror3Director OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The director number of this device's Mirror 3 device.
         "
      ::= { dadcnfigDeviceRecordsEntry 13 }

    dadcnfigMirror3Interface   OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The interface number of this device's Mirror 3 device.
         "
      ::= { dadcnfigDeviceRecordsEntry 14 }

    dadcnfigMirror4Director OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The director number of this device's Mirror 4 device.
         "
      ::= { dadcnfigDeviceRecordsEntry 15 }

    dadcnfigMirror4Interface   OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The interface number of this device's Mirror 4 device.
         "
      ::= { dadcnfigDeviceRecordsEntry 16 }



----------------------------------------------------------------------------
--
-- the following objects define the contents of Syscall 0119
-- Device host address records
--
----------------------------------------------------------------------------


   deviceHostAddressConfigurationTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF DvhoaddrConfiguration
      ACCESS  not-accessible
      STATUS  obsolete
      DESCRIPTION
         "A table of Symmetrix information contain is the results of 
          Syscall 0x0119 for the specified Symmetrix instance.
          The number of entries is given by the value discIndex."
      ::= { deviceHostAddressConfiguration 1 }

   deviceHostAddressConfigurationEntry OBJECT-TYPE
      SYNTAX  DvhoaddrConfiguration
      ACCESS  not-accessible
      STATUS  obsolete
      DESCRIPTION
         "An entry containing objects for the indicated
          deviceHostAddressConfigurationTable element."
      INDEX { discIndex }
      ::= { deviceHostAddressConfigurationTable 1 }

   DvhoaddrConfiguration ::=
      SEQUENCE {
         dvhoaddrBuffer             Opaque,
         dvhoaddrNumberofRecords    INTEGER, 
         dvhoaddrRecordSize         INTEGER,
         dvhoaddrFirstRecordNumber  INTEGER,
         dvhoaddrMaxRecords         INTEGER  
      }


   dvhoaddrBuffer  OBJECT-TYPE
      SYNTAX  Opaque
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The entire return buffer of system call 0x0119.
         "
      ::= { deviceHostAddressConfigurationEntry 1 }
      
   dvhoaddrNumberofRecords  OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The count of the number of records in the buffer returned
          by Syscall 0x0119."
      ::= { deviceHostAddressConfigurationEntry 2 }

   dvhoaddrRecordSize OBJECT-TYPE
      SYNTAX   INTEGER
      ACCESS   read-only
      STATUS   obsolete
      DESCRIPTION
         "This object is the size of one record in the buffer returned
          by Syscall 0x0119."
      ::= { deviceHostAddressConfigurationEntry 3 }

   dvhoaddrFirstRecordNumber   OBJECT-TYPE
      SYNTAX   INTEGER
      ACCESS   read-only
      STATUS   obsolete
      DESCRIPTION
         "This object is the first record number in the buffer returned
          by Syscall 0x0119."
      ::= { deviceHostAddressConfigurationEntry 4 }

   dvhoaddrMaxRecords OBJECT-TYPE
      SYNTAX   INTEGER
      ACCESS   read-only
      STATUS   obsolete
      DESCRIPTION
         "This object is the maximum number of records available in this
          Symmetrix for Syscall 0x0119."
      ::= { deviceHostAddressConfigurationEntry 5 }

----------------------------------------------
-- individual syscall objects
----------------------------------------------

   dvhoaddrDeviceRecordsTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF DvhoaddrRecords
      ACCESS  not-accessible
      STATUS  obsolete
      DESCRIPTION
         "This table provides a method to access one device record 
          record within the buffer returned by Syscall 0x0119."
      ::= { deviceHostAddressConfiguration 2 }

   dvhoaddrDeviceRecordsEntry OBJECT-TYPE
      SYNTAX  DvhoaddrRecords
      ACCESS  not-accessible
      STATUS  obsolete
      DESCRIPTION
         "One entire record of device host address information for the
          indicated Symmetrix."
      INDEX { discIndex, dvhoaddrSymmNumber }
      ::= { dvhoaddrDeviceRecordsTable 1 }

   DvhoaddrRecords ::=
      SEQUENCE {
         dvhoaddrSymmNumber          INTEGER,
         dvhoaddrDirectorNumber      INTEGER,
         dvhoaddrPortAType           INTEGER,
         dvhoaddrPortADeviceAddress  Opaque,
         dvhoaddrPortBType           INTEGER,
         dvhoaddrPortBDeviceAddress  Opaque,
         dvhoaddrPortCType           INTEGER,
         dvhoaddrPortCDeviceAddress  Opaque,
         dvhoaddrPortDType           INTEGER,
         dvhoaddrPortDDeviceAddress  Opaque,
         dvhoaddrMetaFlags           Opaque,
         dvhoaddrFiberChannelAddress INTEGER
     }
    

   dvhoaddrSymmNumber OBJECT-TYPE
      SYNTAX   INTEGER
      ACCESS   read-only
      STATUS   obsolete
      DESCRIPTION
         "The 2 byte Symmetrix number of the device.
         "
      ::= { dvhoaddrDeviceRecordsEntry 1 }


   dvhoaddrDirectorNumber OBJECT-TYPE
      SYNTAX   INTEGER
      ACCESS   read-only
      STATUS   obsolete
      DESCRIPTION
         "The 2 byte Symmetrix number of the director.
         "
      ::= { dvhoaddrDeviceRecordsEntry 2 }

   dvhoaddrPortAType OBJECT-TYPE
      SYNTAX   INTEGER {
         parallel-ca (1),
         escon-ca (2),
         sa (3),
         fibre (6)
      }
      ACCESS   read-only
      STATUS   obsolete
      DESCRIPTION
         "The type of port for Port A.
         
            01 - Parallel CA
            02 - ESCON CA
            03 - SA
            04 - Fiber Channel"
      ::= { dvhoaddrDeviceRecordsEntry 3 }

   dvhoaddrPortADeviceAddress OBJECT-TYPE
      SYNTAX   Opaque
      ACCESS   read-only
      STATUS   obsolete
      DESCRIPTION
         "The 1 byte port address for this device on this port."
      ::= { dvhoaddrDeviceRecordsEntry 4 }

   dvhoaddrPortBType OBJECT-TYPE
      SYNTAX   INTEGER {
         parallel-ca (1),
         escon-ca (2),
         sa (3),
         fibre (6)
      }
      ACCESS   read-only
      STATUS   obsolete
      DESCRIPTION
         "The type of port for Port A.
         
            01 - Parallel CA
            02 - ESCON CA
            03 - SA
            04 - Fiber Channel"
      ::= { dvhoaddrDeviceRecordsEntry 5 }

   dvhoaddrPortBDeviceAddress OBJECT-TYPE
      SYNTAX   Opaque
      ACCESS   read-only
      STATUS   obsolete
      DESCRIPTION
         "The 1 byte port address for this device on this port."
      ::= { dvhoaddrDeviceRecordsEntry 6 }

   dvhoaddrPortCType OBJECT-TYPE
      SYNTAX   INTEGER {
         parallel-ca (1),
         escon-ca (2),
         sa (3),
         fibre (6)
      }
      ACCESS   read-only
      STATUS   obsolete
      DESCRIPTION
         "The type of port for Port A.
         
            01 - Parallel CA
            02 - ESCON CA
            03 - SA
            04 - Fiber Channel"
      ::= { dvhoaddrDeviceRecordsEntry 7 }

   dvhoaddrPortCDeviceAddress OBJECT-TYPE
      SYNTAX   Opaque
      ACCESS   read-only
      STATUS   obsolete
      DESCRIPTION
         "The 1 byte port address for this device on this port."
      ::= { dvhoaddrDeviceRecordsEntry 8 }

   dvhoaddrPortDType OBJECT-TYPE
      SYNTAX   INTEGER {
         parallel-ca (1),
         escon-ca (2),
         sa (3),
         fibre (6)
      }
      ACCESS   read-only
      STATUS   obsolete
      DESCRIPTION
         "The type of port for Port A.
         
            01 - Parallel CA
            02 - ESCON CA
            03 - SA
            04 - Fiber Channel"
      ::= { dvhoaddrDeviceRecordsEntry 9 }

   dvhoaddrPortDDeviceAddress OBJECT-TYPE
      SYNTAX   Opaque
      ACCESS   read-only
      STATUS   obsolete
      DESCRIPTION
         "The 1 byte port address for this device on this port."
      ::= { dvhoaddrDeviceRecordsEntry 10 }

   dvhoaddrMetaFlags OBJECT-TYPE
      SYNTAX   Opaque
      ACCESS   read-only
      STATUS   obsolete
      DESCRIPTION
         "The 1 byte Meta Flags if this record is an SA record."
      ::= { dvhoaddrDeviceRecordsEntry 11 }

-- 12-14 reserved

   dvhoaddrFiberChannelAddress OBJECT-TYPE
      SYNTAX   INTEGER
      ACCESS   read-only
      STATUS   obsolete
      DESCRIPTION
         "The 2 byte address if this record is a Fiber Channel
          record. There is only 1 port defined."
      ::= { dvhoaddrDeviceRecordsEntry 15 }





----------------------------------------------------------------------------
--
-- Table of attached Symmetrix devices "discovered" during agent startup
-- and during a periodic rediscovery processes
--
----------------------------------------------------------------------------

   discoveryTableSize OBJECT-TYPE
      SYNTAX INTEGER
      ACCESS read-only
      STATUS mandatory

      DESCRIPTION
         "The number of Symmetrixes that are, or have been present on this
         system."
      ::= { discovery 1 }

  discoveryTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF Discovery

        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
           "A list of Symmetrixes.  The number of entries is given by the 
            value of discoveryTableSize."

        ::= { discovery 2 }

  discoveryTbl OBJECT-TYPE
        SYNTAX  Discovery
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
            "An interface entry containing objects for a particular
             Symmetrix."
        INDEX { discIndex }
        ::= { discoveryTable 1 }

   Discovery ::=
        SEQUENCE {
         discIndex               INTEGER,
         discSerialNumber        DisplayString,
         discRawDevice           DisplayString,
         discModel               INTEGER,
         discCapacity            INTEGER,
         discChecksum            INTEGER,
         discConfigDate          DisplayString,
         discRDF                 INTEGER,
         discBCV                 INTEGER,
         discState               INTEGER,
         discStatus              INTEGER,
         discMicrocodeVersion    DisplayString,
         discSymapisrv-IP        IpAddress,
         discNumEvents           INTEGER,
         discEventCurrID         INTEGER
         }

   discIndex    OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "A unique value for each Symmetrix.  Its value
             ranges between 1 and the value of discoveryTableSize.  The
             value for each Symmetrix must remain constant from one 
             agent re-initialization to the next re-initialization, or until
             the agent's discovery list is reset."
        ::= { discoveryTbl 1 }

   discSerialNumber OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The serial number of this attached Symmetrix"
        ::= { discoveryTbl 2 }

   discRawDevice     OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  obsolete
        DESCRIPTION
            "The 'gatekeeper' device the agent uses to extract information
             from this Symmetrix, via the SCSI connection"
        ::= { discoveryTbl 3 }

   discModel     OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "This Symmetrix Model number"
        ::= { discoveryTbl 4 }

   discCapacity    OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  obsolete
        DESCRIPTION
            "The size, in bytes of the 'gatekeeper' device for this Symmetrix
             This object is obsolete in Mib Version 2.0. Agent revisions of 4.0
             or greater will return a zero as a value."
        ::= { discoveryTbl 5 }

  discChecksum    OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The checksum value of the IMPL for this Symmetrix."
        ::= { discoveryTbl 6 }

  discConfigDate    OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The date of the last configuration change.
             Format = MMDDYYYY
             "
        ::= { discoveryTbl 7 }

   discRDF    OBJECT-TYPE
        SYNTAX  INTEGER {
           false(0),     -- RDF not available for this Symmetrix
           true(1),      -- RDF is available for this Symmetrix
           unknown(2)    -- unknown if RDF is available for this Symmetrix
           }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Indicates if RDF is available for this Symmetrix"
        ::= { discoveryTbl 8 }

   discBCV    OBJECT-TYPE
        SYNTAX  INTEGER {
           false(0),     -- BCV Devices are not available for this Symmetrix
           true(1),      -- BCV Devices are available for this Symmetrix
           unknown(2)    -- unknown if BCV Devices are available for this Symmetrix
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Indicates if BCV Devices are configured in this Symmetrix"
        ::= { discoveryTbl 9 }

   discState   OBJECT-TYPE
        SYNTAX  INTEGER {
           unknown(1),     -- Online/Offline state has not been determined
           online(2),      -- This Symmetrix is online
           offline(3)      -- This Symmetrix is offline
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Indicates the online/offline state of this Symmetrix"
        ::= { discoveryTbl 10 }

   discStatus   OBJECT-TYPE
        SYNTAX  INTEGER {
				unknown(1),
				unused(2), 
				ok(3), 
				warning(4),
				failed(5) 
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Indicates the overall status of this Symmetrix"
        ::= { discoveryTbl 11 }

   discMicrocodeVersion   OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The microcode version running in this Symmetrix"
        ::= { discoveryTbl 12 }


   discSymapisrv-IP OBJECT-TYPE 
      SYNTAX IpAddress 
      ACCESS read-only 
      STATUS mandatory 
      DESCRIPTION 
          "The IP address of the symapi server from where this Symmetrix's
           data is sourced. "
      ::= { discoveryTbl 13 } 

   discNumEvents OBJECT-TYPE 
      SYNTAX INTEGER 
      ACCESS read-only 
      STATUS mandatory 
      DESCRIPTION 
          "Number of events currently in the symmEventTable."
      ::= { discoveryTbl 14 } 

   discEventCurrID OBJECT-TYPE 
      SYNTAX INTEGER 
      ACCESS read-only 
      STATUS mandatory 
      DESCRIPTION 
          "The last used event id (symmEventId)."
      ::= { discoveryTbl 15 } 






----------------------------------------------------------------------------
--
-- Agent configuration and administration objects
--
----------------------------------------------------------------------------

----------------------------
-- General agent information
----------------------------

   agentRevision OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
         "The current revision of the agent software
          "
        ::= { agentAdministration 1 }

   mibRevision OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
         "Mib Revision 4.1"
        ::= { agentAdministration 2 }

   agentType OBJECT-TYPE
        SYNTAX  INTEGER  {
         unknown(0),        -- unknown agent type
         unix-host(1),      -- open Symmetrix manager agent
         mainframe(2),      -- mainframe agent
         nt-host(3)         -- NT agent
         }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
         "Integer value indicating the agent host environment, 
          so polling applications can adjust accordingly"
        ::= { agentAdministration 3 }

   periodicDiscoveryFrequency OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-write
        STATUS mandatory

        DESCRIPTION
            "Indicates how often the Discovery thread should
             rebuild the table of attached Symmetrixes, adding new
             ones, and removing old ones. Any changes between the new
             table and the previous table will generate a trap (Trap 4)
             to all registered trap clients.

             Initialize at startup from a separate 'config' file.
             Recommended default is 3600 seconds (1 hour). A value less than 60
             will disable the thread. Minimum frequency is 60 seconds."
       ::= { agentAdministration 4 }

   checksumTestFrequency OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-write
        STATUS mandatory

        DESCRIPTION
            "Indicates how often the Checksum thread should
             test for any changes between the current and previous
             checksum value for all discovered Symmetrixes.  
             For each checksum change, a trap will be generated (Trap 5)
             to all registered trap clients.

             Initialize at startup from a separate 'config' file.
             Recommended default is 60 seconds (1 minute). A value less than 60 
             will disable the thread. Minimum frequency is 60 seconds."
       ::= { agentAdministration 5 }

   statusCheckFrequency OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-write
        STATUS mandatory

        DESCRIPTION
            "Indicates how often the Status thread should
             gather all status and error data from all discovered Symmetrixes. 
             For each director or device error condition, a trap will be 
             generated (Trap 1 or 2) to all registered trap clients.

             Initialize at startup from a separate 'config' file.
             Recommended default is 60 seconds (1 minute). A value less than 60 
             will disable the thread. Minimum frequency is 60 seconds."
       ::= { agentAdministration 6 }




   discoveryChangeTime OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-only
              STATUS mandatory

              DESCRIPTION
                  "Indicates the last time the discovery table was last change by
                   the agent.
                   
                   The value is in seconds, as  returned by the standard 'C'
                   function time().
                  "
           ::= { agentAdministration 302 }


-------
-- Objects to manage and maintain the agent's internal Client List.
-------

   clientListMaintenanceFrequency OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-write
              STATUS obsolete

              DESCRIPTION
                  "Indicates how often the Client List maintenance thread should
                   'wake up' to remove old requests and clients from the list

                   Initialize at startup from a separate 'config' file.
                   Recommended default is 15 minutes (1800 seconds)."

             ::= { clients 1 }

   clientListRequestExpiration OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-write
              STATUS obsolete

              DESCRIPTION
                  "Indicates how old a client request should be to consider
                   removing it from the Client List. It's assumed that a time
                   out condition occurred at the client, and the data is no longer
                   of any value, and deleted.

                   Initialize at startup from a separate 'config' file.
                   Recommended default is 15 minutes (900 seconds)."
             ::= { clients 2 }

   clientListClientExpiration OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-write
              STATUS obsolete

              DESCRIPTION
                  "Indicates how long a client can remain in the Client List without
                   make a request to the agent, after which point it is deleted from
                   the list. Clients are added to the list by making a request to the
                   agent.

                   Initialize at startup from a separate 'config' file.
                   Recommended default is 30 minutes (1800 seconds)."
              ::= { clients 3 }

 
-------
-- Objects to manage and maintain the agent's internal Trap processes.
-------

   discoveryTrapPort OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-write
              STATUS obsolete

              DESCRIPTION
                     "Each client can set it's own port for receiving rediscovery
                      traps in the event the client cannot listen on port 162. 
                      The agent will send any discovery table notifications to port
                      162, and, if set (i.e. >0), the clients designated port.
                     "
              ::= { trapSetup 1 }



  trapTestFrequency OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-write
              STATUS obsolete

              DESCRIPTION
                  "Indicates how often the Trap Test thread should 'wake up'
                   to test for trap conditions in each attached Symmetrix.

                   Initialize at startup from a separate 'config' file.
                   Recommended default is 60 seconds."
             ::= { trapSetup 2 }


-------
-- Objects to identify what ports the agent is actively listening on.
-------

   standardSNMPRequestPort  OBJECT-TYPE
      SYNTAX   INTEGER
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Indicates if the agent was able to bind to the standard SNMP
         request port, port 161. Value of -1 indicates another SNMP
         agent was already active on this host."
      ::= { activePorts 1 }

   esmSNMPRequestPort  OBJECT-TYPE
      SYNTAX   INTEGER
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Indicates what port the agent was able to bind to receive
          SNMP requests for ESM data. This port can also be browsed 
          for all available MIB objects in the event the standard SNMP
          port is unavailable, or the standard EMC.MIB is not loaded
          into the host's SNMP agent."
      ::= { activePorts 2 }

   celerraTCPPort  OBJECT-TYPE
      SYNTAX   INTEGER
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "Indicates what port the agent was able to bind to receive
          TCP requests for ESM data from a Celerra Monitor.
          Requests made to this port must conform to the internal proprietary
          protocol established between a Celerra Monitor and the agent"
      ::= { activePorts 3 }

   xdrTCPPort  OBJECT-TYPE
      SYNTAX   INTEGER
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "Indicates what port the agent was able to bind to receive
          TCP requests for ESM data.
          Requests made to this port must be XDR encoded and conform to 
          the command set established in the agent"
      ::= { activePorts 4 }

-------
-- Object for setting the max packet size for ESM opaque variable transfers
-------

   esmVariablePacketSize OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-write
              STATUS obsolete

              DESCRIPTION
                     "Agent's Maximum SNMP Packet Size for ESM Opaque variables.
                      Each client can set it's own preferred size with the 
                      agent's internal client list.
                      
                      Default size: 2000 bytes
                     "
              ::= { agentConfiguration 1 }


   discoveryFrequency OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-write
              STATUS obsolete

              DESCRIPTION
                  "Indicates how often the Discovery thread should 'wake up'
                   to rebuild the table of attached Symmetrixes, adding new
                   ones, and removing old ones. Any changes between the new
                   table and the previous table will generate a trap to all
                   clients that had previously retrieved the discovery table.
                   Those clients will be prevented from retrieving any data
                   from the agent until they retrieve the new discovery table.

                   Initialize at startup from a separate 'config' file.
                   Recommended default is 600 seconds (10 minutes)."
             ::= { agentConfiguration 2 }


   masterTraceMessagesEnable OBJECT-TYPE
              SYNTAX INTEGER {
               off(0),
               on(1)
               }
              ACCESS read-write
              STATUS obsolete

              DESCRIPTION
                  "Turns trace messages on or off to the console.
                   0 = OFF
                   1 = ON"
             ::= { agentConfiguration 3 }






----------------------------------------------------------------------------
--
-- Agent configuration and administration objects
--
----------------------------------------------------------------------------


-------
-- Objects to manage and maintain the agent's analyzer file collection processes.
-------

   analyzerTopFileSavePolicy OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-write
              STATUS obsolete

              DESCRIPTION
                  "Indicates how long a *.top file can remain on disk before
                   being deleted. Value is in days.

                   Initialize at startup from a separate 'config' file.
                   Recommended default is 7 days."
             ::= { analyzer 1 }

   analyzerSpecialDurationLimit OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-write
              STATUS obsolete

              DESCRIPTION
                  "This is a cap applied to 'special' analyzer collection
                   requests that have a duration that exceeds this amount.
                   Value is in hours.              

                   Initialize at startup from a separate 'config' file.
                   Recommended default is 24 hours."
             ::= { analyzer 2 }


-------------------
-- analyzer .top file lists per attached symmetrix
-------------------

   analyzerFilesCountTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF AnaylzerFileCount
      ACCESS  not-accessible
      STATUS  obsolete
      DESCRIPTION
         "A list of the number of analyzer file present for the given 
          Symmetrix instance."
      ::= { analyzerFiles 1 }

   analyzerFileCountEntry OBJECT-TYPE
      SYNTAX  AnaylzerFileCount
      ACCESS  not-accessible
      STATUS  obsolete
      DESCRIPTION
         "A file count entry containing objects for the specified Symmetrix"
      INDEX { symListCount }
      ::= { analyzerFilesCountTable 1 }

   AnaylzerFileCount ::=
      SEQUENCE {
         analyzerFileCount    INTEGER
         }

   analyzerFileCount  OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The number of entries in the AnaylzerFileList table for the indicated 
          Symmetrix instance"
      ::= { analyzerFileCountEntry 1 }


   analyzerFilesListTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF AnaylzerFileList
      ACCESS  not-accessible
      STATUS  obsolete
      DESCRIPTION
         "A list of the number of analyzer file present for the given 
          Symmetrix instance. The number of entries is given by the value 
          of analyzerFileCount."
      ::= { analyzerFiles 2 }

   analyzerFilesListEntry OBJECT-TYPE
      SYNTAX  AnaylzerFileList
      ACCESS  not-accessible
      STATUS  obsolete
      DESCRIPTION
         "A file list entry containing objects for the specified Symmetrix"

      INDEX { symListCount, analyzerFileCount }
      ::= { analyzerFilesListTable 1 }

   AnaylzerFileList ::=
      SEQUENCE {
         analyzerFileName          DisplayString,
         analyzerFileSize          INTEGER,
         analyzerFileCreation      DisplayString,
         analyzerFileLastModified  DisplayString,
         analyzerFileIsActive      INTEGER,
         analyzerFileRuntime       TimeTicks
         }

   analyzerFileName  OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The analyzer file name for the indicated instance"
      ::= { analyzerFilesListEntry 1 }

   analyzerFileSize  OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The analyzer file size for the indicated instances, in bytes"
      ::= { analyzerFilesListEntry 2 }

   analyzerFileCreation  OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The analyzer file creation time for the indicated instance"
      ::= { analyzerFilesListEntry 3 }

   analyzerFileLastModified  OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The analyzer file last modified time for the indicated instance"
      ::= { analyzerFilesListEntry 4 }

   analyzerFileIsActive  OBJECT-TYPE
      SYNTAX   INTEGER {
            inactive (0),
            active (1)
      }
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "Indicates if the analyzer collector is collection and storing
          Symmetrix information into this file."
      ::= { analyzerFilesListEntry 5 }


   analyzerFileRuntime OBJECT-TYPE
      SYNTAX  TimeTicks
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The length of time this file has run, or has been 
          running for."
      ::= { analyzerFilesListEntry 6 }






----------------------------------------------------------------------------
--
-- Subgent configuration and administration objects
--
----------------------------------------------------------------------------


   subagentInformation OBJECT-TYPE
      SYNTAX  SEQUENCE OF SubagentInfo
      ACCESS  not-accessible
      STATUS  obsolete
      DESCRIPTION
         " A list of subagent entries operational on the host. The number
          of entries is given by the value of discoveryTableSize."
      ::= { subagentConfiguration 1 }


   subagentInfo OBJECT-TYPE
      SYNTAX  SubagentInfo
      ACCESS  not-accessible
      STATUS  obsolete
      DESCRIPTION
         "An entry containing objects for a particular Symmetrix subagent."
      INDEX { discIndex }
      ::= { subagentInformation 1 }

   SubagentInfo ::=
      SEQUENCE {
         subagentSymmetrixSerialNumber     DisplayString,
         subagentProcessActive             INTEGER,
         subagentTraceMessagesEnable       INTEGER
         }


   subagentSymmetrixSerialNumber OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  obsolete
        DESCRIPTION
            "The serial number of this attached Symmetrix"
        ::= { subagentInfo 1 }

   subagentProcessActive OBJECT-TYPE
              SYNTAX INTEGER {
               false(0),
               true(1)
               }
              ACCESS read-only
              STATUS obsolete

              DESCRIPTION
                  "The subagent process is running for this symmetrix.
                   0 = False
                   1 = True"
             ::= { subagentInfo 2 }

   subagentTraceMessagesEnable OBJECT-TYPE
              SYNTAX INTEGER {
               off(0),
               on(1)
               }
              ACCESS read-write
              STATUS obsolete

              DESCRIPTION
                  "Turns trace messages on or off to the console.
                   0 = OFF
                   1 = ON"
             ::= { subagentInfo 3 }







----------------------------------------------------------------------------
--
-- mainframeVariables branch of the Symmetrix Management Information Base
--
----------------------------------------------------------------------------

   mainframeDiskInformation OBJECT-TYPE
      SYNTAX  SEQUENCE OF MainframeDiskInformation
      ACCESS  not-accessible
      STATUS  obsolete
      DESCRIPTION
         "This table of mainframe specific disk variables for each 
          attached Symmetrix. The number of entries is given by the 
          value of discoveryTableSize."
      ::= { mainframeVariables 1 }

   mfDiskInformation OBJECT-TYPE
      SYNTAX  MainframeDiskInformation
      ACCESS  not-accessible
      STATUS  obsolete
      DESCRIPTION
         "An mainframe disk information entry containing objects for a 
         particular Symmetrix."
      INDEX { discIndex }
      ::= { mainframeDiskInformation 1 }

   MainframeDiskInformation ::=
      SEQUENCE {
         emcSymMvsVolume   Opaque
   }


   emcSymMvsVolume OBJECT-TYPE
      SYNTAX  Opaque
      ACCESS  read-only
      STATUS  obsolete

      DESCRIPTION
              "Specific mainframe information for each disk of
               this attached Symmetrix. Supported ONLY in agents
               running in an MVS environment. "
      ::= { mfDiskInformation 1 }


   mainframeDataSetInformation OBJECT-TYPE
      SYNTAX  SEQUENCE OF MainframeDataSetInformation
      ACCESS  not-accessible
      STATUS  obsolete
      DESCRIPTION
         "This table of mainframe specific data set for each 
          attached Symmetrix. The number of entries is given by the 
          value of discoveryTableSize."
      ::= { mainframeVariables 2 }

   mfDataSetInformation OBJECT-TYPE
      SYNTAX  MainframeDataSetInformation
      ACCESS  not-accessible
      STATUS  obsolete
      DESCRIPTION
         "An mainframe data set entry containing objects for a 
         particular Symmetrix."
      INDEX { discIndex, emcSymMvsLUNNumber }
      ::= { mainframeDataSetInformation 1 }

   MainframeDataSetInformation ::=
      SEQUENCE {
         emcSymMvsLUNNumber      INTEGER,
         emcSymMvsDsname         Opaque,
         emcSymMvsBuildStatus    INTEGER
   }  


   emcSymMvsLUNNumber OBJECT-TYPE
      SYNTAX   INTEGER
      ACCESS   read-only
      STATUS   obsolete
      DESCRIPTION
         "The LUN number for this data set
         "
      ::= { mfDataSetInformation 1 }


   emcSymMvsDsname OBJECT-TYPE
      SYNTAX  Opaque
      ACCESS  read-only
      STATUS  obsolete

      DESCRIPTION
         "Specific mainframe information for each LUN of
          this attached Symmetrix. Supported ONLY in agents
          running in an MVS environment. "
      ::= { mfDataSetInformation 2 }

   emcSymMvsBuildStatus OBJECT-TYPE
      SYNTAX   INTEGER
      ACCESS   read-write
      STATUS   obsolete
      DESCRIPTION
         "Polled value to indicate the state of the data set list.
            
            0 = data set unavailable
            1 = build process initiated
            2 = build in progress
            3 = data set available
         "
      ::= { mfDataSetInformation 3 }





----------------------------------------------------------------------------
--
-- the following objects define the contents of the SymAPI List functions
--
----------------------------------------------------------------------------


-------------------
-- SymList
-------------------
   symListCount  OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The number of entries in symListTable, representing the number 
          of Symmetrixes present on this system."
      ::= { symList 1 }

   symListTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF SymList
      ACCESS  not-accessible
      STATUS  obsolete
      DESCRIPTION
         "A list of attached Symmetrix serial numbers. The number of
          entries is given by the value of symListCount."
      ::= { symList 2 }

   symListEntry OBJECT-TYPE
      SYNTAX  SymList
      ACCESS  not-accessible
      STATUS  obsolete
      DESCRIPTION
         "An entry containing objects for the indicated symListTable element."
      INDEX { symListCount }
      ::= { symListTable 1 }

   SymList ::=
      SEQUENCE {
         serialNumber     DisplayString
         }

   serialNumber  OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The Symmetrix serial number for the indicated instance"
      ::= { symListEntry 1 }



-------------------
-- SymRemoteList
-------------------

   symRemoteListCount  OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The number of entries in symRemoteListTable, representing the number 
          of remote Symmetrixes present on this system."
      ::= { symRemoteList 1 }

   symRemoteListTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF SymRemoteList
      ACCESS  not-accessible
      STATUS  obsolete
      DESCRIPTION
         "A list of remote Symmetrix serial numbers. The number of
          entries is given by the value of symRemoteListCount."
      ::= { symRemoteList 2 }


   symRemoteListEntry OBJECT-TYPE
      SYNTAX  SymRemoteList
      ACCESS  not-accessible
      STATUS  obsolete
      DESCRIPTION
         "An entry containing objects for the indicated symRemoteListTable element."
      INDEX { symRemoteListCount }
      ::= { symRemoteListTable 2 }

   SymRemoteList ::=
      SEQUENCE {
         remoteSerialNumber     DisplayString
         }

   remoteSerialNumber  OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The remote Symmetrix serial number for the indicated instance"
      ::= { symRemoteListEntry 1 }
   
       
-------------------
-- SymDevList
-------------------

   symDevListCountTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF SymDevListCount
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "A list of the number of Symmetrix devices for the given 
          Symmetrix instance."
      ::= { symDevList 1 }

   symDevListCountEntry OBJECT-TYPE
      SYNTAX  SymDevListCount
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "An entry containing objects for the number of Symmetrix 
          device names found for the specified Symmetrix"
      INDEX { discIndex }
      ::= { symDevListCountTable 1 }

   SymDevListCount ::=
      SEQUENCE {
         symDevListCount    INTEGER
         }

   symDevListCount  OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The number of entries in the SymDevList table for the indicated 
          Symmetrix instance"
      ::= { symDevListCountEntry 1 }

   symDevListTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF SymDevList
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "A list of Symmetrix device names found for the indicated Symmetrix instance. 
          The number of entries is given by the value of symDevListCount."
      ::= { symDevList 2 }

   symDevListEntry OBJECT-TYPE
      SYNTAX  SymDevList
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "An entry containing objects for the indicated symDevListTable element."
      INDEX { discIndex, symDevListCount }
      ::= { symDevListTable 1 }

   SymDevList ::=
      SEQUENCE {
         symDeviceName     DisplayString
         }

   symDeviceName  OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The device name for the indicated instance"
      ::= { symDevListEntry 1 }


-------------------
-- SymPDevList
-------------------
   symPDevListCountTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF SymPDevCount
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "A list of the number of available devices for the given 
          Symmetrix instance."
      ::= { symPDevList 1 }

   symPDevListCountEntry OBJECT-TYPE
      SYNTAX  SymPDevCount
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "An entry containing objects for the number of available 
          devices found for the specified Symmetrix"
      INDEX { discIndex }
      ::= { symPDevListCountTable 1 }

   SymPDevCount ::=
      SEQUENCE {
         symPDevListCount    INTEGER
         }

   symPDevListCount  OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The number of entries in the symPDeviceList table for the indicated 
          Symmetrix instance"
      ::= { symPDevListCountEntry 1 }


   symPDevListTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF SymPDevList
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "A list of host device filenames (pdevs) for all available devices  
          for the indicated Symmetrix instance. 
          The number of entries is given by the value of symPDevListCount."
      ::= { symPDevList 2 }


   symPDevListEntry OBJECT-TYPE
      SYNTAX  SymPDevList
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "An entry containing objects for the indicated symPDevListTable element."
     INDEX { discIndex, symPDevListCount }
      ::= { symPDevListTable 1 }

   SymPDevList ::=
      SEQUENCE {
         symPDeviceName     DisplayString
         }

   symPDeviceName  OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The physical device name for the indicated instance"
      ::= { symPDevListEntry 1 }
 

-------------------
-- SymPDevNoDgList
-------------------
   symPDevNoDgListCountTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF SymPDevNoDgCount
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "A list of the number of Symmetrix devices that are not members of 
          a device group for the given Symmetrix instance."
      ::= { symPDevNoDgList 1 }

   symPDevNoDgListCountEntry OBJECT-TYPE
      SYNTAX  SymPDevNoDgCount
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "An entry containing objects for the number of Symmetrix devices that 
          are not members of a device group for the specified Symmetrix"
      INDEX { discIndex }
      ::= { symPDevNoDgListCountTable 1 }

   SymPDevNoDgCount ::=
      SEQUENCE {
         symPDevNoDgListCount    INTEGER
         }

   symPDevNoDgListCount  OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The number of entries in the symPDeviceNoDgList table for the indicated 
          Symmetrix instance"
      ::= { symPDevNoDgListCountEntry 1 }


   symPDevNoDgListTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF SymPDevNoDgList
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "A list of all Symmetrix devices that are not members of a device group
          found for the indicated Symmetrix instance. 
          The number of entries is given by the value of symPDevNoDgListCount."
      ::= { symPDevNoDgList 2 }

   symPDevNoDgListEntry OBJECT-TYPE
      SYNTAX  SymPDevNoDgList
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "An entry containing objects for the indicated symPDevNoDgListTable element."
      INDEX { discIndex, symPDevNoDgListCount }
      ::= { symPDevNoDgListTable 1 }

   SymPDevNoDgList ::=
      SEQUENCE {
         symPDevNoDgDeviceName     DisplayString
         }

   symPDevNoDgDeviceName  OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The device name for the indicated instance"
      ::= { symPDevNoDgListEntry 1 }
 
 
-------------------
-- SymDevNoDgList
-------------------
   symDevNoDgListCountTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF SymDevNoDgListCount
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "A list of the number of Symmetrix devices, that are not members
          of a device group for the given Symmetrix instance."
      ::= { symDevNoDgList 1 }

   symDevNoDgListCountEntry OBJECT-TYPE
      SYNTAX  SymDevNoDgListCount
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "An entry containing objects for the number of Symmetrix device names 
          found for the specified Symmetrix"
      INDEX { discIndex }
      ::= { symDevNoDgListCountTable 1 }

   SymDevNoDgListCount ::=
      SEQUENCE {
         symDevNoDgListCount    INTEGER
         }

   symDevNoDgListCount  OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The number of entries in the symDeviceNoDgList table for the indicated 
          Symmetrix instance"
      ::= { symDevNoDgListCountEntry 1 }

   symDevNoDgListTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF SymDevNoDgList
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "A list of Symmetrix device names found for the specified Symmetrix. The 
          number of entries is given by the value of symDevNoDgListCount."
      ::= { symDevNoDgList 2 }

   symDevNoDgListEntry OBJECT-TYPE
      SYNTAX  SymDevNoDgList
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "An entry containing objects for the indicated symDevNoDgListTable element."
      INDEX { discIndex, symDevNoDgListCount }
      ::= { symDevNoDgListTable 1 }

   SymDevNoDgList ::=
      SEQUENCE {
         symDevNoDgDeviceName     DisplayString
         }

   symDevNoDgDeviceName  OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The device name for the indicated instance"
      ::= { symDevNoDgListEntry 1 }
      

-------------------
-- SymDgList
-------------------

   symDgListCount  OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The number of entries in symDgListTable, representing the number 
          of device groups present on this system."
      ::= { symDgList 1 }

   symDgListTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF SymDgList
      ACCESS  not-accessible
      STATUS  obsolete
      DESCRIPTION
         "A list of device groups present on the system. The 
          number of entries is given by the value of symDgListCount."
      ::= { symDgList 2 }

   symDgListEntry OBJECT-TYPE
      SYNTAX  SymDgList
      ACCESS  not-accessible
      STATUS  obsolete
      DESCRIPTION
         "An entry containing objects for the indicated symDgListTable element."
      INDEX { symDgListCount }
      ::= { symDgListTable 1 }

   SymDgList ::=
      SEQUENCE {
         symDevGroupName     DisplayString
         }

   symDevGroupName  OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The device groupname for the indicated instance"
      ::= { symDgListEntry 1 }


-------------------
-- SymLDevList
-------------------

   symLDevListCountTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF SymLDevListCount
      ACCESS  not-accessible
      STATUS  obsolete
      DESCRIPTION
         "A list of the number of devices in a specific device group."
      ::= { symLDevList 1 }

   symLDevListCountEntry OBJECT-TYPE
      SYNTAX  SymLDevListCount
      ACCESS  not-accessible
      STATUS  obsolete
      DESCRIPTION
         "An entry containing objects for the number of devices
          in a specific device group"
      INDEX { symDgListCount }
      ::= { symLDevListCountTable 1 }

   SymLDevListCount ::=
      SEQUENCE {
         symLDevListCount    INTEGER
         }

   symLDevListCount  OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The number of entries in the SymLDevList table for the indicated 
          Symmetrix instance"
      ::= { symLDevListCountEntry 1 }

   symLDevListTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF SymLDevList
      ACCESS  not-accessible
      STATUS  obsolete
      DESCRIPTION
         "A list of devices in the specified device group. The 
          number of entries is given by the value of symLDevListCount."
      ::= { symLDevList 2 }

   symLDevListEntry OBJECT-TYPE
      SYNTAX  SymLDevList
      ACCESS  not-accessible
      STATUS  obsolete
      DESCRIPTION
         "An entry containing objects for the indicated symLDevListTable element."
      INDEX { symDgListCount, symLDevListCount }
      ::= { symLDevListTable 1 }

   SymLDevList ::=
      SEQUENCE {
         lDeviceName     DisplayString
         }

   lDeviceName  OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         "The device name for the indicated instance"
      ::= { symLDevListEntry 1 }


-------------------
-- SymGateList
-------------------
   symGateListCountTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF SymGateListCount
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "A list of the number of host physical device filenames that are 
          currently in the gatekeeper device list for the given 
          Symmetrix instance."
      ::= { symGateList 1 }

   symGateListCountEntry OBJECT-TYPE
      SYNTAX  SymGateListCount
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "An entry containing objects for the number of host physical device 
          filenames that are currently in the gatekeeper device list for 
          the specified Symmetrix"
      INDEX { discIndex }
      ::= { symGateListCountTable 1 }

   SymGateListCount ::=
      SEQUENCE {
         symGateListCount    INTEGER
         }

   symGateListCount  OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The number of entries in the SymGateList table for the indicated 
          Symmetrix instance"
      ::= { symGateListCountEntry 1 }

   symGateListTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF SymGateList
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "A list of host physical device filenames that are 
          currently in the gatekeeper device list for the specified Symmetrix. 
          The number of entries is given by the value of symGateListCount."
      ::= { symGateList 2 }

   symGateListEntry OBJECT-TYPE
      SYNTAX  SymGateList
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "An entry containing objects for the indicated symGateListTable element."
      INDEX { discIndex, symGateListCount }
      ::= { symGateListTable 1 }

   SymGateList ::=
      SEQUENCE {
         gatekeeperDeviceName     DisplayString
         }

   gatekeeperDeviceName  OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The gatekeeper device name for the indicated instance"
      ::= { symGateListEntry 1 }



-------------------
-- SymBcvDevList
-------------------

   symBcvDevListCountTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF SymBcvDevListCount
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "A list of the number of BCV devices for the given 
          Symmetrix instance."
      ::= { symBcvDevList 1 }

   symBcvDevListCountEntry OBJECT-TYPE
      SYNTAX  SymBcvDevListCount
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "An entry containing objects for the number of BCV devices for 
          the specified Symmetrix"
      INDEX { discIndex }
      ::= { symBcvDevListCountTable 1 }

   SymBcvDevListCount ::=
      SEQUENCE {
         symBcvDevListCount    INTEGER
         }

   symBcvDevListCount  OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The number of entries in the SymBcvDevList table for the indicated 
          Symmetrix instance"
      ::= { symBcvDevListCountEntry 1 }


   symBcvDevListTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF SymBcvDevList
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "A list of BCV devices for the specified Symmetrix. 
          The number of entries is given by the value of symBcvDevListCount."
      ::= { symBcvDevList 2 }

   symBcvDevListEntry OBJECT-TYPE
      SYNTAX  SymBcvDevList
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "An entry containing objects for the indicated symBcvDevListTable element."
      INDEX { discIndex, symBcvDevListCount }
      ::= { symBcvDevListTable 1 }

   SymBcvDevList ::=
      SEQUENCE {
         bcvDeviceName     DisplayString
         }

   bcvDeviceName  OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The BCV device name for the indicated instance"
      ::= { symBcvDevListEntry 1 }


-------------------
-- SymBcvPDevList
-------------------

   symBcvPDevListCountTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF SymBcvPDevListCount
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "A list of the number of all BCV devices that
          are accessible by the host systems for the given 
          Symmetrix instance."
      ::= { symBcvPDevList 1 }

   symBcvPDevListCountEntry OBJECT-TYPE
      SYNTAX  SymBcvPDevListCount
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "An entry containing objects for the number of all BCV devices that
          are accessible by the host systems for the specified Symmetrix"
      INDEX { discIndex }
      ::= { symBcvPDevListCountTable 1 }

   SymBcvPDevListCount ::=
      SEQUENCE {
         symBcvPDevListCount    INTEGER
         }

   symBcvPDevListCount  OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The number of entries in the SymBcvDevList table for the indicated 
          Symmetrix instance"
      ::= { symBcvPDevListCountEntry 1 }

   symBcvPDevListTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF SymBcvPDevList
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "A list of all BCV devices tha are accessible by the host systems 
          for the specified Symmetrix. 
          The number of entries is given by the value of symBcvPDevListCount."
      ::= { symBcvPDevList 2 }

   symBcvPDevListEntry OBJECT-TYPE
      SYNTAX  SymBcvPDevList
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "An entry containing objects for the indicated symBcvPDevListTable element."
      INDEX { discIndex, symBcvPDevListCount }
      ::= { symBcvPDevListTable 1 }

   SymBcvPDevList ::=
      SEQUENCE {
         symBcvPDeviceName     DisplayString
         }

   symBcvPDeviceName  OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The BCV physical device name for the indicated instance"
      ::= { symBcvPDevListEntry 1 }




----------------------------------------------------------------------------
--
-- the following objects define the contents of the SymAPI call
-- SymShow
--
----------------------------------------------------------------------------



  StateValues ::=
      INTEGER {
        enabled(0),
        disabled(1),
        mixed(2),
        state-na(3)
      }

  DirectorType ::=
      INTEGER {
          fibre-channel(0),
          scsi-adapter(1),
          disk-adapter(2),
          channel-adapter(3),
          memory-board(4),
          escon-adapter(5),
          rdf-adapter-r1(6),
          rdf-adapter-r2(7),
          rdf-adapter-bi(8)
      }

  DirectorStatus ::=
      INTEGER {
          online(0),
          offline(1),
          dead(2),
          unknown(3)
      }

  PortStatus ::=
      INTEGER {
         status-na(0), 
         on(1),
         off(2),
         wd(3)
  }

  SCSIWidth ::=
      INTEGER {
          not-applicable(0),
          narrow(1),
          wide(2),
          ultra(3)
      }

   symShowConfiguration OBJECT-TYPE
      SYNTAX  SEQUENCE OF SymShowConfiguration
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "A table of Symmetrix configuration information for the indicated Symmetrix
          instance. 
          The number of entries is given by the value of discIndex."
      ::= { symShow 1 }

   symShowEntry OBJECT-TYPE
      SYNTAX  SymShowConfiguration
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "An entry containing objects for the Symmetrix configuration 
          information for the specified Symmetrix"
      INDEX { discIndex }
      ::= { symShowConfiguration 1 }

   SymShowConfiguration ::=
      SEQUENCE {
         symShowSymid                    DisplayString,
         symShowSymmetrix-ident          DisplayString,
         symShowSymmetrix-model          DisplayString,
         symShowMicrocode-version        DisplayString,
         symShowMicrocode-version-num    DisplayString,
         symShowMicrocode-date           DisplayString,
         symShowMicrocode-patch-level    DisplayString,
         symShowMicrocode-patch-date     DisplayString,
         symShowSymmetrix-pwron-time     TimeTicks,
         symShowSymmetrix-uptime         TimeTicks,
         symShowDb-sync-time             TimeTicks,
         symShowDb-sync-bcv-time         TimeTicks,
         symShowDb-sync-rdf-time         TimeTicks,
         symShowLast-ipl-time            TimeTicks,
         symShowLast-fast-ipl-time       TimeTicks,
         symShowReserved                 DisplayString,
         symShowCache-size               UInt32,
         symShowCache-slot-count         UInt32,
         symShowMax-wr-pend-slots        UInt32,
         symShowMax-da-wr-pend-slots     UInt32,
         symShowMax-dev-wr-pend-slots    UInt32,
         symShowPermacache-slot-count    UInt32,
         symShowNum-disks                UInt32,
         symShowNum-symdevs              UInt32,
         symShowNum-pdevs                UInt32,
         symShowAPI-version              DisplayString,
         symShowSDDF-configuration       StateValues,
         symShowConfig-checksum          UInt32,
         symShowNum-powerpath-devs       UInt32
     }


   symShowSymid     OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Symmetrix serial id"
      ::= { symShowEntry 1 }

    symShowSymmetrix-ident     OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Symmetrix generation; Symm3 or Symm4. (reserved for EMC use only.)"
      ::= { symShowEntry 2 }

   symShowSymmetrix-model     OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Symmetrix model number: 3100, 3200, and so forth"
      ::= { symShowEntry 3 }

   symShowMicrocode-version     OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Microcode revision string "
      ::= { symShowEntry 4 }

   symShowMicrocode-version-num     OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Microcode version"
      ::= { symShowEntry 5 }

   symShowMicrocode-date     OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Date of microcode build (MMDDYYYY)"
      ::= { symShowEntry 6 }

   symShowMicrocode-patch-level     OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Microcode patch level"
      ::= { symShowEntry 7 }

   symShowMicrocode-patch-date     OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Date of microcode patch level (MMDDYY)"
      ::= { symShowEntry 8 }

   symShowSymmetrix-pwron-time     OBJECT-TYPE
      SYNTAX  TimeTicks
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Time since the last power-on "
      ::= { symShowEntry 9 }

   symShowSymmetrix-uptime     OBJECT-TYPE
      SYNTAX  TimeTicks
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Uptime in seconds of the Symmetrix "
      ::= { symShowEntry 10 }

   symShowDb-sync-time     OBJECT-TYPE
      SYNTAX  TimeTicks
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Time since the configuration information was gathered "
      ::= { symShowEntry 11 }

    symShowDb-sync-bcv-time     OBJECT-TYPE
      SYNTAX  TimeTicks
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Time since the configuration information was gathered for BCVs "
      ::= { symShowEntry 12 }

    symShowDb-sync-rdf-time     OBJECT-TYPE
      SYNTAX  TimeTicks
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Time since the configuration information was gathered for the SRDF "
      ::= { symShowEntry 13 }

    symShowLast-ipl-time     OBJECT-TYPE
      SYNTAX  TimeTicks
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Time since the last Symmetrix IPL "
      ::= { symShowEntry 14 }

   symShowLast-fast-ipl-time      OBJECT-TYPE
      SYNTAX  TimeTicks
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Time since the last Symmetrix 'fast IPL' "
      ::= { symShowEntry 15 }

   symShowReserved     OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Reserved for future use "
      ::= { symShowEntry 16 }

   symShowCache-size      OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Cache size in megabytes "
      ::= { symShowEntry 17 }

   symShowCache-slot-count      OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Number of 32K cache slots "
      ::= { symShowEntry 18 }

   symShowMax-wr-pend-slots      OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Number of write pending slots allowed before starting 
          delayed fast writes "
      ::= { symShowEntry 19 }

   symShowMax-da-wr-pend-slots      OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Number of write pending slots allowed for one DA before delayed
          fast writes "
      ::= { symShowEntry 20 }

    symShowMax-dev-wr-pend-slots      OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Number of write pending slots allowed for one device before starting
          delayed fast writes "
      ::= { symShowEntry 21 }

   symShowPermacache-slot-count      OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Number of slots allocated to PermaCache "
      ::= { symShowEntry 22 }

    symShowNum-disks      OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Number of physical disks in Symmetrix "
      ::= { symShowEntry 23 }

    symShowNum-symdevs      OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Number of Symmetrix devices "
      ::= { symShowEntry 24 }

   symShowNum-pdevs      OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Number of host physical devices configured for this Symmetrix "
      ::= { symShowEntry 25 }

   symShowAPI-version     OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "SYMAPI revision set to SYMAPI_T_VERSION "
      ::= { symShowEntry 26 }

   symShowSDDF-configuration     OBJECT-TYPE
      SYNTAX  StateValues
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The configuration state of the Symmetrix Differential Data Facility (SDDF). 
          
          Possible states are:
           enabled(0),
           disabled(1),
           mixed(2) - This state is set when the RDF modes of the devices 
                      in the group are different from each other
           state-na(3) - state not applicable
         "
               ::= { symShowEntry 27 }

   symShowConfig-checksum     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Checksum of the Microcode file"
      ::= { symShowEntry 28 }

   symShowNum-powerpath-devs     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Number of Symmetrix devices accessible through the PowerPath driver."
      ::= { symShowEntry 29 }


--------------------------------------------------------
-- physical device list
--------------------------------------------------------

   symShowPDevCountTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF SymShowPDevCount
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "A list of the number of available devices for the given 
          Symmetrix instance."
      ::= { symShow 2 }

   symShowPDevCountEntry OBJECT-TYPE
      SYNTAX  SymShowPDevCount
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "An entry containing objects for the number of available 
          devices found for the specified Symmetrix"
      INDEX { discIndex }
      ::= { symShowPDevCountTable 1 }

   SymShowPDevCount ::=
      SEQUENCE {
         symShowPDevCount    INTEGER
         }

   symShowPDevCount  OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The number of entries in the SymShowPDeviceList table for the indicated 
          Symmetrix instance"
      ::= { symShowPDevCountEntry 1 }


   symShowPDevListTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF SymShowPDevList
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "A list of host device filenames (pdevs) for all available devices  
          for the indicated Symmetrix instance. 
          The number of entries is given by the value of symShowPDevCount."
      ::= { symShow 3 }

   symShowPDevListEntry OBJECT-TYPE
      SYNTAX  SymShowPDevList
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "An entry containing objects for the indicated symShowPDevListTable element."
     INDEX { discIndex, symShowPDevCount }
      ::= { symShowPDevListTable 1 }

   SymShowPDevList ::=
      SEQUENCE {
         symShowPDeviceName     DisplayString
         }

   symShowPDeviceName  OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The physical device name for the indicated instance"
      ::= { symShowPDevListEntry 1 }
 

--------------------------------------------------------
-- director list
--------------------------------------------------------

   symShowDirectorCountTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF SymShowDirectorCount
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "A list of the number of directors for the given 
          Symmetrix instance."
      ::= { symShow 4 }

   symShowDirectorCountEntry OBJECT-TYPE
      SYNTAX  SymShowDirectorCount
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "An entry containing objects for the number of directors 
          for the specified Symmetrix"
      INDEX { discIndex }
      ::= { symShowDirectorCountTable 1 }

   SymShowDirectorCount ::=
      SEQUENCE {
         symShowDirectorCount    INTEGER
         }

   symShowDirectorCount  OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The number of entries in the SymShowDirectorList table for the indicated 
          Symmetrix instance"
      ::= { symShowDirectorCountEntry 1 }

   symShowDirectorConfigurationTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF SymShowDirectors
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "A table of Symmetrix director configuration for the indicated Symmetrix
          instance. 
          The number of entries is given by the value of symShowDirectorCount."
      ::= { symShow 5 }

   symShowDirectorConfigurationEntry OBJECT-TYPE
      SYNTAX  SymShowDirectors
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "An entry containing objects for the indicated 
          symShowDirectorConfigurationTable element."
      INDEX { discIndex, symShowDirectorCount  }
      ::= { symShowDirectorConfigurationTable 1 }

   SymShowDirectors ::=
      SEQUENCE {
         symShowDirector-type                  DirectorType,
         symShowDirector-num                   UInt32,
         symShowSlot-num                       UInt32,
         symShowDirector-ident                 DisplayString,
         symShowDirector-status                DirectorStatus,
         symShowScsi-capability                SCSIWidth,
         symShowNum-da-volumes                 UInt32,
         symShowRemote-symid                   DisplayString,
         symShowRa-group-num                   UInt32,
         symShowRemote-ra-group-num            UInt32,
         symShowPrevent-auto-link-recovery     StateValues,
         symShowPrevent-ra-online-upon-pwron   StateValues,
         symShowNum-ports                      UInt32,
         symShowPort0-status                   PortStatus,
         symShowPort1-status                   PortStatus,
         symShowPort2-status                   PortStatus,
         symShowPort3-status                   PortStatus
         }

  symShowDirector-type     OBJECT-TYPE
      SYNTAX  DirectorType
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Defines the type of director. Possible types are:

             SYMAPI_DIRTYPE_FIBRECHANNEL 
             SYMAPI_DIRTYPE_SCSI 
             SYMAPI_DIRTYPE_DISK 
             SYMAPI_DIRTYPE_CHANNEL 
             SYMAPI_DIRTYPE_MEMORY 
             SYMAPI_DIRTYPE_R1 
             SYMAPI_DIRTYPE_R2 
             SYMAPI_DIRTYPE_RDF_B (bidirectional RDF) "
      ::= { symShowDirectorConfigurationEntry 1 }

  symShowDirector-num     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Number of a director (1 - 32) "
      ::= { symShowDirectorConfigurationEntry 2 }

  symShowSlot-num     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Slot number of a director (1 - 16) "
      ::= { symShowDirectorConfigurationEntry 3 }

  symShowDirector-ident     OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Director identifier. For example,  SA-16  "
      ::= { symShowDirectorConfigurationEntry 4 }

  symShowDirector-status     OBJECT-TYPE
      SYNTAX  DirectorStatus
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "online(0)  - The director's status is ONLINE.
          offline(1) - The director's status is OFFLINE.
          dead(2)    - The status is  non-operational, and its LED 
                                 display will show 'DD'.
          unknown(3) - The director's status is unknown.
         "
      ::= { symShowDirectorConfigurationEntry 5 }

  symShowScsi-capability     OBJECT-TYPE
      SYNTAX  SCSIWidth
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Defines SCSI features for SAs and DAs. Possible values are:
             SYMAPI_C_SCSI_NARROW 
             SYMAPI_C_SCSI_WIDE 
             SYMAPI_C_SCSI_ULTRA "
      ::= { symShowDirectorConfigurationEntry 6 }

  symShowNum-da-volumes     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Indicates how many volumes are serviced by the DA. "
      ::= { symShowDirectorConfigurationEntry 7 }

  symShowRemote-symid     OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "If this is an RA in an SRDF system,this is the remote Symmetrix 
          serial number. If this is not an RDF director, this field is NULL "
      ::= { symShowDirectorConfigurationEntry 8 }

  symShowRa-group-num     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "If this is an RA in an SRDF system, this is the RA group number;
          otherwise it is zero. "
      ::= { symShowDirectorConfigurationEntry 9 }

  symShowRemote-ra-group-num     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "If this is an RA in an SRDF system, this is the RA group number
          on the remote Symmetrix; otherwise it is zero. "
      ::= { symShowDirectorConfigurationEntry 10 }

   symShowPrevent-auto-link-recovery    OBJECT-TYPE
      SYNTAX  StateValues
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Prevent the automatic resumption of data copy across the RDF
          links as soon as the links have recovered. 
          
          Possible states are:
           enabled(0),
           disabled(1),
           mixed(2) - This state is set when the RDF modes of the devices 
                      in the group are different from each other
           state-na(3) - state not applicable
           "
      ::= { symShowDirectorConfigurationEntry 11 }

   symShowPrevent-ra-online-upon-pwron    OBJECT-TYPE
      SYNTAX  StateValues
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Prevent RA's from coming online after the Symmetrix is powered on. 
          
          Possible states are:
           enabled(0),
           disabled(1),
           mixed(2) - This state is set when the RDF modes of the devices 
                      in the group are different from each other
           state-na(3) - state not applicable
      "
      ::= { symShowDirectorConfigurationEntry 12 }

  symShowNum-ports     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Number of ports available on this director."
      ::= { symShowDirectorConfigurationEntry 13 }

  symShowPort0-status     OBJECT-TYPE
      SYNTAX  PortStatus
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The status of port 0 for this director. 
         
          Possible values are:
               status-na(0) - the port's status is not applicable.
               on(1)  -  the port's status is on.
               off(2) - the port's status is off.
               wd(3)  - the port's status is write disabled.
         "
      ::= { symShowDirectorConfigurationEntry 14 }

  symShowPort1-status     OBJECT-TYPE
      SYNTAX  PortStatus
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The status of port 1 for this director. 
         
          Possible values are:
               status-na(0) - the port's status is not applicable.
               on(1)  -  the port's status is on.
               off(2) - the port's status is off.
               wd(3)  - the port's status is write disabled.
         "
      ::= { symShowDirectorConfigurationEntry 15 }

  symShowPort2-status     OBJECT-TYPE
      SYNTAX  PortStatus
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The status of port 2 for this director. 
         
          Possible values are:
               status-na(0) - the port's status is not applicable.
               on(1)  -  the port's status is on.
               off(2) - the port's status is off.
               wd(3)  - the port's status is write disabled.
         "
      ::= { symShowDirectorConfigurationEntry 16 }

  symShowPort3-status     OBJECT-TYPE
      SYNTAX  PortStatus
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The status of port 3 for this director. 
         
          Possible values are:
               status-na(0) - the port's status is not applicable.
               on(1)  -  the port's status is on.
               off(2) - the port's status is off.
               wd(3)  - the port's status is write disabled.
         "
      ::= { symShowDirectorConfigurationEntry 17 }




----------------------------------------------------------------------------
--
-- the following objects define the contents of the SymAPI call
-- SymDevShow
--
----------------------------------------------------------------------------



  DeviceStatus ::=
      INTEGER {
          ready(0),
          not-ready(1),
          write-disabled(2),
          not-applicable(3),
          mixed(4)
      }

   DeviceType ::=
      INTEGER {
        not-applicable(1),
        local-data(2),
        raid-s(4),
        raid-s-parity(8),
        remote-r1-data(16),
        remote-r2-data(32),
        hot-spare(128)
      }

   DeviceEmulation ::=
      INTEGER {
        emulation-na(0), 
        fba(1),   
        as400(2), 
        icl(3),  
        unisys-fba(4), 
        ckd-3380(5),  
        ckd-3390(6)    
      }

   SCSIMethod ::=
      INTEGER {
        method-na(0),
        synchronous(1),
        asynchronous(2)
      }   

   BCVState ::=
      INTEGER {
        never-established(0),
        in-progress(1),
        synchronous(2),
        split-in-progress(3),
        split-before-sync(4),
        split(5),
        split-no-incremental(6),
        restore-in-progress(7),
        restored(8),
        split-before-restore(9),
        invalid(10)
      }


   RDFPairState ::=
      INTEGER {
        invalid(100),     
        syncinprog(101),
        synchronized(102),           
        split(103),                 
        suspended(104),               
        failed-over(105),             
        partitioned(106),             
        r1-updated(107),              
        r1-updinprog(108),          
        mixed(109),
        state-na(110)               
      } 

   RDFType ::=
      INTEGER {
         r1(0),
         r2(1)
      }

   RDFMode ::=
      INTEGER {
        synchronous(0),
        semi-synchronous(1),
        adaptive-copy(2),
        mixed(3),
        rdf-mode-na (4)
      }

   RDFAdaptiveCopy ::=
      INTEGER {
        disabled(0),  
        wp-mode(1),
        disk-mode(2),
        mixed(3),
        ac-na(4) 
  }

   RDFLinkConfig ::=
      INTEGER {
        escon(1),
        t3(2),
        na(3)
  }


   RDDFTransientState ::=
      INTEGER {
        transient-state-na(1),
        offline(2),
        offline-pend(3),
        online(4)
      } 


--------------------------------------------------------
--  device configuration
--------------------------------------------------------
   devShowConfigurationTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF SymDeviceConfiguration
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "A table of Symmetrix device configuration information for the 
          indicated Symmetrix and device instance. 
          The number of entries is given by the value of symDevListCount."
      ::= { symDevShow 1 }

   devShowConfigurationEntry OBJECT-TYPE
      SYNTAX  SymDeviceConfiguration
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "An entry containing objects for the Symmetrix device configuration 
          information for the specified Symmetrix and device."
      INDEX { discIndex, symDevListCount }
      ::= { devShowConfigurationTable 1 }

   SymDeviceConfiguration ::=
      SEQUENCE {
         devShowVendor-id                DisplayString,
         devShowProduct-id               DisplayString,
         devShowProduct-rev              DisplayString,
         devShowSymid                    DisplayString,
         devShowDevice-serial-id         DisplayString,
         devShowSym-devname              DisplayString,
         devShowPdevname                 DisplayString,
         devShowDgname                   DisplayString,
         devShowLdevname                 DisplayString,
         devShowDev-config               INTEGER,
         devShowDev-parameters           INTEGER,
         devShowDev-status               DeviceStatus,
         devShowDev-capacity             UInt32,
         devShowTid                      UInt32,
         devShowLun                      UInt32,
         devShowDirector-num             INTEGER,
         devShowDirector-slot-num        INTEGER,
         devShowDirector-ident           DisplayString,
         devShowDirector-port-num        INTEGER,
         devShowMset-M1-type             DeviceType,
         devShowMset-M2-type             DeviceType,
         devShowMset-M3-type             DeviceType,
         devShowMset-M4-type             DeviceType,
         devShowMset-M1-status           DeviceStatus,
         devShowMset-M2-status           DeviceStatus,
         devShowMset-M3-status           DeviceStatus,
         devShowMset-M4-status           DeviceStatus,
         devShowMset-M1-invalid-tracks   INTEGER,
         devShowMset-M2-invalid-tracks   INTEGER,
         devShowMset-M3-invalid-tracks   INTEGER,
         devShowMset-M4-invalid-tracks   INTEGER,
         devShowDirector-port-status     DeviceStatus,
         devShowDev-sa-status            DeviceStatus,
         devShowVbus                     INTEGER,
         devShowEmulation                DeviceEmulation,
         devShowDev-block-size           UInt32,
         devShowSCSI-negotiation         SCSIWidth,
         devShowSCSI-method              SCSIMethod,
         devShowDev-cylinders            UInt32,
         devShowAttached-bcv-symdev      DisplayString
    }

   devShowVendor-id     OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Vendor ID of the Symmetrix device "
      ::= { devShowConfigurationEntry 1 }

   devShowProduct-id     OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Product ID of the Symmetrix device "
      ::= { devShowConfigurationEntry 2 }

   devShowProduct-rev     OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Product revision level of the Symmetrix device "
      ::= { devShowConfigurationEntry 3 }

   devShowSymid     OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Symmetrix serial number "
      ::= { devShowConfigurationEntry 4 }

   devShowDevice-serial-id     OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Symmetrix device serial ID "
      ::= { devShowConfigurationEntry 5 }

    devShowSym-devname    OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Symmetrix device name/number "
      ::= { devShowConfigurationEntry 6 }

   devShowPdevname     OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Physical device name. If not visible to the host this field is NULL "
      ::= { devShowConfigurationEntry 7 }

   devShowDgname     OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Name of device group. If the device is not a member of a device group,
          this field is NULL "
      ::= { devShowConfigurationEntry 8 }

   devShowLdevname    OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Name of this device in the device group. If the device is not a member
          of a device group, this field is NULL "
      ::= { devShowConfigurationEntry 9 }

   devShowDev-config    OBJECT-TYPE
      SYNTAX  INTEGER    {
        unprotected(0),
        mirror-2(1),
        mirror-3(2),
        mirror-4(3),
        raid-s(4),
        raid-s-mirror(5),
        rdf-r1(6),
        rdf-r2(7),
        rdf-r1-raid-s(8),
        rdf-r2-raid-s(9),
        rdf-r1-mirror(10),
        rdf-r2-mirror(11),
        bcv(12),
        hot-spare(13),
        bcv-mirror-2(14),
        bcv-rdf-r1(15),
        bcv-rdf-r1-mirror(16)
      }
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
      "  unprotected(0) - no data protection method applied
         mirror-2(1) - device is a two-way mirror
         mirror-3(2) - device is a three-way mirror
         mirror-4(3) - device is a four-way mirror
         raid-s(4) - device is a standard raid-s device
         raid-s-mirror(5) - device is a raid-s device plus a local mirror
         rdf-r1(6) - device is an SRDF Master (R1)
         rdf-r2(7) - device is an SRDF Slave (R2)
         rdf-r1-raid-s(8) - device is an SRDF Master (R1) with RAID_S
         rdf-r2-raid-s(9) - device is an SRDF Slave (R2)  with RAID_S
         rdf-r1-mirror(10) - device is an SRDF source (R1) with a local mirror
         rdf-r2-mirror(11) - device is an SRDF target (R2) with mirror
         bcv(12) - device is a BCV device 
         hot-spare(13) - device is a Hot Spare device
         bcv-mirror-2(14) - device is a protected BCV device with mirror
         bcv-rdf-r1(15) - device is an SRDF Master (R1), BCV device
         bcv-rdf-r1-mirror(16) - device is an SRDF Master (R1), BCV device with mirror
      "
      ::= { devShowConfigurationEntry 10 }

   devShowDev-parameters    OBJECT-TYPE
      SYNTAX  INTEGER    {
        ckd-device(1),
        gatekeeper-device(2),
        associated-device(4),
        multi-channel-device(8),
        meta-head-device(16),
        meta-member-device(32)
      }
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
      " ckd-device(1) - device is an 'Count Key Data' (CKD) device
        gatekeeper-device(2) - device is a gatekeeper device
        associated-device(4) - BCV or Gatekeeper device,associated with a group
        multi-channel-device(8) - device visible by the host over more than one SCSI-bus
        meta-head-device(16) - device is a META head device
        meta-member-device(32) - device is a META member device
      "
      ::= { devShowConfigurationEntry 11 }

   devShowDev-status    OBJECT-TYPE
      SYNTAX  DeviceStatus
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " ready(0) - the device is ready
           not-ready(1) - the device is not ready
           write-disabled - the device is write disabled
           not-applicable(3) - there is no such device
         "
      ::= { devShowConfigurationEntry 12 }


   devShowDev-capacity     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Device capacity specified as the number of device blocks "
      ::= { devShowConfigurationEntry 13 }

   devShowTid     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "SCSI target ID of the Symmetrix device "
      ::= { devShowConfigurationEntry 14 }

   devShowLun     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "SCSI logical unit number of the Symmetrix device "
      ::= { devShowConfigurationEntry 15 }

   devShowDirector-num     OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Symmetrix director number of the device's FW SCSI Channel director,
          or SA, (1-32). If there is no primary port, it is zero. "
      ::= { devShowConfigurationEntry 16 }

   devShowDirector-slot-num     OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The slot number of the director. If there is no primary port,
          it is zero. "
      ::= { devShowConfigurationEntry 17 }

   devShowDirector-ident    OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The identification number of the director, for example: SA-16.
          If there is no primary port, this field is NULL "
      ::= { devShowConfigurationEntry 18 }

   devShowDirector-port-num     OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The device's SA port number (0-3). If there is no primary port,
          it is zero. "
      ::= { devShowConfigurationEntry 19 }

   devShowMset-M1-type     OBJECT-TYPE
      SYNTAX DeviceType
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
      " Device type of each hyper volume forming a Symmetrix mirror set.

        not-applicable(1) - No device exists for this mirror
        local-data(2) - This device is a local data device
        raid-s(4) - This device is a local raid-s data device
        raid-s-parity(8) - This device is a local raid_s parity device
        remote-r1-data(16) - This device is a remote R1 data device
        remote-r2-data(32) - This device is a remote R2 data device
        hot-spare(128) - This device is a hot spare device
      "
      ::= { devShowConfigurationEntry 20 }

   devShowMset-M2-type     OBJECT-TYPE
      SYNTAX DeviceType
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
      " Device type of each hyper volume forming a Symmetrix mirror set.

        not-applicable(1) - No device exists for this mirror
        local-data(2) - This device is a local data device
        raid-s(4) - This device is a local raid-s data device
        raid-s-parity(8) - This device is a local raid_s parity device
        remote-r1-data(16) - This device is a remote R1 data device
        remote-r2-data(32) - This device is a remote R2 data device
        hot-spare(128) - This device is a hot spare device
      "
      ::= { devShowConfigurationEntry 21 }

   devShowMset-M3-type     OBJECT-TYPE
      SYNTAX DeviceType
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
      " Device type of each hyper volume forming a Symmetrix mirror set.

        not-applicable(1) - No device exists for this mirror
        local-data(2) - This device is a local data device
        raid-s(4) - This device is a local raid-s data device
        raid-s-parity(8) - This device is a local raid_s parity device
        remote-r1-data(16) - This device is a remote R1 data device
        remote-r2-data(32) - This device is a remote R2 data device
        hot-spare(128) - This device is a hot spare device
      "
      ::= { devShowConfigurationEntry 22 }

   devShowMset-M4-type     OBJECT-TYPE
      SYNTAX DeviceType
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
      " Device type of each hyper volume forming a Symmetrix mirror set.

        not-applicable(1) - No device exists for this mirror
        local-data(2) - This device is a local data device
        raid-s(4) - This device is a local raid-s data device
        raid-s-parity(8) - This device is a local raid_s parity device
        remote-r1-data(16) - This device is a remote R1 data device
        remote-r2-data(32) - This device is a remote R2 data device
        hot-spare(128) - This device is a hot spare device
      "
      ::= { devShowConfigurationEntry 23 }


   devShowMset-M1-status    OBJECT-TYPE
      SYNTAX  DeviceStatus
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " ready(0) - the device is ready
           not-ready(1) - the device is not ready
           write-disabled - the device is write disabled
           not-applicable(3) - there is no such device
         "
      ::= { devShowConfigurationEntry 24}

   devShowMset-M2-status    OBJECT-TYPE
      SYNTAX  DeviceStatus
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " ready(0) - the device is ready
           not-ready(1) - the device is not ready
           write-disabled - the device is write disabled
           not-applicable(3) - there is no such device
         "
      ::= { devShowConfigurationEntry 25 }

   devShowMset-M3-status    OBJECT-TYPE
      SYNTAX  DeviceStatus
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " ready(0) - the device is ready
           not-ready(1) - the device is not ready
           write-disabled - the device is write disabled
           not-applicable(3) - there is no such device
         "
      ::= { devShowConfigurationEntry 26 }

   devShowMset-M4-status    OBJECT-TYPE
      SYNTAX  DeviceStatus
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " ready(0) - the device is ready
           not-ready(1) - the device is not ready
           write-disabled - the device is write disabled
           not-applicable(3) - there is no such device
         "
      ::= { devShowConfigurationEntry 27 }

   devShowMset-M1-invalid-tracks    OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The number of invalid tracks for Mirror 1"
      ::= { devShowConfigurationEntry 28 }

   devShowMset-M2-invalid-tracks    OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The number of invalid tracks for Mirror 2"
      ::= { devShowConfigurationEntry 29 }

   devShowMset-M3-invalid-tracks    OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The number of invalid tracks for Mirror 3"
      ::= { devShowConfigurationEntry 30 }

   devShowMset-M4-invalid-tracks    OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The number of invalid tracks for Mirror 4"
      ::= { devShowConfigurationEntry 31 }

-- dsReserved[16]

   devShowDirector-port-status    OBJECT-TYPE
      SYNTAX  DeviceStatus
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " ready(0) - the device is ready
           not-ready(1) - the device is not ready
           write-disabled - the device is write disabled
           not-applicable(3) - there is no such device
         "
      ::= { devShowConfigurationEntry 48 }

   devShowDev-sa-status   OBJECT-TYPE
      SYNTAX  DeviceStatus
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " ready(0) - the device is ready
           not-ready(1) - the device is not ready
           write-disabled - the device is write disabled
           not-applicable(3) - there is no such device
         "
      ::= { devShowConfigurationEntry 49 }


   devShowVbus   OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The virtual busis used for fibre channel ports.
          For EA and CA ports, this is the device address. "
      ::= { devShowConfigurationEntry 50 }

   devShowEmulation   OBJECT-TYPE
      SYNTAX  DeviceEmulation
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
        " emulation-na(0) - the emulation type for this device is not available.
          fba(1) - the emulation type for this device is fba.
          as400(2) - the emulation type for this device is as/400.
          icl(3) - the emulation type for this device is icl.
          unisys-fba(4) - the emulation type for this device is unisys fba.
          ckd-3380(5) - the emulation type for this device is ckd 3380.
          ckd-3390(6) - the emulation type for this device is ckd 3390.
        "
      ::= { devShowConfigurationEntry 51 }

   devShowDev-block-size   OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Indicates the number of bytes per block "
      ::= { devShowConfigurationEntry 52 }


   devShowSCSI-negotiation   OBJECT-TYPE
      SYNTAX  SCSIWidth
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
        "width-na(0) - width not available
         narrow(1),
         wide(2),
         ultra(3)
        "
      ::= { devShowConfigurationEntry 53 }

   devShowSCSI-method   OBJECT-TYPE
      SYNTAX  SCSIMethod
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
        " method-na(0) - method not available
         synchronous(1)
         asynchronous(2)
        "
      ::= { devShowConfigurationEntry 54 }

   devShowDev-cylinders   OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Number device cylinders "
      ::= { devShowConfigurationEntry 55 }

   devShowAttached-bcv-symdev   OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "If this is a std device, this may be set to indicate the preferred
          BCV device to which this device would be paired. "
      ::= { devShowConfigurationEntry 56 }


---------------------------------------
-- substructures 
---------------------------------------


--SYMAPI_RDF_T

   devShowRDFInfoTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF RDFInfo
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "A table of Symmetrix RDF device configuration information for the 
          indicated Symmetrix and device instance. 
          The number of entries is given by the value of symDevListCount."
      ::= { symDevShow 2 }

   devShowRDFInfoEntry OBJECT-TYPE
      SYNTAX  RDFInfo
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "An entry containing objects for the Symmetrix RDF device configuration 
          information for the specified Symmetrix and device."
      INDEX { discIndex, symDevListCount }
      ::= { devShowRDFInfoTable 1 }

   RDFInfo ::=
      SEQUENCE {
        devShowRemote-symid                 DisplayString,
        devShowRemote-sym-devname           DisplayString,
        devShowRa-group-number              INTEGER,
        devShowDev-rdf-type                 RDFType,
        devShowDev-ra-status                DeviceStatus,
        devShowDev-link-status              DeviceStatus,
        devShowRdf-mode                     RDFMode,
        devShowRdf-pair-state               RDFPairState,
        devShowRdf-domino                   StateValues,
        devShowAdaptive-copy                RDFAdaptiveCopy,
        devShowAdaptive-copy-skew           UInt32,
        devShowNum-r1-invalid-tracks        UInt32,
        devShowNum-r2-invalid-tracks        UInt32,
        devShowDev-rdf-state                DeviceStatus,
        devShowRemote-dev-rdf-state         DeviceStatus,
        devShowRdf-status                   DeviceStatus,
        devShowLink-domino                  StateValues,
        devShowPrevent-auto-link-recovery   StateValues,
        devShowLink-config                  RDFLinkConfig,
        devShowSuspend-state                RDDFTransientState,
        devShowConsistency-state            StateValues,
        devShowAdaptive-copy-wp-state       RDDFTransientState,
        devShowPrevent-ra-online-upon-pwron StateValues
      }

   devShowRemote-symid     OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Serial number of the Symmetrix containing the target (R2) volume "
      ::= { devShowRDFInfoEntry 1 }

   devShowRemote-sym-devname     OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Symmetrix device name of the remote device in an RDF pair "
      ::= { devShowRDFInfoEntry 2 }

   devShowRa-group-number    OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The RA group number (1 - n)"
      ::= { devShowRDFInfoEntry 3 }

   devShowDev-rdf-type OBJECT-TYPE
      SYNTAX  RDFType
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Type of RDF device. Values are:
            r1(0) - an R1 device
            r2(1) - an R2 device
            "
      ::= { devShowRDFInfoEntry 4 }

   devShowDev-ra-status    OBJECT-TYPE
      SYNTAX  DeviceStatus
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The status of the remote device. Values are:
             ready(0)
             not-ready(1)
             write-disabled(2)
             not-applicable(3)
             mixed(4)
         "
      ::= { devShowRDFInfoEntry 5 }

   devShowDev-link-status    OBJECT-TYPE
      SYNTAX  DeviceStatus
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The RDF link status. Values are:
             ready(0)
             not-ready(1)
             write-disabled(2)
             not-applicable(3)
             mixed(4)
          "
      ::= { devShowRDFInfoEntry 6 }

   devShowRdf-mode    OBJECT-TYPE
      SYNTAX  RDFMode
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The RDF Mode. Values are
           synchronous(0)
           semi_synchronous(1)
           adaptive_copy(2)
           mixed(3) - This state is set when the RDF modes of the devices 
                      in the group are different from each other
           rdf_mode_na (4) - not applicable
         "
      ::= { devShowRDFInfoEntry 7 }

   devShowRdf-pair-state    OBJECT-TYPE
      SYNTAX  RDFPairState
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The RDF pair state. Values are:
           invalid(100) - The device & link states are in an 
                          unrecognized combination     
           syncinprog(101) - Synchronizing in progress
           synchronized(102) - The source and target have identical data       
           split(103) - The source is split from the target, and the target
                        is write enabled.                
           suspended(104) - The link is suspended               
           failed-over(105) - The target is write enabled, the source is write
                              disabled, the link is suspended.             
           partitioned(106) - The communication link to the remote symmetrix 
                              is down, and the device is write enabled.             
           r1-updated(107) - The target is write enabled, the source is write
                             disabled, and the link is up.           
           r1-updinprog(108) - same as r1-updated but there are invalid tracks
                               between target and source          
           mixed(109) - This state is set when the RDF modes of the devices 
                        in the group are different from each other
           state-na(110) - Not applicable 
           "
      ::= { devShowRDFInfoEntry 8 }

   devShowRdf-domino    OBJECT-TYPE
      SYNTAX  StateValues
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The RDF Domino state.
          
          Possible states are:
           enabled(0),
           disabled(1),
           mixed(2) - This state is set when the RDF modes of the devices 
                      in the group are different from each other
           state-na(3) - state not applicable
         "
      ::= { devShowRDFInfoEntry 9 }

   devShowAdaptive-copy    OBJECT-TYPE
      SYNTAX  RDFAdaptiveCopy
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Adaptive copy state. Values are:
           disabled(0) - Adaptive Copy is Disabled  
           wp-mode(1) - Adaptive Copy Write Pending Mode
           disk-mode(2) - Adaptive Copy Disk Mode 
           mixed(3) - This state is set when the RDF modes of the devices 
                      in the group are different from each other
           ac-na(4)  - Not Applicable
            "
      ::= { devShowRDFInfoEntry 10 }

   devShowAdaptive-copy-skew    OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Number of invalid tracks when in Adaptive copy mode.
         "
      ::= { devShowRDFInfoEntry 11 }

   devShowNum-r1-invalid-tracks    OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Number of invalid tracks invalid tracks on R1"
      ::= { devShowRDFInfoEntry 12 }

   devShowNum-r2-invalid-tracks     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Number of invalid tracks invalid tracks on R2"
      ::= { devShowRDFInfoEntry 13 }

   devShowDev-rdf-state    OBJECT-TYPE
      SYNTAX  DeviceStatus
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The RDF state. Values are:
             ready(0)
             not-ready(1)
             write-disabled(2)
             not-applicable(3)
             mixed(4)
         "
      ::= { devShowRDFInfoEntry 14 }

   devShowRemote-dev-rdf-state    OBJECT-TYPE
      SYNTAX  DeviceStatus
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The RDF device  state. Values are:
             ready(0)
             not-ready(1)
             write-disabled(2)
             not-applicable(3)
             mixed(4)
         "
      ::= { devShowRDFInfoEntry 15 }

   devShowRdf-status    OBJECT-TYPE
      SYNTAX  DeviceStatus
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The RDF status. Values are:
             ready(0)
             not-ready(1)
             write-disabled(2)
             not-applicable(3)
             mixed(4)
         "
      ::= { devShowRDFInfoEntry 16 }

   devShowLink-domino    OBJECT-TYPE
      SYNTAX  StateValues
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The link domino state. 
          
          Possible states are:
           enabled(0),
           disabled(1),
           mixed(2) - This state is set when the RDF modes of the devices 
                      in the group are different from each other
           state-na(3) - state not applicable
         "
      ::= { devShowRDFInfoEntry 17 }

   devShowPrevent-auto-link-recovery    OBJECT-TYPE
      SYNTAX  StateValues
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Prevent the automatic resumption of data copy across the RDF
          links as soon as the links have recovered. 
          
          Possible states are:
           enabled(0),
           disabled(1),
           mixed(2) - This state is set when the RDF modes of the devices 
                      in the group are different from each other
           state-na(3) - state not applicable
           "
      ::= { devShowRDFInfoEntry 18 }

   devShowLink-config    OBJECT-TYPE
      SYNTAX  RDFLinkConfig
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The RDF link configuration: Values are:
           escon(1),
           t3(2),
           na(3)
         "
      ::= { devShowRDFInfoEntry 19 }


   devShowSuspend-state    OBJECT-TYPE
      SYNTAX  RDDFTransientState
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "For R1 devices in a consistency group, will be set to OFFLINE or
          OFFLINE_PENDING if a device in the group experiences a link failure.
          
          Values are:
              transient-state-na(1) - state not applicable
              offline(2),
              offline_pend(3),
              online(4)
         "
      ::= { devShowRDFInfoEntry 20 }


   devShowConsistency-state    OBJECT-TYPE
      SYNTAX  StateValues
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Indicates if this R1 device is a member of any consistency group. 
          
          Possible states are:
           enabled(0),
           disabled(1),
           mixed(2) - This state is set when the RDF modes of the devices 
                      in the group are different from each other
           state-na(3) - state not applicable
           "
      ::= { devShowRDFInfoEntry 21 }

   devShowAdaptive-copy-wp-state    OBJECT-TYPE
      SYNTAX  RDDFTransientState
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The Adaptive Copy Write Pending state.
          
          Values are:
              transient-state-na(1) - state not applicable
              offline(2),
              offline_pend(3),
              online(4)
         "
      ::= { devShowRDFInfoEntry 22 }


   devShowPrevent-ra-online-upon-pwron    OBJECT-TYPE
      SYNTAX  StateValues
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Prevent RA's from coming online after the Symmetrix is powered on. 
          
          Possible states are:
           enabled(0),
           disabled(1),
           mixed(2) - This state is set when the RDF modes of the devices 
                      in the group are different from each other
           state-na(3) - state not applicable
           "
      ::= { devShowRDFInfoEntry 23 }




--SYMAPI_BCV_T

   devShowBCVInfoTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF BCVInfo
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "A table of Symmetrix BCV device configuration information for the 
          indicated Symmetrix and device instance. 
          The number of entries is given by the value of symDevListCount."
      ::= { symDevShow 3 }

   devShowBCVInfoEntry OBJECT-TYPE
      SYNTAX  BCVInfo
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "An entry containing objects for the Symmetrix BCV device configuration 
          information for the specified Symmetrix and device."
      INDEX { discIndex, symDevListCount }
      ::= { devShowBCVInfoTable 1 }

   BCVInfo ::=
      SEQUENCE {
        devShowDev-serial-id             DisplayString,
        devShowDev-sym-devname           DisplayString,
        devShowDev-dgname                DisplayString,
        devShowBcvdev-serial-id          DisplayString,
        devShowBcvdev-sym-devname        DisplayString,
        devShowBcvdev-dgname             DisplayString,
        devShowBcv-pair-state            BCVState,
        devShowNum-dev-invalid-tracks    UInt32,
        devShowNum-bcvdev-invalid-tracks UInt32,
        devShowBcvdev-status             DeviceStatus
              }

   devShowDev-serial-id     OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Symmetrix device serial ID for the standard device in a BCV pair. 
          If the device is a:
            BCV device in a BCV pair, this field is the serial ID of the 
                  standard device with which the BCV is paired.
            Standard device in a BCV pair, this field is the same as 
                  device_serial_id in SYMAPI_DEVICE_T. 
            if the standard device that was never paired with a BCV device, 
                  this field is NULL "
      ::= { devShowBCVInfoEntry 1 }


   devShowDev-sym-devname     OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Symmetrix device name/number for the standard device in a BCV pair. 
          If the device is a:
            BCV device in a BCV pair, this is the device name/number of the
                  standard device with which the BCV is paired.
            Standard device in a BCV pair, this is the same as sym_devname 
                  in SYMAPI_DEVICE_T. 
            If the standard device that was never paired with a BCV device, 
                  this field is NULL "
      ::= { devShowBCVInfoEntry 2 }

   devShowDev-dgname    OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Name of the device group that the standard device is a member. 
          If the standard device is not a member of a device group, this 
          field is NULL"
      ::= { devShowBCVInfoEntry 3 }


   devShowBcvdev-serial-id OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Symmetrix device serial ID for the BCV device in a BCV pair.
          If the device is a:
            BCV device in a BCV pair, this is the same as device_serial_id 
                  in SYMAPI_DEVICE_T.
            Standard device in a BCV pair, this is the serial ID of the 
                  BCV device with which the standard device is paired.
            If the BCV device that was never paired with a standard device, 
                  this field is NULL "
      ::= { devShowBCVInfoEntry 4 }

   devShowBcvdev-sym-devname    OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Symmetrix device name/number for the BCV device in a BCV pair. 
          If the device is a:
            BCV device in a BCV pair, this is the same as sym_devname 
                  in SYMAPI_DEVICE_T.
            Standard device in a BCV pair, this is the device name/number 
                  of the BCV device with which the standard device is paired.
            
          If the BCV device was never paired with a standard device, 
               this field is NULL."
      ::= { devShowBCVInfoEntry 5 }

   devShowBcvdev-dgname   OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Name of the device group that the BCV device is associated with.
          If the BCV device is not associated with a device group, 
          this field is NULL"
      ::= { devShowBCVInfoEntry 6 }


   devShowBcv-pair-state    OBJECT-TYPE
      SYNTAX  BCVState
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " never-established(0),
           in-progress(1),
           synchronous(2),
           split-in-progress(3),
           split-before-sync(4),
           split(5),
           split-no-incremental(6),
           restore-in-progress(7),
           restored(8),
           split-before-restore(9),
           invalid(10)
         "
      ::= { devShowBCVInfoEntry 7 }

   devShowNum-dev-invalid-tracks    OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Number of invalid tracks on the standard device"
      ::= { devShowBCVInfoEntry 8 }

   devShowNum-bcvdev-invalid-tracks   OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Number of invalid tracks on the BCV device"
      ::= { devShowBCVInfoEntry 9 }

   devShowBcvdev-status   OBJECT-TYPE
      SYNTAX  DeviceStatus
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The BCV Device status. Values are:
             ready(0)
             not-ready(1)
             write-disabled(2)
             not-applicable(3)
             mixed(4)
         "
      ::= { devShowBCVInfoEntry 10 }




----------------------------------------------------------------------------
--
-- the following objects define the contents of the SymAPI call
-- SymStat
--
----------------------------------------------------------------------------



   symStatTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF SymStatStatistics
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "A table of Symmetrix statistcs for the indicated Symmetrix
          instance. 
          The number of entries is given by the value of discIndex."
      ::= { symAPIStatistics 1 }

   symStatEntry OBJECT-TYPE
      SYNTAX  SymStatStatistics
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "An entry containing objects for the Symmetrix statistics
          for the specified Symmetrix and device."
      INDEX { discIndex }
      ::= { symStatTable 1 }

   SymStatStatistics ::=
      SEQUENCE {
        symstatTime-stamp                 TimeTicks,
        symstatNum-rw-reqs                UInt32,
        symstatNum-read-reqs              UInt32,
        symstatNum-write-reqs             UInt32,
        symstatNum-rw-hits                UInt32,
        symstatNum-read-hits              UInt32,
        symstatNum-write-hits             UInt32,
        symstatNum-blocks-read            UInt32,
        symstatNum-blocks-written         UInt32,
        symstatNum-seq-read-reqs          UInt32,
        symstatNum-prefetched-tracks      UInt32,
        symstatNum-destaged-tracks        UInt32,
        symstatNum-deferred-writes        UInt32,
        symstatNum-delayed-dfw            UInt32,
        symstatNum-wr-pend-tracks         UInt32,
        symstatNum-format-pend-tracks     UInt32,
        symstatDevice-max-wp-limit        UInt32,
        symstatNum-sa-cdb-reqs            UInt32,
        symstatNum-sa-rw-reqs             UInt32,
        symstatNum-sa-read-reqs           UInt32,
        symstatNum-sa-write-reqs          UInt32,
        symstatNum-sa-rw-hits             UInt32,
        symstatNum-free-permacache-slots  UInt32,
        symstatNum-used-permacache-slots  UInt32
     }

   symstatTime-stamp     OBJECT-TYPE
      SYNTAX  TimeTicks
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Time since these statistics were last collected"
      ::= { symStatEntry 1 }

   symstatNum-rw-reqs     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of all read and write requests on the 
           specified Symmetrix unit "
      ::= { symStatEntry 2 }

   symstatNum-read-reqs     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Number of all read requests on the specified Symmetrix unit "
      ::= { symStatEntry 3 }

   symstatNum-write-reqs     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Number of all write requests on the specified Symmetrix unit "
      ::= { symStatEntry 4 }

   symstatNum-rw-hits     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of all read and write cache hits for all devices
           on the specified Symmetrix unit "
      ::= { symStatEntry 5 }

   symstatNum-read-hits     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Total number of cache read hits for all devices on the 
          specified Symmetrix unit "
      ::= { symStatEntry 6 }

   symstatNum-write-hits     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Total number of cache write hits for all devices on the 
          specified Symmetrix unit "
      ::= { symStatEntry 7 }

-- 8 reserved for EMC use only

   symstatNum-blocks-read     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Total number of (512 byte) blocks read for all devices on the 
          specified Symmetrix unit  "
      ::= { symStatEntry 12 }

-- 13 reserved for EMC use only

   symstatNum-blocks-written     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Total number of (512 byte) blocks written for all devices on the 
          specified Symmetrix unit  "
      ::= { symStatEntry 17 }

   symstatNum-seq-read-reqs     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Number of sequential read requests  "
      ::= { symStatEntry 18 }

   symstatNum-prefetched-tracks     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Number of prefetched tracks  "
      ::= { symStatEntry 19 }

   symstatNum-destaged-tracks     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Number of destaged tracks  "
      ::= { symStatEntry 20 }

   symstatNum-deferred-writes     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Number of deferred writes "
      ::= { symStatEntry 21 }

   symstatNum-delayed-dfw    OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Number of delayed deferred writes untils tracks are destaged.
          (reserved for EMC use only.) "
      ::= { symStatEntry 22 }

   symstatNum-wr-pend-tracks     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Number of tracks waiting to be destaged from cache on to disk
          for the specified Symmetrix unit "
      ::= { symStatEntry 23 }

   symstatNum-format-pend-tracks     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Number of formatted pending tracks. (reserved for EMC use only.) "
      ::= { symStatEntry 24 }

   symstatDevice-max-wp-limit     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Maximum write pending limit for a device "
      ::= { symStatEntry 25 }

   symstatNum-sa-cdb-reqs     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Number of Command Descriptor Blocks (CDBs) sent to the Symmetrix unit.
          (Reads, writes, and inquiries are the types of commands sent in the CDBs.) "
      ::= { symStatEntry 26 }

   symstatNum-sa-rw-reqs     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Total number of all read and write requests for all SCSI adapters (SAs)
          on the specified Symmetrix unit"
      ::= { symStatEntry 27 }

   symstatNum-sa-read-reqs     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Total number of all read requests for all SCSI adapters (SAs) 
          on the specified Symmetrix unit"
      ::= { symStatEntry 28 }

   symstatNum-sa-write-reqs     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Total number of all write requests for all SCSI adapters (SAs)
          on the specified Symmetrix unit"
      ::= { symStatEntry 29 }

   symstatNum-sa-rw-hits     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Total number of all read and write cache hits for all SCSI 
          adapters (SAs) on the specified Symmetrix unit"
      ::= { symStatEntry 30 }

   symstatNum-free-permacache-slots     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Total number of PermaCache slots that are available"
      ::= { symStatEntry 31 }

   symstatNum-used-permacache-slots     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Total number of PermaCache slots that are used"
      ::= { symStatEntry 32 }


-----------------------
-- Device Statistics --
-----------------------
   devStatTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF DevStatStatistics
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "A table of Symmetrix device statistics for the indicated
          Symmetrix and device instance. 
          The number of entries is given by the value of symDevListCount."
      ::= { symAPIStatistics 2 }
 
   devStatEntry OBJECT-TYPE
      SYNTAX  DevStatStatistics
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "An entry containing objects for the Symmetrix device statistics
          for the specified Symmetrix and device."
      INDEX { discIndex, symDevListCount }
      ::= { devStatTable 1 }

   DevStatStatistics ::=
      SEQUENCE {
        devstatTime-stamp              TimeTicks,
        devstatNum-sym-timeslices      UInt32,
        devstatNum-rw-reqs             UInt32,
        devstatNum-read-reqs           UInt32,
        devstatNum-write-reqs          UInt32,
        devstatNum-rw-hits             UInt32,
        devstatNum-read-hits           UInt32,
        devstatNum-write-hits          UInt32,
        devstatNum-blocks-read         UInt32,
        devstatNum-blocks-written      UInt32,
        devstatNum-seq-read-reqs       UInt32,
        devstatNum-prefetched-tracks   UInt32,
        devstatNum-destaged-tracks     UInt32,
        devstatNum-deferred-writes     UInt32,
        devstatNum-delayed-dfw         UInt32, 
        devstatNum-wp-tracks           UInt32,
        devstatNum-format-pend-tracks  UInt32,
        devstatDevice-max-wp-limit     UInt32
  }


   devstatTime-stamp     OBJECT-TYPE
      SYNTAX  TimeTicks
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Time since these statistics were last collected"
      ::= { devStatEntry 1 }

   devstatNum-sym-timeslices     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Number of 1/2 seconds from reset until the Symmetrix internally
           snapshots the director counters. You must use this field when
           computing a rate."
      ::= { devStatEntry 2 }

   devstatNum-rw-reqs     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of I/Os for the device"
      ::= { devStatEntry 3 }

   devstatNum-read-reqs     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of read requests for the device"
      ::= { devStatEntry 4 }

   devstatNum-write-reqs     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of write requests for the device "
      ::= { devStatEntry 5 }

   devstatNum-rw-hits     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of cache hits (read & write) for the device "
      ::= { devStatEntry 6 }

   devstatNum-read-hits     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of cache read hits for the device "
      ::= { devStatEntry 7 }

   devstatNum-write-hits     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of cache write hits for the device "
      ::= { devStatEntry 8 }

-- 9 reserved for EMC use only

   devstatNum-blocks-read     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of (512 byte) blocks read for the device "
      ::= { devStatEntry 13 }

-- 14 reserved for EMC use only

   devstatNum-blocks-written     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of (512 byte) blocks written for the device "
      ::= { devStatEntry 18 }

   devstatNum-seq-read-reqs     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of number of sequential read reqs for the device "
      ::= { devStatEntry 19 }

   devstatNum-prefetched-tracks     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of prefetched tracks for the device "
      ::= { devStatEntry 20 }

   devstatNum-destaged-tracks     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of destaged tracks for the device "
      ::= { devStatEntry 21 }

   devstatNum-deferred-writes     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of deferred writes for the device "
      ::= { devStatEntry 22 }

   devstatNum-delayed-dfw     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of delayed deferred writes until track destaged"
      ::= { devStatEntry 23 }

   devstatNum-wp-tracks     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of write pending tracks for the device"
      ::= { devStatEntry 24 }

   devstatNum-format-pend-tracks     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of format pending tracks for the device"
      ::= { devStatEntry 25 }

   devstatDevice-max-wp-limit     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Device max write pending limit"
      ::= { devStatEntry 26 }


--------------------------------
-- Physical Device Statistics --
--------------------------------
   pDevStatTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF PDevStatStatistics
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "A table of Symmetrix phisical device statistics for the indicated
          Symmetrix and device instance. 
          The number of entries is given by the value of symPDevListCount."
      ::= { symAPIStatistics 3 }

   pDevStatEntry OBJECT-TYPE
      SYNTAX  PDevStatStatistics
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "An entry containing objects for the Symmetrix physical device
          statistics for the specified Symmetrix and device."
      INDEX { discIndex, symPDevListCount }
      ::= { pDevStatTable 1 }

   PDevStatStatistics ::=
      SEQUENCE {
        pdevstatTime-stamp              TimeTicks,
        pdevstatNum-sym-timeslices      UInt32,
        pdevstatNum-rw-reqs             UInt32,
        pdevstatNum-read-reqs           UInt32,
        pdevstatNum-write-reqs          UInt32,
        pdevstatNum-rw-hits             UInt32,
        pdevstatNum-read-hits           UInt32,
        pdevstatNum-write-hits          UInt32,
        pdevstatNum-blocks-read         UInt32,
        pdevstatNum-blocks-written      UInt32,
        pdevstatNum-seq-read-reqs       UInt32,
        pdevstatNum-prefetched-tracks   UInt32,
        pdevstatNum-destaged-tracks     UInt32,
        pdevstatNum-deferred-writes     UInt32,
        pdevstatNum-delayed-dfw         UInt32, 
        pdevstatNum-wp-tracks           UInt32,
        pdevstatNum-format-pend-tracks  UInt32,
        pdevstatDevice-max-wp-limit     UInt32
  }


   pdevstatTime-stamp     OBJECT-TYPE
      SYNTAX  TimeTicks
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Time since these statistics were last collected"
      ::= { pDevStatEntry 1 }

   pdevstatNum-sym-timeslices     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Number of 1/2 seconds from reset until the Symmetrix internally
           snapshots the director counters. You must use this field when
           computing a rate."
      ::= { pDevStatEntry 2 }

   pdevstatNum-rw-reqs     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of I/Os for the device"
      ::= { pDevStatEntry 3 }

   pdevstatNum-read-reqs     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of read requests for the device"
      ::= { pDevStatEntry 4 }

   pdevstatNum-write-reqs     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of write requests for the device "
      ::= { pDevStatEntry 5 }

   pdevstatNum-rw-hits     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of cache hits (read & write) for the device "
      ::= { pDevStatEntry 6 }

   pdevstatNum-read-hits     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of cache read hits for the device "
      ::= { pDevStatEntry 7 }

   pdevstatNum-write-hits     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of cache write hits for the device "
      ::= { pDevStatEntry 8 }

-- 9 reserved for EMC use only

   pdevstatNum-blocks-read     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of (512 byte) blocks read for the device "
      ::= { pDevStatEntry 13 }

-- 14 reserved for EMC use only

   pdevstatNum-blocks-written     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of (512 byte) blocks written for the device "
      ::= { pDevStatEntry 18 }

   pdevstatNum-seq-read-reqs     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of number of sequential read reqs for the device "
      ::= { pDevStatEntry 19 }

   pdevstatNum-prefetched-tracks     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of prefetched tracks for the device "
      ::= { pDevStatEntry 20 }

   pdevstatNum-destaged-tracks     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of destaged tracks for the device "
      ::= { pDevStatEntry 21 }

   pdevstatNum-deferred-writes     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of deferred writes for the device "
      ::= { pDevStatEntry 22 }

   pdevstatNum-delayed-dfw     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of delayed deferred writes until track destaged"
      ::= { pDevStatEntry 23 }

   pdevstatNum-wp-tracks     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of write pending tracks for the device"
      ::= { pDevStatEntry 24 }

   pdevstatNum-format-pend-tracks     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of format pending tracks for the device"
      ::= { pDevStatEntry 25 }

   pdevstatDevice-max-wp-limit     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Device max write pending limit"
      ::= { pDevStatEntry 26 }

--------------------------------
-- Logical Device Statistics  --
--------------------------------
   lDevStatTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF LDevStatStatistics
      ACCESS  not-accessible
      STATUS  obsolete
      DESCRIPTION
         "A table of Symmetrix logical device statistics for the indicated
          Symmetrix and device instance. 
          The number of entries is given by the value of symLDevListCount."
      ::= { symAPIStatistics 4 }

   lDevStatEntry OBJECT-TYPE
      SYNTAX  LDevStatStatistics
      ACCESS  not-accessible
      STATUS  obsolete
      DESCRIPTION
         "An entry containing objects for the Symmetrix logical device
          statistics for the specified Symmetrix and device."
      INDEX { symDgListCount, symLDevListCount }
      ::= { lDevStatTable 1 }

   LDevStatStatistics ::=
      SEQUENCE {
        ldevstatTime-stamp              TimeTicks,
        ldevstatNum-sym-timeslices      UInt32,
        ldevstatNum-rw-reqs             UInt32,
        ldevstatNum-read-reqs           UInt32,
        ldevstatNum-write-reqs          UInt32,
        ldevstatNum-rw-hits             UInt32,
        ldevstatNum-read-hits           UInt32,
        ldevstatNum-write-hits          UInt32,
        ldevstatNum-blocks-read         UInt32,
        ldevstatNum-blocks-written      UInt32,
        ldevstatNum-seq-read-reqs       UInt32,
        ldevstatNum-prefetched-tracks   UInt32,
        ldevstatNum-destaged-tracks     UInt32,
        ldevstatNum-deferred-writes     UInt32,
        ldevstatNum-delayed-dfw         UInt32, 
        ldevstatNum-wp-tracks           UInt32,
        ldevstatNum-format-pend-tracks  UInt32,
        ldevstatDevice-max-wp-limit     UInt32
  }


   ldevstatTime-stamp     OBJECT-TYPE
      SYNTAX  TimeTicks
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         " Time since these statistics were last collected"
      ::= { lDevStatEntry 1 }

   ldevstatNum-sym-timeslices     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         " Number of 1/2 seconds from reset until the Symmetrix internally
           snapshots the director counters. You must use this field when
           computing a rate."
      ::= { lDevStatEntry 2 }

   ldevstatNum-rw-reqs     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         " Total number of I/Os for the device"
      ::= { lDevStatEntry 3 }

   ldevstatNum-read-reqs     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         " Total number of read requests for the device"
      ::= { lDevStatEntry 4 }

   ldevstatNum-write-reqs     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         " Total number of write requests for the device "
      ::= { lDevStatEntry 5 }

   ldevstatNum-rw-hits     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         " Total number of cache hits (read & write) for the device "
      ::= { lDevStatEntry 6 }

   ldevstatNum-read-hits     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         " Total number of cache read hits for the device "
      ::= { lDevStatEntry 7 }

   ldevstatNum-write-hits     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         " Total number of cache write hits for the device "
      ::= { lDevStatEntry 8 }

-- 9 reserved for EMC use only

   ldevstatNum-blocks-read     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         " Total number of (512 byte) blocks read for the device "
      ::= { lDevStatEntry 13 }

-- 14 reserved for EMC use only

   ldevstatNum-blocks-written     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         " Total number of (512 byte) blocks written for the device "
      ::= { lDevStatEntry 18 }

   ldevstatNum-seq-read-reqs     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         " Total number of number of sequential read reqs for the device "
      ::= { lDevStatEntry 19 }

   ldevstatNum-prefetched-tracks     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         " Total number of prefetched tracks for the device "
      ::= { lDevStatEntry 20 }

   ldevstatNum-destaged-tracks     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         " Total number of destaged tracks for the device "
      ::= { lDevStatEntry 21 }

   ldevstatNum-deferred-writes     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         " Total number of deferred writes for the device "
      ::= { lDevStatEntry 22 }

   ldevstatNum-delayed-dfw     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         " Total number of delayed deferred writes until track destaged"
      ::= { lDevStatEntry 23 }

   ldevstatNum-wp-tracks     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         " Total number of write pending tracks for the device"
      ::= { lDevStatEntry 24 }

   ldevstatNum-format-pend-tracks     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         " Total number of format pending tracks for the device"
      ::= { lDevStatEntry 25 }

   ldevstatDevice-max-wp-limit     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         " Device max write pending limit"
      ::= { lDevStatEntry 26 }



--------------------------------
-- Device Group Statistics    --
--------------------------------
   dgStatTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF DgStatStatistics
      ACCESS  not-accessible
      STATUS  obsolete
      DESCRIPTION
         "A table of Symmetrix device group statistics for the indicated
          device group instance. 
          The number of entries is given by the value of symDgListCount."
      ::= { symAPIStatistics 5 }

   dgStatEntry OBJECT-TYPE
      SYNTAX  DgStatStatistics
      ACCESS  not-accessible
      STATUS  obsolete
      DESCRIPTION
         "An entry containing objects for the device group statistics
          for the specified device group."
      INDEX { symDgListCount }
      ::= { dgStatTable 1 }

   DgStatStatistics ::=
      SEQUENCE {
        dgstatTime-stamp              TimeTicks,
        dgstatNum-sym-timeslices      UInt32,
        dgstatNum-rw-reqs             UInt32,
        dgstatNum-read-reqs           UInt32,
        dgstatNum-write-reqs          UInt32,
        dgstatNum-rw-hits             UInt32,
        dgstatNum-read-hits           UInt32,
        dgstatNum-write-hits          UInt32,
        dgstatNum-blocks-read         UInt32,
        dgstatNum-blocks-written      UInt32,
        dgstatNum-seq-read-reqs       UInt32,
        dgstatNum-prefetched-tracks   UInt32,
        dgstatNum-destaged-tracks     UInt32,
        dgstatNum-deferred-writes     UInt32,
        dgstatNum-delayed-dfw         UInt32, 
        dgstatNum-wp-tracks           UInt32,
        dgstatNum-format-pend-tracks  UInt32,
        dgstatdevice-max-wp-limit     UInt32
  }


   dgstatTime-stamp     OBJECT-TYPE
      SYNTAX  TimeTicks
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         " Time since these statistics were last collected"
      ::= { dgStatEntry 1 }

   dgstatNum-sym-timeslices     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         " Number of 1/2 seconds from reset until the Symmetrix internally
           snapshots the director counters. You must use this field when
           computing a rate."
      ::= { dgStatEntry 2 }

   dgstatNum-rw-reqs     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         " Total number of I/Os for the device group"
      ::= { dgStatEntry 3 }

   dgstatNum-read-reqs     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         " Total number of read requests for the device group"
      ::= { dgStatEntry 4 }

   dgstatNum-write-reqs     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         " Total number of write requests for the device group "
      ::= { dgStatEntry 5 }

   dgstatNum-rw-hits     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         " Total number of cache hits (read & write) for the device group "
      ::= { dgStatEntry 6 }

   dgstatNum-read-hits     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         " Total number of cache read hits for the device group "
      ::= { dgStatEntry 7 }

   dgstatNum-write-hits     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         " Total number of cache write hits for the device group "
      ::= { dgStatEntry 8 }

-- 9 reserved for EMC use only

   dgstatNum-blocks-read     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         " Total number of (512 byte) blocks read for the device group "
      ::= { dgStatEntry 13 }

-- 14 reserved for EMC use only

   dgstatNum-blocks-written     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         " Total number of (512 byte) blocks written for the device group "
      ::= { dgStatEntry 18 }

   dgstatNum-seq-read-reqs     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         " Total number of number of sequential read reqs for the device group "
      ::= { dgStatEntry 19 }

   dgstatNum-prefetched-tracks     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         " Total number of prefetched tracks for the device group "
      ::= { dgStatEntry 20 }

   dgstatNum-destaged-tracks     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         " Total number of destaged tracks for the device group "
      ::= { dgStatEntry 21 }

   dgstatNum-deferred-writes     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         " Total number of deferred writes for the device group "
      ::= { dgStatEntry 22 }

   dgstatNum-delayed-dfw     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         " Total number of delayed deferred writes until track destaged"
      ::= { dgStatEntry 23 }

   dgstatNum-wp-tracks     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         " Total number of write pending tracks for the device group"
      ::= { dgStatEntry 24 }

   dgstatNum-format-pend-tracks     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         " Total number of format pending tracks for the device group"
      ::= { dgStatEntry 25 }

   dgstatdevice-max-wp-limit     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  obsolete
      DESCRIPTION
         " Device group max write pending limit"
      ::= { dgStatEntry 26 }


--------------------------
-- Director Statistics  --
--------------------------

   directorStatTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF DirStatStatistics
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "A table of Symmetrix director statistics for the indicated
          Symmetrix and director instance. 
          The number of entries is given by the value of symShowDirectorCount."
      ::= { symAPIStatistics 6 }

   directorStatEntry OBJECT-TYPE
      SYNTAX  DirStatStatistics
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "An entry containing objects for the Symmetrix director statistics
          for the specified Symmetrix and director."
      INDEX { discIndex, symShowDirectorCount }
      ::= { directorStatTable 1 }

   DirStatStatistics ::=
      SEQUENCE {
        dirstatTime-stamp              TimeTicks,
        dirstatNum-sym-timeslices      UInt32,
        dirstatNum-rw-reqs             UInt32,
        dirstatNum-read-reqs           UInt32,
        dirstatNum-write-reqs          UInt32,
        dirstatNum-rw-hits             UInt32,
        dirstatNum-permacache-reqs     UInt32,
        dirstatNum-ios                 UInt32
  }


   dirstatTime-stamp     OBJECT-TYPE
      SYNTAX  TimeTicks
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Time since these statistics were last collected"
      ::= { directorStatEntry 1 }

   dirstatNum-sym-timeslices     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Number of 1/2 seconds from reset until the Symmetrix internally
           snapshots the director counters. You must use this field when
           computing a rate."
      ::= { directorStatEntry 2 }

   dirstatNum-rw-reqs     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of I/Os for the device"
      ::= { directorStatEntry 3 }

   dirstatNum-read-reqs     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of read requests for the device"
      ::= { directorStatEntry 4 }

   dirstatNum-write-reqs     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of write requests for the device "
      ::= { directorStatEntry 5 }

   dirstatNum-rw-hits     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of cache hits (read & write) for the device "
      ::= { directorStatEntry 6 }

   dirstatNum-permacache-reqs     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of cache read hits for the device "
      ::= { directorStatEntry 7 }

   dirstatNum-ios     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of cache write hits for the device "
      ::= { directorStatEntry 8 }


----------------------------
-- SA Director Statistics --
----------------------------
   saDirStatTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF DirStatSAStatistics
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "A table of Symmetrix SA director statistics for the indicated
          Symmetrix and director instance. 
          The number of entries is given by the value of symShowDirectorCount."
      ::= { symAPIStatistics 7 }

   saDirStatEntry OBJECT-TYPE
      SYNTAX  DirStatSAStatistics
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "An entry containing objects for the Symmetrix SA director statistics
          for the specified Symmetrix and director."
      INDEX { discIndex, symShowDirectorCount }
      ::= { saDirStatTable 1 }

   DirStatSAStatistics ::=
      SEQUENCE {
         dirstatSANum-read-misses            UInt32,
         dirstatSANum-slot-collisions        UInt32,
         dirstatSANum-system-wp-disconnects  UInt32,
         dirstatSANum-device-wp-disconnects  UInt32
  }

   dirstatSANum-read-misses     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of cache read misses"
      ::= { saDirStatEntry 1 }

   dirstatSANum-slot-collisions     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of cache slot collisions"
      ::= { saDirStatEntry 2 }

   dirstatSANum-system-wp-disconnects     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Total number of system write pending disconnects. 
          The limit for the system parameter for maximum number
          of write pendings was exceeded."
      ::= { saDirStatEntry 3 }

   dirstatSANum-device-wp-disconnects     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Total number of device write pending disconnects. 
          The limit for the device parameter for maximum number
          of write pendings was exceeded."
      ::= { saDirStatEntry 4 }



----------------------------
-- DA Director Statistics --
----------------------------
   daDirStatTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF DirStatDAStatistics
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "A table of Symmetrix DA director statistics for the indicated
          Symmetrix and director instance. 
          The number of entries is given by the value of symShowDirectorCount."
      ::= { symAPIStatistics 8 }

   daDirStatEntry OBJECT-TYPE
      SYNTAX  DirStatDAStatistics
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "An entry containing objects for the Symmetrix DA director statistics
          for the specified Symmetrix and director."
      INDEX { discIndex, symShowDirectorCount }
      ::= { daDirStatTable 1 }

   DirStatDAStatistics ::=
      SEQUENCE {
         dirstatDANum-pf-tracks           UInt32,
         dirstatDANum-pf-tracks-used      UInt32,
         dirstatDANum-pf-tracks-unused    UInt32,
         dirstatDANum-pf-short-misses     UInt32,
         dirstatDANum-pf-long-misses      UInt32,
         dirstatDANum-pf-restarts         UInt32,
         dirstatDANum-pf-mismatches       UInt32 
  }

   dirstatDANum-pf-tracks     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " The number of prefetched tracks. Remember that cache may contain
           vestigial read or written tracks."
      ::= { daDirStatEntry 1 }

   dirstatDANum-pf-tracks-used     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The number of prefetched tracks used to satisfy 
          read/write requests"
      ::= { daDirStatEntry 2 }

   dirstatDANum-pf-tracks-unused     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The number of prefetched tracks unused and replaced by another."
      ::= { daDirStatEntry 3 }

   dirstatDANum-pf-short-misses     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The number of tracks already being prefetched when a read/write
          request for that track occurred."
      ::= { daDirStatEntry 4 }

   dirstatDANum-pf-long-misses     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The number of tracks requiring a complete fetch when a read/write
          request for that track occurred."
      ::= { daDirStatEntry 5 }

   dirstatDANum-pf-restarts     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The number of times that a prefetch task needed to be restarted."
      ::= { daDirStatEntry 6 }

   dirstatDANum-pf-mismatches     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The number of times a prefetch task needed to be canceled."
      ::= { daDirStatEntry 7 }


----------------------------
-- RA Director Statistics --
----------------------------
   raDirStatTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF DirStatRAStatistics
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "A table of Symmetrix RA director statistics for the indicated
          Symmetrix and director instance. 
          The number of entries is given by the value of symShowDirectorCount."
      ::= { symAPIStatistics 9 }

   raDirStatEntry OBJECT-TYPE
      SYNTAX  DirStatRAStatistics
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "An entry containing objects for the Symmetrix RA director statistics
          for the specified Symmetrix and director."
      INDEX { discIndex, symShowDirectorCount }
      ::= { raDirStatTable 1 }

   DirStatRAStatistics ::=
      SEQUENCE {
         dirstatRANum-read-misses            UInt32,
         dirstatRANum-slot-collisions        UInt32,
         dirstatRANum-system-wp-disconnects  UInt32,
         dirstatRANum-device-wp-disconnects  UInt32
  }

   dirstatRANum-read-misses     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of cache read misses"
      ::= { raDirStatEntry 1 }

   dirstatRANum-slot-collisions     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Total number of cache slot collisions"
      ::= { raDirStatEntry 2 }

   dirstatRANum-system-wp-disconnects     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Total number of system write pending disconnects. 
          The limit for the system parameter for maximum number
          of write pendings was exceeded."
      ::= { raDirStatEntry 3 }

   dirstatRANum-device-wp-disconnects     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "Total number of device write pending disconnects. 
          The limit for the device parameter for maximum number
          of write pendings was exceeded."
      ::= { raDirStatEntry 4 }


----------------------------
--  Director Port Statistics --
----------------------------

   dirStatPortCountTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF SymapiDirPortStatPortCount
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "A list of the number of available ports for the given 
          Symmetrix and director instance.
          The number of entries is given by the value of symShowDirectorCount."
      ::= { dirPortStatistics 1 }

   dirStatPortCountEntry OBJECT-TYPE
      SYNTAX  SymapiDirPortStatPortCount
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "An entry containing objects for the number of available 
          ports for the specified Symmetrix and director"
      INDEX { discIndex, symShowDirectorCount }
      ::= { dirStatPortCountTable 1 }

   SymapiDirPortStatPortCount ::=
      SEQUENCE {
         dirPortStatPortCount    INTEGER
         }

   dirPortStatPortCount  OBJECT-TYPE
      SYNTAX  INTEGER
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The number of entries in the dirPortStatTable table for the indicated 
          Symmetrix and director instance"
      ::= { dirStatPortCountEntry 1 }


   dirPortStatTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF DirPortStatistics
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "A table of Symmetrix director statistics for the indicated
          Symmetrix, director and port instance. 
          The number of entries is given by the value dirPortStatPortCount."
      ::= { dirPortStatistics 2 }


   dirPortStatEntry OBJECT-TYPE
      SYNTAX  DirPortStatistics
      ACCESS  not-accessible
      STATUS  mandatory
      DESCRIPTION
         "An entry containing objects for the Symmetrix director port statistics
          for the specified Symmetrix, director, and port."
      INDEX { discIndex, symShowDirectorCount, dirPortStatPortCount }
      ::= { dirPortStatTable 1 }

   DirPortStatistics ::=
      SEQUENCE {
        portstatTime-stamp                   TimeTicks,
        portstatNum-sym-timeslices           UInt32,
        portstatNum-rw-reqs                  UInt32,
        portstatNum-blocks-read-and-written  UInt32
  }

   portstatTime-stamp     OBJECT-TYPE
      SYNTAX  TimeTicks
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Time since these statistics were last collected"
      ::= { dirPortStatEntry 1 }

   portstatNum-sym-timeslices     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         " Number of 1/2 seconds from reset until the Symmetrix internally
           snapshots the director counters. You must use this field when
           computing a rate."
      ::= { dirPortStatEntry 2 }

   portstatNum-rw-reqs     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The number of I/O requests (reads and writes) handled by
          the front-end port.
          "
      ::= { dirPortStatEntry 3 }

   portstatNum-blocks-read-and-written     OBJECT-TYPE
      SYNTAX  UInt32
      ACCESS  read-only
      STATUS  mandatory
      DESCRIPTION
         "The number of blocks read and written by the front-end port
         "
      ::= { dirPortStatEntry 4 }







----
-- event group


   symmEventMaxEvents OBJECT-TYPE 
         SYNTAX INTEGER 
         ACCESS read-only 
         STATUS mandatory 
         DESCRIPTION 
             "Max number of events that can be defined
             in each Symmetrixes symmEventTable."
         ::= { symmEvent 1 } 

   symmEventTable OBJECT-TYPE 
        SYNTAX SEQUENCE OF SymmEventEntry 
        ACCESS not-accessible 
        STATUS mandatory 
        DESCRIPTION 
            "The table of Symmetrix events. Errors, 
            warnings, and information should be reported
            in this table." 
        ::= { symmEvent 2 }

    symmEventEntry OBJECT-TYPE 
        SYNTAX SymmEventEntry 
        ACCESS not-accessible 
        STATUS mandatory 
        DESCRIPTION 
            "Each entry contains information on 
            a specific event for the given 
            Symmetrix." 
        INDEX { discIndex, symmEventIndex } 
        ::= { symmEventTable 1 } 

        SymmEventEntry ::= 
            SEQUENCE { 
               symmEventIndex 
                 INTEGER (1..2147483647),
               symmEventTime 
                 DisplayString, 
               symmEventSeverity
                 INTEGER, 
               symmEventDescr 
                 DisplayString
            } 


        symmEventIndex OBJECT-TYPE 
            SYNTAX INTEGER (1..2147483647)
            ACCESS read-only 
            STATUS mandatory 
            DESCRIPTION 
                "Each Symmetrix has its own event buffer.
                As it wraps, it may write over previous events.
                This object is an index into the buffer.

                The index value is an incrementing integer starting
                from one every time there is a table reset.
                On table reset, all contents are emptied and
                all indeces are set to zero. When an
                event is added to the table, the event is
                assigned the next higher integer value than
                the last item entered into the table. If the
                index value reaches its maximum value, the next
                item entered will cause the index value to
                roll over and start at one again."
            ::= { symmEventEntry 1 } 

        symmEventTime OBJECT-TYPE 
            SYNTAX DisplayString
            ACCESS read-only 
            STATUS mandatory 
            DESCRIPTION 
                "This is the time when the event occurred.
                It has the following format.
                    DOW MON DD HH:MM:SS YYYY
                    DOW=day of week
                    MON=Month
                    DD=day number
                    HH=hour number
                    MM=minute number
                    SS=seconds number
                    YYYY=year number
                If not applicable, return a NULL string."
            ::= { symmEventEntry 2 } 

        symmEventSeverity OBJECT-TYPE 
            SYNTAX INTEGER {
               unknown     (1),
				   emergency	(2),
				   alert		(3),
				   critical	(4),
				   error		(5),
				   warning     (6),
				   notify      (7),
				   info		(8),
				   debug		(9),
				   mark		(10)	-- All messages logged
            }
            ACCESS read-only 
            STATUS mandatory 
            DESCRIPTION 
                "The event severity level. These map directly
                 with those from the FIbre Mib, version 2.2" 
            ::= { symmEventEntry 3 } 

        symmEventDescr OBJECT-TYPE 
            SYNTAX DisplayString 
            ACCESS read-only 
            STATUS mandatory 
            DESCRIPTION 
                "The description of the event." 
            ::= { symmEventEntry 4 } 





----------------------
-- TRAP Definitions --
----------------------

   emcDeviceStatusTrap  TRAP-TYPE
      ENTERPRISE  emcSymmetrix
      VARIABLES   { symmEventDescr }
      DESCRIPTION
         "This trap is sent for each device found 'NOT READY' during
          the most recent test of each attached Symmetrix for Device
          Not Ready conditions.

         "
      ::= 1

   emcSymmetrixStatusTrap  TRAP-TYPE
      ENTERPRISE  emcSymmetrix
      VARIABLES   { symmEventDescr }
      DESCRIPTION
         "This trap is sent for each new WARNING and FATAL error 
          condition found during the most recent 'health'
          test of each attached Symmetrix. 
          
          Format of the message is:

            Symmetrix s/n: %s, Dir - %d, %04X, %s, %s

          an example of which is:
          
            Symmetrix s/n: 12345, Dir - 31, 470, Thu Apr  6 10:53:16 2000, Environmental alarm: Battery Fault
         "   
      ::= 2

   emcRatiosOutofRangeTrap  TRAP-TYPE
      ENTERPRISE  emcSymmetrix
      VARIABLES   { symmEventDescr }
      DESCRIPTION
         "This trap is sent for each attached Symmetrix when the
          Hit Ratio, Write Ratio, or IO/sec Ratio were out of the
          specified range during the most recent test for these
          conditions. The ratios are preconfigured at agent
          startup, and apply to all Symmetrixes attached.

         "
      ::= 3

   discoveryTableChange  TRAP-TYPE
      ENTERPRISE emcSymmetrix
      VARIABLES   { discoveryChangeTime }
      DESCRIPTION
         "This trap is sent whenever the periodic check of attached
          Symmetrixes reveals newly attached Symmetrixes, or changes
          in the configuration of previously attached Symmetrixes.
         "
      ::= 4

   emcSymmetrixEventTrap TRAP-TYPE
      ENTERPRISE emcSymmetrix
      VARIABLES   { symmEventDescr }
      DESCRIPTION
         "This trap is sent whenever a non-specific (i.e. not traps 1-4)
          event occurs in the agent, or for a specific Symmetrix.
         "
      ::= 5







END

