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

   1 karl  1.1 // ===================================================================
   2           // Title:       Physical MOF Specification 2.5
   3           // Filename:    CIM_Physical25.mof
   4           // Version:     2.5
   5           // Release:     0
   6 mike  1.2 // Status:      Final
   7           // Date:        06/12/2001
   8           // ===================================================================
   9           // Copyright "2001" Distributed Management Task Force, Inc. (DMTF).
  10           // All rights reserved.  
  11           // DMTF is a not-for-profit association of industry members dedicated 
  12           // to promoting enterprise and systems management and interoperability. 
  13           // DMTF specifications and documents may be reproduced for uses
  14           // consistent with this purpose by members and non-members, 
  15           // provided that correct attribution is given. 
  16           // As DMTF specifications may be revised from time to time, 
  17           // the particular version and release cited should always be noted.
  18           // Description: These object classes define the user and security 
  19           //              model for CIM and includes classes needed to represent
  20           //              users, groups and organizational entities as well as 
  21           //              security services and authentication and authorization 
  22           //              information.
  23           //              The object classes below are listed in an order that
  24           //              avoids forward references. Required objects, defined 
  25           //		    by other working groups, are omitted. 
  26           // ===================================================================
  27 karl  1.1 // Description: The object classes below are listed in an order that
  28           //              avoids forward references. Required objects, defined 
  29           //				by other working groups, are omitted.
  30           // ==================================================================
  31           // Date:		09/29/1998 - Original release, CIM Version 2.1 - CRs from
  32           // Author:      DMTF System and Devices Working Group
  33           // Editor:      Michael A. Thatcher
  34           // ==================================================================
  35           //	- CR237, Remove CompatibilityList from PhysicalPackage
  36           //    - CR246, Update mapping from DMI Master.MIF 
  37           //    - CR247, Remove repetition of Values arrays from the property 
  38           //          Descriptions
  39           //    - CR248, Add WriteProtectOn boolean to PhysicalMedia
  40           //    - CR253, Add PhysicalCapacity and subclasses, Remove MemoryCard
  41           //    - CR255b, Create AdjacentSlots association / Delete several Slot 
  42           //		properties from Card and the SharedSlots association
  43           //	- CR256, Add VisibleAlarm boolean to Rack and Chassis
  44           //    - CR257, Add an association, MemoryWithMedia
  45           //    - CR258a and 289, Add SpecialPurpose info to Slot
  46           //    - CR260, Remove Max(1) from the Antecedent reference of CardInSlot
  47           //    - CR262, Add RequiresDautherBoard boolean to CIM_Card
  48 karl  1.1 //    - CR263, Change description of CardOnCard.GroupComponent
  49           //    - CR264, Add CleanerMedia boolean to PhysicalMedia
  50           //	- CR266, Add PackageAlarm association
  51           //    - CR267, Make all measurements of datatype, real
  52           //	- CR269, Change the "Replaceable" descriptions for Physical
  53           //		Package and PhysicalComponent
  54           //    - CR278a, Add MediaType property to PhysicalLink
  55           //    - CR279a, Add an Index property to Slot
  56           //    - CR280, Replace SlotAdapter property with an association, 
  57           //		SlotInSlot
  58           //    - CR281a, Add SpecialRequirements info to Card
  59           //    - CR283, Add a new association PackageInSlot, and reparent 
  60           //		CardInSlot to be its child
  61           //    - CR284a, Define a new association, ConnectedTo
  62           //    - CR286a, Add TypeOfRack enumeration and CountryDesignation 
  63           //		string to Rack
  64           //    - CR287, Create superclass of Rack and Chassis, PhysicalFrame
  65           //	- CR290, Add ModelCorrespondence to "linked" properties
  66           // Date: 06/09/1999
  67           //    - CR339, Define AdapterActiveConnection association
  68           //	- CR349, Add OperatingVoltages property to Card
  69 karl  1.1 //	- CR350, Add PlatformGUID to ComputerSystemPackage
  70           //    - CR355a, Update the method descriptions for IsCompatible
  71           //		indicating that Values-ValueMap qualifiers can be defined 
  72           //		for return codes
  73           //	- CR356a, Put keys on the references of PhysicalElementLocation,
  74           //	      ElementCapacity, ParticipatesInSet and AdjacentSlots
  75           //	- CR365, Clarify the Description for RealizesDiskPartition
  76           //	- CR378a, Miscellaneous changes to enumerations, creating new
  77           //		properties and subclasses, and updating the DMI 
  78           //          MappingStrings
  79           //	- CR379a, Update MappingStrings to align with the DMI master.mif
  80           //	- CR392a, Tape support
  81           //	- CR405, Add Counter qualifier to PhysicalMedia.MountCount and
  82           //		all properties of MediaPhysicalStatInfo
  83           //	- CR407, Add to the enumeration for StorageMediaLocation.
  84           //		LocationType and add property, MediaCapacity (StorageMedia 
  85           //          Location originally defined in CR392)
  86           //	- CR417a, Add to the enumeration for ConfigurationCapacity.
  87           //          ObjectType and updated the class Description (originally 
  88           //		defined in CR392)
  89           //	- CR418a, Update Slot Description, Create RealizesExtent 
  90 karl  1.1 //          association and change subclassing for other Realizes 
  91           //		relationships to use RealizesExtent
  92           //    - CR419, Remove Max(1) from the MediaTransferDevice reference
  93           //		for DeviceServicesLocation (originally defined in CR392)
  94           //	- CR420, Add CD-DA, CD+, DVD-Audio and DVD-5,9,10,18 formats to  
  95           //          StorageMediaLocation.MediaTypesSupported and 
  96           //          PhysicalMedia.MediaType
  97           //  Date: 07/06/1999 - Version 2.2.1
  98           //	- CR423, Locale should be specified as en_US
  99           //	- CR425, Update the DMI MappingStrings using the June
 100           //		release of the master.mif
 101           //	Date  02/18/2000 - Version 2.3
 102           //		- CR431 Update MappingStrings
 103           //		- CR433 Add new properties and enums from Master.MIF and new 
 104           //			ModelCorrespondences 
 105           //		- CR435 Add additional types (Front and Back Side I/O slots, NVS,
 106           //			 Volatile, and Cache Memory) to ConfigurationCapacity. 
 107           //		- CR445e, Modify the Card class to add a ConnectorPower method
 108           //		- CR459 Add InfiniBand to the list of connectors/bus types
 109           //		- CR461 Subclass from CIM_ManagedElement Location, PhysicalCapacity 
 110           //			and ReplacementSet
 111 karl  1.1 //			Remove Description & Caption from the above classes, where exist.
 112           //	Date 06/09/2000 - Version 2.4
 113           //		- CR478 A variety of changes related to modeling the physical aspects of
 114           //			storage and StorageLibraries. 
 115           //			1. New property, Inaccessible, to DeviceServicesLocation association.
 116           //			2. Add to the enumeration for PhysicalMedia.LabelFormats
 117           //			3. Add two new properties to PhysicalMedia
 118           //			4. Define a new association, RealizedOnSide
 119           //			5. New properties to association, PhysicalMediaInLocation.
 120           //			6. Define a new association, HomeForMedia
 121           //			7. Update description for Container.LocationWithinContainer.
 122           //		- CR487, Further updates to the Storage and Storage Library Models 
 123           //			1. New property, TypeDescriptions, to StorageMediaLocation.
 124           //			2. Update ModelCorrespondence for 
 125           //				StorageMediaLocation.MediaTypesSupported due to changes in #1.  
 126           //			3. Update the Description for StorageMediaLocation.MediaTypesSupported 
 127           //				to reflect that additional info is contained in the 
 128           //				TypeDescriptions array.
 129           //			4. Add a new class, Magazine.
 130           //		- CR495, Change the Values list for CIM_MemoryCapacity.MemoryType and 
 131           //			CIM_PhysicalMemory.MemoryType 
 132 karl  1.1 //	Date 12/01/2000 Version 2.5
 133           //		- CR534 Update MappingStrings Qualifiers to stay in sync with updates to the MASTER.MIF.
 134           //
 135           // ===================================================================
 136           
 137           
 138           // ===================================================================
 139           // Generic Pragmas
 140           // ===================================================================
 141           #pragma locale ("en_US")
 142           
 143           
 144           // ===================================================================
 145           // Location
 146           // ===================================================================
 147              [Description (
 148                  "The Location class specifies the position and address of "
 149           	 "a PhysicalElement.")
 150              ]
 151           class CIM_Location : CIM_ManagedElement
 152           {
 153 karl  1.1       [Key, MaxLen (256), 
 154           	 Description (
 155           	  "Name is a free-form string defining a label for the "
 156           	  "Location. It is a part of the key for the object.")
 157           	]
 158              string Name;
 159           	[Key, MaxLen (256), 
 160           	 Description (
 161           	  "Position is a free-form string indicating the placement "
 162           	  "of a PhysicalElement.  It can specify slot information on "
 163           	  "a HostingBoard, mounting site in a Cabinet, or latitude and "
 164           	  "longitude information, for example, from a GPS. It is "
 165           	  "part of the key of the Location object.")
 166           	]
 167              string PhysicalPosition;
 168           	[MaxLen (1024), 
 169           	 Description (
 170           	  "Address is a free-form string indicating a street, building "
 171           	  "or other type of address for the PhysicalElement's Location.")
 172           	]
 173              string Address;
 174 karl  1.1 };
 175           
 176           // ==================================================================
 177           // PhysicalElementLocation
 178           // ==================================================================
 179              [Association, 
 180               Description (
 181           	 "PhysicalElementLocation associates a PhysicalElement with "
 182           	 "a Location object for inventory or replacement purposes.")
 183              ]
 184           class CIM_PhysicalElementLocation
 185           {
 186           	[Key, Description (
 187           	  "The PhysicalElement whose Location is specified.")
 188           	]
 189              CIM_PhysicalElement REF Element;
 190           	[Key, Max (1),
 191           	 Description ("The PhysicalElement's Location.")
 192           	]
 193              CIM_Location REF PhysicalLocation;
 194           };
 195 karl  1.1 
 196           // ==================================================================
 197           // PhysicalCapacity
 198           // ==================================================================
 199              [Abstract,
 200               Description ("PhysicalCapacity is an abstract class describing "
 201                  "a PhysicalElement's minimum/maximum requirements and "
 202                  "ability to support different types of hardware. For example, "
 203                  "minimum and maximum memory requirements can be modeled as a "
 204                  "subclass of CIM_PhysicalCapacity.")
 205              ]
 206           class CIM_PhysicalCapacity : CIM_ManagedElement
 207           {
 208                 [MaxLen (256),
 209                  Description ("The Name property defines the label by which "
 210                   "the PhysicalCapacity object is known.  When subclassed, "
 211                   "the Name property can be overridden to be a Key property.")
 212                 ]
 213              string Name;
 214           };
 215           
 216 karl  1.1 // =================================================================
 217           // ElementCapacity
 218           // =================================================================
 219              [Association,
 220               Description ("ElementCapacity associates a PhysicalCapacity "
 221                  "object with one or more PhysicalElements.  It serves to "
 222                  "associate a description of min/max hardware requirements "
 223                  "or capabilities (stored as a kind of PhysicalCapacity), "
 224                  "with the PhysicalElements being described.")
 225              ]
 226           class CIM_ElementCapacity
 227           {
 228                 [Key, Description (
 229                   "PhysicalCapacity describes the minimum and maximum "
 230                   "requirements, and ability to support different types of "
 231                   "hardware for a PhysicalElement.")
 232                 ]
 233              CIM_PhysicalCapacity REF Capacity;
 234                 [Key, Min(1),
 235                  Description ("The PhysicalElement being described.")
 236                 ]
 237 karl  1.1    CIM_PhysicalElement REF Element;
 238           };
 239           
 240           // ==================================================================
 241           // MemoryCapacity
 242           // ==================================================================
 243              [Description (
 244           	 "MemoryCapacity describes the type of Memory that "
 245                  "can be installed on a PhysicalElement and its minimum/maximum "
 246                  "configurations. Information on what memory is currently "
 247                  "'installed', versus an Element's min/max requirements, is "
 248                  "located in instances of the PhysicalMemory class.")
 249              ]
 250           class CIM_MemoryCapacity : CIM_PhysicalCapacity
 251           {
 252                 [Override ("Name"),
 253                  Key,
 254                  Description ("The inherited Name serves as a part of the "
 255                     "MemoryCapacity object key.")
 256                 ]
 257              string Name;
 258 karl  1.1       [Key,
 259                  Description ("The type of memory. This is a part of the object "
 260                   "key. Values correspond to the list of possible memory types "
 261                   "in the PhysicalMemory class."),
 262           		Values {"Unknown", "Other", "DRAM", "Synchronous DRAM",
 263           		"Cache DRAM", "EDO", "EDRAM", "VRAM", "SRAM", "RAM",
 264           		"ROM", "Flash", "EEPROM", "FEPROM", "EPROM", "CDRAM",
 265           		"3DRAM", "SDRAM", "SGRAM", "RDRAM", "DDR"},
 266                  ModelCorrespondence {"CIM_PhysicalMemory.MemoryType"}]
 267              uint16 MemoryType;
 268                 [Description ("Minimum amount of memory, in Kbytes, that is "
 269                   "needed for the associated PhysicalElement to operate "
 270                   "correctly. "),
 271                  Units ("KiloBytes")
 272                 ]
 273              uint64 MinimumMemoryCapacity;
 274                 [Description ("Maximum amount of memory, in Kbytes, that can be "
 275                   "supported by the associated PhysicalElement. "),
 276                  Units ("KiloBytes")
 277                 ]
 278              uint64 MaximumMemoryCapacity;
 279 karl  1.1 };
 280           
 281           // ===================================================================
 282           // ConfigurationCapacity 
 283           // ===================================================================
 284              [Description (
 285                  "ConfigurationCapacity provides information on the minimum and "
 286                  "maximum numbers of power supplies, fans, disk drives, etc. "
 287                  "that can be connected to or placed on/into a PhysicalElement "
 288                  "(and the number that must be connected/added/removed at a "
 289                  "time). The PhysicalElement whose configuration is described is "
 290                  "identified using the ElementCapacity association, inherited "
 291                  "from PhysicalCapacity. The object whose capacities are "
 292                  "indicated (ie, the power supply or fan) is identified in the "
 293                  "ObjectType property of this class. Since the same min/max "
 294                  "configurations can apply to multiple instances, this class is "
 295                  "not defined as 'weak'.\n"
 296                  "Examples of the use of the ConfigurationCapacity class are "
 297                  "to describe that a 'control unit' Chassis may be connected "
 298                  "to (at most) 4 other I/O chassis, or to describe what a "
 299                  "StorageLibrary's cabinet may contain. Continuing the latter "
 300 karl  1.1        "example, a particular StorageLibrary's cabinet might "
 301                  "hold a minimum of 3 and a maximum of 9 TapeDrives, and a "
 302                  "minimum of 88 and a maximum of 264 StorageMediaLocations "
 303                  "(\"Slots\"). This information would be described in two "
 304                  "instances of ConfigurationCapacity, both associated to the "
 305                  "StorageLibrary's PhysicalPackage.\n"
 306                  "This class does NOT represent the tradeoffs that are "
 307                  "likely to be required of one resource for another. It simply "
 308                  "represents capacities. In the case of the StorageLibrary, "
 309                  "there may be only 2 valid configurations - 9 TapeDrives with "
 310                  "88 Slots, or 3 TapeDrives with 264 Slots. This class only "
 311                  "conveys that 'up to' 9 Drives and 'up to' 264 slots may be "
 312                  "available and are supported.")
 313              ]
 314           class CIM_ConfigurationCapacity : CIM_PhysicalCapacity
 315           {
 316                 [Override ("Name"), Key, 
 317                  Description ("The inherited Name serves as a part of the "
 318                   "ConfigurationCapacity object key.")
 319                 ]
 320              string Name;
 321 karl  1.1 		[Key, 
 322           		Description ("The type of object (power supply, fan, disk "
 323           		"drive, ...) whose capacities are indicated. This information is "
 324           		"part of the class' key."), 
 325           		Values {"Other", "Processors", "Power Supplies", "Fans", 
 326           			"Batteries", "I/O Slots", "Memory Slots", 
 327           			"MediaAccessDevices (Drives)", 
 328           			"StorageMediaLocation Slots", 
 329           			"StorageMediaLocation Magazines", 
 330           			"StorageMediaLocation Panels", 
 331           			"StorageMediaLocation InterLibrary Ports", 
 332           			"StorageMediaLocation Limited Access Ports", "Doors", 
 333           			"MediaTransferDevice Pickers", 
 334           			"MediaTransferDevice Changers", "LabelReaders",
 335           			"Contained Chassis", "Connected Chassis", 
 336           			"Connected Frames", "Front Side I/O Slots", "Back Side I/O Slots",
 337           			"Cache Memory", "NVS Memory", "Volatile Memory"}, 
 338           		ModelCorrespondence {
 339           			"CIM_ConfigurationCapacity.OtherTypeDescription"}
 340           		]
 341           	uint16 ObjectType;
 342 karl  1.1       [Description (
 343                     "A string describing the object type - used when the "
 344                     "ObjectType property is set to 0 (\"Other\"). OtherType"
 345                     "Description should be set to NULL when ObjectType is any "
 346                     "value other than 0."), 
 347                  MaxLen (64), 
 348                  ModelCorrespondence {"CIM_ConfigurationCapacity.ObjectType"}
 349                 ]
 350              string OtherTypeDescription;
 351                 [Description ("Minimum number of Elements of type, ObjectType, "
 352                   "that must be installed.")
 353                 ]
 354              uint64 MinimumCapacity;
 355                 [Description (
 356                     "Maximum number of Elements of type, ObjectType, "
 357                     "that may be installed.")
 358                 ]
 359              uint64 MaximumCapacity;
 360                 [Description ("Increment in which Elements must be added or "
 361                   "removed.")
 362                 ]
 363 karl  1.1    uint32 Increment;
 364           };
 365           
 366           // ==================================================================
 367           // ReplacementSet
 368           // ==================================================================
 369              [Description (
 370           	 "The ReplacementSet class aggregates PhysicalElements that "
 371                  "must be 'replaced' or 'FRUed' together. For example, when "
 372                  "replacing a memory card, the component memory chips could "
 373                  "be removed and replaced as well. Or, a set of memory chips "
 374                  "may be specified to be replaced or upgraded together using "
 375                  "this association.")
 376              ]
 377           class CIM_ReplacementSet : CIM_ManagedElement
 378           {
 379           	[Key, MaxLen (256),
 380           	 Description (
 381           	  "Name is a free-form string defining a label for the "
 382           	  "ReplacementSet. It is the key for the object.")
 383           	]
 384 karl  1.1    string Name;
 385           };
 386           
 387           // ==================================================================
 388           // ParticipatesInSet
 389           // ==================================================================
 390              [Association,
 391               Aggregation,
 392               Description (
 393           	 "ParticipatesInSet indicates which PhysicalElements should "
 394           	 "be replaced together.")
 395              ]
 396           class CIM_ParticipatesInSet
 397           {
 398           	[Key, Aggregate,
 399           	 Description ("The ReplacementSet.")
 400           	]
 401              CIM_ReplacementSet REF Set;
 402           	[Key, Description (
 403           	  "The PhysicalElement which should be replaced with other "
 404           	  "Elements, as a Set.")
 405 karl  1.1 	]
 406              CIM_PhysicalElement REF Element;
 407           };
 408           
 409           // ==================================================================
 410           // PhysicalPackage
 411           // ==================================================================
 412              [Description (
 413           	 "The PhysicalPackage class represents PhysicalElements that "
 414           	 "contain or host other components. Examples are a Rack "
 415           	 "enclosure or an adapter Card.")
 416              ]
 417           class CIM_PhysicalPackage : CIM_PhysicalElement
 418           {
 419              	[Description (
 420           	  "A PhysicalPackage is Removable if it is designed to be "
 421           	  "taken in and out of the physical container in which it is "
 422           	  "normally found, without impairing the function of the "
 423           	  "overall packaging. A Package can still be Removable if "
 424           	  "power must be 'off' in order to perform the removal. If "
 425           	  "power can be 'on' and the Package removed, then the Element "
 426 karl  1.1 	  "is both Removable and HotSwappable. For example, an extra "
 427           	  "battery in a laptop is Removable, as is a disk drive Package "
 428           	  "inserted using SCA connectors. However, the latter is also "
 429           	  "HotSwappable.  A laptop's display is not Removable, nor "
 430           	  "is a non-redundant power supply.  Removing these "
 431           	  "components would impact the function of the overall packaging "
 432           	  "or is impossible due to the tight integration of the Package.")
 433           	]
 434              boolean Removable;
 435           	[Description (
 436           	  "A PhysicalPackage is Replaceable if it is possible to "
 437           	  "replace (FRU or upgrade) the Element with a physically "
 438           	  "different one.  For example, some ComputerSystems "
 439           	  "allow the main Processor chip to be upgraded to one of a "
 440           	  "higher clock rating. In this case, the Processor is said "
 441           	  "to be Replaceable. Another example is a power supply "
 442           	  "Package mounted on sliding rails. All Removable packages "
 443           	  "are inherently Replaceable.")
 444           	]
 445              boolean Replaceable;
 446           	[Description (
 447 karl  1.1 	  "A PhysicalPackage is HotSwappable if it is possible to "
 448           	  "replace the Element with a physically different "
 449           	  "but equivalent one while the containing Package has power "
 450           	  "applied to it (ie, is 'on').  For example, a disk drive "
 451           	  "Package inserted using SCA connectors is both Removable "
 452           	  "and HotSwappable. All HotSwappable packages are inherently "
 453           	  "Removable and Replaceable.")
 454           	]
 455              boolean HotSwappable;
 456           	[Description (
 457           	  "The height of the PhysicalPackage in inches."),
 458           	 Units ("Inches")
 459           	]
 460              real32 Height;
 461           	[Description (
 462                   "The depth of the PhysicalPackage in inches."),
 463                  Units ("Inches")
 464           	]
 465              real32 Depth;
 466           	[Description (
 467           	  "The width of the PhysicalPackage in inches."),
 468 karl  1.1 	 Units ("Inches")
 469           	]
 470              real32 Width;
 471           	[Description (
 472           	  "The weight of the PhysicalPackage in pounds."),
 473           	 Units ("Pounds")
 474           	]
 475              real32 Weight;
 476           	[Description (
 477                   "The IsCompatible method verifies whether the referenced "
 478           	  "PhysicalElement may be contained by or inserted into "
 479           	  "the PhysicalPackage. The return value should be 0 if "
 480           	  "the request was successfully executed, 1 if the request "
 481           	  "is not supported and some other value if an error "
 482           	  "occurred. In a subclass, the set of possible return codes "
 483                   "could be specified, using a ValueMap qualifier on the "
 484                   "method. The strings to which the ValueMap contents are "
 485                   "'translated' may also be specified in the subclass as a "
 486                   "Values array qualifier.")
 487                 ]
 488              uint32 IsCompatible([IN] CIM_PhysicalElement REF ElementToCheck);
 489 karl  1.1 };
 490           
 491           // ==================================================================
 492           // Container
 493           // ==================================================================
 494              [Association,
 495               Aggregation,
 496               Description (
 497           	 "The Container association represents the relationship "
 498           	 "between a contained and a containing PhysicalElement. "
 499           	 "A containing object must be a PhysicalPackage.")
 500              ]
 501           class CIM_Container : CIM_Component
 502           {
 503           	[Override ("GroupComponent"),
 504           	 Aggregate, Max (1),
 505           	 Description (
 506           	  "The PhysicalPackage that contains other PhysicalElements, "
 507           	  "including other Packages.")
 508           	]
 509              CIM_PhysicalPackage REF GroupComponent;
 510 karl  1.1 	[Override ("PartComponent"),
 511           	 Description (
 512           	  "The PhysicalElement which is contained in the Package.")
 513           	]
 514              CIM_PhysicalElement REF PartComponent;
 515           	[Description (
 516                   "A free-form string representing the positioning of the "
 517                   "PhysicalElement within the PhysicalPackage. Information "
 518                   "relative to stationary elements in the Container (for "
 519                   "example, 'second drive bay from the top'), angles, "
 520                   "altitudes and other data may be recorded in this property. "
 521                   "This string could supplement or be used in place of "
 522                   "instantiating the CIM_Location object.")
 523           	]
 524              string LocationWithinContainer;
 525           };
 526           
 527           // ==================================================================
 528           // PhysicalFrame
 529           // ==================================================================
 530              [Description ("PhysicalFrame is a superclass of Rack, Chassis and "
 531 karl  1.1        "other frame enclosures, as they are defined in extension "
 532                  "classes. Properties like visible or audible alarm, and data "
 533                  "related to security breaches are in this superclass." )
 534              ]
 535           class CIM_PhysicalFrame : CIM_PhysicalPackage
 536           {
 537                 [Description ("CableManagementStrategy is a free-form string "
 538                   "that contains information on how the various cables are "
 539                   "connected and bundled for the Frame. With many networking, "
 540                   "storage-related and power cables, cable management can be "
 541                   "a complex and challenging endeavor. This string property "
 542                   "contains information to aid in assembly and service "
 543                   "of the Frame.")
 544                 ]
 545              string CableManagementStrategy;
 546                 [Description (
 547           	  "ServicePhilosophy is an enumerated, integer-valued "
 548                   "array that indicates whether the Frame is serviced from the "
 549                   "top (value=2), front (3), back (4) or side (5), whether it "
 550           	  "has sliding trays (6) or removable sides (7), and/or whether "
 551           	  "the Frame is moveable (8), for example, having rollers."),
 552 karl  1.1        ArrayType ("Indexed"), 
 553                  Values {"Unknown", "Other", "Service From Top"
 554                        "Service From Front", "Service From Back", 
 555                        "Service From Side", "Sliding Trays", 
 556                        "Removable Sides", "Moveable"},
 557           	 ModelCorrespondence {"CIM_PhysicalFrame.ServiceDescriptions"}
 558                 ]
 559              uint16 ServicePhilosophy[];
 560                 [Description ("An array of free-form strings providing more "
 561                   "detailed explanations for any of the entries in the Service"
 562                   "Philosophy array. Note, each entry of this array "
 563                   "is related to the entry in ServicePhilosophy that is "
 564                   "located at the same index."),
 565                  ArrayType ("Indexed"),
 566           	 ModelCorrespondence {"CIM_PhysicalFrame.ServicePhilosophy"}
 567                 ]
 568              string ServiceDescriptions[];
 569                 [Description ("Boolean indicating whether the Frame is protected "
 570                   "with a lock.")
 571                 ]
 572              boolean LockPresent;
 573 karl  1.1       [Description ("Boolean indicating whether the Frame is equipped "
 574                   "with an audible alarm.")
 575                 ]
 576              boolean AudibleAlarm; 
 577                 [Description ("Boolean indicating that the equipment includes "
 578                   "a visible alarm.")
 579                 ]
 580              boolean VisibleAlarm;
 581                 [Description ("SecurityBreach is an enumerated, integer-valued "
 582                   "property indicating whether a physical breach of the Frame "
 583                   "was attempted but unsuccessful (value=4) or attempted and "
 584           	  "successful (5). Also, the values, \"Unknown\", \"Other\" or "
 585           	  "\"No Breach\", can be specified."),
 586           	 ValueMap {"1", "2", "3", "4", "5"},
 587                  Values {"Other", "Unknown", "No Breach", "Breach Attempted", 
 588                        "Breach Successful"},
 589           	 MappingStrings {
 590           	       "MIF.DMTF|Physical Container Global Table|004"},
 591           	 ModelCorrespondence {"CIM_PhysicalFrame.BreachDescription"}
 592                 ]
 593              uint16 SecurityBreach;
 594 karl  1.1       [Description ("BreachDescription is a free-form string providing "
 595                   "more information if the SecurityBreach property indicates "
 596                   "that a breach or some other security-related event "
 597                   "occurred."),
 598           	 ModelCorrespondence {"CIM_PhysicalFrame.SecurityBreach"}
 599                 ]
 600              string BreachDescription;
 601                 [Description (
 602                   "Boolean indicating that the Frame is currently locked.")
 603                 ]
 604              boolean IsLocked;
 605           };
 606           
 607           // ==================================================================
 608           //    Rack
 609           // ==================================================================
 610              [Description (
 611                  "A Rack is a PhysicalFrame that represents an enclosure in "
 612           	 "which Chassis are placed. Typically a Rack is nothing more "
 613           	 "than the enclosure, and all the functioning componentry is "
 614           	 "packaged in the Chassis, loaded in the Rack.")
 615 karl  1.1    ]
 616           class CIM_Rack : CIM_PhysicalFrame
 617           {
 618           	[Override ("Height"),
 619           	 Description (
 620           	  "The height of the PhysicalPackage in 'U's. A 'U' is a "
 621           	  "standard unit of measure for the height of a Rack or "
 622           	  "rack-mountable component. It is equal to 1.75 inches or "
 623           	  "4.445 cm."),
 624           	 Units ("Us")
 625           	]
 626              real32 Height;
 627           	[Description ("Enumeration indicating the type of Rack."
 628           	  "Information such as \"Telco\" rack (value=2) or standard "
 629           	  "19 inch rack (1) can be specified. The country for which "
 630           	  "the Rack is manufactured is defined in the the Country"
 631           	  "Designation property."),
 632           	 Values {"Unknown", "Standard 19 Inch", "Telco", 
 633           	       "Equipment Shelf", "Non-Standard"},
 634           	 ModelCorrespondence {"CIM_Rack.CountryDesignation"}
 635           	]
 636 karl  1.1    uint16 TypeOfRack;
 637           	[Description ("Designation of the country for which the Rack "
 638                   "is designed. Country code strings are as defined by "
 639                   "ISO/IEC 3166. The rack type is specified in the TypeOf"
 640                   "Rack property."),
 641                  ModelCorrespondence {"CIM_Rack.TypeOfRack"} ]
 642              string CountryDesignation;
 643           };
 644           
 645           // ==================================================================
 646           //    Chassis
 647           // ==================================================================
 648              [Description (
 649           	 "The Chassis class represents the PhysicalElements that "
 650           	 "enclose other Elements and provide definable functionality, "
 651           	 "such as a desktop, processing node, UPS, disk or tape storage, "
 652           	 "or a combination of these.")
 653              ]
 654           class CIM_Chassis : CIM_PhysicalFrame
 655           {
 656           	[Description (
 657 karl  1.1 	  "Integer indicating the number of power cords which must be "
 658           	  "connected to the Chassis, for all the componentry to "
 659           	  "operate.")
 660           	]
 661              uint16 NumberOfPowerCords;
 662              	[Description (
 663           	  "Current required by the Chassis at 120V. If power is "
 664           	  "provided by the Chassis (as in the case of a UPS), this "
 665           	  "property may indicate the amperage produced, as a negative "
 666           	  "number."),
 667           	 Units ("Amps at 120 Volts")
 668           	]
 669              sint16 CurrentRequiredOrProduced;
 670           	[Description (
 671           	  "Amount of heat generated by the Chassis in BTU/hour."),
 672           	  Units ("BTU per Hour")
 673           	]
 674              uint16 HeatGeneration;
 675           	[Description (
 676           	  "An enumerated, integer-valued array indicating the type of "
 677           	  "Chassis."),
 678 karl  1.1 	 ArrayType ("Indexed"),
 679           	 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
 680           		     "11", "12", "13", "14", "15", "16", "17", "18", "19",
 681           		     "20", "21", "22", "23", "24"},
 682           	 Values {"Other", "Unknown", "Desktop", "Low Profile Desktop",
 683           		 "Pizza Box", "Mini Tower", "Tower", "Portable", "LapTop",
 684           		 "Notebook", "Hand Held", "Docking Station", "All in One",
 685           		 "Sub Notebook", "Space-Saving", "Lunch Box",
 686           		 "Main System Chassis", "Expansion Chassis", "SubChassis",
 687           		 "Bus Expansion Chassis", "Peripheral Chassis",
 688           		 "Storage Chassis", "Rack Mount Chassis",
 689           		 "Sealed-Case PC"},
 690           	 MappingStrings {
 691           		 "MIF.DMTF|Physical Container Global Table|004"},
 692           	 ModelCorrespondence {"CIM_Chassis.TypeDescriptions"}
 693           	]
 694              uint16 ChassisTypes[];
 695           	[Description (
 696           	  "An array of free-form strings providing more information "
 697           	  "on the ChassisTypes array entries. Note, each entry of this "
 698           	  "array is related to the entry in ChassisTypes that is "
 699 karl  1.1 	  "located at the same index."),
 700           	 ArrayType ("Indexed"),
 701           	 ModelCorrespondence {"CIM_Chassis.ChassisTypes"}
 702           	]
 703              string TypeDescriptions[];
 704           };
 705           
 706           // ==================================================================
 707           // ChassisInRack
 708           // ==================================================================
 709              [Association,
 710               Aggregation,
 711               Description (
 712           	 "Racks, as simple enclosures, contain Chassis that provide "
 713           	 "the physical componentry realizing processing nodes, "
 714           	 "storage devices, UPSs, etc. The ChassisInRack association "
 715           	 "makes explicit the 'containing' relationship between the "
 716           	 "Rack and the Chassis.")
 717              ]
 718           class CIM_ChassisInRack : CIM_Container
 719           {
 720 karl  1.1 	[Override ("GroupComponent"),
 721           	 Aggregate, Max (1),
 722           	 Description ("The Rack that contains the Chassis.")
 723           	]
 724              CIM_Rack REF GroupComponent;
 725           	[Override ("PartComponent"),
 726           	 Description ("The Chassis which is mounted in the Rack.")
 727           	]
 728              CIM_Chassis REF PartComponent;
 729           	[Description (
 730           	  "An integer indicating the lowest or 'bottom' U in which "
 731           	  "the Chassis is mounted. A 'U' is a standard unit of "
 732           	  "measure for the height of a Rack or rack-mountable "
 733           	  "component. It is equal to 1.75 inches or 4.445 cm."),
 734           	 Units ("Us")
 735           	]
 736              uint16 BottomU;
 737           };
 738           
 739           // ==================================================================
 740           // PackageInChassis
 741 karl  1.1 // ==================================================================
 742              [Association,
 743               Aggregation,
 744               Description (
 745                  "A Chassis can contain other Packages, such as other Chassis "
 746                  "and Cards. The PackageInChassis association makes explicit "
 747                  "this relationship.")
 748              ]
 749           class CIM_PackageInChassis : CIM_Container
 750           {
 751           	[Override ("GroupComponent"),
 752                  Aggregate, Max (1),
 753                  Description (
 754                   "The Chassis that contains other PhysicalPackages.")
 755           	]
 756              CIM_Chassis REF GroupComponent;
 757                 [Override ("PartComponent"),
 758           	 Description (
 759           	  "The PhysicalPackage which is contained in the Chassis.")
 760           	]
 761              CIM_PhysicalPackage REF PartComponent;
 762 karl  1.1 };
 763           
 764           // ==================================================================
 765           // Docked
 766           // ==================================================================
 767              [Association,
 768               Description (
 769           	 "A laptop, a type of Chassis, may be docked in another "
 770           	 "type of Chassis, a Docking Station. This is the relationship "
 771           	 "represented by the Docked association. Because this is "
 772           	 "such a typical relationship, it is explicitly described."),
 773               MappingStrings {"MIF.DMTF|Dynamic States|001.2"}
 774              ]
 775           class CIM_Docked : CIM_Dependency
 776           {
 777           	[Override ("Antecedent"),
 778           	 Max (1),
 779           	 Description ("The Docking Station.")
 780           	]
 781              CIM_Chassis REF Antecedent;
 782           	[Override ("Dependent"),
 783 karl  1.1 	 Max (1),
 784           	 Description ("The Laptop that is 'Docked'.")
 785           	]
 786              CIM_Chassis REF Dependent;
 787           };
 788           
 789           // ==================================================================
 790           // Card
 791           // ==================================================================
 792              [Description (
 793           	 "The Card class represents a type of physical container that "
 794           	 "can be plugged into another Card or HostingBoard, or is "
 795           	 "itself a HostingBoard/Motherboard in a Chassis. The CIM_Card "
 796           	 "class includes any package capable of carrying signals and "
 797           	 "providing a mounting point for PhysicalComponents, such as "
 798           	 "Chips, or other PhysicalPackages, such as other Cards.")
 799              ]
 800           class CIM_Card : CIM_PhysicalPackage
 801           {
 802           	[Description (
 803           	  "Boolean indicating that this Card is a Motherboard or, "
 804 karl  1.1 	  "more generically, a baseboard in a Chassis.")
 805           	]
 806              boolean HostingBoard;
 807           	[Description (
 808           	  "SlotLayout is a free-form string that describes the "
 809           	  "slot positioning, typical usage, restrictions, individual "
 810           	  "slot spacings or any other pertinent information for the "
 811           	  "slots on a Card.")
 812           	]
 813              string SlotLayout;
 814           	[Description (
 815           	  "Boolean indicating that at least one daughterboard or "
 816           	  "auxiliary Card is required in order to function properly.")
 817           	]
 818              boolean RequiresDaughterBoard;
 819           	[Description ("Boolean indicating that this Card is physically "
 820           	  "unique from other Cards of the same type and therefore "
 821           	  "requires a special Slot. For example, a double-wide Card "
 822           	  "requires two Slots. Another example is where a certain Card "
 823           	  "may be used for the same general function as other Cards but "
 824           	  "requires a special Slot (e.g., extra long), whereas the "
 825 karl  1.1 	  "other Cards can be placed in any available Slot. "
 826           	  "If set to TRUE, then the corresponding property, "
 827           	  "RequirementsDescription, should specify the nature of the "
 828           	  "uniqueness or purpose of the Card."),
 829           	 ModelCorrespondence{"CIM_Card.RequirementsDescription"}
 830           	]
 831              boolean SpecialRequirements;
 832           	[Description ("A free-form string describing the way(s) in which "
 833           	  "this Card is physically unique from other Cards. This "
 834           	  "property only has meaning when the corresponding boolean "
 835           	  "property, SpecialRequirements, is set to TRUE."),
 836            	 ModelCorrespondence{"CIM_Card.SpecialRequirements"}
 837           	]
 838              string RequirementsDescription;
 839                 [Description ("Operating voltages required by the Card."),
 840                  Units("MilliVolts")
 841                 ]
 842              sint16 OperatingVoltages[];
 843                   [Description (
 844                    "This method manipulates the power to a PhysicalConnector on a Card. "
 845                    "It is intended to be used by a Card (especially by a motherboard - "
 846 karl  1.1          "i.e., HostingBoard=TRUE) to turn the power on and off for a "
 847                    "specific PhysicalConnector located on it. For example, in a personal "
 848                    "computer, a system slot does not know how to turn itself on and off. "
 849                    "However, the motherboard hosting this slot may have that capability. "
 850                    "This is important in order to support hot swapping of an adapter card "
 851                    "in a system slot. The method should return 0 if successful, 1 if the request "
 852                    "is not supported, and some other value if any other error occurred. In "
 853                    "a subclass, the set of possible return codes could be specified, using "
 854                    "a ValueMap qualifier on the method. The strings to which the ValueMap "
 855                    "contents are 'translated' may also be specified in the subclass as a "
 856                    "Values array qualifier.") ]
 857              uint32 ConnectorPower([IN] CIM_PhysicalConnector REF Connector,
 858                                    [IN] boolean PoweredOn);
 859           };
 860           
 861           // ==================================================================
 862           // SystemBusCard
 863           // ==================================================================
 864              [Description (
 865                  "The SystemBusCard class represents additional information "
 866                  "for a CIM_Card, detailing the Card's bus type and data width. "
 867 karl  1.1        "These properties dictate the type of Slot into which the Card "
 868                  "can be inserted. For example, using the properties of this "
 869                  "class, one can define that a Card is a PCI, 64 bit adapter.")
 870              ]
 871           class CIM_SystemBusCard : CIM_Card
 872           {
 873                 [Description (
 874                   "An enumerated integer describing the System bus type for "
 875                   "this Card. It indicates the type of Slot into which the "
 876                   "Card can plug. The list of permissible values aligns with "
 877                   "the System bus types in CIM_PhysicalConnector.Connector"
 878                   "Type."),
 879                  ValueMap {"43", "44", "45", "46", "47", "48", "49", "50", 
 880                          "52", "64", "65", "73", "74", "75", "76", "77", "78", 
 881                          "79", "80", "81", "82", "83", "84", "85", "86", "87", 
 882                          "98", "99", "100", "101", "102", "103", "104", "105", 
 883                          "106", "109", "110"},
 884                  Values {"PCI", "ISA", "EISA", "VESA", "PCMCIA", 
 885                        "PCMCIA Type I", "PCMCIA Type II", "PCMCIA Type III", 
 886                        "CardBus", "Access.bus", "NuBus", "AGP", "VME Bus", 
 887                        "VME64", "Proprietary", 
 888 karl  1.1              "Proprietary Processor Card Slot", 
 889                        "Proprietary Memory Card Slot", 
 890                        "Proprietary I/O Riser Slot", "PCI-66MHZ", "AGP2X", 
 891                        "AGP4X", "PC-98", "PC-98-Hireso", "PC-H98", 
 892                        "PC-98Note", "PC-98Full", "PCI-X", 
 893                        "Sbus IEEE 1396-1993 32 bit", 
 894                        "Sbus IEEE 1396-1993 64 bit", "MCA", "GIO", "XIO", 
 895                        "HIO", "NGIO", "PMC", "Future I/O", "InfiniBand"},
 896                  ModelCorrespondence {"CIM_PhysicalConnector.ConnectorType"}
 897                 ]
 898              uint16 BusType;
 899                 [Description (
 900                   "System bus width (in bits) required by this Card. If "
 901                   "'unknown', enter 0. If 'other' than the values, 8, 16, "
 902                   "32, 64 or 128, enter 1. The list of permissible values "
 903                   "aligns with the data in CIM_Slot.MaxBusWidth."),
 904                  Units ("Bits"),
 905                  ValueMap {"0", "1", "8", "16", "32", "64", "128"},
 906                  ModelCorrespondence {"CIM_Slot.MaxBusWidth"}
 907                 ]
 908              uint16 BusWidth;
 909 karl  1.1 };
 910           
 911           // ==================================================================
 912           // CardOnCard
 913           // ==================================================================
 914              [Association,
 915               Aggregation,
 916               Description (
 917           	  "Cards may be plugged into Motherboards/baseboards, are "
 918           	  "daughtercards of an adapter, or support special Card-like "
 919           	  "modules. These relationships are described by the CardOnCard "
 920           	  "association.")
 921              ]
 922           class CIM_CardOnCard : CIM_Container
 923           {
 924           	[Override ("GroupComponent"),
 925           	 Aggregate,
 926                  Max (1),
 927           	 Description ("The Card that hosts another Card.")
 928           	]
 929              CIM_Card REF GroupComponent;
 930 karl  1.1 	[Override ("PartComponent"),
 931           	 Description (
 932           	  "The Card that is plugged into or otherwise mounted on "
 933           	  "another Card.")
 934           	]
 935              CIM_Card REF PartComponent;
 936           	[Description (
 937           	  "A string describing and identifying how the Card is "
 938           	  "mounted on or plugged into the 'other' Card. Slot "
 939           	  "information could be included in this field and may be "
 940           	  "sufficient for certain management purposes. If so, "
 941           	  "this avoids creating instantiations of Connector/Slot "
 942           	  "objects just to model the relationship of Cards to "
 943           	  "HostingBoards or other adapters. On the other hand, "
 944           	  "if Slot and Connector information is available, this "
 945           	  "field could be used to provide more detailed mounting "
 946           	  "or slot insertion data.")
 947           	]
 948              string MountOrSlotDescription;
 949           };
 950           
 951 karl  1.1 // ===================================================================
 952           // StorageMediaLocation 
 953           // ===================================================================
 954              [Description (
 955                  "StorageMediaLocation is a PhysicalElement where PhysicalMedia "
 956                  "may be placed. This class describes an entity that holds Media "
 957                  "and is not just a 'place' (as is conveyed by the CIM_Location "
 958                  "object). This class is typically used in the context of a "
 959                  "StorageLibrary. Examples of StorageMediaLocations are Media"
 960                  "AccessDevices, InterLibraryPorts or 'slots' in a Library's "
 961                  "panel.")
 962              ]
 963           class CIM_StorageMediaLocation : CIM_PhysicalPackage
 964           {
 965                 [Description (
 966                   "The type of Location. For example, whether this is an "
 967                   "individual Media \"Slot\" (value=2), a MediaAccessDevice "
 968                   "(value=4) or a \"Magazine\" (value=3) is indicated in this "
 969                   "property."),
 970                  Values {"Unknown", "Other", "Slot", "Magazine", 
 971                        "MediaAccessDevice", "InterLibrary Port", 
 972 karl  1.1              "Limited Access Port", "Door", "Shelf", "Vault"}
 973                 ]
 974              uint16 LocationType;
 975                 [Description (
 976                   "LocationCoordinates represent the physical location of the "
 977                   "the StorageMediaLocation instance. The property is defined "
 978                   "as a free-form string to allow the location information to "
 979                   "be described in vendor-unique terminology.")
 980                 ]
 981              string LocationCoordinates;
 982                 [Description (
 983                     "  Certain StorageMediaLocations may only be able to accept a "
 984                     "limited set of PhysicalMedia MediaTypes. This property "
 985                     "defines an array containing the types of Media that are "
 986                     "acceptable for placement in the Location. Additional "
 987                     "information and description of the contained MediaTypes "
 988                     "can be provided using the TypesDescription array. Also, "
 989                     "size data (for example, DVD disc diameter) can be specified "
 990                     "using the MediaSizesSupported array. \n\n"
 991                     "  Values defined here correspond to those in the CIM_Physical"
 992                     "Media.MediaType property. This allows quick comparisons using "
 993 karl  1.1           "value equivalence calculations. It is understood that there "
 994                     "is no external physical difference between (for example) DVD-"
 995                     "Video and DVD-RAM. But, equivalent values in both the Physical"
 996                     "Media and StorageMediaLocation enumerations allows for one "
 997                     "for one comparisons with no additional processing logic "
 998                     "(i.e., the following is not required ... if \"DVD-Video\" "
 999                     "then value=\"DVD\")."),
1000                  ArrayType ("Indexed"), 
1001                  Values {"Unknown", "Other", "Tape Cartridge", "QIC Cartridge", 
1002                        "AIT Cartridge", "DTF Cartridge", "DAT Cartridge", 
1003                        "8mm Tape Cartridge", "19mm Tape Cartridge", 
1004                        "DLT Cartridge", "Half-Inch Magnetic Tape Cartridge", 
1005                        "Cartridge Disk", "JAZ Disk", "ZIP Disk", "SyQuest Disk", 
1006                        "Winchester Removable Disk", "CD-ROM", "CD-ROM/XA", 
1007                        "CD-I", "CD Recordable", "WORM", "Magneto-Optical", 
1008                        "DVD", "DVD-RW+", "DVD-RAM", "DVD-ROM", "DVD-Video", 
1009                        "Divx", "Floppy/Diskette", "Hard Disk", "Memory Card", 
1010                        "Hard Copy", "Clik Disk", "CD-RW", "CD-DA", "CD+", 
1011                        "DVD Recordable", "DVD-RW", "DVD-Audio", "DVD-5", "DVD-9", 
1012                        "DVD-10", "DVD-18", "Magneto-Optical Rewriteable", 
1013                        "Magneto-Optical Write Once", 
1014 karl  1.1              "Magneto-Optical Rewriteable (LIMDOW)", 
1015                        "Phase Change Write Once", "Phase Change Rewriteable", 
1016                        "Phase Change Dual Rewriteable", "Ablative Write Once", 
1017                        "Near Field Recording", "MiniQic", "Travan", 
1018                        "8mm Metal Particle", "8mm Advanced Metal Evaporate", 
1019                        "NCTP", "LTO Ultrium", "LTO Accelis", "9 Track Tape", 
1020                        "18 Track Tape", "36 Track Tape", "Magstar 3590", 
1021                        "Magstar MP", "D2 Tape", "Tape - DST Small", 
1022                        "Tape - DST Medium", "Tape - DST Large"}, 
1023                  ModelCorrespondence {"CIM_PhysicalMedia.MediaType", 
1024                        "CIM_StorageMediaLocation.MediaSizesSupported"}
1025                 ]
1026              uint16 MediaTypesSupported[];
1027                 [Description (
1028                      "The sizes (in inches) of the particular MediaTypes that may "
1029                      "be placed in the Location. Note, each entry of this array "
1030                      "is related to the entry in the MediaTypesSupported array that "
1031                      "is located at the same index."), 
1032                  ArrayType ("Indexed"), Units ("Inches"), 
1033                  ModelCorrespondence {"CIM_PhysicalMedia.MediaType", 
1034                        "CIM_StorageMediaLocation.MediaSizesSupported",
1035 karl  1.1 			 "CIM_StorageMediaLocation.TypeDescriptions"}
1036                 ]
1037              real32 MediaSizesSupported[];
1038                 [Description (
1039                   "A StorageMediaLocation may hold more than one PhysicalMedia - "
1040                   "for example, a Magazine. This property indicates the Physical"
1041                   "Media capacity of the Location.")
1042                 ]
1043              uint32 MediaCapacity;
1044                    [Description (
1045                   "This property provides additional detail related to the "
1046                   "entries in the MediaTypesSupported array. This is "
1047                   "especially critical when the MediaTypesSupported value "
1048                   "is 1 (\"Other\"). Note, each entry of this array is "
1049                   "related to the entry in MediaTypesSupported that is "
1050                   "located at the same index. "),
1051                  ArrayType ("Indexed"),
1052                  ModelCorrespondence {
1053                      "CIM_StorageMediaLocation.MediaTypesSupported"}
1054                 ]
1055              string TypeDescriptions[];
1056 karl  1.1 };
1057           
1058           // ===================================================================
1059           // Magazine 
1060           // ===================================================================
1061              [Description (
1062                  "StorageMediaLocations are typically slots or spaces where "
1063                  "removable media are located. However, a specific kind of "
1064                  "MediaLocation is a Magazine. This entity represents a single "
1065                  "physical container with multiple StorageMediaLocations in it. "
1066                  "All the MediaLocations within the Magazine are added/removed "
1067                  "together. Often, this container has a Barcode or other label "
1068                  "for identification. This is the unique data captured in the "
1069                  "CIM_Magazine class.  Magazine's label properties are defined "
1070                  "exactly as are labels for PhysicalMedia. ")
1071              ]
1072           class CIM_Magazine : CIM_StorageMediaLocation 
1073           {
1074                 [Description (
1075                   "One or more strings on 'labels' on the Magazine. The "
1076                   "format of the labels and their state (readable, unreadable, "
1077 karl  1.1         "upside-down) are indicated in the corresponding LabelFormats "
1078                   "and LabelStates array properties."), 
1079                  ArrayType ("Indexed"),
1080                  ModelCorrespondence {"CIM_Magazine.LabelStates", 
1081                           "CIM_Magazine.LabelFormats"}
1082                 ]
1083              string PhysicalLabels[];
1084                 [Description (
1085                   "An array of enumerated integers describing the states of "
1086                   "each of the labels on a Magazine. The Labels themselves "
1087                   "are listed in the PhysicalLabels property. Note, each entry of "
1088                   "this array is related to the entry in PhysicalLabels that is "
1089                   "located at the same index."),
1090                  ArrayType ("Indexed"), 
1091                  Values {"OK/Readable", "Unreadable", "Upside Down"}, 
1092                  ModelCorrespondence {"CIM_Magazine.PhysicalLabels"}
1093                 ]
1094              uint16 LabelStates[];
1095                 [Description (
1096                   "An array of enumerated integers describing the formats of "
1097                   "each of the labels on a Magazine. The Labels themselves "
1098 karl  1.1         "are listed in the PhysicalLabels property. Note, each entry of "
1099                   "this array is related to the entry in PhysicalLabels that is "
1100                   "located at the same index."), 
1101                  ArrayType ("Indexed"), 
1102                  Values {"Barcode", "Radio Frequency Identification", 
1103                        "OCR (Optical Character Recognition)", 
1104                        "MICR (Magnetic Ink Character Recognition)",
1105                        "7 Character Barcode", "9 Character Barcode"}, 
1106                  ModelCorrespondence {"CIM_Magazine.PhysicalLabels"}
1107                 ]
1108              uint16 LabelFormats[];
1109           };
1110           
1111           // ===================================================================
1112           // DeviceServicesLocation 
1113           // ===================================================================
1114              [Association, Description (
1115                  "Within an automated StorageLibrary, Media should be accessible "
1116                  "to the various robotics and MediaTransferDevices (Pickers, "
1117                  "Changers, InterLibraryPorts, etc.). The Library may be "
1118                  "serviced by different TransferDevices, each responsible for "
1119 karl  1.1        "a subset of the Library's StorageMediaLocations. The Device"
1120                  "ServicesLocation association indicates that the Transfer"
1121                  "Device handles Media stored in the referenced Location. "
1122                  "For example, LibraryPort 'A' may only service Media from "
1123                  "Slots 1-10, while LibraryPort 'B' covers Slots 11-33. "
1124                  "This detail is conveyed by this association.")
1125              ]
1126           class CIM_DeviceServicesLocation : CIM_Dependency
1127           {
1128                 [Override ("Antecedent"), Description (
1129                   "The MediaTransferDevice that handles Media from the "
1130                   "StorageMediaLocation.")
1131                 ]
1132              CIM_MediaTransferDevice REF Antecedent;
1133                 [Override ("Dependent"), Description (
1134                   "The MediaLocation that is serviced.")
1135                 ]
1136              CIM_StorageMediaLocation REF Dependent;
1137                 [Description (
1138                   "Boolean indicating that the referenced StorageMediaLocation "
1139                   "is not currently accessible to the MediaTransferDevice. For "
1140 karl  1.1         "example, the Location could be the realization of an "
1141                   "InterLibraryPort that is currently servicing another "
1142                   "Library. The DeviceServicesLocation association describes "
1143                   "that the TransferDevice COULD service the MediaLocation. "
1144                   "This boolean indicates that that this is temporarily not "
1145                   "possible.")
1146                 ] 
1147              boolean Inaccessible;
1148           
1149           };
1150           
1151           // ==================================================================
1152           // PhysicalComponent
1153           // ==================================================================
1154              [Description (
1155                  "The PhysicalComponent class represents any low-level or "
1156                  "basic Component within a Package. A Component object either "
1157                  "can not or does not need to be decomposed into its "
1158                  "constituent parts. For example, an ASIC (or Chip) can not be "
1159                  "further decomposed. A tape for data storage (PhysicalMedia) "
1160                  "does not need to be decomposed. Any PhysicalElement that is "
1161 karl  1.1        "not a Link, Connector, or Package is a descendent (or "
1162                  "member) of this class. For example, the UART chipset on an "
1163                  "internal modem Card would be a subclass (if additional "
1164                  "properties or associations are defined) or an instance of "
1165                  "PhysicalComponent.")
1166              ]
1167           class CIM_PhysicalComponent : CIM_PhysicalElement
1168           {
1169           	[Description (
1170           	  "A PhysicalComponent is Removable if it is designed to be "
1171           	  "taken in and out of the physical container in which it is "
1172           	  "normally found, without impairing the function of the "
1173           	  "overall packaging. A Component can still be Removable if "
1174           	  "power must be 'off' in order to perform the removal. If "
1175           	  "power can be 'on' and the Component removed, then the Element "
1176           	  "is both Removable and HotSwappable. For example, an "
1177           	  "upgradeable Processor chip is Removable.")
1178           	]
1179              boolean Removable;
1180           	[Description (
1181           	  "A PhysicalComponent is Replaceable if it is possible to "
1182 karl  1.1 	  "replace (FRU or upgrade) the Element with a physically "
1183           	  "different one.  For example, some ComputerSystems "
1184           	  "allow the main Processor chip to be upgraded to one of a "
1185           	  "higher clock rating. In this case, the Processor is said "
1186           	  "to be Replaceable. All Removable Components are "
1187           	  "inherently Replaceable.")
1188           	]
1189              boolean Replaceable;
1190           	[Description (
1191           	  "A PhysicalComponent is HotSwappable if it is possible to "
1192           	  "replace the Element with a physically different "
1193           	  "but equivalent one while the containing Package has power "
1194           	  "applied to it (ie, is 'on').  For example, a fan Component "
1195           	  "may be designed to be HotSwappable. All HotSwappable "
1196           	  "Components are inherently Removable and Replaceable.")
1197           	]
1198              boolean HotSwappable;
1199           };
1200           
1201           // ==================================================================
1202           // PackagedComponent 
1203 karl  1.1 // ==================================================================
1204              [Association,
1205               Aggregation,
1206               Description (
1207           	 "A Component is typically contained by a PhysicalPackage, such "
1208           	 "as a Chassis or Card. The PackagedComponent association makes "
1209           	 "this relationship explicit. In the first sentence, the word, "
1210           	 "'typically', is used. This is because a Component may be "
1211           	 "removed from, or not yet inserted into, its containing "
1212           	 "Package (ie, the Removable boolean is TRUE). Therefore, a "
1213           	 "Component may not always be associated with a container.")
1214              ]
1215           class CIM_PackagedComponent : CIM_Container
1216           {
1217           	[Override ("GroupComponent"),
1218           	 Aggregate, Max (1),
1219           	 Description ("The PhysicalPackage that contains Component(s).")
1220           	]
1221              CIM_PhysicalPackage REF GroupComponent;
1222           	[Override ("PartComponent"),
1223           	 Description (
1224 karl  1.1 	  "The PhysicalComponent which is contained in the Package.")
1225           	]
1226              CIM_PhysicalComponent REF PartComponent;
1227           };
1228           
1229           // ==================================================================
1230           // Chip
1231           // ==================================================================
1232              [Description (
1233           	 "The Chip class represents any type of integrated circuit "
1234           	 "hardware, including ASICs, processors, memory chips, etc.")
1235              ]
1236           class CIM_Chip : CIM_PhysicalComponent
1237           {
1238           	[Description ("The implementation form factor for the Chip."
1239           	  "For example, values such as SIMM (7), TSOP (9) or PGA (10) "
1240           	  "can be specified."),
1241               Values {"Unknown", "Other", "SIP", "DIP", "ZIP", "SOJ", 
1242                     "Proprietary", "SIMM", "DIMM", "TSOP", "PGA", "RIMM",
1243                     "SODIMM", "SRIMM", "SMD", "SSMP", "QFP", "TQFP", "SOIC", 
1244                        "LCC", "PLCC", "BGA", "FPBGA", "LGA"}
1245 karl  1.1       ]
1246              uint16 FormFactor;
1247           };
1248           
1249           // ==================================================================
1250           // PhysicalMemory
1251           // ==================================================================
1252              [Description (
1253           	 "PhysicalMemory is a subclass of CIM_Chip, representing "
1254           	 "low level memory devices - SIMMS, DIMMs, raw memory chips, "
1255           	 "etc.")
1256              ]
1257           class CIM_PhysicalMemory : CIM_Chip
1258           {
1259           	[Override ("FormFactor"),
1260           	 MappingStrings {"MIF.DMTF|Memory Device|005"}
1261           	]
1262              uint16 FormFactor;
1263           	[Description ("The type of PhysicalMemory."),
1264           	Values {"Unknown", "Other", "DRAM", "Synchronous DRAM",
1265           	"Cache DRAM", "EDO", "EDRAM", "VRAM", "SRAM", "RAM",
1266 karl  1.1 	"ROM", "Flash", "EEPROM", "FEPROM", "EPROM", "CDRAM",
1267           	"3DRAM", "SDRAM", "SGRAM", "RDRAM", "DDR"},
1268           	 MappingStrings {"MIF.DMTF|Memory Device|005"}
1269           	]
1270              uint16 MemoryType;
1271           	[Description (
1272           	  "Total width, in bits, of the PhysicalMemory, including check "
1273           	  "or error correction bits. If there are no error correction "
1274           	  "bits, the value in this property should match that specified "
1275           	  "for DataWidth."),
1276           	 Units ("Bits"),
1277           	 MappingStrings {"MIF.DMTF|Memory Device|005"}
1278           	]
1279              uint16 TotalWidth;
1280           	[Description (
1281           	  "Data width of the PhysicalMemory, in bits. A data width of 0 "
1282           	  "and a TotalWidth of 8 would indicate that the Memory is "
1283           	  "solely used to provide error correction bits."),
1284           	 Units ("Bits"),
1285           	 MappingStrings {"MIF.DMTF|Memory Device|005"}
1286           	]
1287 karl  1.1    uint16 DataWidth;
1288           	[Description ("The speed of the PhysicalMemory, in nanoseconds."),
1289           	 Units ("NanoSeconds"),
1290           	 MappingStrings {"MIF.DMTF|Memory Device|005"}
1291           	]
1292              uint32 Speed;
1293           	[Description (
1294           	  "The total capacity of this PhysicalMemory, in bytes."),
1295           	 Units ("Bytes"),
1296           	 MappingStrings {"MIF.DMTF|Memory Device|005"}
1297           	]
1298              uint64 Capacity;
1299           	[Description (
1300           	  "A string identifying the physically labeled bank where the "
1301           	  "Memory is located - for example, 'Bank 0' or 'Bank A'."),
1302           	 MaxLen (64),
1303           	 MappingStrings {"MIF.DMTF|Memory Device|005"}
1304           	]
1305              string BankLabel;
1306           	[Description (
1307           	  "Specifies the position of the PhysicalMemory in a 'row'. For "
1308 karl  1.1 	  "example, if it takes two 8-bit memory devices to form a 16-"
1309           	  "bit row, then a value of '2'means that this Memory is the "
1310           	  "second device. 0 is an invalid value for this property."),
1311           	 MappingStrings {"MIF.DMTF|Memory Device Mapped Addresses|001.6"}
1312           	]
1313              uint32 PositionInRow;
1314           	[Description (
1315           	  "The position of this PhysicalMemory in an interleave. 0 "
1316           	  "indicates non-interleaved. 1 indicates the first position, 2 "
1317           	  "the second position and so on. For example, in a 2:1 "
1318           	  "interleave, a value of '1' would indicate that the Memory "
1319           	  "is in the 'even' position."),
1320           	 MappingStrings {"MIF.DMTF|Memory Device Mapped Addresses|001.7"}
1321           	]
1322              uint32 InterleavePosition;
1323           };
1324           
1325           // ==================================================================
1326           // MemoryOnCard 
1327           // ==================================================================
1328              [Association,
1329 karl  1.1     Aggregation,
1330               Description (
1331           	 "PhysicalMemory can be located on HostingBoards, adapter Cards, "
1332           	 "etc. This association explicitly defines this relationship of "
1333           	 "Memory to Cards.")
1334              ]
1335           class CIM_MemoryOnCard : CIM_PackagedComponent
1336           {
1337           	[Override ("GroupComponent"),
1338           	 Aggregate, Max (1),
1339           	 Description ("The Card that includes or 'contains' Memory.")
1340           	]
1341              CIM_Card REF GroupComponent;
1342           	[Override ("PartComponent"),
1343           	 Description (
1344           	  "The PhysicalMemory which is located on the Card.")
1345           	]
1346              CIM_PhysicalMemory REF PartComponent;
1347           };
1348           
1349           // ==================================================================
1350 karl  1.1 // PhysicalMedia
1351           // ==================================================================
1352              [Description (
1353            	 "The PhysicalMedia class represents any type of documentation "
1354           	 "or storage medium, such as tapes, CDROMs, etc. This class "
1355           	 "is typically used to locate and manage Removable Media "
1356           	 "(versus Media sealed with the MediaAccessDevice, as a single "	
1357           	 "Package, as is the case with hard disks). However, 'sealed' "
1358           	 "Media can also be modeled using this class, where the Media "
1359           	 "would then be associated with the PhysicalPackage using the "
1360           	 "PackagedComponent relationship.")
1361              ]
1362           class CIM_PhysicalMedia : CIM_PhysicalComponent
1363           {
1364           	[Description (
1365                   "The number of bytes that can be read from or written to a "
1366                   "Media. This property is not applicable to \"Hard Copy\" "
1367                   "(documentation) or cleaner Media. Data compression should not "
1368                   "be assumed, as it would increase the value in this property. "
1369                   "For tapes, it should be assumed that no filemarks or blank "
1370                   "space areas are recorded on the Media."),
1371 karl  1.1 	 Units ("Bytes")
1372           	]
1373              uint64 Capacity; 
1374           	[Description (
1375           	  "Specifies the type of the PhysicalMedia, as an enumerated "
1376           	  "integer. The MediaDescription property is "
1377           	  "used to provide more explicit definition of the Media type, "
1378           	  "whether it is pre-formatted, compatability features, etc."),
1379           	 Values {"Unknown", "Other", "Tape Cartridge", "QIC Cartridge",
1380           		 "AIT Cartridge", "DTF Cartridge", "DAT Cartridge",
1381           		 "8mm Tape Cartridge", "19mm Tape Cartridge",
1382           	       "DLT Cartridge", "Half-Inch Magnetic Tape Cartridge",
1383           		 "Cartridge Disk", "JAZ Disk", "ZIP Disk", "SyQuest Disk",
1384           	   	 "Winchester Removable Disk", "CD-ROM", "CD-ROM/XA",
1385           		 "CD-I", "CD Recordable", "WORM", "Magneto-Optical", "DVD",
1386           		 "DVD-RW+", "DVD-RAM", "DVD-ROM", "DVD-Video", "Divx",
1387           		 "Floppy/Diskette", "Hard Disk", "Memory Card",
1388           		 "Hard Copy", "Clik Disk", "CD-RW", "CD-DA", "CD+", 
1389                        "DVD Recordable", "DVD-RW", "DVD-Audio", "DVD-5", "DVD-9", 
1390                        "DVD-10", "DVD-18", "Magneto-Optical Rewriteable", 
1391                        "Magneto-Optical Write Once", 
1392 karl  1.1              "Magneto-Optical Rewriteable (LIMDOW)", 
1393                        "Phase Change Write Once", "Phase Change Rewriteable", 
1394                        "Phase Change Dual Rewriteable", "Ablative Write Once", 
1395                        "Near Field Recording", "MiniQic", "Travan", 
1396                        "8mm Metal Particle", "8mm Advanced Metal Evaporate", 
1397                        "NCTP", "LTO Ultrium", "LTO Accelis", "9 Track Tape", 
1398                        "18 Track Tape", "36 Track Tape", "Magstar 3590", 
1399                        "Magstar MP", "D2 Tape", "Tape - DST Small ", 
1400                        "Tape - DST Medium", "Tape - DST Large"},
1401           	 ModelCorrespondence {"CIM_PhysicalMedia.MediaDescription"}
1402           	]
1403              uint16 MediaType;
1404           	[Description (
1405           	  "Additional detail related to the MediaType enumeration. For "
1406           	  "example, if value 3 (\"QIC Cartridge\") is specified, this "
1407           	  "property could indicate whether the tape is wide or 1/4 inch, "
1408           	  "whether it is pre-formatted, whether it is Travan compatible, "
1409           	  "etc."),
1410           	 ModelCorrespondence {"CIM_PhysicalMedia.MediaType"}
1411           	]
1412              string MediaDescription;
1413 karl  1.1 	[Description (
1414           	  "Boolean specifying whether the Media is currently write "
1415           	  "protected by some kind of physical mechanism, such as a "
1416           	  "protect tab on a floppy diskette.")
1417           	]
1418              boolean WriteProtectOn;
1419           	[Description ("Boolean indicating that the PhysicalMedia "
1420           	  "is used for cleaning purposes and not data storage.")
1421           	]
1422              boolean CleanerMedia;
1423                 [Description (
1424                   "Size of the Media in inches. For example, '3.5' would "
1425                   "be entered for a 3.5 inch disk, or '12' would be entered "
1426                   "for a 12 inch optical disk. On the other hand, '0.5' would "
1427                   "be defined for a 1/2 inch tape."),
1428                 Units ("Inches")
1429                 ]
1430              real32 MediaSize;
1431                 [Description (
1432                   "For removable Media, the maximum number of times that "
1433                   "the Media can be mounted before it should be retired. For "
1434 karl  1.1         "cleaner Media, this is the maximum number of Drive cleans "
1435                   "that can be performed. For nonremovable Media, such as hard "
1436                   "disks, this property is not applicable and should be set to "
1437                   "0.")
1438                 ]
1439              uint64 MaxMounts;
1440                 [Description (
1441                   "For removable or cleaner Media, the number of times that "
1442                   "the Media has been mounted for data transfer or to clean a "
1443                   "Drive. For nonremovable Media, such as hard disks, "
1444                   "this property is not applicable and should be set to 0."),
1445                  Counter, 
1446                  ModelCorrespondence {"CIM_PhysicalMedia.MaxMounts"}
1447                 ]
1448              uint64 MountCount;
1449                 [Description (
1450                   "Boolean indicating that the Media has two recording sides "
1451                   "(TRUE) or only a single side (FALSE). Examples of dual "
1452                   "sided Media include DVD-ROM and some optical disks. Examples "
1453                   "of single sided Media are tapes and CD-ROM.")
1454                 ]
1455 karl  1.1    boolean DualSided;
1456                 [Description (
1457                   "One or more strings on 'labels' on the PhysicalMedia. "
1458                   "The format of the labels and their state (readable, "
1459                   "unreadable, upside-down) are indicated in the LabelFormats and "
1460                   "LabelStates array properties."), 
1461                  ArrayType ("Indexed"),
1462                  ModelCorrespondence {"CIM_PhysicalMedia.LabelStates", 
1463                           "CIM_PhysicalMedia.LabelFormats"}
1464                 ]
1465              string PhysicalLabels[];
1466                 [Description (
1467                   "An array of enumerated integers describing the states of "
1468                   "each of the labels on a PhysicalMedia. The Labels themselves "
1469                   "are listed in the PhysicalLabels property. Note, each entry of "
1470                   "this array is related to the entry in PhysicalLabels that is "
1471                   "located at the same index."),
1472                  ArrayType ("Indexed"), 
1473                  Values {"OK/Readable", "Unreadable", "Upside Down"}, 
1474                  ModelCorrespondence {"CIM_PhysicalMedia.PhysicalLabels"}
1475                 ]
1476 karl  1.1    uint16 LabelStates[];
1477                 [Description (
1478                   "An array of enumerated integers describing the formats of "
1479                   "each of the labels on a PhysicalMedia. The Labels themselves "
1480                   "are listed in the PhysicalLabels property. Note, each entry of "
1481                   "this array is related to the entry in PhysicalLabels that is "
1482                   "located at the same index."), 
1483                  ArrayType ("Indexed"), 
1484                  Values {"Barcode", "Radio Frequency Identification", 
1485                        "OCR (Optical Character Recognition)", 
1486                        "MICR (Magnetic Ink Character Recognition)",
1487                        "7 Character Barcode", "9 Character Barcode"},
1488                  ModelCorrespondence {"CIM_PhysicalMedia.PhysicalLabels"}
1489                 ]
1490              uint16 LabelFormats[];
1491                    [Description (
1492                   "For removable or cleaner Media, the date and time that the "
1493                   "Media was last mounted. For nonremovable Media, such as "
1494                   "hard disks, this property has no meaning and is not applicable.")
1495                 ]
1496              datetime TimeOfLastMount;
1497 karl  1.1       [Description (
1498                   "For removable or cleaner Media, the total time (in seconds) "
1499                   "that the Media has been mounted for data transfer or to clean a "
1500                   "Drive. For nonremovable Media, such as hard disks, "
1501                   "this property is not applicable and should be set to 0.")
1502                 ]
1503              uint64 TotalMountTime;
1504           };
1505           
1506           // ===================================================================
1507           // MediaPhysicalStatInfo
1508           // ===================================================================
1509              [Description (
1510                  "Statistics related to reading physical labels and picks/puts "
1511                  "at a specific StorageMediaLocation, or for a specific piece "
1512                  "of PhysicalMedia. Although the same class is used to represent "
1513                  "this data, at the instance level the object holds information "
1514                  "for the Location (independent of the Media), OR for the Media "
1515                  "(independent of its StorageMediaLocation).")
1516              ]
1517           class CIM_MediaPhysicalStatInfo : CIM_PhysicalStatisticalInformation
1518 karl  1.1 {
1519                 [Description (
1520                   "The number of successful physical label scans."),
1521                  Counter
1522                 ]
1523              uint64 ScanSuccesses;
1524                 [Description (
1525                   "The number of failed physical label scans."),
1526                  Counter
1527                 ]
1528              uint64 ScanFailures;
1529                 [Description (
1530                   "The number of retried physical label scans."),
1531                  Counter
1532                 ]
1533              uint64 ScanRetries;
1534                 [Description (
1535                   "The number of successful picks."),
1536                  Counter
1537                 ]
1538              uint64 PickSuccesses;
1539 karl  1.1       [Description ("The number of failed picks."),
1540                  Counter
1541                 ]
1542              uint64 PickFailures;
1543                 [Description ("The number of retried picks."),
1544                  Counter
1545                 ]
1546              uint64 PickRetries;
1547                 [Description ("The number of successful puts."),
1548                  Counter
1549                 ]
1550              uint64 PutSuccesses;
1551                 [Description ("The number of failed puts."),
1552                  Counter
1553                 ]
1554              uint64 PutFailures;
1555                 [Description ("The number of retried puts."),
1556                  Counter
1557                 ]
1558              uint64 PutRetries;
1559                 [Description (
1560 karl  1.1          "Method to reset the statistical counters. The method "
1561                    "takes one parameter as input - an integer indicating which "
1562                    "counter to reset. For this input parameter, 0 indicates all, "
1563                    "1-3 reset the scan-related counters, 4-6 reset the "
1564                    "'pick'-related counters, and 7-9 reset the 'put'-related "
1565                    "counters. The method returns 0 if successful, 1 if not supported, "
1566                    "and any other value if an error occurred. A method is specified "
1567                    "so that the Element's instrumentation can also reset its "
1568                    "internal processing and counters. The set of possible return "
1569                    "codes should be specified in a ValueMap qualifier on the method. "
1570                    "The strings to which the ValueMap contents are 'translated' "
1571                    "should be specified as a Values array qualifier on the method.")
1572                 ]
1573              uint32 ResetCounter ([IN, Values {"All", "Scan Successes",
1574               "Scan Failures", "Scan Retries", "Pick Successes", 
1575               "Pick Failures", "Pick Retries", "Put Successes", 
1576               "Put Failures", "Put Retries"}] uint16 SelectedCounter);
1577           };
1578           
1579           // ==================================================================
1580           // MemoryWithMedia
1581 karl  1.1 // ==================================================================
1582              [Association,
1583               Description ("MemoryWithMedia indicates that Memory is associated "
1584           	 "with a PhysicalMedia and its cartridge. The Memory provides "
1585           	 "media identification and also stores user-specific data. ")
1586              ]
1587           class CIM_MemoryWithMedia : CIM_Dependency
1588           {
1589           	[Override ("Antecedent"),
1590           	 Description ("The Memory associated with PhysicalMedia. ")
1591           	]
1592              CIM_PhysicalMemory REF Antecedent;
1593           	[Override ("Dependent"),
1594           	 Description ("The PhysicalMedia.")
1595           	]
1596              CIM_PhysicalMedia REF Dependent;
1597           };
1598           
1599           // ===================================================================
1600           // PhysicalMediaInLocation
1601           // ===================================================================
1602 karl  1.1    [Association, Description (
1603                  "Within a StorageLibrary, all Media should be accounted for, "
1604                  "and be present in some Storage Location. This relationship "
1605                  "is made explicit by the PhysicalMediaInLocation association."
1606                  "In addition, one can determine if a Location is empty or "
1607                  "full based on whether this association exists for the "
1608                  "StorageMediaLocation.")
1609              ]
1610           class CIM_PhysicalMediaInLocation : CIM_Dependency
1611           {
1612                 [Override ("Antecedent"), Description (
1613                   "The StorageMediaLocation which holds the PhysicalMedia."), 
1614                  Max (1)
1615                 ]
1616              CIM_StorageMediaLocation REF Antecedent;
1617                 [Override ("Dependent"), Description (
1618                   "The Media in the Location.")
1619                 ]
1620              CIM_PhysicalMedia REF Dependent;
1621                    [Description (
1622                   "An enumeration expressing which 'Side' of the Media is "
1623 karl  1.1         "facing up. Since sides can be named by various schemes (0/1 or "
1624                   "A/B), both schemes are expressed in the Values array of this "
1625                   "property. Also, the value 5 (\"Not Applicable\" describes that "
1626                   "orientation is not pertinent for this Media."),
1627                  Values {"Unknown", "Side 0", "Side 1", "Side A", 
1628                   "Side B", "Not Applicable"}
1629                 ]
1630              uint16 Orientation;
1631                 [Description (
1632                   "The date and time that the Media was last placed into the "
1633                   "referenced Location.")
1634                 ]
1635              datetime TimeOfLastPlacement;
1636           };
1637           
1638           // ==================================================================
1639           // PhysicalTape 
1640           // ==================================================================
1641              [Description (
1642                  "The PhysicalTape class represents additional data for a Tape "
1643                  "Media. Information on the tape length and whether it must be "
1644 karl  1.1        "unloaded from BOT are properties of this class.")
1645              ]
1646           class CIM_PhysicalTape : CIM_PhysicalMedia
1647           {
1648                 [Description ("The physical length of the Tape in feet."), 
1649                  Units ("Feet")
1650                 ]
1651              real32 TapeLength;
1652                 [Description (
1653                   "Boolean set to TRUE if the Tape can be unloaded at any "
1654                   "position on the Media. It is set to FALSE if the tape must "
1655                   "be at a certain position for unload - such as at the beginning "
1656                   "of tape (BOT) area, or at mid-tape point for TapeDrives with "
1657                   "mid-tape load.")
1658                 ]
1659              boolean UnloadAnywhere;
1660           };
1661           
1662           // ===================================================================
1663           // RealizesExtent
1664           // ===================================================================
1665 karl  1.1    [Association, Description (
1666                  "StorageExtents can be realized by PhysicalComponents. For "
1667                  "example, disks or tapes are realized by PhysicalMedia. Memory "
1668                  "is realized by PhysicalMemory. This relationship of Extents "
1669                  "to PhysicalComponents is made explicit by the RealizesExtent "
1670                  "association. In addition, the StartingAddress of the "
1671                  "StorageExtent on the Component is specified here.")
1672              ]
1673           class CIM_RealizesExtent : CIM_Realizes
1674           {
1675                 [Override ("Antecedent"), Description (
1676                   "The PhysicalComponent on which the Extent is realized."), 
1677                  Max (1)
1678                 ]
1679              CIM_PhysicalComponent REF Antecedent;
1680                 [Override ("Dependent"), Description (
1681                   "The StorageExtent that is located on the Component.")
1682                 ]
1683              CIM_StorageExtent REF Dependent;
1684                 [Description (
1685                   "The starting address on the PhysicalComponent where the "
1686 karl  1.1         "StorageExtent begins. Ending address of the StorageExtent "
1687                   "is determined using the NumberOfBlocks and Block"
1688                   "Size properties of the StorageExtent object.")
1689                 ]
1690              uint64 StartingAddress;
1691           };
1692           
1693           // ===================================================================
1694           // RealizesPExtent
1695           // ===================================================================
1696              [Association,
1697               Description (
1698           	 "PhysicalExtents are realized on a PhysicalMedia. This "
1699           	 "relationship is made explicit by the RealizesPExtent "
1700           	 "association.  In addition, the StartingAddress of the "
1701           	 "PhysicalExtent on the PhysicalMedia is specified here.")
1702              ]
1703           class CIM_RealizesPExtent : CIM_RealizesExtent
1704           {
1705           	[Override ("Antecedent"),
1706           	 Description (
1707 karl  1.1 	  "The PhysicalMedia on which the Extent is realized."),
1708           	 Max (1)
1709           	]
1710              CIM_PhysicalMedia REF Antecedent;
1711           	[Override ("Dependent"),
1712           	 Description (
1713           	  "The PhysicalExtent that is located on the Media.")
1714           	]
1715              CIM_PhysicalExtent REF Dependent;
1716           };
1717           
1718           // ===================================================================
1719           // RealizesDiskPartition
1720           // ===================================================================
1721              [Association,
1722               Description (
1723                  "DiskPartitions can be directly realized on a PhysicalMedia. "
1724                  "This is used to model the creation of Partitions on a raw SCSI "
1725                  "or IDE drive, using the fdisk (DOS and Unix) or pdisk (Unix) "
1726                  "command. The StartingAddress of the DiskPartition on the "
1727                  "PhysicalMedia is also specified as a property of this "
1728 karl  1.1        "relationship. An alternative is that Partitions can "
1729                  "be BasedOn StorageVolumes, such as a VolumeSet or a Volume "
1730                  "exposed by a hardware RAID cabinet. The latter relationship is "
1731                  "modeled using the DiskPartitionBasedOnVolume association.")
1732              ]
1733           class CIM_RealizesDiskPartition : CIM_RealizesExtent
1734           {
1735           	[Override ("Antecedent"),
1736           	 Description (
1737           	  "The PhysicalMedia on which the Extent is realized."),
1738           	 Max (1)
1739           	]
1740              CIM_PhysicalMedia REF Antecedent;
1741           	[Override ("Dependent"),
1742           	 Description (
1743           	  "The DiskPartition that is located on the Media.")
1744           	]
1745              CIM_DiskPartition REF Dependent;
1746           };
1747           
1748           // ===================================================================
1749 karl  1.1 // RealizesAggregatePExtent
1750           // ===================================================================
1751              [Association,
1752               Description (
1753           	 "AggregatePExtents are realized on a PhysicalMedia. This "
1754           	 "relationship is made explicit by the RealizesAggregatePExtent "
1755           	 "association.")
1756              ]
1757           class CIM_RealizesAggregatePExtent : CIM_RealizesExtent
1758           {
1759           	[Override ("Antecedent"),
1760           	 Description (
1761           	  "The PhysicalMedia on which the Extent is realized."),
1762           	 Max (1)
1763           	]
1764              CIM_PhysicalMedia REF Antecedent;
1765           	[Override ("Dependent"),
1766           	 Description (
1767           	   "The AggregatePExtent that is located on the Media.")
1768           	]
1769              CIM_AggregatePExtent REF Dependent;
1770 karl  1.1 };
1771           
1772           // ===================================================================
1773           // RealizesTapePartition 
1774           // ===================================================================
1775              [Association, Description (
1776                  "TapePartitions are realized on PhysicalTape. This "
1777                  "relationship is made explicit by the RealizesTapePartition "
1778                  "association.")
1779              ]
1780           class CIM_RealizesTapePartition : CIM_RealizesExtent
1781           {
1782                 [Override ("Antecedent"), Description (
1783                   "The PhysicalTape on which the Partition is realized."),
1784                  Max (1)
1785                 ]
1786              CIM_PhysicalTape REF Antecedent;
1787                 [Override ("Dependent"), Description (
1788                   "The TapePartition that is located on the Media.")
1789                 ]
1790              CIM_TapePartition REF Dependent;
1791 karl  1.1 };
1792           
1793           // ===================================================================
1794           // RealizedOnSide
1795           // ===================================================================
1796              [Association, Description (
1797                  "Since removable PhysicalMedia can be dual-sided, there is the "
1798                  "possibility for StorageExtents to be realized on a single side "
1799                  "of the Media. This association is a specialization of the "
1800                  "RealizesExtent relationship, adding a Side property to express "
1801                  "the Media's orientation details.")
1802              ]
1803           class CIM_RealizedOnSide : CIM_RealizesExtent
1804           {
1805                 [Override ("Antecedent"), Description (
1806                   "The PhysicalMedia on which the Extent is realized.")
1807                 ]
1808              CIM_PhysicalMedia REF Antecedent;
1809                 [Description (
1810                   "An enumeration expressing on which 'Side' the Extent is "
1811                   "realized. Since sides can be named by various schemes (0/1 or "
1812 karl  1.1         "A/B), both schemes are expressed in the Values array of this "
1813                   "property."),
1814                  Values {"Unknown", "Side 0", "Side 1", "Side A", "Side B"}
1815                ]
1816              uint16 Side;
1817           };
1818           
1819           // ==================================================================
1820           // PhysicalLink
1821           // ==================================================================
1822              [Description (
1823           	 "The PhysicalLink class represents the cabling of "
1824           	 "PhysicalElements together. For example, serial or Ethernet "
1825           	 "cables, and infrared Links would be subclasses (if additional "
1826           	 "properties or associations are defined) or instances of "
1827           	 "PhysicalLink. In many cases, the numerous physical cables "
1828           	 "within a PhysicalPackage or Network will not be modeled. "
1829           	 "However, where these cables or Links are critical components, "
1830           	 "or are tagged assets of the company, these objects can be "
1831           	 "instantiated using this class or one of its descendent "
1832           	 "classes.")
1833 karl  1.1    ]
1834           class CIM_PhysicalLink : CIM_PhysicalElement
1835           {
1836           	[Description ("The maximum length of the PhysicalLink in feet."),
1837           	 Units ("Feet")
1838           	]
1839              real64 MaxLength;
1840           	[Description (
1841           	  "The current length of the PhysicalLink in feet. For some "
1842           	  "connections, especially wireless technologies, this property "
1843           	  "may not be applicable and should be left uninitialized."),
1844           	 Units ("Feet")
1845           	]
1846              real64 Length;
1847           	[Description (
1848           	  "Boolean indicating whether the PhysicalLink is an actual "
1849           	  "cable (TRUE) or a wireless connection (FALSE).")
1850           	]
1851              boolean Wired;
1852           	[Description("The MediaType property defines the particular "
1853           	  "type of Media through which transmission signals pass. "
1854 karl  1.1 	  "Common network media include twisted-pair (value=11 or 12), "
1855           	  "coaxial (7, 8 or 9) and fiber-optic cable (10)."),
1856                  Values {"Unknown", "Other", "Cat1", "Cat2", "Cat3", "Cat4", 
1857                        "Cat5", "50-ohm Coaxial", "75-ohm Coaxial", 
1858                        "100-ohm Coaxial", "Fiber-optic", "UTP", "STP", 
1859                        "Ribbon Cable", "Twinaxial", "Optical 9um", 
1860                        "Optical 50um", "Optical 62.5um"},
1861           		MappingStrings {"MIF.DMTF|Fibre Channel Bus Port Extensions|001.4"}  
1862           	]
1863              uint16 MediaType;
1864           };
1865           
1866           // ===================================================================
1867           // ElementsLinked
1868           // ===================================================================
1869              [Association, 
1870               Description (
1871           	 "The ElementsLinked association indicates which Physical"
1872           	 "Elements are cabled together by a PhysicalLink.")
1873              ]
1874           class CIM_ElementsLinked : CIM_Dependency
1875 karl  1.1 {
1876           	[Override ("Antecedent"),
1877           	 Description ("The PhysicalLink.")
1878           	]
1879              CIM_PhysicalLink REF Antecedent;
1880           	[Override ("Dependent"), 
1881           	 Description ("The PhysicalElement that is linked.")
1882           	]
1883              CIM_PhysicalElement REF Dependent;
1884           };
1885           
1886           // ==================================================================
1887           // PhysicalConnector
1888           // ==================================================================
1889              [Description (
1890           	 "The PhysicalConnector class represents any PhysicalElement "
1891           	 "that is used to connect to other Elements. Any object that "
1892           	 "can be used to connect and transmit signals or power between "
1893           	 "two or more PhysicalElements is a descendant (or member) "
1894           	 "of this class. For example, Slots and D-shell connectors are "
1895           	 "types of PhysicalConnectors.")
1896 karl  1.1    ]
1897           class CIM_PhysicalConnector : CIM_PhysicalElement
1898           {
1899           	[Description (
1900           	  "A free-form string describing the pin configuration and "
1901           	  "signal usage of a PhysicalConnector.")
1902           	]
1903              string ConnectorPinout;
1904           	[Description (
1905           	  "An array of integers defining the type of PhysicalConnector. "
1906           	  "An array is specified to allow the description of "
1907           	  "'combinations' of Connector information. For example, one "
1908           	  "array entry could specify RS-232 (value=25), another DB-25 "
1909           	  "(value=23) and a third entry define the Connector as \"Male\" "
1910           	  "(value=2)."),
1911                  Values {"Unknown", "Other", "Male", "Female", "Shielded",
1912                        "Unshielded", "SCSI (A) High-Density (50 pins)",
1913                        "SCSI (A) Low-Density (50 pins)",
1914                        "SCSI (P) High-Density (68 pins)", "SCSI SCA-I (80 pins)",
1915                        "SCSI SCA-II (80 pins)", "Fibre Channel (DB-9, Copper)",
1916                        "Fibre Channel (Optical Fibre)",
1917 karl  1.1              "Fibre Channel SCA-II (40 pins)", 
1918                        "Fibre Channel SCA-II (20 pins)", "Fibre Channel BNC",
1919                        "ATA 3-1/2 Inch (40 pins)", "ATA 2-1/2 Inch (44 pins)",
1920                        "ATA-2", "ATA-3", "ATA/66", "DB-9", "DB-15", "DB-25",
1921                        "DB-36", "RS-232C", "RS-422", "RS-423", "RS-485", "RS-449",
1922                        "V.35", "X.21", "IEEE-488", "AUI", "UPT Category 3",
1923                        "UPT Category 4", "UPT Category 5", "BNC", "RJ11", "RJ45",
1924                        "Fiber MIC", "Apple AUI", "Apple GeoPort", "PCI", "ISA",
1925                        "EISA", "VESA", "PCMCIA", "PCMCIA Type I",
1926                        "PCMCIA Type II", "PCMCIA Type III", "ZV Port", "CardBus",
1927                        "USB", "IEEE 1394", "HIPPI", "HSSDC (6 pins)", "GBIC",
1928                        "DIN", "Mini-DIN", "Micro-DIN", "PS/2", "Infrared",
1929                        "HP-HIL", "Access.bus", "NuBus", "Centronics",
1930                        "Mini-Centronics", "Mini-Centronics Type-14",
1931                        "Mini-Centronics Type-20", "Mini-Centronics Type-26",
1932                        "Bus Mouse", "ADB", "AGP", "VME Bus", "VME64",
1933                        "Proprietary", "Proprietary Processor Card Slot",
1934                        "Proprietary Memory Card Slot", "Proprietary I/O Riser Slot",
1935                        "PCI-66MHZ", "AGP2X", "AGP4X", "PC-98", "PC-98-Hireso",
1936                        "PC-H98", "PC-98Note", "PC-98Full", "SSA SCSI",
1937                        "Circular", "On Board IDE Connector", 
1938 karl  1.1              "On Board Floppy Connector", "9 Pin Dual Inline", 
1939                        "25 Pin Dual Inline", "50 Pin Dual Inline",
1940                        "68 Pin Dual Inline", "On Board Sound Connector", 
1941                        "Mini-jack", "PCI-X", "Sbus IEEE 1396-1993 32 bit",
1942                        "Sbus IEEE 1396-1993 64 bit", "MCA", "GIO", "XIO", 
1943                        "HIO", "NGIO", "PMC", "MTRJ", "VF-45", "Future I/O",
1944                        "SC", "SG", "Electrical", "Optical", "Ribbon", "GLM", 
1945                        "1x9", "Mini SG", "LC", "HSSC","VHDCI Shielded (68 pins)",
1946           			 "InfiniBand"},
1947           			 MappingStrings {"MIF.DMTF|Bus Port|003 and 12"}, 
1948           			 ModelCorrespondence {"CIM_PhysicalConnector.OtherTypeDescription"}
1949           	]
1950              uint16 ConnectorType[];
1951              			[Description (
1952           			"A string describing the Connector - used when the "
1953           			"ConnectorType property is set to 1 (\"Other\"). OtherType "
1954           			"Description should be set to NULL when ConnectorType is any "
1955           			"value other than 1."),
1956           			ModelCorrespondence {"CIM_PhysicalConnector.ConnectorType"},
1957           			MappingStrings {"MIF.DMTF|Bus Port|003"}
1958           			]
1959 karl  1.1 	string OtherTypeDescription;
1960           
1961           };
1962           
1963           // ===================================================================
1964           // ConnectedTo
1965           // ===================================================================
1966              [Association,
1967               Description ("The ConnectedTo association indicates that two or "
1968                  "more PhysicalConnectors are connected together.")
1969              ] 
1970           class CIM_ConnectedTo : CIM_Dependency
1971           {
1972                 [Override ("Antecedent"),
1973                  Description ("The Antecedent represents a PhysicalConnector "
1974                   "that serves as one end of the connection.")
1975                 ]
1976              CIM_PhysicalConnector REF Antecedent;
1977                 [Override ("Dependent"),
1978                  Description (
1979           	  "The Dependent represents another PhysicalConnector "
1980 karl  1.1         "that serves as the other end of the connection.")
1981                 ]
1982              CIM_PhysicalConnector REF Dependent;
1983           };
1984           
1985           // ===================================================================
1986           // Slot
1987           // ===================================================================
1988              [Description (
1989                  "The Slot class represents Connectors into which Packages are "
1990                  "inserted. For example, a PhysicalPackage that is a DiskDrive "
1991                  "may be inserted into an SCA 'Slot'. As another example, "
1992                  "a Card (subclass of PhysicalPackage) may be inserted into "
1993                  "a 16-, 32-, or 64-bit expansion 'Slot' on a HostingBoard. "
1994                  "PCI or PCMCIA Type III Slots are examples of the latter.")
1995              ]
1996           class CIM_Slot : CIM_PhysicalConnector
1997           {
1998           		[Override ("ConnectorType"),
1999           		 MappingStrings {"MIF.DMTF|System Slot|005.2"}
2000           		]
2001 karl  1.1    uint16 ConnectorType[];
2002           		[Description (
2003           		  "Boolean indicating whether the Slot supports hot-plug of "
2004           		  "adapter Cards.")
2005           		]
2006              boolean SupportsHotPlug;
2007           		[Description (
2008           		  "Maximum height of an adapter Card that can be inserted into "
2009           		  "the Slot, in inches."),
2010           		 Units ("Inches")
2011           		]
2012              real32 HeightAllowed;
2013           		[Description (
2014           		  "Maximum length of an adapter Card that can be inserted into "
2015           		  "the Slot, in inches."),
2016           		 Units ("Inches")
2017           		]
2018              real32 LengthAllowed;
2019           		[Description (
2020           		  "Maximum bus width of adapter Cards that can be inserted into "
2021           		  "this Slot, in bits. If the value is 'unknown', enter 0. If "
2022 karl  1.1 			"the value is other than 8, 16, 32, 64 or 128, enter 1."),
2023           		 Units ("Bits"),
2024           		 ValueMap {"0", "1", "8", "16", "32", "64", "128"},
2025           		 MappingStrings {"MIF.DMTF|System Slot|005.3"}
2026           		]
2027              uint16 MaxDataWidth;
2028           		[Description (
2029           		  "An array of enumerated integers indicating the Vcc voltage "
2030           		  "supported by this Slot."),
2031           		 Values {"Unknown", "Other", "3.3V", "5V"},
2032           		 MappingStrings {"MIF.DMTF|System Slot|005.9"}
2033           		]
2034              uint16 VccMixedVoltageSupport[];
2035           		[Description (
2036           		  "An array of enumerated integers indicating the Vpp voltage "
2037           		  "supported by this Slot."),
2038           		 Values {"Unknown", "Other", "3.3V", "5V", "12V"},
2039           		 MappingStrings {"MIF.DMTF|System Slot|005.10"}
2040           		]
2041              uint16 VppMixedVoltageSupport[];
2042           		[Description (
2043 karl  1.1 		  "Maximum thermal dissipation of the Slot in milliwatts."),
2044           		 Units ("MilliWatts"),
2045           		 MappingStrings {"MIF.DMTF|System Slot|005.11"}
2046           		]
2047              uint32 ThermalRating;
2048           		[Description (
2049           		  "Boolean indicating that this Slot is physically unique "
2050           		  "and may hold special types of hardware, e.g. a graphics "
2051           		  "processor slot. If set to TRUE, then the property, Special"
2052           		  "PurposeDescription (a string), should specify the nature of "
2053           		  "the uniqueness or purpose of the Slot."),
2054           		 ModelCorrespondence {"CIM_Slot.PurposeDescription"}
2055           		]
2056              boolean SpecialPurpose;
2057           		[Description ("A free-form string describing that this Slot is "
2058           		  "physically unique and may hold special types of hardware. "
2059           		  "This property only has meaning when the corresponding "
2060           		  "boolean property, SpecialPurpose, is set to TRUE."),
2061           		 ModelCorrespondence {"CIM_Slot.SpecialPurpose"}
2062           		]
2063              string PurposeDescription;
2064 karl  1.1 		[Description ("The Number property indicates the physical slot "
2065           		  "number, which can be used as an index into a system "
2066           		  "slot table, whether or not that slot is physically occupied."),
2067           		  MappingStrings {"MIF.DMTF|System Slot|005.1"} 
2068           		]
2069              uint16 Number;
2070              		[Description (
2071           		"A boolean indicating whether the Slot is currently "
2072           		"powered (TRUE) or not (FALSE)."),
2073           		MappingStrings {"MIF.DMTF|System Slot|005.13"}
2074           		]
2075           	boolean Powered;
2076           
2077           		[Description (
2078           		"A boolean indicating whether the switch state of the Slot "
2079           		"is currently open (TRUE) or closed (FALSE). This switch state "
2080           		"determines whether the contents of the Slot can be hot-plugged."),
2081           		MappingStrings {"MIF.DMTF|System Slot|005.15"}
2082           		]
2083           	boolean OpenSwitch;
2084           
2085 karl  1.1 };
2086           
2087           // ==================================================================
2088           // SlotInSlot 
2089           // ==================================================================
2090              [Association,
2091               Description ("Slots are special types of Connectors into which "
2092           	 "adapter Cards are typically inserted. The SlotInSlot "
2093           	 "relationship represents the ability of a special adapter to "
2094           	 "extend the existing Slot structure to enable otherwise "
2095           	 "incompatible Cards to be plugged into a Frame or Hosting"
2096           	 "Board. The adapter effectively creates a new Slot and can "
2097           	 "be thought of (conceptually) as a Slot in a Slot. This "
2098           	 "enables Cards that would otherwise be physically and/or "
2099           	 "electrically incompatible with the existing Slots to be "
2100           	 "supported, by interfacing to the Slot provided by the "
2101           	 "adapter. This has many practical uses. For example, "
2102           	 "networking boards are very expensive. As new hardware "
2103           	 "becomes available, Chassis and even Card configurations "
2104           	 "change. To protect the investment of their customers, "
2105           	 "networking vendors will manufacture special adapters "
2106 karl  1.1 	 "that enable old Cards to fit into new Chassis or Hosting"
2107           	 "Boards and/or new Cards to fit into old. This is done using "
2108           	 "a special adapter that fits over one or more existing Slots "
2109           	 "and presents a new Slot into which the Card can plug.")
2110              ]
2111           class CIM_SlotInSlot : CIM_ConnectedTo
2112           {
2113           	[Override ("Antecedent"),
2114                  Description ("The Antecedent represents the existing Slot(s) "
2115                   "of the HostingBoard, or Frame that are being adapted "
2116                   "to accommodate a Card that would otherwise not be "
2117                   "physically and/or electrically compatible with it.")
2118                 ]
2119              CIM_Slot REF Antecedent;
2120                 [Override ("Dependent"),
2121                  Max (1),
2122                  Description ("The new Slot provided by the adapter board.")
2123                 ]
2124              CIM_Slot REF Dependent;
2125           };
2126           
2127 karl  1.1 // ==================================================================
2128           // AdjacentSlots
2129           // ==================================================================
2130              [Association,
2131               Description ("AdjacentSlots describes the layout of Slots on a "
2132                  "HostingBoard or adapter Card.  Information like the distance "
2133                  "between the Slots and whether they are 'shared' (if one is "
2134                  "populated, then the other Slot can not be used), is conveyed "
2135                  "as properties of the association.")
2136              ]
2137           class CIM_AdjacentSlots
2138           {
2139                 [Key, Description ("One of the adjacent Slots.")]
2140              CIM_Slot REF SlotA;
2141                 [Key, Description ("The 'other' adjacent Slot.")]
2142              CIM_Slot REF SlotB;
2143                 [Description ("The distance, in inches, between adjacent Slots."),
2144                  Units ("Inches")
2145                 ]
2146              real32 DistanceBetweenSlots;
2147                 [Description ("Slots can be located in close proximity on Hosting"
2148 karl  1.1         "Boards or other Cards, such that if one of these Slots is "
2149                   "populated by an adapter Card, the other Slot must be left "
2150                   "empty. This relationship is indicated by the SharedSlots "
2151                   "boolean set to TRUE.")]
2152              boolean SharedSlots;
2153           };
2154           
2155           // ==================================================================
2156           // PackageInConnector 
2157           // ==================================================================
2158              [Association, 
2159               Description (
2160                   "Adapter cards and other 'packaging' are plugged into System "
2161                   "Connectors for power and/or to transfer data. This "
2162                   "relationship is defined by PackageInConnector. For example, "
2163                   "it would be used to describe the insertion of a daughtercard "
2164                   "onto another Card. Various subclasses of PackageInConnector "
2165                   "are also defined. PackageInSlot and its subclass, "
2166                   "CardInSlot, are two examples of subclasses.")
2167              ]
2168           class CIM_PackageInConnector : CIM_Dependency
2169 karl  1.1 {
2170                 [Override ("Antecedent"), Description (
2171                   "The Connector into which the Package is inserted.")
2172                 ]
2173              CIM_PhysicalConnector REF Antecedent;
2174                 [Override ("Dependent"), Max (1), 
2175                  Description ("The Package in the Connector.")
2176                 ]
2177              CIM_PhysicalPackage REF Dependent;
2178           };
2179           
2180           // ==================================================================
2181           // PackageInSlot 
2182           // ==================================================================
2183              [Association,
2184               Description ("Complex networking devices often are Chassis-based. "
2185           	 "These Chassis allow for enhancement and/or augmentation of "
2186           	 "their base functionality by accepting additional Chassis "
2187                  "devices, similar to accepting functionality in the form of "
2188           	 "adding Cards. This association models this capability.")
2189              ]
2190 karl  1.1 class CIM_PackageInSlot : CIM_PackageInConnector
2191           {
2192                 [Override ("Antecedent"),
2193                  Description (
2194           	  "The Slot into which the PhysicalPackage is inserted.")
2195                 ]
2196              CIM_Slot REF Antecedent;
2197                 [Override ("Dependent"),
2198                  Max (1),
2199                  Description ("The Package in the Slot.")
2200                 ]
2201              CIM_PhysicalPackage REF Dependent;
2202           };
2203           
2204           // ==================================================================
2205           // CardInSlot 
2206           // ==================================================================
2207              [Association,
2208               Description (
2209                  "Slots are special types of Connectors into which adapter "
2210           	 "Cards are inserted. This relationship of a Card in a Slot "
2211 karl  1.1        "is made explicit using the CardInSlot association."),
2212               MappingStrings {"MIF.DMTF|System Slot|005.4"}
2213              ]
2214           class CIM_CardInSlot : CIM_PackageInSlot
2215           {
2216           	[Override ("Antecedent"),
2217           	 Description ("The Slot into which the Card is inserted.")
2218           	]
2219              CIM_Slot REF Antecedent;
2220            	[Override ("Dependent"),
2221           	 Max (1),
2222           	 Description ("The Card in the Slot.")]
2223              CIM_Card REF Dependent;
2224           };
2225           
2226           // ==================================================================
2227           // LinkHasConnector 
2228           // ==================================================================
2229              [Association,
2230               Aggregation,
2231               Description (
2232 karl  1.1 	 "Cables and Links utilize PhysicalConnectors to actually "
2233           	 "'connect' PhysicalElements. This association explicitly "
2234           	 "defines this relationship of Connectors for PhysicalLinks.")
2235              ]
2236           class CIM_LinkHasConnector : CIM_Component
2237           {
2238           	[Override ("GroupComponent"),
2239           	 Aggregate, Max (1),
2240           	 Description ("The PhysicalLink that has a Connector.")
2241           	]
2242              CIM_PhysicalLink REF GroupComponent;
2243           	[Override ("PartComponent"),
2244           	 Description ("The PhysicalConnector.")
2245           	]
2246              CIM_PhysicalConnector REF PartComponent;
2247           };
2248           
2249           // ==================================================================
2250           // ConnectorOnPackage 
2251           // ==================================================================
2252              [Association,
2253 karl  1.1     Aggregation,
2254               Description (
2255           	 "PhysicalPackages contain Connectors as well as other "
2256           	 "PhysicalElements. The ConnectorOnPackage association makes "
2257           	 "explicit the containment relationship between Connectors and "
2258           	 "Packages.")
2259              ]
2260           class CIM_ConnectorOnPackage : CIM_Container
2261           {
2262           	[Override ("GroupComponent"),
2263           	 Aggregate, Max (1),
2264           	 Description ("The PhysicalPackage that has a Connector.")
2265           	]
2266              CIM_PhysicalPackage REF GroupComponent;
2267           	[Override ("PartComponent"),
2268           	 Description ("The PhysicalConnector.")
2269           	]
2270              CIM_PhysicalConnector REF PartComponent;
2271           };
2272           
2273           // ===================================================================
2274 karl  1.1 // AdapterActiveConnection 
2275           // ===================================================================
2276              [Association, 
2277               Description (
2278                  "The AdapterActiveConnection relationship indicates that a "
2279                  "NetworkAdapter is using the referenced PhysicalConnector "
2280                  "to output to the network. This relationship is important when "
2281                  "the Adapter can choose to output from one of several "
2282                  "Connectors. The Connectors may be associated with the "
2283                  "NetworkAdapter in a Realizes relationship - but this is not "
2284                  "required. This association provides additional information "
2285                  "(i.e., 'in use for communication') different than Realizes.")
2286              ]
2287           class CIM_AdapterActiveConnection : CIM_Dependency
2288           {
2289                 [Override ("Antecedent"), 
2290                  Description ("The PhysicalConnector.")
2291                 ]
2292              CIM_PhysicalConnector REF Antecedent;
2293                 [Override ("Dependent"), 
2294                  Description (
2295 karl  1.1         "The NetworkAdapter that transmits using the Connector.")
2296                 ]
2297              CIM_NetworkAdapter REF Dependent;
2298           };
2299           
2300           // ==================================================================
2301           // ComputerSystemPackage  
2302           // ==================================================================
2303              [Association, 
2304               Description (
2305           	 "Similar to the way that LogicalDevices are 'Realized' by "
2306           	 "PhysicalElements, UnitaryComputerSystems are realized in "
2307           	 "one or more PhysicalPackages. The ComputerSystemPackage "
2308           	 "association explicitly defines this relationship.")
2309              ]
2310           class CIM_ComputerSystemPackage : CIM_Dependency
2311           {
2312           	[Override ("Antecedent"),
2313           	 Description (
2314           	  "The PhysicalPackage(s) that realize a UnitaryComputerSystem.")
2315           	]
2316 karl  1.1    CIM_PhysicalPackage REF Antecedent;
2317           	[Override ("Dependent"),
2318           	 Description ("The UnitaryComputerSystem.")
2319           	]
2320              CIM_UnitaryComputerSystem REF Dependent;
2321                 [Description(
2322                   "A Gloabally Unique Identifier for the System's Package.")
2323                 ]
2324              string PlatformGUID;
2325           }; 
2326           
2327           // ==================================================================
2328           // LibraryPackage 
2329           // ==================================================================
2330              [Association, Description (
2331                  "Similar to the way that LogicalDevices are 'Realized' by "
2332                  "PhysicalElements, a StorageLibrary can be realized in one or "
2333                  "more PhysicalPackages. The LibraryPackage association "
2334                  "explicitly defines this relationship.")
2335              ]
2336           class CIM_LibraryPackage : CIM_Dependency
2337 karl  1.1 {
2338                 [Override ("Antecedent"), Description (
2339                   "The PhysicalPackage(s) that realize a StorageLibrary.")
2340                 ]
2341              CIM_PhysicalPackage REF Antecedent;
2342                 [Override ("Dependent"), 
2343                  Description ("The StorageLibrary.")
2344                 ]
2345              CIM_StorageLibrary REF Dependent;
2346           };
2347           
2348           // ==================================================================
2349           // PackageCooling  
2350           // ==================================================================
2351              [Association,
2352               Description (
2353           	 "Often, a CoolingDevice is installed in a Package such as "
2354           	 "a Chassis or a Rack, not for a specific Device, but to assist "
2355           	 "in the cooling of the Package in general.  This relationship "
2356           	 "is described by the PackageCooling association.")
2357              ]
2358 karl  1.1 class CIM_PackageCooling : CIM_Dependency
2359           {
2360           	[Override ("Antecedent"),
2361           	 Description ("The CoolingDevice for the Package.")
2362           	]
2363              CIM_CoolingDevice REF Antecedent;
2364           	[Override ("Dependent"),
2365           	 Description (
2366           	  "The PhysicalPackage whose environment is cooled.")
2367           	]
2368              CIM_PhysicalPackage REF Dependent;
2369           };
2370           
2371           // ==================================================================
2372           // PackageTempSensor 
2373           // ==================================================================
2374              [Association,
2375               Description (
2376           	 "Often, a TemperatureSensor is installed in a Package such as "
2377           	 "a Chassis or a Rack, not to measure any particular Device, but "
2378           	 "the Package's environment in general.  This relationship is "
2379 karl  1.1 	 "described by the PackageTempSensor association.")
2380              ]
2381           class CIM_PackageTempSensor : CIM_Dependency
2382           {
2383           	[Override ("Antecedent"),
2384           	 Description ("The TemperatureSensor for the Package.")
2385           	]
2386              CIM_TemperatureSensor REF Antecedent;
2387           	[Override ("Dependent"),
2388           	 Description (
2389           	  "The PhysicalPackage whose environment is monitored.")
2390           	]
2391              CIM_PhysicalPackage REF Dependent;
2392           };
2393           
2394           // ==================================================================
2395           // PackageAlarm 
2396           // ==================================================================
2397              [Association, 
2398               Description (
2399           	 "Often, an AlarmDevice is installed as part of a Package, "
2400 karl  1.1 	 "not to indicate issues with any particular LogicalDevice "
2401           	 "or PhysicalComponent, but with the Package's environment "
2402           	 "in general, its security state or its overall health. " 
2403           	 "This relationship is described by the PackageAlarm "
2404           	 "association. ")
2405              ]
2406           class CIM_PackageAlarm : CIM_Dependency
2407           {
2408           	[Override ("Antecedent"), 
2409           	 Description ("The AlarmDevice for the Package. ")
2410           	]
2411              CIM_AlarmDevice REF Antecedent;
2412           	[Override ("Dependent"), 
2413           	 Description (
2414           	  "The PhysicalPackage whose health, security, environment, "
2415           	  "etc. is alarmed. ")
2416           	]
2417              CIM_PhysicalPackage REF Dependent;
2418           };
2419           
2420           // ===================================================================
2421 karl  1.1 // HomeForMedia
2422           // ===================================================================
2423              [Association, Description (
2424                  "  In a StorageLibrary or repository for PhysicalMedia, it is "
2425                  "reasonable that a specific Media always be placed in a "
2426                  "specific Location (rather than anywhere in the repository/"
2427                  "Library).  The default location for a PhysicalMedia is called "
2428                  "its 'home'. This information is expressed by the HomeForMedia "
2429                  "dependency association. (Note that a PhysicalMedia can have at "
2430                  "most one 'home', and a StorageMediaLocation can be 'home' to "
2431                  "at most one Media.)" )
2432              ]
2433           class CIM_HomeForMedia : CIM_Dependency
2434           {
2435                 [Override ("Antecedent"), Max (1), Description (
2436                   "The Location that is 'home' to a piece of PhysicalMedia.")
2437                 ]
2438              CIM_StorageMediaLocation REF Antecedent;
2439                 [Override ("Dependent"), Max (1), Description (
2440                   "The PhysicalMedia whose 'home' or default Location is defined.")
2441                 ]
2442 karl  1.1    CIM_PhysicalMedia REF Dependent;
2443           };
2444           
2445           // ==================================================================
2446           // end of file
2447           // ==================================================================

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2