(file) Return to Device_StorageExtents.mof CVS log (file) (dir) Up to [Pegasus] / pegasus / Schemas / CIM29

File: [Pegasus] / pegasus / Schemas / CIM29 / Device_StorageExtents.mof (download)
Revision: 1.1, Thu Feb 17 00:09:56 2005 UTC (19 years, 3 months ago) by a.dunfey
Branch: MAIN
CVS Tags: preBug9676, postBug9676, TASK_PEP328_SOLARIS_NEVADA_PORT, TASK_PEP317_1JUNE_2013, TASK_PEP233_EmbeddedInstSupport-merge_out_trunk, TASK_BUG_5314_IPC_REFACTORING_ROOT, TASK_BUG_5314_IPC_REFACTORING_BRANCH, TASK_BUG_5314_IPC_REFACTORING-V1, TASK_BUG_5191_QUEUE_CONSOLIDATION_ROOT, TASK_BUG_5191_QUEUE_CONSOLIDATION_BRANCH, TASK-TASK_PEP362_RestfulService_branch-root, TASK-TASK_PEP362_RestfulService_branch-merged_out_from_trunk, TASK-TASK_PEP362_RestfulService_branch-merged_in_to_trunk, TASK-TASK_PEP362_RestfulService_branch-merged_in_from_branch, TASK-TASK_PEP362_RestfulService_branch-branch, TASK-TASK-BUG4011_WinLocalConnect-branch-New-root, TASK-TASK-BUG4011_WinLocalConnect-branch-New-merged_out_to_branch, TASK-TASK-BUG4011_WinLocalConnect-branch-New-merged_out_from_trunk, TASK-TASK-BUG4011_WinLocalConnect-branch-New-merged_in_to_trunk, TASK-TASK-BUG4011_WinLocalConnect-branch-New-merged_in_from_branch, TASK-TASK-BUG4011_WinLocalConnect-branch-New-branch, TASK-PEP362_RestfulService-root, TASK-PEP362_RestfulService-merged_out_to_branch, TASK-PEP362_RestfulService-merged_out_from_trunk, TASK-PEP362_RestfulService-merged_in_to_trunk, TASK-PEP362_RestfulService-merged_in_from_branch, TASK-PEP362_RestfulService-branch, TASK-PEP348_SCMO-root, TASK-PEP348_SCMO-merged_out_to_branch, TASK-PEP348_SCMO-merged_out_from_trunk, TASK-PEP348_SCMO-merged_in_to_trunk, TASK-PEP348_SCMO-merged_in_from_branch, TASK-PEP348_SCMO-branch, TASK-PEP328_SOLARIS_NEVADA_PORT_v2-root, TASK-PEP328_SOLARIS_NEVADA_PORT_v2-branch, TASK-PEP328_SOLARIS_NEVADA_PORT-root, TASK-PEP328_SOLARIS_NEVADA_PORT-branch, TASK-PEP328_SOLARIS_IX86_CC_PORT-root, TASK-PEP328_SOLARIS_IX86_CC_PORT-branch-v2, TASK-PEP328_SOLARIS_IX86_CC_PORT-branch, TASK-PEP317_pullop-root, TASK-PEP317_pullop-merged_out_to_branch, TASK-PEP317_pullop-merged_out_from_trunk, TASK-PEP317_pullop-merged_in_to_trunk, TASK-PEP317_pullop-merged_in_from_branch, TASK-PEP317_pullop-branch, TASK-PEP311_WSMan-root, TASK-PEP311_WSMan-branch, TASK-PEP305_VXWORKS-root, TASK-PEP305_VXWORKS-branch-pre-solaris-port, TASK-PEP305_VXWORKS-branch-post-solaris-port, TASK-PEP305_VXWORKS-branch-beta2, TASK-PEP305_VXWORKS-branch, TASK-PEP305_VXWORKS-2008-10-23, TASK-PEP291_IPV6-root, TASK-PEP291_IPV6-branch, TASK-PEP286_PRIVILEGE_SEPARATION-root, TASK-PEP286_PRIVILEGE_SEPARATION-branch, TASK-PEP274_dacim-root, TASK-PEP274_dacim-merged_out_to_branch, TASK-PEP274_dacim-merged_out_from_trunk, TASK-PEP274_dacim-merged_in_to_trunk, TASK-PEP274_dacim-merged_in_from_branch, TASK-PEP274_dacim-branch, TASK-PEP268_SSLClientCertificatePropagation-root, TASK-PEP268_SSLClientCertificatePropagation-merged_out_to_branch, TASK-PEP268_SSLClientCertificatePropagation-merged_out_from_trunk, TASK-PEP268_SSLClientCertificatePropagation-merged_in_to_trunk, TASK-PEP268_SSLClientCertificatePropagation-merged_in_from_branch, TASK-PEP268_SSLClientCertificatePropagation-branch, TASK-PEP267_SLPReregistrationSupport-root, TASK-PEP267_SLPReregistrationSupport-merging_out_to_branch, TASK-PEP267_SLPReregistrationSupport-merging_out_from_trunk, TASK-PEP267_SLPReregistrationSupport-merged_out_to_branch, TASK-PEP267_SLPReregistrationSupport-merged_out_from_trunk, TASK-PEP267_SLPReregistrationSupport-merged_in_to_trunk, TASK-PEP267_SLPReregistrationSupport-merged_in_from_branch, TASK-PEP267_SLPReregistrationSupport-branch, TASK-PEP250_RPMProvider-root, TASK-PEP250_RPMProvider-merged_out_to_branch, TASK-PEP250_RPMProvider-merged_out_from_trunk, TASK-PEP250_RPMProvider-merged_in_to_trunk, TASK-PEP250_RPMProvider-merged_in_from_branch, TASK-PEP250_RPMProvider-branch, TASK-PEP245_CimErrorInfrastructure-root, TASK-PEP245_CimErrorInfrastructure-merged_out_to_branch, TASK-PEP245_CimErrorInfrastructure-merged_out_from_trunk, TASK-PEP245_CimErrorInfrastructure-merged_in_to_trunk, TASK-PEP245_CimErrorInfrastructure-merged_in_from_branch, TASK-PEP245_CimErrorInfrastructure-branch, TASK-PEP241_OpenPegasusStressTests-root, TASK-PEP241_OpenPegasusStressTests-merged_out_to_branch, TASK-PEP241_OpenPegasusStressTests-merged_out_from_trunk, TASK-PEP241_OpenPegasusStressTests-merged_in_to_trunk, TASK-PEP241_OpenPegasusStressTests-merged_in_from_branch, TASK-PEP241_OpenPegasusStressTests-branch, TASK-Bugs5690_3913_RemoteCMPI-root, TASK-Bugs5690_3913_RemoteCMPI-merged_out_to_branch, TASK-Bugs5690_3913_RemoteCMPI-merged_out_from_trunk, TASK-Bugs5690_3913_RemoteCMPI-merged_in_to_trunk, TASK-Bugs5690_3913_RemoteCMPI-merged_in_from_branch, TASK-Bugs5690_3913_RemoteCMPI-branch, TASK-Bug2102_RCMPIWindows-root, TASK-Bug2102_RCMPIWindows-merged_out_to_branch, TASK-Bug2102_RCMPIWindows-merged_out_from_trunk, TASK-Bug2102_RCMPIWindows-merged_in_to_trunk, TASK-Bug2102_RCMPIWindows-merged_in_from_branch, TASK-Bug2102_RCMPIWindows-branch, TASK-Bug2102Final-root, TASK-Bug2102Final-merged_out_to_branch, TASK-Bug2102Final-merged_out_from_trunk, TASK-Bug2102Final-merged_in_to_trunk, TASK-Bug2102Final-merged_in_from_branch, TASK-Bug2102Final-branch, TASK-Bug2021_RemoteCMPIonWindows-root, TASK-Bug2021_RemoteCMPIonWindows-merged_out_to_branch, TASK-Bug2021_RemoteCMPIonWindows-merged_out_from_trunk, TASK-Bug2021_RemoteCMPIonWindows-merged_in_to_trunk, TASK-Bug2021_RemoteCMPIonWindows-merged_in_from_branch, TASK-Bug2021_RemoteCMPIonWindows-branch, TASK-Bug2021_RCMPIonWindows-root, TASK-Bug2021_RCMPIonWindows-merged_out_to_branch, TASK-Bug2021_RCMPIonWindows-merged_out_from_trunk, TASK-Bug2021_RCMPIonWindows-merged_in_to_trunk, TASK-Bug2021_RCMPIonWindows-merged_in_from_branch, TASK-Bug2021_RCMPIonWindows-branch, TASK-BUG7240-root, TASK-BUG7240-branch, TASK-BUG7146_SqlRepositoryPrototype-root, TASK-BUG7146_SqlRepositoryPrototype-merged_out_to_branch, TASK-BUG7146_SqlRepositoryPrototype-merged_out_from_trunk, TASK-BUG7146_SqlRepositoryPrototype-merged_in_to_trunk, TASK-BUG7146_SqlRepositoryPrototype-merged_in_from_branch, TASK-BUG7146_SqlRepositoryPrototype-branch, TASK-BUG4011_WinLocalConnect-root, TASK-BUG4011_WinLocalConnect-merged_out_to_branch, TASK-BUG4011_WinLocalConnect-merged_out_from_trunk, TASK-BUG4011_WinLocalConnect-merged_in_to_trunk, TASK-BUG4011_WinLocalConnect-merged_in_from_branch, TASK-BUG4011_WinLocalConnect-branch-New, TASK-BUG4011_WinLocalConnect-branch, STABLE, RELEASE_2_9_2-RC2, RELEASE_2_9_2-RC1, RELEASE_2_9_2, RELEASE_2_9_1-RC1, RELEASE_2_9_1, RELEASE_2_9_0-RC1, RELEASE_2_9_0-FC, RELEASE_2_9_0, RELEASE_2_9-root, RELEASE_2_9-branch, RELEASE_2_8_2-RC1, RELEASE_2_8_2, RELEASE_2_8_1-RC1, RELEASE_2_8_1, RELEASE_2_8_0_BETA, RELEASE_2_8_0-RC2, RELEASE_2_8_0-RC1, RELEASE_2_8_0-FC, RELEASE_2_8_0, RELEASE_2_8-root, RELEASE_2_8-branch, RELEASE_2_7_3-RC1, RELEASE_2_7_3, RELEASE_2_7_2-RC1, RELEASE_2_7_2, RELEASE_2_7_1-RC1, RELEASE_2_7_1, RELEASE_2_7_0-RC1, RELEASE_2_7_0-BETA, RELEASE_2_7_0, RELEASE_2_7-root, RELEASE_2_7-branch, RELEASE_2_6_3-RC2, RELEASE_2_6_3-RC1, RELEASE_2_6_3, RELEASE_2_6_2-RC1, RELEASE_2_6_2, RELEASE_2_6_1-RC1, RELEASE_2_6_1, RELEASE_2_6_0-RC1, RELEASE_2_6_0-FC, RELEASE_2_6_0, RELEASE_2_6-root, RELEASE_2_6-branch-clean, RELEASE_2_6-branch, RELEASE_2_5_5-RC2, RELEASE_2_5_5-RC1, RELEASE_2_5_5, RELEASE_2_5_4-RC2, RELEASE_2_5_4-RC1, RELEASE_2_5_4, RELEASE_2_5_3-RC1, RELEASE_2_5_3, RELEASE_2_5_2-RC1, RELEASE_2_5_2, RELEASE_2_5_1-RC1, RELEASE_2_5_1, RELEASE_2_5_0-RC1, RELEASE_2_5_0, RELEASE_2_5-root, RELEASE_2_5-branch, RELEASE_2_14_1, RELEASE_2_14_0-RC2, RELEASE_2_14_0-RC1, RELEASE_2_14_0, RELEASE_2_14-root, RELEASE_2_14-branch, RELEASE_2_13_0-RC2, RELEASE_2_13_0-RC1, RELEASE_2_13_0-FC, RELEASE_2_13_0, RELEASE_2_13-root, RELEASE_2_13-branch, RELEASE_2_12_1-RC1, RELEASE_2_12_1, RELEASE_2_12_0-RC1, RELEASE_2_12_0-FC, RELEASE_2_12_0, RELEASE_2_12-root, RELEASE_2_12-branch, RELEASE_2_11_2-RC1, RELEASE_2_11_2, RELEASE_2_11_1-RC1, RELEASE_2_11_1, RELEASE_2_11_0-RC1, RELEASE_2_11_0-FC, RELEASE_2_11_0, RELEASE_2_11-root, RELEASE_2_11-branch, RELEASE_2_10_1-RC1, RELEASE_2_10_1, RELEASE_2_10_0-RC2, RELEASE_2_10_0-RC1, RELEASE_2_10_0, RELEASE_2_10-root, RELEASE_2_10-branch, PREAUG25UPDATE, POSTAUG25UPDATE, PEP286_PRIVILEGE_SEPARATION_ROOT, PEP286_PRIVILEGE_SEPARATION_CODE_FREEZE, PEP286_PRIVILEGE_SEPARATION_BRANCH, PEP286_PRIVILEGE_SEPARATION_1, PEP244_ServerProfile-root, PEP244_ServerProfile-branch, PEP233_EmbeddedInstSupport-root, PEP233_EmbeddedInstSupport-branch, PEP214ROOT, PEP214BRANCH, PEP214-root, PEP214-branch, PEP-214B-root, PEGASUS_2_5_0_PerformanceDev-string-end, PEGASUS_2_5_0_PerformanceDev-rootlt, PEGASUS_2_5_0_PerformanceDev-root, PEGASUS_2_5_0_PerformanceDev-r2, PEGASUS_2_5_0_PerformanceDev-r1, PEGASUS_2_5_0_PerformanceDev-lit-end, PEGASUS_2_5_0_PerformanceDev-buffer-end, PEGASUS_2_5_0_PerformanceDev-branch, PEGASUS_2_5_0_PerformanceDev-AtomicInt-branch, PEG25_IBM_5_16_05, NPEGASUS_2_5_0_PerformanceDev-String-root, NNPEGASUS_2_5_0_PerformanceDev-String-branch, Makefile, HPUX_TEST, HEAD, CIMRS_WORK_20130824, BeforeUpdateToHeadOct82011, BUG_4225_PERFORMANCE_VERSION_1_DONE
PEP#: 215
TITLE: Adding CIM29 to Repository

DESCRIPTION:

I added CIM 2.9 Final to the Pegasus Repository. I did NOT make any build changes. This just makes the CIM29 schema available for testing until a time is designated for switching the default schema from 2.8 to 2.9.

// ===================================================================
// Title: Device_StorageExtents
// $State: Exp $
// $Date: 2005/02/17 00:09:56 $
// $RCSfile: Device_StorageExtents.mof,v $
// $Revision: 1.1 $
// ===================================================================
//#pragma inLine ("Includes/copyright.inc")
// Copyright 1998-2005 Distributed Management Task Force, Inc. (DMTF).
// All rights reserved.
// DMTF is a not-for-profit association of industry members dedicated
// to promoting enterprise and systems management and interoperability.
// DMTF specifications and documents may be reproduced for uses
// consistent with this purpose by members and non-members,
// provided that correct attribution is given.
// As DMTF specifications may be revised from time to time,
// the particular version and release date should always be noted.
// 
// Implementation of certain elements of this standard or proposed
// standard may be subject to third party patent rights, including
// provisional patent rights (herein "patent rights"). DMTF makes
// no representations to users of the standard as to the existence
// of such rights, and is not responsible to recognize, disclose, or
// identify any or all such third party patent right, owners or
// claimants, nor for any incomplete or inaccurate identification or
// disclosure of such rights, owners or claimants. DMTF shall have no
// liability to any party, in any manner or circumstance, under any
// legal theory whatsoever, for failure to recognize, disclose, or
// identify any such third party patent rights, or for such party's
// reliance on the standard or incorporation thereof in its product,
// protocols or testing procedures. DMTF shall have no liability to
// any party implementing such standard, whether such implementation
// is foreseeable or not, nor to any patent owner or claimant, and shall
// have no liability or responsibility for costs or losses incurred if
// a standard is withdrawn or modified after publication, and shall be
// indemnified and held harmless by any party implementing the
// standard from any and all claims of infringement by a patent owner
// for such implementations.
// 
// For information about patents held by third-parties which have
// notified the DMTF that, in their opinion, such patent may relate to
// or impact implementations of DMTF standards, visit
// http://www.dmtf.org/about/policies/disclosures.php.
//#pragma inLine
// ===================================================================
// Description: The Device Model extends the management concepts that
//              are related to LogicalDevices. This file describes
//              the modeling of storage hierarchies (extents,
//              volumes, partitions, etc.).
// 
//              The object classes below are listed in an order that
//              avoids forward references. Required objects, defined
//              by other working groups, are omitted.
// ==================================================================
// 
// Change Log for v2.8.2
// CR1505 - Fix wording of StorageVolume.NameFormat to clarify MUSTs
// CR1304 - Fix StorageVolume.NameFormat value/valuemap mismatch
// 
// Change Log for v2.8 Final
// CR1202 - Remove Experimental Quaifiers
// CR1027 - Clarify StorageVolume.NameFormat
// 
// Change Log for v2.8 Preliminary
// CR891 - Add NameFormat to StorageVolume
// 
// Change Log for v2.7 Final
// CR970 - Removal of the Experimental qualifier
//       - Remove several properties from StorageVolume and make them
//         Experimental in 2.8
// 
// Change Log for v2.7
// CR722 - Add ProtectedExtentBasedOn, CompositeExtent, and
//         CompositeExtentBasedOn
// CR882 - Deprecate Snapshot and SnapshotOfExtent. Therefore moved
//         definitions to SccExtents.mof
// CR884 - Move RAID centric properties from StorageExtent to
//         StorageVolume
// ==================================================================

#pragma locale ("en_US")


// ===================================================================
// MediaPresent
// ===================================================================
   [Association, Version ( "2.6.0" ), Description (
       "Where a StorageExtent must be accessed through a MediaAccess "
       "Device, this relationship is described by the MediaPresent "
       "association."), 
    MappingStrings { "MIF.DMTF|Storage Devices|001.8" }]
class CIM_MediaPresent : CIM_Dependency {

      [Override ( "Antecedent" ), Description (
          "The MediaAccessDevice.")]
   CIM_MediaAccessDevice REF Antecedent;

      [Override ( "Dependent" ), Description (
          "The StorageExtent accessed using the MediaAccessDevice.")]
   CIM_StorageExtent REF Dependent;

      [Description (
          "Boolean indicating that the accessed StorageExtent is fixed "
          "in the MediaAccessDevice and can not be ejected.")]
   boolean FixedMedia;
};


// ===================================================================
// RealizesExtent
// ===================================================================
   [Association, Version ( "2.6.0" ), Description (
       "StorageExtents can be realized by PhysicalComponents. For "
       "example, disks or tapes are realized by PhysicalMedia. Memory "
       "is realized by PhysicalMemory. This relationship of Extents to "
       "PhysicalComponents is made explicit by the RealizesExtent "
       "association. In addition, the StartingAddress of the "
       "StorageExtent on the Component is specified here.")]
class CIM_RealizesExtent : CIM_Realizes {

      [Override ( "Antecedent" ), Max ( 1 ), Description (
          "The PhysicalComponent on which the Extent is realized.")]
   CIM_PhysicalComponent REF Antecedent;

      [Override ( "Dependent" ), Description (
          "The StorageExtent that is located on the Component.")]
   CIM_StorageExtent REF Dependent;

      [Description (
          "The starting address on the PhysicalComponent where the "
          "StorageExtent begins. Ending address of the StorageExtent "
          "is determined using the NumberOfBlocks and Block Size "
          "properties of the StorageExtent object.")]
   uint64 StartingAddress;
};


// ===================================================================
// RealizedOnSide
// ===================================================================
   [Association, Version ( "2.6.0" ), Description (
       "Since removable PhysicalMedia can be dual-sided, there is the "
       "possibility for StorageExtents to be realized on a single side "
       "of the Media. This association is a specialization of the "
       "RealizesExtent relationship, adding a Side property to express "
       "the Media's orientation details.")]
class CIM_RealizedOnSide : CIM_RealizesExtent {

      [Override ( "Antecedent" ), Max ( 1 ), Description (
          "The PhysicalMedia on which the Extent is realized.")]
   CIM_PhysicalMedia REF Antecedent;

      [Override ( "Dependent" ), Description (
          "The StorageExtent that is located on the Component.")]
   CIM_StorageExtent REF Dependent;

      [Description (
          "An enumeration expressing on which 'Side' the Extent is "
          "realized. Since sides can be named by various schemes (0/1 "
          "or A/B), both schemes are expressed in the Values array of "
          "this property."), 
       ValueMap { "0", "1", "2", "3", "4" }, 
       Values { "Unknown", "Side 0", "Side 1", "Side A", "Side B" }]
   uint16 Side;
};


// ===================================================================
// StorageVolume
// ===================================================================
   [Version ( "2.8.2" ), Description (
       "A StorageVolume is an Extent that is presented to the "
       "Operating System (for example, by a hardware RAID cabinet), to "
       "a File System (for example, by a software volume manager) or "
       "to another entity. StorageVolumes do NOT participate in "
       "StorageRedundancy Groups. They are directly Realized in "
       "hardware or are the end result of assembling lower level "
       "Extents.")]
class CIM_StorageVolume : CIM_StorageExtent {

      [Override ( "Name" ), Description (
          "A unique identifier for the Volume."), 
       MappingStrings { "ANSI|T10|SCSI SPC-3|8.6" }, 
       ModelCorrespondence { "CIM_StorageVolume.NameFormat" }]
   string Name;

      [Description (
          "Note - this property originally touched on two concepts "
          "that are now separated into this property and "
          "NameNamespace. Values 2,3,4,5,6, and 8 are retained for "
          "backwards compatibility but are deprecated in lieu of the "
          "corresponding values in CIM_StorageVolume.NameNamespace. "
          "Format of the Name property. Values are (per SCSI SPC-3): \n"
          "2 = VPD Page 83, NAA IEEE Registered Extended (VPD83NAA6) \n"
          "(DEPRECATED) \n"
          "3 = VPD Page 83, NAA IEEE Registered (VPD83NAA5) \n"
          "(DEPRECATED) \n"
          "4 = VPD Page 83, (VPD83Type2) (DEPRECATED) \n"
          "5 = VPD Page 83, \n"
          "T10 Vendor Identification (VPD83Type1) (DEPRECATED) \n"
          "6 = VPD Page 83, Vendor Specific (VPD83Type0) (DEPRECATED) "
          "\n7 = Serial Number/Vendor/Model (SNVM) SNVM is 3 strings "
          "representing the vendor name, product name within the "
          "vendor namespace, and the serial number within the model "
          "namespace. Strings are delimited with a '+'. Spaces may be "
          "included and are significant. The serial number is the text "
          "representation of the serial number in hexadecimal upper "
          "case. Vendor and Model represent the vendor and model ID "
          "from SCSI Inquiry data, the vendor field MUST be 8 "
          "characters wide and the product field MUST be 16 characters "
          "wide. For example, 'ACME +SUPER DISK +124437458' \n"
          "8 = Node WWN (for single LUN/controller) (NodeWWN) \n"
          "(DEPRECATED) \n"
          "9 = NAA as a generic format. See \n"
          "http://standards.ieee.org/regauth/oui/tutorials/fibrecomp_id.html "
          "Formatted as 16 or 32 unseparated uppercase hex characters "
          "(2 per binary byte). For example '21000020372D3C73' \n"
          "10 = EUI as a generic format (EUI64) See \n"
          "http://standards.ieee.org/regauth/oui/tutorials/EUI64.html "
          "\nFormatted as 16 unseparated uppercase hex characters (2 "
          "per binary byte) \n"
          "11 = T10 vendor identifier format as returned by SCSI "
          "Inquiry VPD page 83, identifier type 2. See T1- SPC-3 "
          "specification. The 8-byte ASCII vendor ID from the T10 "
          "registry followed by a vendor specific ASCII identifier; "
          "spaces are permitted. For non SCSI volumes, 'SNVM' may be "
          "the most appropriate choice."), 
       ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
          "10", "11" }, 
       Values { "Unknown", "Other", "VPD83NAA6", "VPD83NAA5",
          "VPD83Type2", "VPD83Type1", "VPD83Type0", "SNVM", "NodeWWN",
          "NAA", "EUI64", "T10VID" }, 
       ModelCorrespondence { "CIM_StorageVolume.Name",
          "CIM_StorageVolume.OtherNameFormat" }]
   uint16 NameFormat;

      [Description (
          "The preferred source for volume names is SCSI VPD Page 83 "
          "responses. Page 83 returns a list of identifiers for "
          "various device elements. The metadata for each identifier "
          "includes an Association field, identifiers with association "
          "of 0 apply to volumes. Page 83 supports several namespaces "
          "specified in the Type field in the identifier metadata. See "
          "SCSI SPC-3 specification. 2 = VPD Page 83, Type 3 NAA "
          "(NameFormat should be NAA) 3 = VPD Page 83, Type 2 EUI64 "
          "(NameFormat EUI) 4 = VPD Page 83, Type 1 T10 Vendor "
          "Identification; (NameFormat T10) Less preferred namespaces "
          "from other interfaces: 5 = VPD page 80, Serial number "
          "(NameFormat should be Other) 6 = FC NodeWWN (NameFormat "
          "should be NAA or EUI) 7 = Serial Number/Vendor/Model "
          "(NameFormat should be SNVM)"), 
       ValueMap { "0", "1", "2", "3", "4", "5", "6", "7" }, 
       Values { "Unknown", "Other", "VPD83Type3", "VPD83Type2",
          "VPD83Type1", "VPD80", "NodeWWN", "SNVM" }, 
       MappingStrings { "INCITS|T10|SCSI SPC-3|Vital Product Data " 
          "Parameters" }, 
       ModelCorrespondence { "CIM_StorageVolume.Name",
          "CIM_StorageVolume.OtherNameNamespace" }]
   uint16 NameNamespace;

      [Description (
          "A string describing the namespace of the Name property when "
          "NameNamespace includes the value 1, \"Other\"."), 
       ModelCorrespondence { "CIM_StorageVolume.NameNamespace" }]
   string OtherNameNamespace;


      [Description (
          "A string describing the format of the Name property when "
          "NameFormat includes the value 1, \"Other\"."), 
       ModelCorrespondence { "CIM_StorageVolume.NameFormat" }]
   string OtherNameFormat;
};


// ===================================================================
// MediaPartition
// ===================================================================
   [Version ( "2.6.0" ), Description (
       "A MediaPartition is a presentation of a contiguous range of "
       "logical blocks and has identifying data written on/to it. It "
       "may include a signature written by the OS or by an "
       "application. This class is a common superclass for Disk and "
       "TapePartions. Partitions are directly realized by Physical "
       "Media (indicated by the RealizesExtent association) or built "
       "on StorageVolumes (indicated by the BasedOn association).")]
class CIM_MediaPartition : CIM_StorageExtent {

      [Description (
          "Boolean indicating that the Partition is labeled as "
          "bootable. (Note that this does not mean that an Operating "
          "System is actually loaded on the Partition.) With the "
          "advent of bootable Tape and other bootable media, this "
          "property is included in the higher level MediaPartition "
          "class, rather than in a subclass such as DiskPartition.")]
   boolean Bootable;

      [Description (
          "Boolean indicating that the Partition is available and may "
          "be allocated for use.")]
   boolean Allocatable;

      [Description (
          "An identifying string written to the Partition. Additional "
          "information related to this 'Signature' may be found in the "
          "properties, SignatureState and SignatureAlgorithm."), 
       ModelCorrespondence { "CIM_MediaPartition.SignatureState",
          "CIM_MediaPartition.SignatureAlgorithm" }]
   string Signature;

      [Description (
          "A free-form string describing the algorithm used to define "
          "the Partition Signature. The value of this property is "
          "dependent on the Signature's State."), 
       ModelCorrespondence { "CIM_MediaPartition.Signature",
          "CIM_MediaPartition.SignatureState" }]
   string SignatureAlgorithm;

      [Description (
          "An enumeration describing the state of the Partition's "
          "identifying Signature string. Information such as "
          "\"Uninitialized\" (value=2), or \"Assigned by Owning "
          "Application\" (value=5) are possible entries."), 
       ValueMap { "0", "1", "2", "3", "4", "5" }, 
       Values { "Unknown", "Unimplemented", "Uninitialized",
          "Calculated by Operating System",
          "Calculated by a Media Manager",
          "Assigned by Owning Application" }, 
       ModelCorrespondence { "CIM_MediaPartition.Signature",
          "CIM_MediaPartition.SignatureAlgorithm" }]
   string SignatureState;

      [Description (
          "Boolean indicating that the Partition can be grown/extended "
          "without reformatting.")]
   boolean Extendable;
};


// ===================================================================
// DiskPartition
// ===================================================================
   [Version ( "2.6.0" ), Description (
       "A DiskPartition is a presentation of a contiguous range of "
       "logical blocks that is identifiable by the Operating System "
       "via the Partition's type and subtype fields. Disk Partitions "
       "should be directly realized by PhysicalMedia (indicated by the "
       "RealizesDiskPartition association) or built on StorageVolumes "
       "(indicated by the PartitionBasedOnVolume association.")]
class CIM_DiskPartition : CIM_MediaPartition {

      [Description (
          "Boolean indicating that the DiskPartition is labelled as "
          "the primary partition for a ComputerSystem.")]
   boolean PrimaryPartition;

      [Description (
          "The type of Partition."), 
       ValueMap { "0", "1", "2", "3" }, 
       Values { "Unknown", "Primary", "Extended", "Logical" }]
   uint16 PartitionType;

      [Description (
          "The 'sub' type of a primary, extended, or logical "
          "Partition. The list of possible values corresponds to the "
          "decimal representation of the typical values in the "
          "Partition record."), 
       ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
          "10", "11", "12", "14", "15", "16", "17", "18", "20", "22",
          "23", "27", "28", "33", "35", "36", "38", "49", "51", "52",
          "53", "54", "55", "60", "64", "65", "66", "67", "80", "81",
          "82", "83", "84", "85", "86", "97", "99", "100", "101",
          "102", "103", "104", "105", "113", "115", "116", "117",
          "118", "119", "120", "121", "128", "129", "130", "131",
          "132", "134", "135", "147", "148", "161", "163", "164",
          "165", "166", "177", "179", "180", "182", "183", "184",
          "193", "196", "198", "199", "216", "219", "225", "227",
          "228", "229", "230", "239", "240", "241", "242", "243",
          "244", "246", "254", "255", "65535" }, 
       Values { "Empty | Microsoft", "DOS 12-bit FAT", "XENIX root",
          "XENIX usr", "DOS 16-bit FAT", "DOS Extended",
          "DOS 16-bit FAT (> 32MB)",
          "OS/2 HPFS | Win NTFS | QNX Ver 2 | Adv UNIX",
          "AIX Boot | OS /2 | Dell (Array) | Commodore DOS",
          "AIX Data, Coherent", "OS/2 Boot Manager", "32-bit FAT",
          "32-bit FAT", "Microsoft 16-bit FAT",
          "Microsoft DOS Extended", "OPUS | OS/2 2.0",
          "OS/2 (MOSS) Inactive Type 1",
          "Compaq Diagnostics Partition | Microsoft",
          "OS/2 (MOSS) Inactive Type 4", "OS/2 (MOSS) Inactive Type 6",
          "OS/2 (MOSS) Inactive Type 7", "OS/2 (MOSS) Inactive Type B",
          "OS/2 (MOSS) Inactive Type C", "Microsoft", "Microsoft",
          "Microsoft", "Microsoft", "Microsoft", "Microsoft",
          "Microsoft", "OS/2 Logical Volume Manager", "Microsoft",
          "OS/2 JFS Log", "PowerQuest", "VENIX 80286 | Series/1 Disk",
          "Personal RISC Boot", "Veritas", "Veritas",
          "OnTrack Disk Manager Read Only DOS",
          "OnTrack Disk Manager Read/Write DOS",
          "CPM | Microport System V/386 | OnTrack Disk Mgr | " 
          "Microsoft", "OnTrack Disk Manager",
          "OnTrack Disk Manager Non-DOS",
          "Micro House EZ-Drive Non-DOS",
          "Golden Bow Vfeature | Microsoft",
          "Storage Dimensions SpeedStor | Microsoft",
          "UNIX - AT&T System V/386 | SCO UNIX",
          "Novell NetWare | Speedstore", "Novell NetWare",
          "Novell NetWare", "Novell", "Novell", "Novell", "Microsoft",
          "Microsoft", "Microsoft", "PC/IX IBM", "Microsoft",
          "QNX POSIX", "QNX POSIX (Secondary)",
          "QNX POSIX (Secondary)",
          "Minix (<=1.4a) | Linux | Microsoft",
          "Minix (>=1.4b) | Microsoft", "Linux Swap | Prime",
          "Linux Native | Apple", "System Hibernation for APM",
          "Microsoft", "HPFS FT mirror", "Amoeba | Microsoft",
          "Amoeba BBT | Microsoft", "Microsoft", "Microsoft",
          "Microsoft", "BSD/386", "Microsoft", "Microsoft",
          "Microsoft", "Microsoft", "Microsoft", "BSDI fs | Microsoft",
          "BSDI Swap | Microsoft", "Microsoft", "Microsoft",
          "Microsoft", "Syrinx | HPFS FT Disabled Mirror", "CP/M 86",
          "Digital Research CPM-86 | Concurrent DOS | OUTRIGGER",
          "SpeedStor 12-bit FAT Extended",
          "DOS Read-Only | Storage Dimensions",
          "SpeedStor 16-bit FAT Extended", "Microsoft", "Microsoft",
          "Intel", "OS/2 Raw Data", "Storage Dimensions",
          "DOS (Secondary)", "Microsoft",
          "SpeedStor Large | Storage Dimensions", "Microsoft",
          "Lan Step | SpeedStor | IBM PS/2 IML", "Bad Block Tables",
          "Unknown" }]
   uint16 PartitionSubtype;
};


// ===================================================================
// DiskPartitionBasedOnVolume
// ===================================================================
   [Association, Version ( "2.6.0" ), Description (
       "DiskPartitions should be BasedOn a single StorageVolume (for "
       "example, exposed by a hardware RAID cabinet), an SCC "
       "VolumeSet, or realized directly in PhysicalMedia. The first "
       "two relationships are made explicit in this association. The "
       "latter is conveyed by the RealizesDiskPartition association.")]
class CIM_DiskPartitionBasedOnVolume : CIM_BasedOn {

      [Override ( "Antecedent" ), Max ( 1 ), Description (
          "The StorageVolume.")]
   CIM_StorageVolume REF Antecedent;

      [Override ( "Dependent" ), Description (
          "The DiskPartition which is built on the Volume.")]
   CIM_DiskPartition REF Dependent;
};


// ===================================================================
// RealizesDiskPartition
// ===================================================================
   [Association, Version ( "2.6.0" ), Description (
       "DiskPartitions can be directly realized on a PhysicalMedia. "
       "This is used to model the creation of Partitions on a raw SCSI "
       "or IDE drive, using the fdisk (DOS and Unix) or pdisk (Unix) "
       "command. The StartingAddress of the DiskPartition on the "
       "PhysicalMedia is also specified as a property of this "
       "relationship. An alternative is that Partitions can be BasedOn "
       "StorageVolumes, such as a VolumeSet or a Volume exposed by a "
       "hardware RAID cabinet. The latter relationship is modeled "
       "using the DiskPartitionBasedOnVolume association.")]
class CIM_RealizesDiskPartition : CIM_RealizesExtent {

      [Override ( "Antecedent" ), Max ( 1 ), Description (
          "The PhysicalMedia on which the Extent is realized.")]
   CIM_PhysicalMedia REF Antecedent;

      [Override ( "Dependent" ), Description (
          "The DiskPartition that is located on the Media.")]
   CIM_DiskPartition REF Dependent;
};


// ===================================================================
// TapePartition
// ===================================================================
   [Version ( "2.6.0" ), Description (
       "Capabilities and management of a TapePartition StorageExtent. "
       "Note that if a PhysicalTape is not partitioned, only a generic "
       "StorageExtent that represents the entire Tape should be "
       "instantiated. TapePartitions may be BasedOn other "
       "StorageExtents or directly Realized on a PhysicalTape.")]
class CIM_TapePartition : CIM_MediaPartition {

      [Description (
          "Number of blocks that are currently unused/not written on "
          "the Partition. When this number is multiplied by the "
          "BlockSize, inherited from StorageExtent, the total number "
          "of bytes available for writing can be computed."), 
       Gauge]
   uint64 UnusedBlocks;
};


// ===================================================================
// TapePartitionOnSurface
// ===================================================================
   [Association, Version ( "2.6.0" ), Description (
       "TapePartitionOnSurface represents the ability to have one or "
       "more TapePartitions on each surface of a PhysicalTape. The "
       "individual surfaces are represented as instances of "
       "CIM_StorageExtent.")]
class CIM_TapePartitionOnSurface : CIM_BasedOn {

      [Override ( "Antecedent" ), Max ( 1 ), Description (
          "The StorageExtent that represents the Tape's surface.")]
   CIM_StorageExtent REF Antecedent;

      [Override ( "Dependent" ), Description (
          "The TapePartition which is built on the Extent.")]
   CIM_TapePartition REF Dependent;
};


// ===================================================================
// RealizesTapePartition
// ===================================================================
   [Association, Version ( "2.6.0" ), Description (
       "TapePartitions are realized on PhysicalTape. This relationship "
       "is made explicit by the RealizesTapePartition association.")]
class CIM_RealizesTapePartition : CIM_RealizesExtent {

      [Override ( "Antecedent" ), Max ( 1 ), Description (
          "The PhysicalTape on which the Partition is realized.")]
   CIM_PhysicalTape REF Antecedent;

      [Override ( "Dependent" ), Description (
          "The TapePartition that is located on the Media.")]
   CIM_TapePartition REF Dependent;
};


// ===================================================================
// LogicalDisk
// ===================================================================
   [Version ( "2.6.0" ), Description (
       "A LogicalDisk is a presentation of a contiguous range of "
       "logical blocks that is identifiable by a FileSystem via the "
       "Disk's DeviceId (key) field. For example in a Windows "
       "environment, the DeviceID field would contain a drive letter. "
       "In a Unix environment, it would contain the access path; and "
       "in a NetWare environment, DeviceID would contain the volume "
       "name. LogicalDisks are typically built on a DiskPartition or "
       "Storage Volume (for example, exposed by a software volume "
       "manager) using the LogicalDiskBasedOnPartition or "
       "LogicalDiskBasedOn Volume associations. However, it can be "
       "based on other StorageExtents, like CIM_Memory, in the case of "
       "a RAM disk. The latter is described using the "
       "LogicalDiskBasedOnExtent relationship. (Indeed, the "
       "BasedOnExtent association is the superclass for the "
       "BasedOnPartition and BasedOnVolume relationships.)")]
class CIM_LogicalDisk : CIM_StorageExtent {
};


// ===================================================================
// LogicalDiskBasedOnExtent
// ===================================================================
   [Association, Version ( "2.6.0" ), Description (
       "LogicalDisks can be BasedOn a single StorageVolume, Memory (in "
       "the case of a RAM Disk), a DiskPartition or other "
       "StorageExtent. These relationships are made explicit in this "
       "association. Subclasses of the association, LogicalDiskBasedOn "
       "Partition and LogicalDiskBasedOnVolume, detail the 'typical' "
       "semantics.")]
class CIM_LogicalDiskBasedOnExtent : CIM_BasedOn {

      [Override ( "Antecedent" ), Max ( 1 ), Description (
          "The StorageExtent.")]
   CIM_StorageExtent REF Antecedent;

      [Override ( "Dependent" ), Description (
          "The LogicalDisk which is built on the StorageExtent.")]
   CIM_LogicalDisk REF Dependent;
};


// ===================================================================
// LogicalDiskBasedOnVolume
// ===================================================================
   [Association, Version ( "2.6.0" ), Description (
       "LogicalDisks can be BasedOn a single Volume (for example, "
       "exposed by a software volume manager), or be BasedOn a Disk "
       "Partition directly. The former relationship is made explicit "
       "in this association.")]
class CIM_LogicalDiskBasedOnVolume : CIM_LogicalDiskBasedOnExtent {

      [Override ( "Antecedent" ), Max ( 1 ), Description (
          "The StorageVolume.")]
   CIM_StorageVolume REF Antecedent;

      [Override ( "Dependent" ), Description (
          "The LogicalDisk which is built on the StorageExtent.")]
   CIM_LogicalDisk REF Dependent;
};


// ===================================================================
// LogicalDiskBasedOnPartition
// ===================================================================
   [Association, Version ( "2.6.0" ), Description (
       "LogicalDisks can be BasedOn a DiskPartition. For example, a "
       "personal computer's C: drive may be located on a Partition on "
       "local PhysicalMedia. In this association of LogicalDisks to "
       "Partitions, note that the cardinality of the Antecedent, Disk "
       "Partition, is Max (1). This dictates that a LogicalDisk can "
       "not span more than one Partition. However, there are cases "
       "where this is true. When it occurs, the LogicalDisk is really "
       "based on some kind of RAID configuration (for example, a "
       "mirror or stripe set). In these scenarios, the LogicalDisk is "
       "more correctly BasedOn a StorageVolume. To prevent incorrectly "
       "using the LogicalDiskBasedOnPartition association, the Max (1) "
       "qualifier was put on the Antecedent reference to the "
       "DiskPartition.")]
class CIM_LogicalDiskBasedOnPartition : CIM_LogicalDiskBasedOnExtent {

      [Override ( "Antecedent" ), Max ( 1 ), Description (
          "The DiskPartition.")]
   CIM_DiskPartition REF Antecedent;

      [Override ( "Dependent" ), Description (
          "The LogicalDisk which is built on the StorageExtent.")]
   CIM_LogicalDisk REF Dependent;
};


// ===================================================================
// ProtectedExtentBasedOn
// ===================================================================
   [Association, Version ( "2.7.0" ), Description (
       "Protected StorageExtents map to an underlying StorageExtent. "
       "This mapping includes information about the placement of check "
       "data on the underlying extent. The mapping is made explicit in "
       "this association.")]
class CIM_ProtectedExtentBasedOn : CIM_BasedOn {

      [Override ( "Antecedent" ), Description (
          "The underlying StorageExtent.")]
   CIM_StorageExtent REF Antecedent;

      [Override ( "Dependent" ), Description (
          "The Protected Space is built on this StorageExtent.")]
   CIM_StorageExtent REF Dependent;

      [Override ( "StartingAddress" ), Description (
          "The starting logical block address of the underlying "
          "StorageExtent from which this protected StorageExtent is "
          "derived. In SCC, this is equivalent to the START LBA_P "
          "field in the Redundancy Group P_Extent Descriptor."), 
       MappingStrings { "MIF.DMTF|Physical Extent|001.2" }]
   uint64 StartingAddress;

      [Description (
          "The size of the protected space. Note that this is limited "
          "by the Antecedent->NumberOfBlocks, but is included "
          "explicitly to provide for the DMTF MIF mapping. In SCC, "
          "this is equivalent to the NUMBER OF LBA_P(s) field in the "
          "Redundancy Group P_Extent Descriptor."), 
       MappingStrings { "MIF.DMTF|Physical Extent|001.3" }, 
       ModelCorrespondence { "CIM_StorageExtent.NumberOfBlocks" }]
   uint64 NumberOfBlocks;

      [Description (
          "The block size of the protected space. Note that this is "
          "limited by the Antecedent->BlockSize. In SCC, this is "
          "equivalent to the NUMBER OF BYTES PER LBA_P field in the "
          "Redundancy Group P_Extent Descriptor."), 
       Units ( "Bytes" ), 
       MappingStrings { "MIF.DMTF|Physical Extent|001.4" }, 
       ModelCorrespondence { "CIM_StorageExtent.BlockSize" }]
   uint64 BlockSize;

      [Description (
          "Number of bytes of user data to skip before starting the "
          "check data interleave."), 
       Units ( "Bytes" ), 
       MappingStrings { "MIF.DMTF|Physical Extent|001.6" }]
   uint64 UnitsBeforeCheckDataInterleave;

      [Description (
          "Number of bytes to be reserved for check data."), 
       Units ( "Bytes" ), 
       MappingStrings { "MIF.DMTF|Physical Extent|001.7" }]
   uint64 UnitsOfCheckData;

      [Description (
          "Number of bytes to be reserved for user data."), 
       Units ( "Bytes" ), 
       MappingStrings { "MIF.DMTF|Physical Extent|001.8" }]
   uint64 UnitsOfUserData;
};


// ===================================================================
// CompositeExtent
// ===================================================================
   [Version ( "2.7.0" ), Description (
       "A CompositeExtent is used to model the distribution of user "
       "data across one or more underlying StorageExtents, which may "
       "or not be protected by some redundancy mechanism. "
       "CompositeExtents represent a contiguous range of logical "
       "blocks. CompositeExtents may overlap, however, the underlying "
       "StorageExtents within the overlap shall not contain any check "
       "data. Distribution of check data may be specified using the "
       "CompositeExtentBasedOn association.")]
class CIM_CompositeExtent : CIM_StorageExtent {

      [Override ( "NumberOfBlocks" ), 
       MappingStrings { "MIF.DMTF|Volume Set|001.3" }]
   uint64 NumberOfBlocks;

      [Description (
          "Number of contiguous underlying StorageExtents counted "
          "before looping back to the first underlying StorageExtent "
          "of the current stripe. It is the number of StorageExtents "
          "forming the user data stripe."), 
       MappingStrings { "MIF.DMTF|Volume Set|001.4" }]
   uint64 ExtentStripeLength;

      [Description (
          "Number of StorageExtents to stripe as a collective set. In "
          "SCC, this value is defined as the number of stripes to "
          "count before continuing to map into the next contiguous set "
          "of Extents, beyond the current stripe."), 
       MappingStrings { "MIF.DMTF|Volume Set|001.5" }]
   uint64 ExtentInterleaveDepth;

      [Description (
          "True indicates that the data is concatenated across the "
          "various StorageExtents in the Group.")]
   boolean IsConcatenated;
};


// ===================================================================
// CompositeExtentBasedOn
// ===================================================================
   [Association, Version ( "2.7.0" ), Description (
       "This specialization defines how data is striped across "
       "StorageExtents. Additionally, it includes information on "
       "distribution of check data so that the 'usual case' RAID "
       "devices can be created in one step.")]
class CIM_CompositeExtentBasedOn : CIM_BasedOn {

      [Override ( "Antecedent" ), Min ( 1 ), Description (
          "The underlying StorageExtent.")]
   CIM_StorageExtent REF Antecedent;

      [Override ( "Dependent" ), Description (
          "The CompositeExtent which is built on the StorageExtent.")]
   CIM_CompositeExtent REF Dependent;

      [Required, Override ( "OrderIndex" ), Description (
          "Order matters to CompositeExtents. An example of the use of "
          "this property is when defining a RAID-0 striped array of 3 "
          "disks. The resultant RAID array is a CompositeExtent that "
          "is dependent on (as described by CompositeExtentBasedOn) "
          "the StorageExtents that represent each of the 3 disks. The "
          "OrderIndex of each CompositeExtentBasedOn association from "
          "the disk Extents to the RAID array could be specified as 1, "
          "2 and 3 to indicate the order in which the disk Extents are "
          "used to access the RAID data."), 
       MappingStrings { "MIF.DMTF|Protected Space Extent|001.1" }]
   uint16 OrderIndex;

      [Description (
          "True if logical blocks in the underlying StorageExtents are "
          "mapped in decrementing order. This property corresponds to "
          "the INCDEC value in the SCC-2 Volume Set PS_Extent "
          "Descriptor.")]
   boolean LBAsMappedByDecrementing;

      [Description (
          "True if the logical block mapping algorithm includes check "
          "data bytes. This property corresponds to the NOCHKSKIP "
          "attribute in the SCC-2 Volume Set PS_Extent Descriptor.")]
   boolean LBAMappingIncludesCheckData;

      [Description (
          "The total number of blocks that will be consumed on the "
          "Dependent Extent. This is limited by the Antecedent's "
          "NumberOfBlocks, but is included explicitly to provide for "
          "the DMTF MIF mapping. In SCC, this is equivalent to the "
          "NUMBER OF LBA_PS(s) field in the Volume Set PS_Extent "
          "Descriptor."), 
       MappingStrings { "MIF.DMTF|Protected Space Extent|001.3" }, 
       ModelCorrespondence { "CIM_StorageExtent.NumberOfBlocks" }]
   uint64 NumberOfBlocks;

      [Description (
          "The Dependent's BlockSize is limited by the Antecedent's. "
          "In SCC, this is equivalent to the NUMBER OF BYTES PER "
          "LBA_PS field in the RedundancyGroup P_Extent Descriptor."), 
       Units ( "Bytes" ), 
       MappingStrings { "MIF.DMTF|Protected Space Extent|001.4" }, 
       ModelCorrespondence { "CIM_StorageExtent.BlockSize" }]
   uint64 BlockSize;

      [Description (
          "Number of bytes which form the stripe size for the "
          "Dependent StorageExtent. If the CompositeExtent is "
          "concatenated instead of striped, then UserDataStripeDepth "
          "should be set to zero."), 
       Units ( "Bytes" ), 
       MappingStrings { "MIF.DMTF|Protected Space Extent|001.6" }]
   uint64 UserDataStripeDepth;

      [Description (
          "Number of bytes of user data to skip before starting the "
          "check data interleave."), 
       Units ( "Bytes" ), 
       MappingStrings { "MIF.DMTF|Physical Extent|001.6" }]
   uint64 UnitsBeforeCheckDataInterleave;

      [Description (
          "Number of bytes to be reserved for check data."), 
       Units ( "Bytes" ), 
       MappingStrings { "MIF.DMTF|Physical Extent|001.7" }]
   uint64 UnitsOfCheckData;

      [Description (
          "Number of bytes to be reserved for user data."), 
       Units ( "Bytes" ), 
       MappingStrings { "MIF.DMTF|Physical Extent|001.8" }]
   uint64 UnitsOfUserData;
};


// ===================================================================
// StorageError
// ===================================================================
   [Version ( "2.6.0" ), Description (
       "StorageError defines blocks of media or memory space that are "
       "mapped 'out of use' due to errors. The Key of the class is the "
       "StartingAddress of the bytes in error.")]
class CIM_StorageError : CIM_ManagedElement {

      [Key, Propagated ( "CIM_StorageExtent.SystemCreationClassName" ), 
       Description (
          "The scoping System's CreationClassName."), 
       MaxLen ( 256 )]
   string SystemCreationClassName;

      [Key, Propagated ( "CIM_StorageExtent.SystemName" ), 
       Description (
          "The scoping System's Name."), 
       MaxLen ( 256 )]
   string SystemName;

      [Key, Propagated ( "CIM_StorageExtent.CreationClassName" ), 
       Description (
          "The scoping StorageExtent's CreationClassName."), 
       MaxLen ( 256 )]
   string DeviceCreationClassName;

      [Key, Propagated ( "CIM_StorageExtent.DeviceID" ), Description (
          "The scoping StorageExtent's DeviceID."), 
       MaxLen ( 64 )]
   string DeviceID;

      [Key, Description (
          "The starting address of the bytes in error.")]
   uint64 StartingAddress;

      [Description (
          "The ending address of the bytes in error.")]
   uint64 EndingAddress;
};


// ===================================================================
// StorageDefect
// ===================================================================
   [Association, Aggregation, Version ( "2.6.0" ), Description (
       "The StorageDefect aggregation collects the StorageErrors for a "
       "StorageExtent.")]
class CIM_StorageDefect {

      [Key, Aggregate, Min ( 1 ), Max ( 1 ), Description (
          "The Extent reference defines the StorageExtent on which the "
          "errors occurred.")]
   CIM_StorageExtent REF Extent;

      [Key, Weak, Description (
          "Error references the Error object, defining the starting "
          "and ending addresses that are 'mapped out' of the Storage "
          "Extent.")]
   CIM_StorageError REF Error;
};


// ===================================================================
// end of file
// ===================================================================

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2