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

   1 karl  1.1.2.1 // ===================================================================
   2               // Title:       System MOF specification 2.6
   3               // Filename:    CIM_System26.mof
   4               // Version:     2.6
   5               // Release:     0
   6               // Date:        06/12/2001
   7               // ===================================================================
   8               // Copyright "2001" Distributed Management Task Force, Inc. (DMTF).
   9               // All rights reserved.  
  10               // DMTF is a not-for-profit association of industry members dedicated 
  11               // to promoting enterprise and systems management and interoperability. 
  12               // DMTF specifications and documents may be reproduced for uses
  13               // consistent with this purpose by members and non-members, 
  14               // provided that correct attribution is given. 
  15               // As DMTF specifications may be revised from time to time, 
  16               // the particular version and release cited should always be noted.
  17               // ===================================================================
  18               // Description: The object classes below are listed in an order that
  19               //              avoids forward references. Required objects, defined 
  20               //              by other working groups, are omitted.
  21               // ==================================================================
  22 karl  1.1.2.1 // Author:      DMTF System and Devices Working Group
  23               // ==================================================================
  24               // Date:        04/14/1998 - Version 2.0
  25               // Author:      DMTF System and Devices Working Group
  26               // ==================================================================
  27               //          06/16/1998 - V2.0 Errata
  28               //      - CR233, Format for specifying Propagated keys uses
  29               //                period, not colon and CIM_ missing from class name
  30               //          (CIM_OperatingSystemSoftwareFeature)
  31               //      09/29/1998 - Version 2.1
  32               //      - CR251, Remove DMI mapping reference from OperatingSystem.
  33               //          NumberOfUsers and move to LocalDateTime
  34               //      - CR268, Change cardinality of the Antecedent reference
  35               //          of the ParticipatingCS association (to Min(1))
  36               //      - CR273, Remove repetition of the Values array from the
  37               //          descriptions of several properties
  38               //      - CR276b, Add to the enumeration for UnitaryComputerSystem.
  39               //          PowerState
  40               //      - CR290, Add ModelCorrespondence to "linked" properties
  41               //      - CR293, Correct xxxMemory properties of OperatingSystem
  42               //          and add MaxProcessMemorySize property
  43 karl  1.1.2.1 //      06/08/1999 - Version 2.2
  44               //      - CR354, Update the Values array for "power save" for
  45               //          UnitaryComputerSystem (both the property and method)
  46               //      - CR355a, Update the method descriptions for SetPowerState,
  47               //                 AddNode, EvictNode, Reboot and Shutdown indicating 
  48               //                 that Values-ValueMap qualifiers can be defined for 
  49               //                 return codes
  50               //          - CR356a, Put keys on the references of Export
  51               //      - CR358a, Add ClusterSize property to FileSystem
  52               //      - CR363, Update OperatingSystem.OSType enumeration and the
  53               //           description for OperatingSystem.OtherTypeDescription
  54               //      - CR364, Create TotalVisibleMemorySize property on 
  55               //           OperatingSystem
  56               //      - CR368, Update ComponentCS' Description and add new 
  57               //           associations, SystemPartition and SystemBIOS
  58               //      - CR369, Update FileSystem - CodeSet's Description and 
  59               //           enum, and create a new property, FileSystemType
  60               //      - CR370a, Update BIOSFeature.Characteristics enumeration and
  61               //           add ListOfLanguages and CurrentLanguage properties
  62               //           to BIOSElement
  63               //          - CR371, Add WakeUpType property to UnitaryComputerSystem
  64 karl  1.1.2.1 //      - CR374a, Update Process' Description
  65               //      - CR383 and 409, Add OS/390, VSE and TPF to OS's OSType enum
  66               //      - CR386, Add to the enums for Cluster.Types and 
  67               //                 ParticipatingCS.RoleOfNode and update the latter's 
  68               //           Description
  69               //      - CR388a, Create StorageLibrary object
  70               //      - CR405, Add Counter and Gauge qualifiers
  71               //      - CR407, Remove the word "automated" from StorageLibrary's
  72               //           Description / Update descriptions for AuditInProgress
  73               //           and MaxAuditTime
  74               //      - CR408, Set ComputerSystem's cardinality in SystemPartition
  75               //           to Max(1)
  76               //      - CR417a, Change cardinality of UnitaryComputerSystem in
  77               //                 SystemBIOS (add Max(1)) and remove Min(1) from 
  78               //           ComputerSystem for RunningOS
  79               //        07/06/1999 - Version 2.2.1
  80               //      - CR423, Locale should be specified as en_US
  81               //      - CR425, Update the DMI MappingStrings using the June
  82               //               release of the master.mif
  83               //  Date  02/18/2000 - Version 2.3
  84               //      - CR433 Add new properties and enums from Master.MIF and new 
  85 karl  1.1.2.1 //              ModelCorrespondences 
  86               //      - CR344 Update to CIM_FileSystem classes and associations
  87               //      - CR437e, Diagnostic extensions, classes and associations.
  88               //      - CR460a Add Gauge qualifier to properties
  89               //      - CR473 Update to CIM_Mount association 
  90               //  Date 06/09/2000 - Version 2.4
  91               //      - CR480, Add a property to CIM_StorageLibrary, RoboticsEnabled.
  92               //      - CR488, Change descriptions in CIM_Service:DiagnosticTest 
  93               //               RunTest method, DiagnosticResult, DiagnosticSetting
  94               //  Date 07/14/2000 - Version 2.4
  95               //      - CR504 ERRATA to CIM V2.3 Add remainder of the propagated keys 
  96               //              for DiagnosticResult
  97               //      - CR511a, Update to the DiagnosticSetting.SettingID Description
  98               //      - CR517, Correct Compile error on RunTest method in the class 
  99               //               CIM_DiagnosticTest
 100               //  Date 12/01/2000 Version 2.5
 101               //      - CR533b Add Windows (R) Me  to Operating System property 
 102               //               enumerations
 103               //      - CR541a Add an association between Process and Service
 104               //      - CR543a Update the Description for LogicalFile.Name
 105               //      - CR582 ERRATA - Change the ValueMap qualifier to a Values 
 106 karl  1.1.2.1 //              qualifier on the CIM_DiagnosticTest.ResourcesUsed[]
 107               //              property due to type mismatch.
 108               //  Date 05/24/2001 Version 2.5 Final
 109               //              Reordered classes to match Visio
 110               //              Changed class format to be consistent
 111               //  Date 05/23/2001 - Final Version 2.5
 112               //          Reordered classes to match Visio
 113               //      - CR606 Add the Aggregate qualifier where missing:
 114               //              DiagnosticeTestInPackage, DiagnosticResultInPackage,
 115               //  Date 05/24/2001 Version 2.6
 116               //      - CR583d - Moved the following properties and methods from
 117               //                 UnitaryComputerSystem to ComputerSystem:
 118               //                 ResetCapability, PowerManagementCapabilites, and 
 119               //                 SetPowerState.
 120               //               - Added SetPowerStateWithBootFlags method to 
 121               //                 ComputerSystem.
 122               //      - CR608b - Add values "Caldera Open UNIX" and "OpenBSD"
 123               //                 to OperatingSystem.OSType.
 124               //               - Add property MaxProcessesPerUser to OperatingSystem
 125               //               - Add property OtherExecutionDescription to Process
 126               //               - Add property Executable to LogicalFile
 127 karl  1.1.2.1 //       Added include pragma for CIM_System26_Add1.mof for
 128               //          - CR583d (SystemBootOptions), CR607 (TimeZone), &
 129               //            CR612 (IBSubnetManager)
 130               //       Added include pragma for CIM_System26_Add2.mof for CR608 
 131               //          (Unix environment) extentions.
 132               //
 133               // ===================================================================
 134               
 135               
 136               // ===================================================================
 137               // Pragmas
 138               // ===================================================================
 139               #pragma locale ("en_US")
 140               
 141               // ===================================================================
 142               //
 143               //  System
 144               //
 145               // ===================================================================
 146               
 147               
 148 karl  1.1.2.1 // ===================================================================
 149               // ComponentCS
 150               // ===================================================================
 151                  [Association,  Aggregation, Description (
 152                    "A ComputerSystem can aggregate another ComputerSystem. "
 153                    "This association can be used to model MPP Systems with "
 154                    "workstation frontends, an I2O subsystem embedded in a Unitary"
 155                    "ComputerSystem, or a System that splits functionality between "
 156                    "two processors, potentially running different Operating"
 157                    "Systems. For example, if a CISC Processor and its associated "
 158                    "OperatingSystem, are used for user interface and file "
 159                    "support, and a RISC Processor and its OS are used for complex "
 160                    "mathematical operations, this could be modeled as two "
 161                    "ComputerSystems where one aggregates the other. In some cases, "
 162                    "this could be modeled as a Cluster. The difference is the "
 163                    "focus of the relationship. ComponentCS represents that "
 164                    "unique and distinct ComputerSystems are aggregated by a "
 165                    "higher level CS object. However, each of the component CSs are "
 166                    "still distinguishable entities and are only viewed as such. "
 167                    "Alternately, with a Cluster, the ComputerSystems that "
 168                    "participate in it are inconsequential, when viewed through the "
 169 karl  1.1.2.1      "'Cluster System'.\n\n"
 170                    "When instantiating or subclassing the ComponentCS "
 171                    "relationship, care should be taken that the component "
 172                    "ComputerSystem meets the definitional requirements of a "
 173                    "ComputerSystem - ie, a functional whole that provides "
 174                    "compute capabilities and aggregates System Devices, an "
 175                    "OperatingSystem, etc.") ] 
 176               class CIM_ComponentCS : CIM_SystemComponent {
 177                     [Override ("GroupComponent"),
 178                      Aggregate,
 179                      Description (
 180                       "The ComputerSystem that contains and/or aggregates other "
 181                       "Systems.") ]
 182                  CIM_ComputerSystem REF GroupComponent;
 183                     [Override ("PartComponent"), 
 184                      Description ("The contained (Sub)ComputerSystem.") ]
 185                  CIM_ComputerSystem REF PartComponent;
 186               };
 187               
 188               
 189               // ===================================================================
 190 karl  1.1.2.1 // UnitaryComputerSystem
 191               // ===================================================================
 192                  [Description (
 193                    "A class derived from ComputerSystem that represents a Desktop, "
 194                    "Mobile, NetPC, Server or other type of a single node Computer "
 195                    "System.") ] 
 196               class CIM_UnitaryComputerSystem : CIM_ComputerSystem {
 197                     [Description (
 198                       "This object contains the data needed to find either the "
 199                       "initial load device (its key) or the boot service to "
 200                       "request the operating system to start up. In addition, "
 201                       "the load parameters (ie, a pathname and parameters) "
 202                       "may also be specified.") ]
 203                  string InitialLoadInfo[];
 204                     [Description (
 205                       "This object contains the data identifying either the "
 206                       "initial load device (its key) or the boot service that "
 207                       "requested the last operating system load. In addition, "
 208                       "the load parameters (ie, a pathname and parameters) "
 209                       "may also be specified."),
 210                      MappingStrings {
 211 karl  1.1.2.1         "MIB.IETF|HOST-RESOURCES-MIB.hrSystemInitialLoadDevice",
 212                       "MIB.IETF|HOST-RESOURCES-MIB.hrSystemInitialLoadParameters", 
 213                       "MIF.DMTF|Host System|001.3"}]
 214                  string LastLoadInfo;
 215                     [Description (
 216                     "Boolean indicating that the ComputerSystem, with its "
 217                     "running OperatingSystem, supports power management. This "
 218                     "boolean does not indicate that power management features are "
 219                     "currently enabled, or if enabled, what features are "
 220                     "supported. Refer to the PowerManagementCapabilities array "
 221                     "for this information. If this boolean is false, the integer "
 222                     "value 1 for the string, \"Not Supported\", should be the "
 223                     "only entry in the PowerManagementCapabilities array.")
 224                     ]
 225                  boolean PowerManagementSupported;    
 226                     [Description(
 227                       "Indicates the current power state of the ComputerSystem and "
 228                       "its associated OperatingSystem. Regarding the Power Save "
 229                       "states, these are defined as follows: Value 4 (\"Power Save "
 230                       "- Unknown\") indicates that the System is known to be in a "
 231                       "power save mode, but its exact status in this mode is "
 232 karl  1.1.2.1         "unknown; 2 (\"Power Save - Low Power Mode\") indicates that "
 233                       "the System is in a power save state but still functioning, "
 234                       "and may exhibit degraded performance; 3 (\"Power Save - "
 235                       "Standby\") describes that the System is not functioning but "
 236                       "could be brought to full power 'quickly'; value 7 (\"Power Save "
 237                       "- Warning\") indicates that the ComputerSystem is in a warning "
 238                       "state, though also in a power save mode; and, values 8 and 9 "
 239                       "describe the ACPI \"Hibernate\" and \"Soft Off\" states."),
 240                      Values {"Unknown", "Full Power", "Power Save - Low Power Mode", 
 241                              "Power Save - Standby", "Power Save - Unknown", 
 242                              "Power Cycle", "Power Off", "Power Save - Warning", 
 243                              "Power Save - Hibernate", "Power Save - Soft Off"}]
 244                  uint16 PowerState;
 245                     [Description (
 246                       "The event that caused the System to power up. This "
 247                       "information is available in SMBIOS, in the Type 1 structure, "
 248                       "the Wake Up Type attribute."),
 249                      Values {"Reserved", "Other", "Unknown", "APM Timer", 
 250                              "Modem Ring", "LAN Remote", "Power Switch", "PCI PME#", 
 251                              "A/C Power Restored"}]
 252                  uint16 WakeUpType;
 253 karl  1.1.2.1 };
 254               
 255               
 256               // ===================================================================
 257               // SystemPartition
 258               // ===================================================================
 259                  [Association, Aggregation, Description (
 260                    "A Partition is an instance of a UnitaryComputerSystem (with "
 261                    "its own OperatingSystem and Devices dedicated to the "
 262                    "Partition) that is supported by underlying hardware and "
 263                    "software. A Partition is not a virtualization of a Computer"
 264                    "System, but the segmentation of the System's compute "
 265                    "capabilities. Partitions can run independent copies of "
 266                    "possibly different OperatingSystems and have dedicated "
 267                    "Devices. The 'real', underlying System (perhaps a Cluster "
 268                    "or another UnitaryComputerSystem) aggregates its "
 269                    "Partitions. These semantics are described by the System"
 270                    "Partition association.") ]
 271               class CIM_SystemPartition : CIM_ComponentCS {
 272                     [Override ("GroupComponent"), Aggregate, Max (1),
 273                      Description (
 274 karl  1.1.2.1         "The 'underlying' ComputerSystem that hosts a Partition.") ]
 275                  CIM_ComputerSystem REF GroupComponent;
 276                     [Override ("PartComponent"), 
 277                      Description ("The System Partition.") ]
 278                  CIM_UnitaryComputerSystem REF PartComponent;
 279               };
 280               
 281               
 282               // ===================================================================
 283               // VirtualComputerSystem
 284               // ===================================================================
 285                  [Description (
 286                    "A class derived from ComputerSystem that represents the "
 287                    "ability to virtualize or emulate another ComputerSystem.") ] 
 288               class CIM_VirtualComputerSystem : CIM_ComputerSystem {
 289                     [Description (
 290                       "A string describing the type of System or hardware platform "
 291                       "that is virtualized. OperatingSystem information is obtained "
 292                       "via the RunningOS inherited from ComputerSystem.") ]
 293                  string VirtualSystem;
 294               };
 295 karl  1.1.2.1 
 296               
 297               // ===================================================================
 298               // HostingCS
 299               // ===================================================================
 300                  [Association, Description (
 301                    "A VirtualComputerSystem is hosted on another ComputerSystem. "
 302                    "This association makes that relationship explicit.") ] 
 303               class CIM_HostingCS : CIM_Dependency {
 304                     [Override ("Antecedent"),  Min (1),
 305                      Description ("The hosting ComputerSystem.") ]
 306                  CIM_ComputerSystem REF Antecedent;
 307                     [Override ("Dependent"), 
 308                      Description ("The VirtualComputerSystem.") ]
 309                  CIM_VirtualComputerSystem REF Dependent;
 310               };
 311               
 312               
 313               // ===================================================================
 314               // Cluster
 315               // ===================================================================
 316 karl  1.1.2.1    [Description (
 317                    "A class derived from ComputerSystem that 'is made up of' two "
 318                    "or more ComputerSystems which operate together as an atomic, "
 319                    "functional whole to increase the performance, resources and/or "
 320                    "RAS (Reliability, Availability and Serviceability) of the "
 321                    "component ComputerSystems, related to some aspects of these "
 322                    "ComputerSystems.") ] 
 323               class CIM_Cluster : CIM_ComputerSystem {
 324                     [Description (
 325                       "Interconnect is a free form string that describes the "
 326                       "interconnection mechanism for the Cluster.") ]
 327                  string Interconnect; 
 328                     [Description (
 329                       "InterconnectAddress indicates the address of the Cluster "
 330                       "System, which is dependent on the interconnection scheme. "
 331                       "If no address is available or applicable, a null string "
 332                       "should be used.") ]
 333                  string InterconnectAddress;
 334                     [Description (
 335                       "The cluster types. This specifies whether the cluster is for "
 336                       "failover (value=2), performance (3), etc. The values which "
 337 karl  1.1.2.1         "can be specified are not mutually exclusive. Thus, Types is "
 338                       "an array."),
 339                      Values {"Unknown", "Other", "Failover", 
 340                              "Performance", "Distributed OS", "Node Grouping",
 341                              "SysPlex"}]
 342                  uint16 Types[];
 343                     [Description (
 344                       "Indicates the maximum number of nodes that may participate in "
 345                       "the Cluster.  If unlimited, enter 0.") ]
 346                  uint32 MaxNumberOfNodes;  
 347                     [Description (
 348                       "Indicates the state of the Cluster.  The cluster can be "
 349                       "defined to be on-line (value=2), off-line (3), in a degraded "
 350                       "mode of operation (4) or unavailable (5)."),
 351                      Values {"Unknown", "Other", "On-line", "Off-line", 
 352                              "Degraded", "Unavailable"}]
 353                  uint16 ClusterState;
 354               };
 355               
 356               
 357               // ===================================================================
 358 karl  1.1.2.1 // ParticipatingCS
 359               // ===================================================================
 360                  [Association, Description (
 361                    "A Cluster is composed of two or more ComputerSystems, "
 362                    "operating together. A ComputerSystem may participate in "
 363                    "multiple Clusters. \n\n"
 364                    "When first establishing or bringing up a Cluster, only one "
 365                    "ComputerSystem may be defined as participating in it. "
 366                    "Therfore, the cardinality of the association for "
 367                    "the ComputerSystem reference is Min(1). ") ] 
 368               class CIM_ParticipatingCS : CIM_Dependency { 
 369                     [Override ("Antecedent"), Min (1),
 370                      Description ( 
 371                       "The ComputerSystem which participates in the Cluster. ") ] 
 372                  CIM_ComputerSystem REF Antecedent; 
 373                     [Override ("Dependent"), 
 374                      Description ("The Cluster.") ] 
 375                  CIM_Cluster REF Dependent;
 376                     [Description (
 377                       "StateOfNode indicates the condition of the participating "
 378                       "ComputerSystem in the Cluster.  For example, one value is "
 379 karl  1.1.2.1         "\"Joining\" (2)."),
 380                      Values {"Unknown", "Other", "Joining", "Paused", 
 381                              "Available", "Unavailable", "Degraded"} ] 
 382                  uint16 StateOfNode;
 383                     [Description (
 384                    "RoleOfNode indicates whether the Cluster nodes are "
 385                    "peers (value = 2), connected in a master-slave/primary-"
 386                    "secondary relationship (values = 3 for primary, 4 for "
 387                    "secondary), available in a standby configuration (5) or "
 388                    "of some other (1) or unknown (0) relationship. In a "
 389                    "System/390 environment, the nodes are identified as \"Base "
 390                       "Plex\" (value=6) or \"Enhanced Plex\" (value=7)."),
 391                      Values {"Unknown", "Other", "Peer", "Primary", 
 392                          "Secondary", "Standby", "Base Plex", "Enhanced Plex"}
 393                     ] 
 394                  uint16 RoleOfNode;
 395               };
 396               
 397               
 398               // ===================================================================
 399               // StorageLibrary
 400 karl  1.1.2.1 // ===================================================================
 401                  [Description (
 402                    "A StorageLibrary is a collection of ManagedSystemElements "
 403                    "that operate together to provide cartridge library "
 404                    "capabilities. This object serves as an aggregation point to "
 405                    "group the following elements: MediaTransferDevices, a Label"
 406                    "Reader, a library Door, MediaAccessDevices, and other "
 407                    "Library components.") ]
 408               class CIM_StorageLibrary : CIM_System {
 409                     [Description (
 410                       "Capabilities of the StorageLibrary. For example, it can be "
 411                       "indicated that the Library can perform automatic cleaning of "
 412                       "the MediaAccessDevices contained in it (value=1) or that the "
 413                       "Library provides physical door access for an operator "
 414                       "(value=2)."),
 415                      Values {"Unknown", "Other", "Automatic Cleaning", 
 416                              "Manual Operation", "Front Panel Lockable"}]
 417                  uint16 Capabilities[];
 418                     [Description (
 419                       "Boolean set to TRUE if there are more PhysicalMedia in a "
 420                       "Library than there are StorageMediaLocations to contain them. "
 421 karl  1.1.2.1         "For instance, if all MediaAccessDevices have a Media loaded "
 422                       "in them, and all StorageMediaLocations are loaded by an "
 423                       "operator, then an Overfilled condition exists.") ]
 424                  boolean Overfilled;
 425                     [Description (
 426                       "Boolean set to TRUE if the Library can not currently report "
 427                       "the correct state of each PhysicalMedia within its proper "
 428                       "StorageMediaLocation.") ]
 429                  boolean AuditNeeded;
 430                     [Description (
 431                       "Boolean set to TRUE if an audit of the location of some or "
 432                       "all of the Library's PhysicalMedia is currently being "
 433                       "performed. That an individual Changer is currently doing an "
 434                       "audit is indicated by a similar AuditInProgress boolean "
 435                       "property on the Changer object.") ]
 436                  boolean AuditInProgress;
 437                     [Description (
 438                       "Maximum time in seconds that it takes for the Storage"
 439                       "Library to perform a complete audit of each StorageMedia"
 440                       "Location, to determine the absence or presence of a Physical"
 441                       "Media. If automated support is not provided, then this "
 442 karl  1.1.2.1         "property's value is undefined."),
 443                      Units ("Seconds") ]
 444                  uint64 MaxAuditTime;
 445                     [Description (
 446                       "Boolean set to TRUE if the Library includes a robotics "
 447                       "mechanism that can be controlled by a ComputerSystem, to "
 448                       "automatically load and unload PhysicalMedia to/from "
 449                       "MediaAccessDevices and StorageMediaLocations. The "
 450                       "property is set to FALSE if the Library represents a "
 451                       "repository of Media that are inaccessible to a MediaAccess"
 452                       "Device without human intervention. An example of a non-"
 453                       "automated Library is a 'shelf' or 'vault' where Physical"
 454                       "Media are kept for extended periods of time.") ]
 455                  boolean Automated;
 456                     [Description (
 457                       "Boolean indicating whether the Library's robotics are "
 458                       "currently active/enabled. If TRUE, then the Library may not "
 459                       "be safe for a human to enter.") ] 
 460                   boolean RoboticsEnabled;
 461                     [Description (
 462                       "Requests that the Library robotics be enabled for "
 463 karl  1.1.2.1         "automated operation (input parameter, Enabled, set to TRUE), "
 464                       "or disabled for manual operation (input parameter set to "
 465                       "FALSE). The return value should be 0 if the request was "
 466                       "successfully executed, 1 if the request is not supported "
 467                       "and some other value if an error occurred. In a subclass, "
 468                       "the set of possible return codes could be specified, using "
 469                       "a ValueMap qualifier on the method. The strings to which "
 470                       "the ValueMap contents are 'translated' may also be specified "
 471                       "in the subclass as a Values array qualifier.") ]
 472                  uint32 EnableRobotics([IN] boolean Enable);
 473               };
 474               
 475               
 476               // ===================================================================
 477               //
 478               //  Services and SAPS
 479               //
 480               // ===================================================================
 481               
 482               
 483               // ===================================================================
 484 karl  1.1.2.1 // ClusteringService
 485               // ===================================================================
 486                  [Description (
 487                    "ClusteringService represents the functionality provided by a "
 488                    "Cluster. For example, failover functionality may be modeled as "
 489                    "a Service of a failover Cluster.") ]
 490               class CIM_ClusteringService : CIM_Service {
 491                     [Description ( 
 492                       "AddNode brings a new ComputerSystem into a Cluster. "
 493                       "The node to be added is specified as a parameter to the "
 494                       "method. The return value should be 0 if the Computer"
 495                       "System is successfully added, 1 if the method is not "
 496                       "supported and any other number if an error occurred. "
 497                       "In a subclass, the set of possible return codes could be "
 498                       "specified, using a ValueMap qualifier on the method. The "
 499                       "strings to which the ValueMap contents are 'translated' "
 500                       "may also be specified in the subclass as a Values array "
 501                       "qualifier.") ]
 502                  uint32 AddNode ([IN] CIM_ComputerSystem ref CS);
 503                     [Description (
 504                       "EvictNode removes a ComputerSystem from a Cluster. "
 505 karl  1.1.2.1         "The node to be evicted is specified as a parameter to the "
 506                       "method. The return value should be 0 if the ComputerSystem "
 507                       "is successfully evicted, 1 if the method is not supported "
 508                       "and any other number if an error occurred. In a subclass, "
 509                       "the set of possible return codes could be specified, using a "
 510                       "ValueMap qualifier on the method. The strings to which the "
 511                       "ValueMap contents are 'translated' may also be specified in "
 512                       "the subclass as a Values array qualifier.") ]
 513                  uint32 EvictNode ([IN] CIM_ComputerSystem ref CS);
 514               };
 515               
 516               
 517               // ===================================================================
 518               // ClusteringSAP
 519               // ===================================================================
 520                  [Description (
 521                    "A representation of the access points of a ClusteringService.") ]
 522               class CIM_ClusteringSAP : CIM_ServiceAccessPoint {
 523               };
 524               
 525               
 526 karl  1.1.2.1 // ===================================================================
 527               // ClusterServiceAccessBySAP
 528               // ===================================================================
 529                  [Association, Description (
 530                    "ClusterServiceAccessBySAP is the relationship between a "
 531                    "ClusteringService and its access points.") ]
 532               class CIM_ClusterServiceAccessBySAP : CIM_ServiceAccessBySAP {
 533                     [Override ("Antecedent"),
 534                      Description ("The ClusteringService.") ]
 535                  CIM_ClusteringService REF Antecedent;
 536                     [Override ("Dependent"),
 537                      Description ("An access point for the ClusteringService.") ]
 538                  CIM_ClusteringSAP REF Dependent;
 539               };
 540               
 541               
 542               // ===================================================================
 543               // HostedClusterService
 544               // ===================================================================
 545                  [Association,
 546                   Description (
 547 karl  1.1.2.1      "HostedClusterService defines the hosting Cluster for a "
 548                    "ClusteringService.  Since this relationship is subclassed "
 549                    "from HostedService, it inherits the scoping/naming scheme "
 550                    "defined for Service - where a Service is weak to its "
 551                    "hosting System.  In this case, a ClusteringService must be "
 552                    "weak to its hosting Cluster System.") ]
 553               class CIM_HostedClusterService : CIM_HostedService {
 554                     [Override ("Antecedent"), Min (1), Max (1), 
 555                      Description ("The Cluster.") ]
 556                  CIM_Cluster REF Antecedent;
 557                     [Override ("Dependent"), Weak, 
 558                      Description (
 559                       "The ClusteringService that is hosted on the Cluster.") ]
 560                  CIM_ClusteringService REF Dependent;
 561               };
 562               
 563               
 564               // ===================================================================
 565               // HostedClusterSAP
 566               // ===================================================================
 567                  [Association, Description (
 568 karl  1.1.2.1      "HostedClusterSAP defines the hosting ComputerSystem for a "
 569                    "ClusteringSAP. Since this relationship is subclassed "
 570                    "from HostedAccessPoint, it inherits the scoping/naming scheme "
 571                    "defined for AccessPoint - where an AccessPoint is weak to "
 572                    "its hosting System.  In this case, a ClusteringSAP must be "
 573                    "weak to its hosting ComputerSystem.") ]
 574               class CIM_HostedClusterSAP : CIM_HostedAccessPoint {
 575                     [Override ("Antecedent"), Min(1), Max(1),  
 576                      Description ("The ComputerSystem.") ]
 577                  CIM_ComputerSystem REF Antecedent;
 578                     [Override ("Dependent"), Weak,
 579                      Description (
 580                       "The ClusteringSAP that is hosted on the ComputerSystem.") ]
 581                  CIM_ClusteringSAP REF Dependent;
 582               };
 583               
 584               
 585               // ===================================================================
 586               // BootService
 587               // ===================================================================
 588                  [Description (
 589 karl  1.1.2.1      "BootService represents the functionality provided by a Device, "
 590                    "software or via a Network to load an Operating System on a "
 591                    "UnitaryComputerSystem.") ]
 592               class CIM_BootService : CIM_Service {
 593               };
 594               
 595               
 596               // ===================================================================
 597               // BootSAP
 598               // ===================================================================
 599                  [Description (
 600                      "A representation of the access points of a BootService.") ]
 601               class CIM_BootSAP : CIM_ServiceAccessPoint {
 602               };
 603               
 604               
 605               // ===================================================================
 606               // BootServiceAccessBySAP
 607               // ===================================================================
 608                  [Association, Description (
 609                    "BootServiceAccessBySAP is the relationship between a Boot"
 610 karl  1.1.2.1      "Service and its access points.") ]
 611               class CIM_BootServiceAccessBySAP : CIM_ServiceAccessBySAP {
 612                     [Override ("Antecedent"), 
 613                      Description ("The BootService.") ]
 614                  CIM_BootService REF Antecedent;
 615                     [Override ("Dependent"),
 616                      Description ("An access point for the BootService.") ]
 617                  CIM_BootSAP REF Dependent;
 618               };
 619               
 620               
 621               // ===================================================================
 622               // HostedBootService
 623               // ===================================================================
 624                  [Association, Description (
 625                    "HostedBootService defines the hosting System for a Boot"
 626                    "Service. Since this relationship is subclassed from Hosted"
 627                    "Service, it inherits the scoping/naming scheme defined for "
 628                    "Service - where a Service is weak to its hosting System.") ]
 629               class CIM_HostedBootService : CIM_HostedService {
 630                     [Override ("Dependent"), Weak,
 631 karl  1.1.2.1        Description ("The BootService hosted on the System.") ]
 632                  CIM_BootService REF Dependent;
 633               };
 634               
 635               
 636               // ===================================================================
 637               // HostedBootSAP
 638               // ===================================================================
 639                  [Association, Description (
 640                    "HostedBootSAP defines the hosting UnitaryComputerSystem for "
 641                    "a BootSAP. Since this relationship is subclassed from "
 642                    "HostedAccessPoint, it inherits the scoping/naming scheme "
 643                    "defined for AccessPoint - where an AccessPoint is weak to its "
 644                    "hosting System.  In this case, a BootSAP must be "
 645                    "weak to its hosting UnitaryComputerSystem.") ]
 646               class CIM_HostedBootSAP : CIM_HostedAccessPoint {
 647                     [Override ("Antecedent"), Min(1), Max(1),
 648                      Description ("The UnitaryComputerSystem.") ]
 649                  CIM_UnitaryComputerSystem REF Antecedent;
 650                     [Override ("Dependent"),  Weak,
 651                      Description ("The BootSAP hosted on the UnitaryComputer"
 652 karl  1.1.2.1         "System.") ]
 653                  CIM_BootSAP REF Dependent;
 654               };
 655               
 656               
 657               // ===================================================================
 658               //
 659               //  File Systems and Software
 660               //
 661               // ===================================================================
 662               
 663               
 664               // ===================================================================
 665               // OperatingSystem
 666               // ===================================================================
 667                  [Description (
 668                    "An OperatingSystem is software/firmware that makes a "
 669                    "ComputerSystem's hardware usable, and implements and/or "
 670                    "manages the resources, file systems, processes, user "
 671                    "interfaces, services, ... available on the ComputerSystem.") ] 
 672               class CIM_OperatingSystem : CIM_LogicalElement {
 673 karl  1.1.2.1       [Propagated ("CIM_ComputerSystem.CreationClassName"),
 674                      Key, MaxLen (256),
 675                      Description ("The scoping ComputerSystem's CreationClassName.") ]
 676                  string CSCreationClassName;
 677                     [Propagated ("CIM_ComputerSystem.Name"), 
 678                      Key, MaxLen (256),
 679                      Description ("The scoping ComputerSystem's Name.") ]
 680                  string CSName;
 681                     [Key, MaxLen (256),
 682                      Description (
 683                       "CreationClassName indicates the name of the class or the "
 684                       "subclass used in the creation of an instance. When used "
 685                       "with the other key properties of this class, this property "
 686                       "allows all instances of this class and its subclasses to "
 687                       "be uniquely identified.") ]
 688                  string CreationClassName;
 689                     [Override ("Name"),
 690                      Key, MaxLen (256),
 691                      Description (
 692                       "The inherited Name serves as key of an OperatingSystem "
 693                       "instance within a ComputerSystem."),
 694 karl  1.1.2.1        MappingStrings {"MIF.DMTF|Operating System|001.2"}]
 695                  string Name;
 696                     [Description (
 697                       "A integer indicating the type of OperatingSystem."),
 698                      Values {"Unknown", "Other", "MACOS", "ATTUNIX", "DGUX",
 699                              "DECNT", "Digital Unix", "OpenVMS", "HPUX", "AIX",
 700                              "MVS", "OS400", "OS/2", "JavaVM", "MSDOS", "WIN3x",
 701                              "WIN95", "WIN98", "WINNT", "WINCE", "NCR3000",
 702                              "NetWare", "OSF", "DC/OS", "Reliant UNIX",
 703                              "SCO UnixWare", "SCO OpenServer", "Sequent",
 704                              "IRIX", "Solaris", "SunOS", "U6000", "ASERIES",
 705                              "TandemNSK", "TandemNT", "BS2000", "LINUX",
 706                              "Lynx", "XENIX", "VM/ESA", "Interactive UNIX",
 707                              "BSDUNIX", "FreeBSD", "NetBSD", "GNU Hurd", "OS9",
 708                              "MACH Kernel", "Inferno", "QNX", "EPOC", "IxWorks",
 709                              "VxWorks", "MiNT", "BeOS", "HP MPE", "NextStep",
 710                              "PalmPilot", "Rhapsody", "Windows 2000", "Dedicated",
 711                              "OS/390", "VSE", "TPF","Windows (R) Me", 
 712                              "Caldera Open UNIX", "OpenBSD"},
 713                      ModelCorrespondence {
 714                       "CIM_OperatingSystem.OtherTypeDescription"}]
 715 karl  1.1.2.1    uint16 OSType;
 716                     [Description (
 717                       "A string describing the manufacturer and OperatingSystem "
 718                       "type - used when the OperatingSystem property, OSType, is "
 719                       "set to 1 or 59 (\"Other\" or \"Dedicated\"). The format of "
 720                       "the string inserted in OtherTypeDescription should be "
 721                       "similar in format to the Values strings defined for OSType. "
 722                       "OtherTypeDescription should be set to NULL when OSType is "
 723                       "any value other than 1 or 59."),
 724                      MaxLen (64),
 725                      ModelCorrespondence {"CIM_OperatingSystem.OSType"}]
 726                  string OtherTypeDescription;
 727                     [Description(
 728                       "A string describing the Operating System's version "
 729                       "number. The format of the version information is as follows: "
 730                       "<Major Number>.<Minor Number>.<Revision> or "
 731                       "<Major Number>.<Minor Number>.<Revision Letter>."),
 732                      MappingStrings {"MIF.DMTF|Operating System|001.3"}]
 733                  string Version;
 734                     [Description ("Time when the OperatingSystem was last booted."),
 735                      MappingStrings {"MIF.DMTF|General Information|001.5"}]
 736 karl  1.1.2.1    datetime LastBootUpTime; 
 737                     [Description (
 738                       "OperatingSystem's notion of the local date and time of day."),
 739                      MappingStrings {"MIB.IETF|HOST-RESOURCES-MIB.hrSystemDate",
 740                       "MIF.DMTF|General Information|001.6"}]
 741                  datetime LocalDateTime;
 742                     [Description (
 743                       "CurrentTimeZone indicates the number of minutes the "
 744                       "OperatingSystem is offset from Greenwich Mean Time. "
 745                       "Either the number is positive, negative or zero."),
 746                      Units("Minutes") ]
 747                  sint16 CurrentTimeZone;
 748                     [Description (
 749                      "Number of user licenses for the OperatingSystem. "
 750                      "If unlimited, enter 0.") ]
 751                  uint32 NumberOfLicensedUsers;
 752                     [Description (
 753                       "Number of user sessions for which the OperatingSystem is "
 754                       "currently storing state information."), Gauge,
 755                      MappingStrings {"MIF.DMTF|Host System|001.4",
 756                       "MIB.IETF|HOST-RESOURCES-MIB.hrSystemNumUsers"} ]
 757 karl  1.1.2.1    uint32  NumberOfUsers;
 758                     [Description (
 759                       "Number of process contexts currently loaded or running on "
 760                       "the OperatingSystem."), Gauge, 
 761                      MappingStrings {"MIF.DMTF|Host System|001.5",
 762                       "MIB.IETF|HOST-RESOURCES-MIB.hrSystemProcesses"} ]
 763                  uint32 NumberOfProcesses;
 764                     [Description (
 765                       "Maximum number of process contexts the OperatingSystem can "
 766                       "support. If there is no fixed maximum, the value should be 0."
 767                       "On systems that have a fixed maximum, this object can help "
 768                       "diagnose failures that occur when the maximum is reached."), 
 769                      MappingStrings {"MIF.DMTF|Host System|001.6",
 770                       "MIB.IETF|HOST-RESOURCES-MIB.hrSystemMaxProcesses"} ]
 771                  uint32 MaxNumberOfProcesses;
 772                     [Description (
 773                       "Total swap space in Kbytes. This value may be "
 774                       "NULL (unspecified) if swap space is not distinguished from "
 775                       "page files.  However, some Operating Systems distinguish "
 776                       "these concepts.  For example, in UNIX, whole processes can "
 777                       "be 'swapped out' when the free page list falls and remains "
 778 karl  1.1.2.1         "below a specified amount."),
 779                      Units("KiloBytes") ]
 780                  uint64 TotalSwapSpaceSize;
 781                     [Description (
 782                       "Number of Kbytes of virtual memory. For example, "
 783                       "this may be calculated by adding the amount of total RAM to "
 784                       "the amount of paging space (ie, adding the amount of "
 785                       "memory in/aggregated by the ComputerSystem to the property, "
 786                       "SizeStoredInPagingFiles."),
 787                      Units("KiloBytes"),
 788                      MappingStrings {"MIF.DMTF|System Memory Settings|001.5"}]
 789                  uint64 TotalVirtualMemorySize;
 790                     [Gauge, Description (
 791                       "Number of Kbytes of virtual memory currently unused and "
 792                       "available. For example, this may be calculated by adding "
 793                       "the amount of free RAM to the amount of free paging space "
 794                       "(ie, adding the properties, FreePhysicalMemory and FreeSpace"
 795                       "InPagingFiles)."),
 796                      Units("KiloBytes"), 
 797                      MappingStrings {"MIF.DMTF|System Memory Settings|001.6"}]
 798                  uint64 FreeVirtualMemory;
 799 karl  1.1.2.1       [Gauge, Description (
 800                       "Number of Kbytes of physical memory currently unused and "
 801                       "available."),
 802                      Units("KiloBytes"),
 803                      MappingStrings{"MIF.DMTF|System Memory Settings|001.2", 
 804                       "MIF.UNIX|Host Physical Memory|6.1"} ] 
 805                  uint64 FreePhysicalMemory;
 806                     [Description (
 807                       "The total amount of physical memory (in Kbytes) available "
 808                       "to the OperatingSystem. This value does not necessarily "
 809                       "indicate the true amount of physical memory, but what is "
 810                       "reported to the OperatingSystem as available to it."),
 811                      Units("KiloBytes") ]
 812                  uint64 TotalVisibleMemorySize;
 813                     [Description (
 814                       "The total number of KBytes that can be stored in the "
 815                       "OperatingSystem's paging files. 0 indicates that there "
 816                       "are no paging files."),
 817                      Units("KiloBytes"),
 818                      MappingStrings {"MIF.DMTF|System Memory Settings|001.3"}]
 819                  uint64 SizeStoredInPagingFiles;
 820 karl  1.1.2.1       [Gauge, Description (
 821                       "The total number of KBytes that can be mapped into the "
 822                       "OperatingSystem's paging files without causing any other "
 823                       "pages to be swapped out. 0 indicates that there are no "
 824                       "paging files."),
 825                      Units("KiloBytes"),
 826                      MappingStrings {"MIF.DMTF|System Memory Settings|001.4"}]
 827                  uint64 FreeSpaceInPagingFiles;
 828                     [Description (
 829                       "Maximum number of Kbytes of memory that can be allocated "
 830                       "to a Process. For Operating Systems with no virtual memory, "
 831                       "this value is typically equal to the total amount of "
 832                       "physical Memory minus memory used by the BIOS and OS. For "
 833                       "some Operating Systems, this value may be infinity - in "
 834                       "which case, 0 should be entered. In other cases, this value "
 835                       "could be a constant - for example, 2G or 4G."),
 836                      Units("KiloBytes") ]
 837                  uint64 MaxProcessMemorySize;
 838                     [Description (
 839                       "Boolean indicating whether the OperatingSystem is "
 840                       "distributed across several ComputerSystem nodes. If so, "
 841 karl  1.1.2.1         "these nodes should be grouped as a Cluster.") ]
 842                  boolean Distributed;
 843                     [Description (
 844                       "A value that indicates the maximum processes that a user "
 845                       "can have associate with it.") ]
 846                  uint32  MaxProcessesPerUser;
 847                     [Description (
 848                       "Requests a reboot of the OperatingSystem. The return value "
 849                       "should be 0 if the request was successfully executed, "
 850                       "1 if the request is not supported and some other value "
 851                       "if an error occurred. In a subclass, the set of possible "
 852                       "return codes could be specified, using a ValueMap qualifier "
 853                       "on the method. The strings to which the ValueMap contents "
 854                       "are 'translated' may also be specified in the subclass as "
 855                       "a Values array qualifier.") ]
 856                  uint32 Reboot();
 857                     [Description (
 858                       "Requests a shutdown of the OperatingSystem. The return "
 859                       "value should be 0 if the request was successfully executed, "
 860                       "1 if the request is not supported and some other value if "
 861                       "an error occurred. It is up to the implementation or subclass "
 862 karl  1.1.2.1         "of OperatingSystem to establish dependencies between "
 863                       "the Shutdown and Reboot methods, and for example, to provide "
 864                       "more sophisticated capabilities such as scheduled shutdown/"
 865                       "reboot, etc. In a subclass, the set of possible return "
 866                       "codes could be specified, using a ValueMap qualifier on "
 867                       "the method. The strings to which the ValueMap contents are "
 868                       "'translated' may also be specified in the subclass as a "
 869                       "Values array qualifier.") ]
 870                  uint32 Shutdown();
 871               };
 872               
 873               
 874               // ===================================================================
 875               // InstalledOS
 876               // ===================================================================
 877                  [Association, Aggregation, Description (
 878                    "A link between the ComputerSystem and the OperatingSystem(s) "
 879                    "installed or loaded on it. An OperatingSystem is 'installed' "
 880                    "on a ComputerSystem, when placed on one of its StorageExtents "
 881                    "- for example, copied to a disk drive or downloaded to "
 882                    "Memory. Using this definition, an OperatingSystem is "
 883 karl  1.1.2.1      "'installed' on a NetPC when downloaded via the network.") ]
 884               class CIM_InstalledOS : CIM_SystemComponent {
 885                     [Override ("GroupComponent"), Aggregate, Min(1), Max (1),
 886                      Description ("The ComputerSystem.") ]
 887                  CIM_ComputerSystem REF GroupComponent;
 888                     [Override ("PartComponent"), Weak,
 889                      Description (
 890                       "The OperatingSystem installed on the ComputerSystem.") ]
 891                  CIM_OperatingSystem REF PartComponent;
 892                     [Description (
 893                       "Boolean indicating that the OperatingSystem is the default "
 894                       "OS for the ComputerSystem."),
 895                      MappingStrings {"MIF.DMTF|Operating System|001.4"}]
 896                  boolean PrimaryOS;
 897               };
 898               
 899               
 900               // ===================================================================
 901               // RunningOS
 902               // ===================================================================
 903                  [Association, Description (
 904 karl  1.1.2.1      "RunningOS indicates the currently executing OperatingSystem. "
 905                    "At most one OperatingSystem can execute at any time on a "
 906                    "ComputerSystem. 'At most one' is specified, since the Computer"
 907                    "System may not be currently booted, or its OperatingSystem "
 908                    "may be unknown.") ]
 909               class CIM_RunningOS : CIM_Dependency {
 910                     [Override ("Antecedent"), Max (1),
 911                      Description (
 912                       "The OperatingSystem currently running on the "
 913                       "ComputerSystem.") ]
 914                  CIM_OperatingSystem REF Antecedent;
 915                     [Override ("Dependent"), Max (1),
 916                      Description ("The ComputerSystem.") ]
 917                  CIM_ComputerSystem REF Dependent;
 918               };
 919               
 920               
 921               // ==================================================================
 922               // OperatingSystemSoftwareFeature
 923               // ==================================================================
 924                  [Association, Aggregation, Description (
 925 karl  1.1.2.1      "Indicates the SoftwareFeatures that make up the Operating"
 926                    "System. The SoftwareFeatures can be part of different "
 927                    "Products.") ]
 928               class CIM_OperatingSystemSoftwareFeature : CIM_Component {
 929                     [Override ("GroupComponent"), Aggregate,
 930                      Description ("The OperatingSystem.") ]
 931                   CIM_OperatingSystem REF GroupComponent;
 932                     [Override ("PartComponent"), Description (
 933                       "The SoftwareFeatures that make up the OperatingSystem.") ]
 934                   CIM_SoftwareFeature REF PartComponent;
 935               };
 936               
 937               
 938               // ===================================================================
 939               // FileSystem
 940               // ===================================================================
 941                  [Description (
 942                    "A file or dataset store local to a ComputerSystem or "
 943                    "remotely mounted from a file server.") ]
 944               class CIM_FileSystem : CIM_LogicalElement {
 945                     [Propagated ("CIM_ComputerSystem.CreationClassName"),
 946 karl  1.1.2.1        Key, MaxLen (256), Description (
 947                       "The scoping ComputerSystem's CreationClassName.") ]
 948                  string CSCreationClassName;
 949                     [Propagated ("CIM_ComputerSystem.Name"), Key, MaxLen (256),
 950                      Description ("The scoping ComputerSystem's Name.") ]
 951                  string CSName;
 952                     [Key, MaxLen (256), Description (
 953                       "CreationClassName indicates the name of the class or the "
 954                       "subclass used in the creation of an instance. When used "
 955                       "with the other key properties of this class, this property "
 956                       "allows all instances of this class and its subclasses to "
 957                       "be uniquely identified.") ]
 958                  string CreationClassName;
 959                     [Override ("Name"), Key, MaxLen (256), Description (
 960                       "The inherited Name serves as key of a FileSystem instance "
 961                       "within a ComputerSystem.") ]
 962                  string Name;
 963                     [Description (
 964                       "Path name or other information defining the root of the "
 965                       "FileSystem."),
 966                      MappingStrings {
 967 karl  1.1.2.1         "MIB.IETF|HOST-RESOURCES-MIB.hrFSMountPoint", 
 968                       "MIF.DMTF|Host File System|001.2"}]
 969                  string Root;
 970                     [Description (
 971                       "FileSystems can read/write data in blocks which are defined "
 972                       "independently of the underlying StorageExtents. This property "
 973                       "captures the FileSystem's block size for data storage and "
 974                       "retrieval."),
 975                      Units("Bytes") ]
 976                  uint64 BlockSize;
 977                     [Description (
 978                       "The FileSystemSize property stores the total size of the File"
 979                       "System in bytes. If unknown, enter 0."),
 980                      Units("Bytes"), 
 981                      MappingStrings {"MIF.DMTF|Host File System|001.13"}]
 982                  uint64 FileSystemSize;
 983                     [Gauge, Description (
 984                       "AvailableSpace indicates the total amount of free space "
 985                       "for the FileSystem, in bytes. If unknown, enter 0."),
 986                      Units("Bytes"), 
 987                      MappingStrings {"MIF.DMTF|Host File System|001.14", 
 988 karl  1.1.2.1              "MIF.DMTF|Partition|002.4"}]
 989                  uint64 AvailableSpace;
 990                     [Description (
 991                       "Indicates that the FileSystem is designated as read only."),
 992                      MappingStrings {"MIB.IETF|HOST-RESOURCES-MIB.hrFSAccess", 
 993                       "MIF.DMTF|Host File System|001.5"}]
 994                  boolean ReadOnly;
 995                     [Description (
 996                       "A free form string indicating the algorithm or tool used to "
 997                       "encrypt the FileSystem. If it is not possible or not desired "
 998                       "to describe the encryption scheme (perhaps for security "
 999                       "reasons), recommend using the following words: \"Unknown\" to "
1000                       "represent that it is not known whether the FileSystem is "
1001                       "encrypted or not, \"Encrypted\" to represent that the File"
1002                       "System is encrypted but either its encryption scheme is not "
1003                       "known or not disclosed, and \"Not Encrypted\" to represent "
1004                       "that the FileSystem is not encrypted."),
1005                      MappingStrings {"MIF.DMTF|Partition|002.8"}]
1006                  string EncryptionMethod;
1007                     [Description (
1008                       "A free form string indicating the algorithm or tool used to "
1009 karl  1.1.2.1         "compress the FileSystem. If it is not possible or not desired "
1010                       "to describe the compression scheme (perhaps because it is not "
1011                       "known), recommend using the following words: \"Unknown\" to "
1012                       "represent that it is not known whether the FileSystem is "
1013                       "compressed or not, \"Compressed\" to represent that the File"
1014                       "System is compressed but either its compression scheme is not "
1015                       "known or not disclosed, and \"Not Compressed\" to represent "
1016                       "that the FileSystem is not compressed."),
1017                      MappingStrings {"MIF.DMTF|Partition|002.7"}]
1018                  string CompressionMethod;
1019                     [Description (
1020                       "Indicates that case sensitive file names are supported.") ]
1021                  boolean CaseSensitive;
1022                     [Description (
1023                       "Indicates that the case of file names are preserved.") ]
1024                  boolean CasePreserved;
1025                     [Description (
1026                       "Array defining the character sets or encoding supported by "
1027                       "the FileSystem. For example, the values, \"ASCII\" (2) or "
1028                       "\"ISO2022\" (4), may be specified."),
1029                      Values {"Unknown", "Other", "ASCII", "Unicode", 
1030 karl  1.1.2.1                "ISO2022", "ISO8859", "Extended UNIX Code", "UTF-8",
1031                              "UCS-2"}]
1032                  uint16 CodeSet[];
1033                     [Description (
1034                       "Integer indicating the maximum length of a file name within "
1035                       "the FileSystem. 0 indicates that there is no limit on file "
1036                       "name length.") ]
1037                  uint32 MaxFileNameLength;
1038                     [Description (
1039                       "The minimum file allocation size (an integral number of "
1040                       "blocks), imposed by the FileSystem. (The size of a block is "
1041                       "specified in the BlockSize property for the FileSystem.) "
1042                       "Minimum allocation size is the smallest amount of storage "
1043                       "allocated to a LogicalFile by the FileSystem. This is not a "
1044                       "mandatory minimum allocation for all FileSystems. Under "
1045                       "stress conditions, some FileSystems may allocate storage "
1046                       "in amounts smaller than the ClusterSize.") ]
1047                  uint32 ClusterSize;
1048                     [Description (
1049                       "String describing the type of FileSystem and therefore, its "
1050                       "conventions. For example, \"NTFS\" or \"S5\" may be listed "
1051 karl  1.1.2.1         "as well as any additional information on the FileSystem's "
1052                       "implementation. Since various flavors of FileSystems (like "
1053                       "S5) exist, this property is defined as a string."),
1054                      MappingStrings {"MIF.DMTF|Partition|002.6", 
1055                            "MIF.DMTF|Host File System|001.4"}]
1056                  string FileSystemType;
1057               };
1058               
1059               
1060               // ===================================================================
1061               // LocalFileSystem
1062               // ===================================================================
1063                  [Description (
1064                    "A class derived from FileSystem that represents the file " 
1065                    "store controlled by a ComputerSystem through local means " 
1066                    "(e.g., direct device driver access). In this case, the " 
1067                    "file store is managed directly by the ComputerSystem " 
1068                    "without the need for another computer to act as a " 
1069                    "file server. This definition does not breakdown in the " 
1070                    "case of a Clustered File System. In this scenario, the " 
1071                    "FileSystem is a LocalFileSystem, weak to the Cluster.") ]
1072 karl  1.1.2.1 class CIM_LocalFileSystem : CIM_FileSystem {
1073               };
1074               
1075               
1076               // ===================================================================
1077               // RemoteFileSystem
1078               // ===================================================================
1079                  [Description (
1080                    "A class derived from FileSystem that represents access of the " 
1081                    "FileSystem via a network-related service. In this case, the " 
1082                    "file store is hosted by a computer, acting as a file server. " 
1083                    "For example, the file store for an NFS FileSystem is typically " 
1084                    "NOT on a ComputerSystem's locally controlled media, nor is " 
1085                    "it directly accessed through a device driver. Subclasses of " 
1086                    "RemoteFileSystem contain client-side configuration information " 
1087                    "related to the access of the FileSystem.") ]
1088               class CIM_RemoteFileSystem : CIM_FileSystem {
1089               };
1090               
1091               
1092               // ===================================================================
1093 karl  1.1.2.1 // NFS (NetworkFileSystem)
1094               // ===================================================================
1095                  [Description (
1096                    "A class derived from RemoteFileSystem representing that " 
1097                    "the FileSystem is mounted, using the NFS protocol, from " 
1098                    "a ComputerSystem. The properties of the NFS object " 
1099                    "deal with the operational aspects of the mount and represent " 
1100                    "the client-side configuration for NFS access. The " 
1101                    "FileSystemType (inherited from FileSystem) should be set " 
1102                    "to indicate the type of this FileSystem as it appears to " 
1103                    "the client.") ]
1104               class CIM_NFS : CIM_RemoteFileSystem {
1105                     [Description (
1106                       "If set to true: Once the FileSystem is mounted, NFS requests "
1107                       "are retried until the hosting System responds.\n" 
1108                       "If set to false: Once the FileSystem is mounted, an error "
1109                       "is returned if the hosting System does not respond.") ]
1110                  boolean HardMount;
1111                     [Description (
1112                       "If set to true: Retries are performed in the foreground.\n"
1113                       "If set to false: If the first mount attempt fails, retries "
1114 karl  1.1.2.1         "are performed in the background.") ]
1115                  boolean ForegroundMount;
1116                     [Description (
1117                       "If set to true: Interrupts are permitted for hard mounts.\n"
1118                       "If set to false: Interrupts are ignored for hard mounts.") ]
1119                  boolean Interrupt;
1120                     [Description ("Maximum number of mount failure retries "
1121                       "allowed.") ]
1122                  uint16 MountFailureRetries;
1123                     [Description ("Maximum number of NFS retransmissions allowed.") ]
1124                  uint16 RetransmissionAttempts;
1125                     [Description ("NFS timeout in tenths of a second."),
1126                      Units ("Tenths of Seconds") ]
1127                  uint32 RetransmissionTimeout;
1128                     [Description ("Read buffer size in bytes."),
1129                      Units("Bytes") ]
1130                  uint64 ReadBufferSize;
1131                     [Description ("Write buffer size in bytes."),
1132                      Units("Bytes") ]
1133                  uint64 WriteBufferSize;
1134                     [Description (
1135 karl  1.1.2.1         "The remote ComputerSystem's (ie, the NFS File "
1136                       "'Server's) UDP port number.") ]
1137                  uint32 ServerCommunicationPort;
1138                     [Description (
1139                       "If set to true: Control attribute caching is enabled.\n"
1140                       "If set to false: Control attribute caching is disabled.") ]
1141                  boolean AttributeCaching;
1142                     [Description (
1143                       "Minimum number of seconds that cached attributes are held "
1144                       "after file modification."),
1145                      Units("Seconds") ]
1146                  uint16 AttributeCachingForRegularFilesMin;
1147                     [Description (
1148                       "Maximum number of seconds that cached attributes are held "
1149                       "after file modification."),
1150                      Units("Seconds") ]
1151                  uint16 AttributeCachingForRegularFilesMax;
1152                     [Description (
1153                       "Minimum number of seconds that cached attributes are held "
1154                       "after directory update."),
1155                      Units("Seconds") ]
1156 karl  1.1.2.1    uint16 AttributeCachingForDirectoriesMin;
1157                     [Description (
1158                       "Maximum number of seconds that cached attributes are held "
1159                       "after directory update."),
1160                      Units("Seconds") ]
1161                  uint16 AttributeCachingForDirectoriesMax;
1162               };
1163               
1164               
1165               // ===================================================================
1166               // LogicalFile
1167               // ===================================================================
1168                  [Description (
1169                    "A LogicalFile is a named collection of data or executable "
1170                    "code, or represents a LogicalDevice or Directory.  It is "
1171                    "located within the context of a FileSystem, on a Storage"
1172                    "Extent.") ]
1173               class CIM_LogicalFile : CIM_LogicalElement {
1174                     [Propagated ("CIM_FileSystem.CSCreationClassName"),
1175                      Key, MaxLen (256),
1176                      Description ("The scoping ComputerSystem's CreationClassName.") ]
1177 karl  1.1.2.1    string CSCreationClassName;
1178                     [Propagated ("CIM_FileSystem.CSName"),
1179                      Key, MaxLen (256),
1180                      Description ("The scoping ComputerSystem's Name.") ]
1181                  string CSName;
1182                     [Propagated ("CIM_FileSystem.CreationClassName"), 
1183                      Key, MaxLen (256),
1184                      Description ("The scoping FileSystem's CreationClassName.") ]
1185                  string FSCreationClassName;
1186                     [Propagated ("CIM_FileSystem.Name"),
1187                      Key, MaxLen (256),
1188                      Description ("The scoping FileSystem's Name.") ]
1189                  string FSName;
1190                     [Key, MaxLen (256),
1191                      Description (
1192                       "CreationClassName indicates the name of the class or the "
1193                       "subclass used in the creation of an instance. When used "
1194                       "with the other key properties of this class, this property "
1195                       "allows all instances of this class and its subclasses to "
1196                       "be uniquely identified.") ]
1197                  string CreationClassName;    
1198 karl  1.1.2.1       [Override ("Name"), Key, MaxLen (1024),
1199                      Description (
1200                       "The inherited Name serves as part of the key of a LogicalFile "
1201                       "instance within a FileSystem. A unique identifier (such as a "
1202                       "full path name) is required as a Name value.  Since Files are "
1203                       "weak to their FileSystem (and not to a Directory which would "
1204                       "provide a more granular naming algorithm), care must be "
1205                       "taken to make LogicalFile's Name unique for a given Creation"
1206                       "ClassName and FileSystem. A full path name is one way "
1207                       "to do this.") ]
1208                  string Name;
1209                     [Gauge, Description ("Size of the File in bytes."),
1210                      Units ("Bytes") ]
1211                  uint64 FileSize;
1212                     [Description ("File's creation date.") ] 
1213                  datetime CreationDate;
1214                     [Description ("Time that the File was last modified.") ] 
1215                  datetime LastModified;
1216                     [Description ("Time that the File was last accessed.") ] 
1217                  datetime LastAccessed;
1218                     [Description ("Boolean indicating that the File can be read.") ] 
1219 karl  1.1.2.1    boolean Readable;
1220                     [Description (
1221                       "Boolean indicating that the File can be written.") ]
1222                  boolean Writeable;
1223                     [Description ("Indicates the file is executable.")] 
1224                  boolean Executable;
1225                     [Description (
1226                       "A free form string indicating the algorithm or tool used to "
1227                       "compress the LogicalFile. If it is not possible or not "
1228                       "desired to describe the compression scheme (perhaps because "
1229                       "it is not known), recommend using the following words: "
1230                       "\"Unknown\" to represent that it is not known whether the "
1231                       "LogicalFile is compressed or not, \"Compressed\" to "
1232                       "represent that the File is compressed but either its "
1233                       "compression scheme is not known or not disclosed, and \"Not "
1234                       "Compressed\" to represent that the LogicalFile is not "
1235                       "compressed.") ] 
1236                  string CompressionMethod;
1237                     [Description (
1238                       "A free form string indicating the algorithm or tool used to "
1239                       "encrypt the LogicalFile. If it is not possible or not desired "
1240 karl  1.1.2.1         "to describe the encryption scheme (perhaps for security "
1241                       "reasons), recommend using the following words: \"Unknown\" to "
1242                       "represent that it is not known whether the LogicalFile is "
1243                       "encrypted or not, \"Encrypted\" to represent that the File "
1244                       "is encrypted but either its encryption scheme is not known "
1245                       "or not disclosed, and \"Not Encrypted\" to represent "
1246                       "that the LogicalFile is not encrypted.") ] 
1247                  string EncryptionMethod;
1248                     [Counter, Description (
1249                       "Integer indicating the number of 'file opens' that are "
1250                       "currently active against the File.") ]
1251                  uint64 InUseCount;
1252               };
1253               
1254               
1255               // ===================================================================
1256               // DataFile
1257               // ===================================================================
1258                  [Description (
1259                    "DataFile is a type of LogicalFile that is a named collection "
1260                    "of data or executable code.") ]
1261 karl  1.1.2.1 class CIM_DataFile : CIM_LogicalFile {
1262               };
1263               
1264               
1265               // ===================================================================
1266               // Directory
1267               // ===================================================================
1268                  [Description (
1269                    "Directory is a type of File that logically groups Files "
1270                    "'contained' in it, and provides path information for the "
1271                    "grouped Files.") ]
1272               class CIM_Directory : CIM_LogicalFile {
1273               };
1274               
1275               
1276               // ===================================================================
1277               // DeviceFile
1278               // ===================================================================
1279                  [Description (
1280                    "DeviceFile is a special type of LogicalFile that represents "
1281                    "a Device. This convention is useful for some operating systems "
1282 karl  1.1.2.1      "that manage devices using a byte stream I/O model. The Logical"
1283                    "Device that is associated with this file is specified using "
1284                    "the DeviceAccessedByFile relationship.") ]
1285               class CIM_DeviceFile : CIM_LogicalFile {
1286               };
1287               
1288               
1289               // ===================================================================
1290               // DeviceAccessedByFile
1291               // ===================================================================
1292                  [Association, Description (
1293                    "Specifies the LogicalDevice that is associated with, and "
1294                    "accessed using the referenced DeviceFile.") ]
1295               class CIM_DeviceAccessedByFile : CIM_Dependency {   
1296                     [Override ("Antecedent"),
1297                      Description ("The DeviceFile.") ]
1298                  CIM_DeviceFile REF Antecedent;
1299                     [Override ("Dependent"), Max (1), 
1300                      Description (
1301                       "The Device that is accessed using the DeviceFile.") ]
1302                  CIM_LogicalDevice REF Dependent;
1303 karl  1.1.2.1 };
1304               
1305               
1306               // ===================================================================
1307               // DirectoryContainsFile
1308               // ===================================================================
1309                  [Association, Aggregation,  Description (
1310                    "Specifies the hierarchical arrangement of LogicalFiles in a "
1311                    "Directory.") ]
1312               class CIM_DirectoryContainsFile : CIM_Component {   
1313                     [Override ("GroupComponent"), Aggregate, Max (1),
1314                      Description ("The Directory.") ]
1315                  CIM_Directory REF GroupComponent;
1316                     [Override ("PartComponent"),
1317                      Description ("The LogicalFile 'contained within' the Directory.") ]
1318                  CIM_LogicalFile REF PartComponent;
1319               };
1320               
1321               
1322               // ===================================================================
1323               // Mount
1324 karl  1.1.2.1 // ===================================================================
1325                  [Association,  Description ( 
1326                    "An association between a FileSystem and a Directory "
1327                    "which indicates that the Directory is being attached to "
1328                    "the FileSystem. The semantics of this relationship require "
1329                    "that the mounted Directory be contained by a FileSystem "
1330                    "(via the FileStorage association) that is different from "
1331                    "the FileSystem referenced as the Dependent. The "
1332                    "Directory's containing FileSystem could be either " 
1333                    "local or remote. For example, a LocalFileSystem on a Solaris " 
1334                    "ComputerSystem can mount a Directory from the FileSystem "
1335                    "accessed via the machine's CDROM drive, i.e., another LocalFile"
1336                    "System. On the other hand, in a 'remote' case, the Directory "
1337                    "is first exported by its FileSystem, which is hosted on another "
1338                    "ComputerSystem acting (for example) as a file server. In order to "
1339                    "distinguish these two types of Mount, it is recommended that "
1340                    "a CIM_Export association always be defined for the remotely "
1341                    "accessed/mounted Directories.") ]
1342               class CIM_Mount : CIM_Dependency { 
1343                     [Override ("Antecedent"), Max (1), 
1344                      Description ("The Directory mounted.") ]
1345 karl  1.1.2.1     CIM_Directory REF Antecedent; 
1346                     [Override ("Dependent"), 
1347                      Description ("The FileSystem the Directory is mounted on.") ]
1348                   CIM_FileSystem REF Dependent; 
1349               };
1350               
1351               
1352               // ===================================================================
1353               // Export
1354               // ===================================================================
1355                   [Association, Description ( 
1356                     "An association between a LocalFileSystem and its Directories " 
1357                     "indicating that the specified Directories are available for " 
1358                     "mount. When exporting an entire FileSystem, the Directory " 
1359                     "should reference the topmost directory of the FileSystem.") ]
1360               class CIM_Export { 
1361                     [Key, Max (1), Description (
1362                       "The LocalFileSystem.") ]
1363                   CIM_LocalFileSystem REF LocalFS; 
1364                     [Key, Description ("The Directory exported for mount.") ] 
1365                   CIM_Directory REF Directory; 
1366 karl  1.1.2.1       [Description ("Name under which the Directory is exported.") ]
1367                   string ExportedDirectoryName; 
1368               }; 
1369               
1370               
1371               // ===================================================================
1372               // HostedFileSystem
1373               // ===================================================================
1374                  [Association,  Aggregation,  Description (
1375                    "A link between the ComputerSystem and the FileSystem(s) "
1376                    "hosted on this ComputerSystem.") ]
1377               class CIM_HostedFileSystem : CIM_SystemComponent {
1378                     [Override ("GroupComponent"), Aggregate, Min (1), Max (1),
1379                      Description ("The ComputerSystem.") ]
1380                  CIM_ComputerSystem REF GroupComponent;
1381                     [Override ("PartComponent"), Weak,
1382                      Description ("The FileSystem owned by the ComputerSystem.") ]
1383                  CIM_FileSystem REF PartComponent;
1384               };
1385               
1386               
1387 karl  1.1.2.1 // ===================================================================
1388               // BootOSFromFS
1389               // ===================================================================
1390                  [Association, Description (
1391                    "A link between the OperatingSystem and the FileSystem(s) from "
1392                    "which this OperatingSystem is loaded. The association is many-"
1393                    "to-many since a Distributed OS could depend on several File"
1394                    "Systems in order to correctly and completely load.") ]
1395               class CIM_BootOSFromFS : CIM_Dependency {
1396                     [Override ("Antecedent"), Description (
1397                       "The FileSystem from which the OperatingSystem is loaded.") ]
1398                  CIM_FileSystem REF Antecedent;
1399                     [Override ("Dependent"),
1400                      Description ("The OperatingSystem.") ]
1401                  CIM_OperatingSystem REF Dependent;
1402               };
1403               
1404               
1405               // ===================================================================
1406               // FileStorage
1407               // ===================================================================
1408 karl  1.1.2.1    [Association, Aggregation, Description (
1409                    "A link between the FileSystem and the LogicalFile(s) addressed "
1410                    "through this FileSystem.") ]
1411               class CIM_FileStorage : CIM_Component {
1412                     [Override ("GroupComponent"), Aggregate, Min (1), Max (1),
1413                      Description ("The FileSystem.") ]
1414                  CIM_FileSystem REF GroupComponent;
1415                     [Override ("PartComponent"), Weak,
1416                      Description (
1417                       "The LogicalFile stored in the context of the FileSystem.") ]
1418                  CIM_LogicalFile REF PartComponent;
1419               };
1420               
1421               
1422               // ===================================================================
1423               // BIOSFeature
1424               // ===================================================================
1425                  [Description (
1426                    "BIOSFeature represents the capabilities of the low-level "
1427                    "software that is used to bring up and configure a Computer"
1428                    "System.") ]
1429 karl  1.1.2.1 class CIM_BIOSFeature : CIM_SoftwareFeature {
1430                     [Description (
1431                       "An array of integers that specify the features "
1432                       "supported by the BIOS. For example, one can specify that "
1433                       "PnP capabilities are provided (value=9) or that infrared "
1434                       "devices are supported (21). Values specified in the "
1435                       "enumeration are taken from both DMI and SMBIOS (the Type 0 "
1436                       "structure, the BIOS Characteristics and BIOS "
1437                       "Characteristics Extension Bytes attributes."),
1438                      ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", 
1439                                "10", "11", "12", "13", "14", "15", "16", "17", "18", 
1440                                "19", "20", "21", "22", "23", "24", "25", "26", 
1441                                "27", "28", "29", "30", "31", "160"},
1442                      Values {"Other", "Unknown", "Undefined", "ISA Support", 
1443                              "MCA Support", "EISA Support", "PCI Support", 
1444                              "PCMCIA Support", "PnP Support", "APM Support", 
1445                              "Upgradeable BIOS", "BIOS Shadowing Allowed", 
1446                              "VL VESA Support", "ESCD Support", 
1447                              "LS-120 Boot Support", "ACPI Support", 
1448                              "I2O Boot Support", "USB Legacy Support", 
1449                              "AGP Support", "PC Card", "IR", "1394", "I2C", 
1450 karl  1.1.2.1                "Smart Battery", "ATAPI ZIP Drive Boot Support", 
1451                              "1394 Boot Support", "Boot from CD", 
1452                              "Selectable Boot", "BIOS ROM is Socketed", 
1453                              "Boot from PCMCIA", "EDD Specification Support", 
1454                              "PC-98"},
1455                      MappingStrings {"MIF.DMTF|BIOS Characteristic|004.3"},
1456                      ArrayType ("Indexed"),
1457                      ModelCorrespondence {
1458                       "CIM_BIOSFeature.CharacteristicDescriptions"}]
1459                  uint16 Characteristics[];
1460                     [Description (
1461                       "An array of free-form strings providing more detailed "
1462                       "explanations for any of the BIOS features indicated in the "
1463                       "Characteristics array. Note, each entry of this array "
1464                       "is related to the entry in the Characteristics array that "
1465                       "is located at the same index."),
1466                      ArrayType ("Indexed"),
1467                      MappingStrings {"MIF.DMTF|BIOS Characteristic|004.4"},
1468                      ModelCorrespondence {"CIM_BIOSFeature.Characteristics"}]
1469                  string CharacteristicDescriptions[];
1470               };
1471 karl  1.1.2.1 
1472                
1473               // ===================================================================
1474               // BIOSElement
1475               // ===================================================================
1476                  [Description (
1477                    "BIOSElement represents the low-level software that is loaded "
1478                    "into non-volatile storage and used to bring up and configure "
1479                    "a ComputerSystem.") ]
1480               class CIM_BIOSElement : CIM_SoftwareElement {
1481                     [Override ("Version"),
1482                      MappingStrings {"MIF.DMTF|System BIOS|001.3"}]
1483                  string Version;
1484                     [Override ("Manufacturer"),
1485                      MappingStrings {"MIF.DMTF|System BIOS|001.2"}]
1486                  string Manufacturer;     
1487                     [Description (
1488                     "If true, this is the primary BIOS of the ComputerSystem."),
1489                      MappingStrings {"MIF.DMTF|System BIOS|001.9"}]
1490                  boolean PrimaryBIOS;
1491                     [Description (
1492 karl  1.1.2.1         "A list of installable languages for the BIOS. This "
1493                       "information can be obtained from SMBIOS, from the string list "
1494                       "that follows the Type 13 structure. An ISO 639 Language Name "
1495                       "should be used to specify the BIOS' installable languages. The "
1496                       "ISO 3166 Territory Name and the encoding method may also be "
1497                       "specified, following the Language Name.") ]
1498                  string ListOfLanguages[];
1499                     [Description (
1500                       "The currently selected language for the BIOS. This "
1501                       "information can be obtained from SMBIOS, using the Current "
1502                       "Language attribute of the Type 13 structure, to index into the "
1503                       "string list following the structure. The property is formatted "
1504                       "using the ISO 639 Language Name, and may be followed by the "
1505                       "ISO 3166 Territory Name and the encoding method."),
1506                      ModelCorrespondence {"CIM_BIOSElement.ListOfLanguages"}]
1507                  string CurrentLanguage;
1508                     [Description (
1509                       "The starting address of the memory which this BIOS "
1510                       "occupies."), 
1511                      MappingStrings {"MIF.DMTF|System BIOS|001.5"}]
1512                   uint64 LoadedStartingAddress;
1513 karl  1.1.2.1       [Description (
1514                       "The ending address of the memory which this BIOS "
1515                       "occupies."),
1516                      MappingStrings {"MIF.DMTF|System BIOS|001.6"}]
1517                   uint64 LoadedEndingAddress;
1518                     [MaxLen (64), Description (
1519                       "A free form string describing the BIOS flash/load utility "
1520                       "that is required to update the BIOSElement. Version and "
1521                       "other information may be indicated in this property."),
1522                      MappingStrings {"MIF.DMTF|System BIOS|001.7"}]
1523                   string LoadUtilityInformation;
1524                     [Description (
1525                       "Date that this BIOS was released."),
1526                      MappingStrings {"MIF.DMTF|System BIOS|001.8"}]
1527                   datetime ReleaseDate;
1528               };
1529               
1530               
1531               // ===================================================================
1532               // BIOSFeatureBIOSElements
1533               // ===================================================================
1534 karl  1.1.2.1    [Association, Aggregation, Description (
1535                     "A link between BIOSFeature and its aggregated BIOSElements.") ]
1536               class CIM_BIOSFeatureBIOSElements : CIM_SoftwareFeatureSoftwareElements {
1537                     [Override ("GroupComponent"), Aggregate, 
1538                      Description ("The BIOSFeature.") ]
1539                  CIM_BIOSFeature REF GroupComponent;
1540                     [Override ("PartComponent"),
1541                      Description (
1542                       "The BIOSElement that implements the capabilities described "
1543                       "by BIOSFeature.") ]
1544                  CIM_BIOSElement REF PartComponent;
1545               };
1546               
1547               
1548               // ===================================================================
1549               // SystemBIOS
1550               // ===================================================================
1551                  [Association, Aggregation, Description (
1552                    "SystemBIOS associates a UnitaryComputerSystem's BIOS with the "
1553                    "System itself.") ]
1554               class CIM_SystemBIOS : CIM_SystemComponent {
1555 karl  1.1.2.1       [Override ("GroupComponent"), Max (1), Aggregate, 
1556                      Description (
1557                       "The UnitaryComputerSystem that boots from the BIOS.") ]
1558                  CIM_UnitaryComputerSystem REF GroupComponent;
1559                     [Override ("PartComponent"), 
1560                      Description ("The System's BIOS.") ]
1561                  CIM_BIOSElement REF PartComponent;
1562               };
1563               
1564               
1565               // ===================================================================
1566               //
1567               //  Processing and Jobs
1568               //
1569               // ===================================================================
1570               
1571               
1572               // ===================================================================
1573               // Process
1574               // ===================================================================
1575                  [Description (
1576 karl  1.1.2.1      "Each instance of the CIM_Process class represents a single "
1577                    "instance of a running program. A user of the OperatingSystem "
1578                    "will typically see a Process as an application or task. Within "
1579                    "an OperatingSystem, a Process is defined by a workspace of "
1580                    "memory resources and environmental settings that are allocated "
1581                    "to it. On a multitasking System, this workspace prevents "
1582                    "intrusion of resources by other Processes. Additionally, a "
1583                    "Process can execute as multiple Threads, all which run within "
1584                    "the same workspace.") ]
1585               class CIM_Process : CIM_LogicalElement {
1586                     [Propagated("CIM_OperatingSystem.CSCreationClassName"),
1587                      Key, MaxLen (256),
1588                      Description ("The scoping ComputerSystem's "
1589                       "CreationClassName.") ]
1590                  string CSCreationClassName;
1591                     [Propagated("CIM_OperatingSystem.CSName"),
1592                      Key, MaxLen (256),
1593                      Description ("The scoping ComputerSystem's Name.") ]
1594                  string CSName;
1595                     [Propagated("CIM_OperatingSystem.CreationClassName"),
1596                      Key, MaxLen (256),
1597 karl  1.1.2.1        Description ("The scoping OperatingSystem's CreationClassName.") ]
1598                  string OSCreationClassName;
1599                     [Propagated("CIM_OperatingSystem.Name"),
1600                      Key, MaxLen (256),
1601                      Description ("The scoping OperatingSystem's Name.") ]
1602                  string OSName;
1603                     [Override ("Name"), Description(
1604                       "The name of the process."),
1605                      MappingStrings {"MIF.DMTF|Process Information|001.6"}]
1606                  string Name;
1607                     [Key, MaxLen (256), Description (
1608                       "CreationClassName indicates the name of the class or the "
1609                       "subclass used in the creation of an instance. When used "
1610                       "with the other key properties of this class, this property "
1611                       "allows all instances of this class and its subclasses to "
1612                       "be uniquely identified.") ]
1613                  string CreationClassName;
1614                     [Key, MaxLen (256), Description (
1615                       "A string used to identify the Process. A Process ID is a "
1616                       "kind of Process Handle."),
1617                      MappingStrings {"MIF.DMTF|Process Information|001.1"}]
1618 karl  1.1.2.1    string Handle;
1619                     [Description (
1620                       "Priority indicates the urgency or importance of execution "
1621                       "of a Process. If a priority is not defined for a Process, "
1622                       "a value of 0 should be used."), 
1623                      MappingStrings {"MIF.DMTF|Process Information|001.10"}]
1624                  uint32 Priority;
1625                     [Description (
1626                       "Indicates the current operating condition of the Process. "
1627                       "Values include ready (2), running (3), and blocked (4), "
1628                       "among others."),
1629                      Values {"Unknown", "Other", "Ready", "Running", 
1630                              "Blocked", "Suspended Blocked", "Suspended Ready", 
1631                              "Terminated", "Stopped", "Growing" },
1632                      MappingStrings {"MIF.DMTF|Process Information|001.9",
1633                       "MIF.UNIX|Process Information|13.9"}]
1634                  uint16 ExecutionState;
1635                     [Description (
1636                       "A string describing the state - used when the instance's "
1637                       "ExecutionState property is set to 1 (\"Other\"). Other"
1638                       "ExecutionDescription should be set to NULL when the Execution"
1639 karl  1.1.2.1         "State property is any value other than 1.") ]
1640                  string OtherExecutionDescription;
1641                     [Description ("Time that the Process began executing.") ]
1642                  datetime CreationDate;
1643                     [Description (
1644                       "Time that the Process was stopped or terminated.") ]
1645                  datetime TerminationDate;
1646                     [Description (
1647                       "Time in kernel mode, in milliseconds. If this information "
1648                       "is not available, a value of 0 should be used."),
1649                      Units("MilliSeconds"), 
1650                      MappingStrings {"MIF.DMTF|Process Information|001.13"}]
1651                  uint64 KernelModeTime;
1652                     [Description (
1653                       "Time in user mode, in milliseconds. If this information "
1654                       "is not available, a value of 0 should be used."),
1655                      Units("MilliSeconds"), 
1656                      MappingStrings {"MIF.DMTF|Process Information|001.14"}]
1657                  uint64 UserModeTime;
1658                     [Gauge, Description (
1659                       "The amount of memory in bytes that a Process needs to "
1660 karl  1.1.2.1         "execute efficiently, for an OperatingSystem that uses "
1661                       "page-based memory management.  If an insufficient amount "
1662                       "of memory is available (< working set size), thrashing "
1663                       "will occur.  If this information is not known, NULL or 0 "
1664                       "should be entered.  If this data is provided, it could be "
1665                       "monitored to understand a Process' changing memory "
1666                       "requirements as execution proceeds."),
1667                      Units ("Bytes") ]
1668                  uint64 WorkingSetSize;
1669               };
1670               
1671               
1672               // ===================================================================
1673               // OSProcess
1674               // ===================================================================
1675                  [Association, Aggregation, Description (
1676                    "A link between the OperatingSystem and Process(es) running "
1677                    "in the context of this OperatingSystem.") ]
1678               class CIM_OSProcess : CIM_Component {
1679                     [Override ("GroupComponent"), Aggregate, Min (1), Max (1),
1680                      Description ("The OperatingSystem.") ]
1681 karl  1.1.2.1    CIM_OperatingSystem REF GroupComponent;
1682                     [Override ("PartComponent"), Weak,
1683                      Description (
1684                       "The Process running in the context of the "
1685                       "OperatingSystem") ]
1686                  CIM_Process REF PartComponent;
1687               };
1688               
1689               
1690               // ===================================================================
1691               // ProcessExecutable
1692               // ===================================================================
1693                  [Association, Description (
1694                    "A link between a Process and a DataFile indicating that the "
1695                    "File participates in the execution of the Process.") ]
1696               class CIM_ProcessExecutable : CIM_Dependency {
1697                     [Override ("Antecedent"),
1698                      Description (
1699                       "The DataFile participating in the execution of the Process.") ]
1700                  CIM_DataFile REF Antecedent;
1701                     [Override ("Dependent"),
1702 karl  1.1.2.1        Description ("The Process.") ] 
1703                  CIM_Process REF Dependent;
1704               };
1705               
1706               
1707               // ===================================================================
1708               // Thread
1709               // ===================================================================
1710                  [Description (
1711                    "Threads represent the ability to execute units of a Process "
1712                    "or task in parallel.  A Process can have many Threads, each "
1713                    "of which is weak to the Process.") ]
1714               class CIM_Thread : CIM_LogicalElement {
1715                     [Propagated("CIM_Process.CSCreationClassName"),
1716                      Key, MaxLen (256),
1717                      Description ("The scoping ComputerSystem's CreationClassName.") ]
1718                  string  CSCreationClassName;
1719                     [Propagated("CIM_Process.CSName"),
1720                      Key, MaxLen (256),
1721                      Description ("The scoping ComputerSystem's Name.") ]
1722                  string CSName;
1723 karl  1.1.2.1       [Propagated("CIM_Process.OSCreationClassName"),
1724                      Key, MaxLen (256),
1725                      Description ("The scoping OperatingSystem's CreationClassName.") ]
1726                  string OSCreationClassName;
1727                     [Propagated("CIM_Process.OSName"),
1728                      Key, MaxLen (256),
1729                      Description ("The scoping OperatingSystem's Name.") ]
1730                  string OSName;
1731                     [Propagated("CIM_Process.CreationClassName"),
1732                      Key, MaxLen (256),
1733                      Description ("The scoping Process' CreationClassName.") ]
1734                  string ProcessCreationClassName;
1735                     [Propagated("CIM_Process.Handle"),
1736                      Key, MaxLen (256),
1737                      Description ("The scoping Process' Handle.") ]
1738                  string ProcessHandle;
1739                     [Key, MaxLen(256),
1740                      Description (
1741                       "CreationClassName indicates the name of the class or the "
1742                       "subclass used in the creation of an instance. When used "
1743                       "with the other key properties of this class, this property "
1744 karl  1.1.2.1         "allow all instances of this class and its subclasses to "
1745                       "be uniquely identified.") ]
1746                  string CreationClassName;
1747                     [Key, MaxLen(256),
1748                      Description ("A string used to identify the Thread.") ]
1749                  string Handle;
1750                     [Description (
1751                       "Priority indicates the urgency or importance of execution "
1752                       "of a Thread. A Thread may have a different priority than "
1753                       "its owning Process. If this information is not available "
1754                       "for a Thread, a value of 0 should be used.") ]
1755                  uint32 Priority;
1756                     [Description (
1757                       "Indicates the current operating condition of the Thread. " 
1758                       "Values include ready (2), running (3), and blocked (4), "
1759                       "among others."),
1760                      Values {"Unknown", "Other", "Ready", "Running", 
1761                              "Blocked", "Suspended Blocked", "Suspended Ready"}]
1762                  uint16 ExecutionState;
1763                     [Description (
1764                     "Time in kernel mode, in milliseconds. If this information "
1765 karl  1.1.2.1       "is not available, a value of 0 should be used."),
1766                      Units("MilliSeconds") ]
1767                  uint64 KernelModeTime;
1768                     [Description (
1769                       "Time in user mode, in milliseconds. If this information is "
1770                       "not available, a value of 0 should be used."),
1771                      Units("MilliSeconds") ]
1772                  uint64 UserModeTime;
1773               };
1774               
1775               
1776               // ===================================================================
1777               // ProcessThread
1778               // ===================================================================
1779                  [Association, Aggregation, Description (
1780                    "A link between a Process and the Thread(s) running in the "
1781                    "context of this Process.") ]
1782               class CIM_ProcessThread : CIM_Component {
1783                     [Override ("GroupComponent"), Aggregate, Min (1), Max (1),
1784                      Description ("The Process.") ]
1785                  CIM_Process REF GroupComponent;
1786 karl  1.1.2.1       [Override ("PartComponent"), Weak,
1787                      Description (
1788                       "The Thread running in the context of the Process.") ]
1789                  CIM_Thread REF PartComponent;
1790               };
1791               
1792               
1793               // ===================================================================
1794               // Job
1795               // ===================================================================
1796                  [Abstract, Description (
1797                    "A Job is a LogicalElement representing a unit of work for a "
1798                    "System, such as a print job.  A Job is distinct from a "
1799                    "Process in that a Job can be scheduled.") ]
1800               class CIM_Job : CIM_LogicalElement {
1801                     [Description (
1802                       "A free form string representing the Job's status.") ]
1803                  string JobStatus;
1804                     [Description ("Time that the Job was submitted.") ]
1805                  datetime TimeSubmitted;
1806                     [Description ("Time that the Job was begun.") ]
1807 karl  1.1.2.1    datetime StartTime;
1808                     [Description ("Length of time that the Job has been executing.") ]
1809                  datetime ElapsedTime;
1810                     [Description (
1811                       "Time after which the Job is invalid or should be stopped.") ]
1812                  datetime UntilTime;
1813                     [Description (
1814                       "User to be notified upon Job completion or failure.") ]
1815                  string Notify;
1816                     [Description ("User that submitted the Job.") ] 
1817                  string Owner;
1818                     [Description (
1819                     "Indicates the urgency or importance of execution of a Job.") ]
1820                  uint32 Priority;
1821               };
1822               
1823               
1824               // ===================================================================
1825               // JobDestination 
1826               // ===================================================================
1827                  [Description (
1828 karl  1.1.2.1      "JobDestination is a LogicalElement representing where a Job "
1829                    "is submitted for processing. It can refer to a queue that "
1830                    "contains zero or more Jobs, such as a print queue containing "
1831                    "print Jobs. JobDestinations are hosted on Systems, similar to "
1832                    "the way that Services are hosted on Systems.") ]
1833               class CIM_JobDestination : CIM_LogicalElement {
1834                     [Propagated ("CIM_System.CreationClassName"),
1835                      Key, MaxLen (256),
1836                      Description ("The scoping System's CreationClassName.") ]
1837                  string SystemCreationClassName;
1838                     [Propagated ("CIM_System.Name"),
1839                      Key, MaxLen (256),
1840                      Description ("The scoping System's Name.") ]
1841                  string SystemName;
1842                     [Key, MaxLen (256),
1843                      Description (
1844                       "CreationClassName indicates the name of the class or the "
1845                       "subclass used in the creation of an instance. When used "
1846                       "with the other key properties of this class, this property "
1847                       "allows all instances of this class and its subclasses to "
1848                       "be uniquely identified.") ]
1849 karl  1.1.2.1    string CreationClassName;
1850                     [Override ("Name"), Key, MaxLen (256),
1851                      Description (
1852                       "The inherited Name serves as key of a JobDestination "
1853                       "instance in a System.") ]
1854                  string Name; 
1855               };
1856               
1857               
1858               // ===================================================================
1859               // HostedJobDestination 
1860               // ===================================================================
1861                  [Association, Description (
1862                    "An association between a JobDestination and a System on "
1863                    "which it resides. The cardinality of this association is "
1864                    "1-to-many.  A System may host many Job queues. Job"
1865                    "Destinations are weak with respect to their hosting System. "
1866                    "Heuristic: A JobDestination is hosted on the System where the "
1867                    "LogicalDevices, SoftwareFeatures or Services that implement/"
1868                    "provide the JobDestination are located.") ]
1869               class CIM_HostedJobDestination : CIM_Dependency {
1870 karl  1.1.2.1       [Override ("Antecedent"), Min (1), Max (1),
1871                      Description ("The hosting System.") ]
1872                  CIM_System REF Antecedent;
1873                     [Override ("Dependent"), Weak,
1874                      Description ("The JobDestination hosted on the System.") ]
1875                  CIM_JobDestination REF Dependent;
1876               };
1877               
1878               
1879               // ===================================================================
1880               // JobDestinationJobs 
1881               // ===================================================================
1882                  [Association, Description (
1883                    "An association describing where a Job is submitted for "
1884                    "processing, ie to which JobDestination.") ]
1885               class CIM_JobDestinationJobs : CIM_Dependency {
1886                     [Override ("Antecedent"), Max (1),
1887                      Description ("The JobDestination, possibly a queue.") ]
1888                  CIM_JobDestination REF Antecedent;
1889                     [Override ("Dependent"),
1890                      Description ("The Job that is in the Job queue/Destination.") ]
1891 karl  1.1.2.1    CIM_Job REF Dependent;
1892               };
1893               
1894               
1895               // ================================================================== 
1896               // ServiceProcess 
1897               // ================================================================== 
1898                  [Association, Description ( 
1899                    "CIM_ServiceProcess is an association used to establish " 
1900                     "relationships between Services and Processes. " 
1901                     "It is used to indicate if a Service is running in a particular " 
1902                     "Process.  It is also used to indicate, via the ExecutionType " 
1903                     "property, if the Service started and is wholly responsible for " 
1904                     "the Process, or if the Service is running in an existing Process, " 
1905                     "perhaps with other unreleated Services, which is owned or " 
1906                     "started by a different entity. This association relates " 
1907                     "a Service with a externally visible system signature. ") ] 
1908               class CIM_ServiceProcess { 
1909                     [Key, Description ( 
1910                       "The Service whose Process is described by this "
1911                       "association.") ] 
1912 karl  1.1.2.1     CIM_Service REF Service; 
1913                     [Key, Description ( 
1914                       "The Process which represents or hosts the executing " 
1915                       "Service. " ) ] 
1916                   CIM_Process REF Process; 
1917                     [Description( 
1918                       "Enumeration indicating how the Service runs in the context "
1919                       "of, or owns the Process. \"Unknown\" indicates that the "
1920                       "ExecutionType is not known. \"Other\" indicates that the "
1921                       "ExecutionType does not match any of the values in the "
1922                       "ExecutionType enumeration. \"Executes in Existing Process\" "
1923                       "indicates that the Service is hosted in a Process that " 
1924                       "already exists in the system.  The lifecycle of the " 
1925                       "Service is separate from that of the Process. "
1926                       "\"Exeutes as Independent Process\" indicates that the "
1927                       "Service is responsible for the lifecycle of the Process. "
1928                       "When the Service is started, the Process is created. " 
1929                       "For example, ServletEngines can run \"InProcess\" " 
1930                       "within the existing Apache processes or \"OutOfProcess\" in "
1931                       "its own servlet engine process.  In this case the Apache "
1932                       "process would communicate with the servlet engine process "
1933 karl  1.1.2.1         "based on the content of the request.  The association may "
1934                       "be many to many." ), 
1935                      Values {"Unknown", "Other", "Executes in Existing Process", 
1936                              "Executes as Independent Process" } ] 
1937                   uint16 ExecutionType; 
1938               }; 
1939               
1940               
1941               // ===================================================================
1942               //
1943               //  Diagnostics
1944               //
1945               // ===================================================================
1946               
1947               
1948               // ==================================================================
1949               //    DiagnosticTest
1950               // ==================================================================
1951                  [Description (
1952                    "The CIM_DiagnosticTest class represents the ability to "
1953                    "execute a test. Specific diagnostic tests may be defined by "
1954 karl  1.1.2.1      "subclassing and/or instantiating this object. To provide "
1955                    "more detail for a type of test (i.e, additional properties "
1956                    "and methods), subclassing is appropriate. To indicate that a "
1957                    "test exists and may be applied to a specific ManagedSystem"
1958                    "Element, instantiation of the DiagnosticTest class may "
1959                    "suffice.") ]
1960               class CIM_DiagnosticTest : CIM_Service {
1961                     [Description (
1962                       "The descriptions for each Characteristic are below:\n "
1963                       "\n"
1964                       "* \"Is Exclusive\" (value=2) is specified for the test "
1965                       "module only if the diagnostic cannot run more than one test "
1966                       "at a time, regardless of how many SystemElements are "
1967                       "supported. Typically, this occurs when hardware or software "
1968                       "constraints prevent the test from running as multiple, "
1969                       "concurrent instances. If the diagnostic can be run against "
1970                       "multiple SystemElements, but only once per Element, then set "
1971                       "the IsExclusiveForMSE boolean property on the appropriate "
1972                       "instances of DiagnosticTestForMSE. \n"
1973                       "\n"
1974                       "* If \"Is Interactive\" (value=3) is set, then the diagnostic "
1975 karl  1.1.2.1         "displays a message either before, during or after testing. \n"
1976                       "\n"
1977                       "* Set \"Is Destructive\" (value=4) if the diagnostic will "
1978                       "destroy data, or reconfigure the Element that is being "
1979                       "tested. \n" 
1980                       "\n"
1981                       "* \"Is Risky\" (value=5) indicates that data loss may occur "
1982                       "if the test is interrupted. Some tests make copies of data, "
1983                       "perform the test, and restore the data returning the tested "
1984                       "entity to its previous configuration. If the test is "
1985                       "interrupted, then loss of data or reconfiguration of the "
1986                       "tested ManagedSystemElement may occur. \n"
1987                       "\n"
1988                       "* If \"Is Package\" (value=6) is set, this test is actually "
1989                       "a set of lower level diagnostics, that are 'packaged' "
1990                       "together. \n"
1991                       "\n"
1992                       "\"Supports PercentOfTestCoverage\" (value=7) indicates that "
1993                       "a request for reduced test coverage can be specified using "
1994                       "the PercentOfTestCoverage property of Diagnostic Setting. \n"
1995                       "\n"
1996 karl  1.1.2.1         "Also, the values \"Unknown\" (0) and \"Other\" (1) may be "
1997                       "specified. If \"Other\" is defined, additional detail may be "
1998                       "found in the OtherCharacteristicDescription property of this "
1999                       "class."), 
2000                      Values{"Unknown", "Other", "Is Exclusive", "Is Interactive", 
2001                             "Is Destructive", "Is Risky", "Is Package", 
2002                             "Supports PercentOfTestCoverage"},
2003                      ModelCorrespondence {
2004                       "CIM_DiagnosticTest.OtherCharacteristicDescription"}]
2005                   uint16 Characteristics[];
2006                     [Description (
2007                       "Provides additional information for the Characteristic when "
2008                       "its value is set to 1 (\"Other\")."), 
2009                      ModelCorrespondence {"CIM_DiagnotistTest.Characteristics"}]
2010                     string OtherCharacteristicDescription;
2011                     [Description(
2012                       "If this test is currently being performed, the InUse "
2013                       "property is set to TRUE. To determine which ManagedSystem"
2014                       "Element is being tested, query the DiagnosticResult objects "
2015                       "associated with this test (query DiagnosticResultForTest), "
2016                       "and for which the TestState equals 4 (\"In Progress\"). "
2017 karl  1.1.2.1         "The DiagnosticResult object is associated with the System"
2018                       "Element under test, using DiagnosticResultForMSE.") ]
2019                   boolean IsInUse;
2020                     [Description(
2021                       "The \"Expensive\" qualifier can be applied to this class and "
2022                       "its RunTest method. If so, the ResourcesUsed property "
2023                       "describes the resources that are capitalized, based on a "
2024                       "default setup for the test. Multiple resources can be "
2025                       "specified since the property is an array."), 
2026                      Values{"CPU", "Memory", "Hard Disk", "CDROM", "Floppy", 
2027                             "PCI Bus", "USB Bus", "1394 Bus", "SCSI Bus", "IDE Bus", 
2028                             "Network", "ISA Bus", "EISA Bus", "VESA Bus", "PCMCIA Bus", 
2029                             "CardBus", "Access.bus", "NuBus", "AGP", "VME Bus", 
2030                             "Sbus IEEE 1396-1993", "MCA Bus", "GIO Bus", "XIO Bus", 
2031                             "HIO Bus", "PMC Bus", "SIO Bus"}]
2032                   uint16 ResourcesUsed[];
2033                     [Description(
2034                       "The RunTest method executes this test for the specified "
2035                       "ManagedSystemElement (defined using the SystemElement input "
2036                       "parameter). Results of the test are stored in a Diagnostic"
2037                       "Result object, a reference to which is returned as the Result "
2038 karl  1.1.2.1         "output parameter. How the test should execute, i.e. its "
2039                       "settings, is defined in a DiagnosticSetting object (or by a "
2040                       "subclass of DiagnosticSetting). A reference to a Setting "
2041                       "object is specified using the Setting input parameter.  If a "
2042                       "reference is not passed into the method, then a default "
2043                       "DiagnosticSetting may be used. This default Setting is "
2044                       "associated with the DiagnoticTest using the DefaultSetting "
2045                       "relationship of the Core Model. \n"
2046                       "When RunTest starts execution, the settings, which are time sensitive, "
2047                       "should be evaluated and captured. This is suggested since the "
2048                       "DiagnosticSetting object can be modified at any time, and therefore "
2049                       "the current test settings could be lost. \n"
2050                       "The method's return codes are expected to adhere to the XML "
2051                       "return codes as they are introduced. Currently, the standard "
2052                       "return values are: \n"
2053                       "0 = OK (function succeeded, but the test itself may have "
2054                       "failed \n"
2055                       "1 = Unspecified Error (function failed for unspecified "
2056                       "reasons) \n"
2057                       "2 = Not Implemented (function is not implemented for this "
2058                       "instance) \n"
2059 karl  1.1.2.1         "3 = Out Of Resources (component could not allocate required "
2060                       "resources, e.g. memory, disk space, etc.) \n"
2061                       "In a subclass, the set of possible return codes could be "
2062                       "specified, using a ValueMap qualifier on the method. The "
2063                       "strings to which the ValueMap contents are 'translated' may "
2064                       "also be specified in the subclass as a Values array qualifier.") ]
2065                   uint32 RunTest([IN] CIM_ManagedSystemElement ref SystemElement, 
2066                         [IN] CIM_DiagnosticSetting ref Setting, 
2067                         [OUT] CIM_DiagnosticResult ref Result);   
2068                     [Description(
2069                       "Execution of this method will delete all instances of the "
2070                       "DiagnosticResultForMSE object, for this DiagnosticTest "
2071                       "and the specified ManagedSystemElement (defined using the "
2072                       "SystemElement input parameter). The DiagnosticResults "
2073                       "referenced in the DiagnosticResultForMSE instances will be "
2074                       "deleted.  Also the association DiagnosticResultForTest that "
2075                       "referees to the DiagnosticResult object, and this test will "
2076                       " be deleted.\n"
2077                       "  One output parameter is defined - ResultsNotCleared "
2078                       "- which is a string array that lists the keys of the "
2079                       "DiagnosticResults which could not be deleted. This information "
2080 karl  1.1.2.1         "enables those Results to be revisited and either manually "
2081                       "removed, or other corrective action taken. \n"
2082                       "The method's return codes are expected to adhere to the XML "
2083                       "return codes as they are introduced. Currently, the standard "
2084                       "return values are: \n"
2085                       "0 = OK (function succeeded, but the test itself may have "
2086                       "failed \n"
2087                       "1 = Unspecified Error (function failed for unspecified "
2088                       "reasons) \n"
2089                       "2 = Not Implemented (function is not implemented for this "
2090                       "instance) \n"
2091                       "3 = Out Of Resources (component could not allocate required "
2092                       "resources, e.g. memory, disk space, etc.) \n"
2093                       "In a subclass, the set of possible return codes could be "
2094                       "specified, using a ValueMap qualifier on the method. The "
2095                       "strings to which the ValueMap contents are 'translated' may "
2096                       "also be specified in the subclass as a Values array qualifier.") ]
2097                   uint32 ClearResults([IN] CIM_ManagedSystemElement ref SystemElement, 
2098                         [OUT] String ResultsNotCleared[]);   
2099                     [Description (
2100                       "After invocation of this method and its completion, the "
2101 karl  1.1.2.1         "specified test(s) will be discontinued for the indicated "
2102                       "ManagedSystemElement (defined by the SystemElement input "
2103                       "parameter). The test to discontinue is specified using the "
2104                       "Result input parameter. If all instances of this test should "
2105                       "be stopped for the SystemElement, then the Result reference "
2106                       "should be NULL. Upon completion of the method, test status "
2107                       "and other information (such as PercentComplete) will be "
2108                       "stored in the DiagnosticResult instance defined by the Result "
2109                       "input parameter. The output parameter, TestingStopped, is "
2110                       "used as follows:\n"
2111                       " Set to TRUE if testing was successfully stopped. \n"
2112                       " Set to FALSE if the current test(s) can not be stopped. \n"
2113                       "If set to FALSE, testing will stop when the diagnostic is "
2114                       "able to do so safely. To determine if/when the testing is "
2115                       "stopped, check the TestState property in the DiagnosticResult "
2116                       "instance defined by the Result parameter. TestState will "
2117                       "change from \"In Progress\" to \"Stopped\" (from 4 to 5). \n"
2118                       "The method's return codes are expected to adhere to the XML "
2119                       "return codes as they are introduced. Currently, the standard "
2120                       "return values are: \n"
2121                       "0 = OK (function succeeded, but the test itself may have "
2122 karl  1.1.2.1         "failed \n"
2123                       "1 = Unspecified Error (function failed for unspecified "
2124                       "reasons) \n"
2125                       "2 = Not Implemented (function is not implemented for this "
2126                       "instance) \n"
2127                       "3 = Out Of Resources (component could not allocate required "
2128                       "resources, e.g. memory, disk space, etc.) \n"
2129                       "In a subclass, the set of possible return codes could be "
2130                       "specified, using a ValueMap qualifier on the method. The "
2131                       "strings to which the ValueMap contents are 'translated' may "
2132                       "also be specified in the subclass as a Values array qualifier.") ]
2133                   uint32 DiscontinueTest([IN] CIM_ManagedSystemElement ref SystemElement, 
2134                         [IN] CIM_DiagnosticResult ref Result, 
2135                         [OUT] Boolean TestingStopped);   
2136               };
2137               
2138               // ==================================================================
2139               //    DiagnosticSetting
2140               // ==================================================================
2141                  [Description(
2142                    "Specific diagnostic test parameters and execution "
2143 karl  1.1.2.1      "instructions are defined by subclassing and/or instantiating "
2144                    "the DiagnosticSetting object. To provide more detailed "
2145                    "Settings for a type of test (i.e., additional properties), "
2146                    "subclassing is appropriate. When only the generic Setting "
2147                    "information is required, instantiation of the Diagnostic"
2148                    "Setting class may suffice.\n"
2149                    "Data from DiagnosticSetting is captured in DiagnosticResult. "
2150                    "When RunTest starts execution the settings, which are time sensitive, "
2151                    "should be evaluated and captured. This is suggested since the "
2152                    "DiagnosticSetting object can be modified at any time, and therefore "
2153                    "the current test settings could be lost.") ]
2154               class CIM_DiagnosticSetting : CIM_Setting {
2155                     [Key, MaxLen (256), Override ("SettingID"), 
2156                      Description (
2157                       "The identifier by which the DiagnosticSetting object is " 
2158                       "known and uniquely named. One possible naming scheme is " 
2159                       "to name the SettingID using the DiagnosticTest's CreationClassName " 
2160                       "and DiagnosticName, plus a GUID (Globally Unique IDentifier).\n" 
2161                       "  Note that at an enterprise level, there is typically not a " 
2162                       "one to one mapping between a DiagnosticSetting and all " 
2163                       "copies of the DiagnosticTest.  The proposed naming convention will" 
2164 karl  1.1.2.1         "scale to the entrprise level.") ]
2165                   string SettingID;
2166                     [Description (
2167                       "Sets the level of warning messages to be logged. If for "
2168                       "example no warning information is required, the level "
2169                       "would be set to \"No Warnings\" (value=0). Using \"Missing "
2170                       "Resources\" (value=1) will cause warnings to be generated "
2171                       "when required resources or hardware are not found. Setting "
2172                       "the value to 2, \"Testing Impacts\", results in both "
2173                       "missing resources and 'test impact' warnings (for example, "
2174                       "multiple retries required) to be reported."), 
2175                      Values {"No Warnings", "Missing Resources", 
2176                              "Testing Impacts", "All Warnings"},
2177                      Write]
2178                   uint16 TestWarningLevel;
2179                     [Description (
2180                       "When this flag is true, the diagnostic test will report "
2181                       "'soft errors'. In this context, a soft error is a message "
2182                       "from the diagnostic reporting a known defect in the "
2183                       "hardware or driver configuration, or execution "
2184                       "environment.  Examples are: \"Not enough memory\", "
2185 karl  1.1.2.1         "\"Driver IOCTL not implemented\", \"Video RAM compare "
2186                       "failed during polygon fill test (A known defect in the "
2187                       "video chipset)\", etc."), 
2188                      Write] 
2189                   boolean ReportSoftErrors;
2190                     [Description (
2191                       "When this flag is true, the diagnostic test will report "
2192                       "'status messages'. In this context, a status message "
2193                       "indicates that the diagnostic code is at a checkpoint. "
2194                       "Examples are: \"Completion of phase 1\", \"Complex "
2195                       "pattern\", etc."), 
2196                      Write]
2197                   boolean ReportStatusMessages;
2198                     [Description (
2199                       "When this flag is true, the test will halt after finding "
2200                       "the first error."),
2201                      Write]
2202                   boolean HaltOnError;
2203                     [Description (
2204                       "When this flag is true, the test software should attempt "
2205                       "to run in an accelerated fashion either by reducing the "
2206 karl  1.1.2.1         "coverage or number of tests performed."), 
2207                      Write]
2208                   boolean QuickMode;
2209                     [Units ("Percent"), MinValue (0), MaxValue (100), 
2210                      Description(
2211                       "Requests the diagnostic software to reduce test coverage "
2212                       "to the specified percentage.  For example, a hard drive "
2213                       "scan test could be asked to run at 50%. The most "
2214                       "effective way to accomplish this is for the test software "
2215                       "to scan every other track, as opposed to only scanning the "
2216                       "first half of a drive. It is assumed that the effectiveness "
2217                       "of the test is impacted proportional to the percentage of "
2218                       "testing requested. Permissible values for this property "
2219                       "range from 0 to 100. \n"
2220                       "This property may not be applicable to all tests.  If it "
2221                       "can be set for a test, the value 7 (\"Supports PercentOf"
2222                       "TestCoverage\") should be entered into the DiagnosticTest's "
2223                       "Characteristics array."), 
2224                      ModelCorrespondence {"CIM_DiagnosticTest.Characteristics"}, 
2225                      Write]
2226                   uint8 PercentOfTestCoverage;
2227 karl  1.1.2.1  };
2228               
2229               
2230               // ==================================================================
2231               //    DiagnosticResult
2232               // ==================================================================
2233                  [Description(
2234                    "When a DiagnosticTest Service is running, test results "
2235                    "are reported using a DiagnosticResult object, or one of its "
2236                    "subclasses. A DiagnosticTest may be running because its "
2237                    "Service is Started or due to an invocation of the RunTest "
2238                    "method. DiagnosticResults are related to their Test via an "
2239                    "instance of the DiagnosticResultsForMSE association.\n"
2240                    "For every running of DiagnosticTest, a new instance of "
2241                    "DiagnosticResult, or one of it's subclasses should be created.") ]
2242               class CIM_DiagnosticResult {
2243                     [Propagated("CIM_DiagnosticTest.CreationClassName"), 
2244                      Key, MaxLen (256),
2245                      Description ("The scoping Test's CreationClassName.") ]
2246                   string DiagnosticCreationClassName;
2247                     [Propagated("CIM_DiagnosticTest.Name"),
2248 karl  1.1.2.1        Key, MaxLen (256),
2249                      Description ("The scoping Test's Name.") ]
2250                   string DiagnosticName;
2251                     [Propagated ("CIM_DiagnosticTest.SystemCreationClassName"),
2252                      Key, MaxLen (256),
2253                      Description ("The scoping Test's SystemCreationClassName.") ]
2254                  string DiagSystemCreationClassName;
2255                     [Propagated ("CIM_DiagnosticTest.SystemName"), 
2256                      Key, MaxLen (256),
2257                      Description ("The scoping Test's SystemName.") ]
2258                  string DiagSystemName;
2259                     [Key, MaxLen (1024), 
2260                      Description (
2261                       "The Unique identifier for an instance of Diagnostic"
2262                       "Results.") ]
2263                   string ExecutionID ; 
2264                     [Description (
2265                       "The date and time the result was last updated.") ]
2266                   datetime TimeStamp;
2267                     [Description (
2268                       "If this property is TRUE, then this DiagnosticResult "
2269 karl  1.1.2.1         "summarizes the results from the execution of a packaged "
2270                       "set of DiagnosticTests. The Tests in the package can be "
2271                       "identified by following the DiagnosticResultForTest "
2272                       "association to the test and then using the DiagnosticTest"
2273                       "InPackage aggregation. The individual Results can be "
2274                       "broken out by instantiating DiagnosticResults for the "
2275                       "individual lower level tests and aggregating into the "
2276                       "'summary' Result using the DiagnosticResultInPackage "
2277                       "association.") ]
2278                   boolean IsPackage;
2279                     [Description (
2280                       "The date and time  when this test started.") ]
2281                   datetime TestStartTime;
2282                     [Description (
2283                       "The date and time when this test completed.") ]
2284                   datetime TestCompletionTime;
2285                     [Description (
2286                       "Describes how the test is progressing. For example, if "
2287                       "the test was discontinued, the TestState will be "
2288                       "\"Stopped\" (value=5), or if testing is currently "
2289                       "executing, TestState will be \"In Progress\" (4)."),  
2290 karl  1.1.2.1        Values{"Unknown", "Other", "Passed", "Failed", 
2291                             "In Progress", "Stopped"},
2292                      ModelCorrespondence {
2293                       "CIM_DiagnosticResult.OtherStateDescription"}]
2294                    uint16 TestState;
2295                     [Description (
2296                       "When \"Other\" (value=1) is entered in the TestState "
2297                       "property, OtherStateDescription can be used to describe "
2298                       "the test's state."),
2299                      ModelCorrespondence {"CIM_DiagnosticResult.TestState"}]
2300                    string OtherStateDescription;
2301                     [Units ("Seconds"), 
2302                      Description (
2303                       "Estimated number of seconds to perform the Diagnostic"
2304                       "Test indicated by the DiagnosticCreationClassName and "
2305                       "DiagnosticName properties.  After the test has completed, "
2306                       "the actual elapsed time can be determined by subtracting "
2307                       "the TestStartTime from the TestCompletionTime. A similar "
2308                       "property is defined in the association, DiagnosticTest"
2309                       "ForMSE. The difference between the two properties is "
2310                       "that the value stored in the association is a generic "
2311 karl  1.1.2.1         "test execution time for the Element and the Test. But, "
2312                       "the value here (in DiagnosticResult) is the estimated "
2313                       "time that this instance with the given settings would "
2314                       "take to run the test.  A CIM Consumer can compare this "
2315                       "value with the value in the association DiagnosticTestForMSE "
2316                       "to get an idea what impact their settings have on test "
2317                       "execution."), 
2318                      ModelCorrespondence {
2319                       "CIM_DiagnosticTestForMSE.EstimatedTimeOfPerforming"}]
2320                   uint32 EstimatedTimeOfPerforming;
2321                     [Description(
2322                       "TestResults stores one or more textual results from the "
2323                       "execution of the DiagnosticTest(s) referenced by the "
2324                       "DiagnosticCreationClassName and DiagnosticName properties. "
2325                       "One entry is considered a cell location in the array. Each "
2326                       "entry is time stamped and contains the following "
2327                       "information, in the following format: \n"
2328                       " yyymmddhhttssoutc|DiagnosticName|Textual message \n"
2329                       "Where: \n"
2330                       "  yyy = year, e.g. 2000 \n"
2331                       "  mm = month (01 - 12) \n"
2332 karl  1.1.2.1         "  dd = day (01 - 31) \n" 
2333                       "  hh = hour (00 - 24) \n"
2334                       "  tt = minute (00-59) \n"
2335                       "  ss = second (00-59) \n"
2336                       "  o = \"+\" or \"-\" indicating the sign of the UTC "
2337                       "correction field \n"
2338                       "  utc = offset from UTC (Universal Coordinated Time) "
2339                       "in minutes \n"
2340                       "  DiagnosticName = string reference to the DiagnosticTest "
2341                       "object which was executed\n"
2342                       "  Textual message = free form string that is the 'test "
2343                       "result'."), 
2344                      ArrayType ("Ordered") ]
2345                   string TestResults[];
2346                     [Units ("Percent"), MinValue (0), MaxValue (100), 
2347                      Description (
2348                       "The percentage of the test that has executed thus far, if the "
2349                       "TestState property is set to \"In Progress\" or the percentage "
2350                       "of the complete test that was executed if the TestState property "
2351                       "is set to any of the completed states (\"Passed\", \"Failed\" or "
2352                       "\"Stopped\"). Final results may be based on less than 100% coverage "
2353 karl  1.1.2.1         "due to the parameters defined in DiagnosticSetting (such as "
2354                       "QuickMode, PercentOfTestCoverage or HaltOnError)." ) ]
2355                   uint8 PercentComplete;
2356               
2357               
2358               // ---------  Properties below here are copied from  ------------------
2359               // ---------  DiagnosticSettings                     ------------------
2360               // Note that the DiagnosticSetting object can be modified at any time,
2361               // and the current test settings can be lost. When RunTest starts execution 
2362               // the settings, which are time sensitive, should be evaluated and captured. 
2363               
2364                     [Description (
2365                       "Sets the level of warning messages to be logged. If for "
2366                       "example no warning information is required, the level "
2367                       "would be set to \"No Warnings\" (value=0). Using \"Missing "
2368                       "Resources\" (value=1) will cause warnings to be generated "
2369                       "when required resources or hardware are not found. Setting "
2370                       "the value to 2, \"Testing Impacts\", results in both "
2371                       "missing resources and 'test impact' warnings (for example, "
2372                       "multiple retries required) to be reported."), 
2373                      Values {"No Warnings", "Missing Resources", 
2374 karl  1.1.2.1                "Testing Impacts", "All Warnings"},
2375                      Write]
2376                   uint16 TestWarningLevel;
2377                     [Description (
2378                       "When this flag is true, the diagnostic test will report "
2379                       "'soft errors'. In this context, a soft error is a message "
2380                       "from the diagnostic reporting a known defect in the "
2381                       "hardware or driver configuration, or execution "
2382                       "environment.  Examples are: \"Not enough memory\", "
2383                       "\"Driver IOCTL not implemented\", \"Video RAM compare "
2384                       "failed during polygon fill test (A known defect in the "
2385                       "video chipset)\", etc."), 
2386                      Write] 
2387                   boolean ReportSoftErrors;
2388                     [Description (
2389                       "When this flag is true, the diagnostic test will report "
2390                       "'status messages'. In this context, a status message "
2391                       "indicates that the diagnostic code is at a checkpoint. "
2392                       "Examples are: \"Completion of phase 1\", \"Complex "
2393                       "pattern\", etc."), 
2394                      Write]
2395 karl  1.1.2.1     boolean ReportStatusMessages;
2396                     [Description (
2397                       "When this flag is true, the test will halt after finding "
2398                       "the first error."),
2399                      Write]
2400                   boolean HaltOnError;
2401                     [Description (
2402                       "When this flag is true, the test software should attempt "
2403                       "to run in an accelerated fashion either by reducing the "
2404                       "coverage or number of tests performed."), 
2405                      Write]
2406                   boolean QuickMode;
2407                     [Units ("Percent"), MinValue (0), MaxValue (100), 
2408                      Description(
2409                       "Requests the diagnostic software to reduce test coverage "
2410                       "to the specified percentage.  For example, a hard drive "
2411                       "scan test could be asked to run at 50%. The most "
2412                       "effective way to accomplish this is for the test software "
2413                       "to scan every other track, as opposed to only scanning the "
2414                       "first half of a drive. It is assumed that the effectiveness "
2415                       "of the test is impacted proportional to the percentage of "
2416 karl  1.1.2.1         "testing requested. Permissible values for this property "
2417                       "range from 0 to 100. \n"
2418                       "This property may not be applicable to all tests.  If it "
2419                       "can be set for a test, the value 7 (\"Supports PercentOf"
2420                       "TestCoverage\") should be entered into the DiagnosticTest's "
2421                       "Characteristics array."), 
2422                      ModelCorrespondence {"CIM_DiagnosticTest.Characteristics"}, 
2423                      Write]
2424                   uint8 PercentOfTestCoverage;
2425               };
2426               
2427               
2428               // ==================================================================
2429               //    DiagnosticResultForMSE
2430               // ==================================================================
2431                  [Association, Description (
2432                    "This is an association class relating diagnostic test "
2433                    "results to the ManagedSystemElement that is/was tested.") ]
2434               class CIM_DiagnosticResultForMSE {
2435                     [Key, Description (
2436                       "The diagnostic result.") ]
2437 karl  1.1.2.1    CIM_DiagnosticResult REF Result;
2438                     [Key, Description (
2439                       "The ManagedSystemElement to which the diagnostic result "
2440                       "applies.") ]
2441                  CIM_ManagedSystemElement REF SystemElement;
2442               };
2443               
2444               
2445               // ==================================================================
2446               //    DiagnosticResultForTest
2447               // ==================================================================
2448                  [Association, Description (
2449                    "This is an association class to relate the results of a test "
2450                    "to the test itself.") ]
2451               class CIM_DiagnosticResultForTest {
2452                     [Key, Min (1), Max (1), Weak,
2453                      Description ("The result object.") ]
2454                  CIM_DiagnosticResult REF DiagnosticResult;
2455                     [Key, Min(1), Max(1),
2456                      Description ("The test that generated the result object.") ]
2457                  CIM_DiagnosticTest REF DiagnosticTest;
2458 karl  1.1.2.1 };
2459               
2460               
2461               // ==================================================================
2462               //    DiagnosticTestForMSE
2463               // ==================================================================
2464                  [Association, Description(
2465                    "This is an association class that relates a DiagnosticTest "
2466                    "to a ManagedSystemElement.  Consumers wishing to 'diagnose' "
2467                    "a particular Element could query this association, for the "
2468                    "Element, to determine what tests are available.") ]
2469               class CIM_DiagnosticTestForMSE : CIM_ProvidesServiceToElement {
2470                     [Override("Antecedent"), Description (
2471                       "The test that may be run against a ManagedSystemElement.") ]
2472                  CIM_DiagnosticTest REF Antecedent;
2473                     [Override("Dependent"), Description (
2474                       "The ManagedSystemElement that can be tested.") ]
2475                  CIM_ManagedSystemElement REF Dependent;
2476                     [Units ("Seconds"), 
2477                      Description (
2478                       "Estimated number of seconds to perform the referenced "
2479 karl  1.1.2.1         "DiagnosticTest against the ManagedSystemElement. Since "
2480                       "execution times could vary by Element, this property is "
2481                       "located in the association between the two entities. It is "
2482                       "also captured in DiagnosticResult, in the Estimated"
2483                       "TimeOfPerforming property.\n" 
2484                       "A CIM Consumer can compare this value with the value in"
2485                       "DiagnosticResult to get an idea of what impact their"
2486                       "settings have on test execution."),
2487                      ModelCorrespondence {
2488                       "CIM_DiagnosticResult.EstimatedTimeOfPerforming"}]
2489                   uint32 EstimatedTimeOfPerforming;
2490                     [Description (
2491                       "If the DiagnosticTest referenced in this object can be run "
2492                       "concurrently against multiple SystemElements, but only "
2493                       "run one at a time for the referenced ManagedSystemElement, "
2494                       "then this boolean is set to TRUE. Alternately, if the test "
2495                       "can NOT be run concurrently irregardless of the System"
2496                       "Elements being tested, then the more general \"Is Exclusive\" "
2497                       "enumerated value (2) should be set in DiagnosticTest."
2498                       "Characteristics.") ]
2499                   boolean IsExclusiveForMSE;
2500 karl  1.1.2.1 };
2501               
2502               
2503               // ==================================================================
2504               //    DiagnosticTestInPackage
2505               // ==================================================================
2506                  [Association, Aggregation, Description (
2507                    "This is an association class that identifies a Diagnostic"
2508                    "Test as made up of lower level Tests. In this case, the "
2509                    "Test identified as the GroupComponent reference (i.e, "
2510                    "the higher level test) would have the \"Is Package\" "
2511                    "enumerated value specified in DiagnosticTest."
2512                    "Characteristics.") ]
2513               class CIM_DiagnosticTestInPackage : CIM_Component {
2514                     [Override("GroupComponent"), Aggregate, 
2515                      Description (
2516                       "The DiagnosticTest object that acts as the container for all "
2517                       "the tests of the package.") ]
2518                  CIM_DiagnosticTest REF GroupComponent;
2519                     [Override("PartComponent"), 
2520                      Description (
2521 karl  1.1.2.1         "The DiagnosticTest object that is one of the elements of "
2522                       "the package.") ]
2523                  CIM_DiagnosticTest REF PartComponent;  
2524               };
2525               
2526                    
2527               // ==================================================================
2528               //    DiagnosticResultInPackage
2529               // ==================================================================
2530                  [Association, Aggregation, Description(
2531                    "This is an association class that identifies a Diagnostic"
2532                    "Result as made up of lower level Results. In this case, the "
2533                    "Result identified as the PackageResult reference (i.e., "
2534                    "the higher level result) would have its IsPackage property "
2535                    "set to TRUE.") ]
2536               class CIM_DiagnosticResultInPackage {
2537                     [Key, Aggregate, Description (
2538                      "The DiagnosticResult object that acts as the container for all "
2539                      "the results of the package.") ]
2540                  CIM_DiagnosticResult REF PackageResult;
2541                     [Key, Description (
2542 karl  1.1.2.1         "The DiagnosticResult object that is one of the elements of "
2543                       "the package.") ]
2544                  CIM_DiagnosticResult REF Result; 
2545               };
2546               
2547                    
2548               // ==================================================================
2549               //    DiagnosticTestSoftware
2550               // ==================================================================
2551                  [Association, Description(
2552                    "This is an association class relating DiagnosticTest to "
2553                    "the SoftwareElements that provide this test. SoftwareElement "
2554                    "describes vendor/version information and other deployment "
2555                    "data.") ]
2556               class CIM_DiagnosticTestSoftware : CIM_Dependency {
2557                     [Override ("Antecedent"), Description (
2558                       "Vendor/version and other information about the software "
2559                       "that runs as the DiagnosticTest.") ]
2560                  CIM_SoftwareElement REF Antecedent;
2561                     [Override ("Dependent"), Description (
2562                       "The DiagnosticTest whose software is described.") ]
2563 karl  1.1.2.1    CIM_DiagnosticTest REF Dependent;
2564               };
2565                 
2566               
2567               // ==================================================================
2568               //    DiagnosticSettingForTest
2569               // ==================================================================
2570                  [Association, Description (
2571                    "This is an association class to relate test settings with "
2572                    "diagnostic tests.") ]
2573               class CIM_DiagnosticSettingForTest : CIM_ElementSetting {
2574                     [Override("Element"), Description (
2575                       "The Test that can use the Setting object.") ]
2576                  CIM_DiagnosticTest REF Element;
2577                     [Override("Setting"), Description (
2578                       "The Setting that can be applied to the execution of the "
2579                       "DiagnosticTest.") ]
2580                  CIM_DiagnosticSetting REF Setting;
2581               };
2582               
2583               // ==================================================================
2584 karl  1.1.2.1 // Pragmas for new classes in premliminary release status
2585               // ==================================================================
2586               
2587               #pragma include ("CIM_System26_Add1.mof")
2588               #pragma include ("CIM_System26_Add2.mof")
2589                
2590               // ===================================================================
2591               // end of file
2592               // ===================================================================
2593               
2594               

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2