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

   1 chip  1.1 // ===================================================================
   2           // Title:       System MOF specification 2.6
   3           // Filename:    CIM_System26.mof
   4           // Version:     2.6.0
   5           // Status:      Final
   6           // Date:        06/04/2002
   7           // ===================================================================
   8           // Copyright 1998-2002 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 date should always be noted.
  17           //
  18           // Implementation of certain elements of this standard or proposed 
  19           // standard may be subject to third party patent rights, including 
  20           // provisional patent rights (herein "patent rights"). DMTF makes 
  21           // no representations to users of the standard as to the existence 
  22 chip  1.1 // of such rights, and is not responsible to recognize, disclose, or
  23           // identify any or all such third party patent right, owners or 
  24           // claimants, nor for any incomplete or inaccurate identification or 
  25           // disclosure of such rights, owners or claimants. DMTF shall have no 
  26           // liability to any party, in any manner or circumstance, under any 
  27           // legal theory whatsoever, for failure to recognize, disclose, or 
  28           // identify any such third party patent rights, or for such party’s
  29           // reliance on the standard or incorporation thereof in its product, 
  30           // protocols or testing procedures. DMTF shall have no liability to 
  31           // any party implementing such standard, whether such implementation 
  32           // is foreseeable or not, nor to any patent owner or claimant, and shall 
  33           // have no liability or responsibility for costs or losses incurred if 
  34           // a standard is withdrawn or modified after publication, and shall be
  35           // indemnified and held harmless by any party implementing the 
  36           // standard from any and all claims of infringement by a patent owner 
  37           // for such implementations.
  38           //
  39           // For information about patents held by third-parties which have 
  40           // notified the DMTF that, in their opinion, such patent may relate to 
  41           // or impact implementations of DMTF standards, visit 
  42           // http://www.dmtf.org/about/policies/disclosures.php.
  43 chip  1.1 // ===================================================================
  44           // Description: The System Model extend the management concepts
  45           //              of a System.  This includes the concepts of virtual
  46           //              computer systems, unitary computer systems, file 
  47           //              systems, operating systems, diagnostics, and etc.
  48           //
  49           //              The object classes below are listed in an order that
  50           //              avoids forward references. Required objects, defined 
  51           //              by other working groups, are omitted.
  52           // ==================================================================
  53           //  Date 06/16/1998 - V2.0 Errata
  54           //      - CR233 Format for specifying Propagated keys uses
  55           //          period, not colon and CIM_ missing from class name
  56           //          (CIM_OperatingSystemSoftwareFeature)
  57           //  Date 09/29/1998 - Version 2.1
  58           //      - CR251 Remove DMI mapping reference from OperatingSystem.
  59           //          NumberOfUsers and move to LocalDateTime
  60           //      - CR268 Change cardinality of the Antecedent reference
  61           //          of the ParticipatingCS association (to Min (1))
  62           //      - CR273 Remove repetition of the Values array from the
  63           //          descriptions of several properties
  64 chip  1.1 //      - CR276b Add to the enumeration for UnitaryComputerSystem.
  65           //          PowerState
  66           //      - CR290 Add ModelCorrespondence to "linked" properties
  67           //      - CR293 Correct xxxMemory properties of OperatingSystem
  68           //          and add MaxProcessMemorySize property
  69           //  Date 06/08/1999 - Version 2.2
  70           //      - CR354 Update the Values array for "power save" for
  71           //          UnitaryComputerSystem (both the property and method)
  72           //      - CR355a Update the method descriptions for SetPowerState,
  73           //          AddNode, EvictNode, Reboot and Shutdown indicating 
  74           //          that Values-ValueMap qualifiers can be defined for 
  75           //          return codes
  76           //      - CR356a Put keys on the references of Export
  77           //      - CR358a Add ClusterSize property to FileSystem
  78           //      - CR363 Update OperatingSystem.OSType enumeration and the
  79           //          description for OperatingSystem.OtherTypeDescription
  80           //      - CR364 Create TotalVisibleMemorySize property on 
  81           //          OperatingSystem
  82           //      - CR368 Update ComponentCS' Description and add new 
  83           //          associations, SystemPartition and SystemBIOS
  84           //      - CR369 Update FileSystem - CodeSet's Description and 
  85 chip  1.1 //          enum, and create a new property, FileSystemType
  86           //      - CR370a Update BIOSFeature.Characteristics enumeration and
  87           //          add ListOfLanguages and CurrentLanguage properties
  88           //          to BIOSElement
  89           //      - CR371 Add WakeUpType property to UnitaryComputerSystem
  90           //      - CR374a Update Process' Description
  91           //      - CR383 and 409 - Add OS/390, VSE and TPF to OS's OSType enum
  92           //      - CR386 Add to the enums for Cluster.Types and 
  93           //          ParticipatingCS.RoleOfNode and update the latter's 
  94           //          Description
  95           //      - CR388a Create StorageLibrary object
  96           //      - CR405 Add Counter and Gauge qualifiers
  97           //      - CR407 Remove the word "automated" from StorageLibrary's
  98           //          Description / Update descriptions for AuditInProgress
  99           //          and MaxAuditTime
 100           //      - CR408 Set ComputerSystem's cardinality in SystemPartition
 101           //          to Max (1)
 102           //      - CR417a Change cardinality of UnitaryComputerSystem in
 103           //          SystemBIOS (add Max (1)) and remove Min (1) from 
 104           //          ComputerSystem for RunningOS
 105           //  Date 07/06/1999 - Version 2.2.1
 106 chip  1.1 //      - CR423 Locale should be specified as en_US
 107           //      - CR425 Update the DMI MappingStrings using the June
 108           //          release of the master.mif
 109           //  Date 02/18/2000 - Version 2.3
 110           //      - CR433 Add new properties and enums from Master.MIF and  
 111           //          new ModelCorrespondences 
 112           //      - CR344 Update to CIM_FileSystem classes and associations
 113           //      - CR437e Diagnostic extensions, classes and associations.
 114           //      - CR460a Add Gauge qualifier to properties
 115           //      - CR473 Update to CIM_Mount association 
 116           //  Date 06/09/2000 - Version 2.4
 117           //      - CR480 Add a property to CIM_StorageLibrary, RoboticsEnabled.
 118           //      - CR488 Change descriptions in CIM_Service:DiagnosticTest 
 119           //          RunTest method, DiagnosticResult, DiagnosticSetting
 120           //  Date 07/14/2000 - Version 2.4
 121           //      - CR504 ERRATA to CIM V2.3 Add remainder of the propagated keys 
 122           //          for DiagnosticResult
 123           //      - CR511a Update to the DiagnosticSetting.SettingID Description
 124           //      - CR517 Correct Compile error on RunTest method in the class 
 125           //          CIM_DiagnosticTest
 126           //  Date 12/01/2000 Version 2.5
 127 chip  1.1 //      - CR533b Add Windows (R) Me  to Operating System property 
 128           //          enumerations
 129           //      - CR541a Add an association between Process and Service
 130           //      - CR543a Update the Description for LogicalFile.Name
 131           //      - CR582 ERRATA - Change the ValueMap qualifier to a Values 
 132           //          qualifier on the CIM_DiagnosticTest.ResourcesUsed[]
 133           //          property due to type mismatch.
 134           //  Date 05/24/2001 Version 2.5 Final
 135           //      - Reordered classes to match Visio
 136           //      - Changed class format to be consistent
 137           //  Date 05/23/2001 - Final Version 2.5
 138           //      - Reordered classes to match Visio
 139           //      - CR606 Add the Aggregate qualifier where missing:
 140           //          DiagnosticeTestInPackage, DiagnosticResultInPackage,
 141           //  Date 05/24/2001 Version 2.6 Preliminary
 142           //      - CR583d Moved the following properties and methods from
 143           //          UnitaryComputerSystem to ComputerSystem:
 144           //          ResetCapability, PowerManagementCapabilites, and 
 145           //          SetPowerState; Added SetPowerStateWithBootFlags 
 146           //          method to ComputerSystem.
 147           //      - CR608b Add values "Caldera Open UNIX" and "OpenBSD"
 148 chip  1.1 //          to OperatingSystem.OSType; Add property 
 149           //          MaxProcessesPerUser to OperatingSystem; Add property 
 150           //          OtherExecutionDescription to Process; Add property 
 151           //          Executable to LogicalFile
 152           //      - Added include pragma for CIM_System26_Add1.mof for
 153           //          CR583d (SystemBootOptions), CR607 (TimeZone), &
 154           //          CR612 (IBSubnetManager)
 155           //      - Added include pragma for CIM_System26_Add2.mof for CR608 
 156           //          (Unix environment) extentions.
 157           //  Date 03/22/2002 - Final Version 2.6
 158           //      - CR689 Clean up descriptions in TimeZone.
 159           //      - CR690, CR734, and CR832 
 160           //          Clean up UNIX model
 161           //      - CR733 Specify "IN (false)" for all out only parameters.
 162           //      - CR746 Add the version qualifier to all classes.
 163           //      - CR755 Move the definition of classes to prevent forward
 164           //          reference
 165           //      - CR828 Errata Update the enumeration for OperatingSystem.
 166           //          OSType to match the Application Model's SoftwareElement.
 167           //          TargetOperatingSystem.
 168           //      - Fix lines taht exceed 72 characters.
 169 chip  1.1 //  Date 05/31/2002 - Final Version 2.6
 170           //      - CR841, Incorporate company review comments on TimeZone
 171           //      - CR842, Change NamedPipe to FIFOPipeFile and update 
 172           //          Description
 173           // ===================================================================
 174           
 175           // ===================================================================
 176           // Pragmas
 177           // ===================================================================
 178           #pragma locale ("en_US")
 179           
 180           // ===================================================================
 181           //  System
 182           // ===================================================================
 183           // ===================================================================
 184           // ComponentCS
 185           // ===================================================================
 186              [Association, Aggregation, Version ("2.6.0"), Description (
 187                "A ComputerSystem can aggregate another ComputerSystem. "
 188                "This association can be used to model MPP Systems with "
 189                "workstation frontends, an I2O subsystem embedded in a Unitary"
 190 chip  1.1      "ComputerSystem, or a System that splits functionality between "
 191                "two processors, potentially running different Operating"
 192                "Systems. For example, if a CISC Processor and its associated "
 193                "OperatingSystem, are used for user interface and file "
 194                "support, and a RISC Processor and its OS are used for complex "
 195                "mathematical operations, this could be modeled as two "
 196                "ComputerSystems where one aggregates the other. In some cases, "
 197                "this could be modeled as a Cluster. The difference is the "
 198                "focus of the relationship. ComponentCS represents that "
 199                "unique and distinct ComputerSystems are aggregated by a "
 200                "higher level CS object. However, each of the component CSs are "
 201                "still distinguishable entities and are only viewed as such. "
 202                "Alternately, with a Cluster, the ComputerSystems that "
 203                "participate in it are inconsequential, when viewed through the "
 204                "'Cluster System'.\n\n"
 205                "When instantiating or subclassing the ComponentCS "
 206                "relationship, care should be taken that the component "
 207                "ComputerSystem meets the definitional requirements of a "
 208                "ComputerSystem - ie, a functional whole that provides "
 209                "compute capabilities and aggregates System Devices, an "
 210                "OperatingSystem, etc.") ] 
 211 chip  1.1 class CIM_ComponentCS : CIM_SystemComponent {
 212                 [Override ("GroupComponent"), Aggregate,
 213                  Description (
 214                   "The ComputerSystem that contains and/or aggregates other "
 215                   "Systems.") ]
 216              CIM_ComputerSystem REF GroupComponent;
 217                 [Override ("PartComponent"), 
 218                  Description ("The contained (Sub)ComputerSystem.") ]
 219              CIM_ComputerSystem REF PartComponent;
 220           };
 221           
 222           
 223           // ===================================================================
 224           // StorageLibrary
 225           // ===================================================================
 226              [Version ("2.6.0"), Description (
 227                "A StorageLibrary is a collection of ManagedSystemElements "
 228                "that operate together to provide cartridge library "
 229                "capabilities. This object serves as an aggregation point to "
 230                "group the following elements: MediaTransferDevices, a Label"
 231                "Reader, a library Door, MediaAccessDevices, and other "
 232 chip  1.1      "Library components.") ]
 233           class CIM_StorageLibrary : CIM_System {
 234                 [Description (
 235                   "Capabilities of the StorageLibrary. For example, it can be "
 236                   "indicated that the Library can perform automatic cleaning of "
 237                   "the MediaAccessDevices contained in it (value=1) or that the "
 238                   "Library provides physical door access for an operator "
 239                   "(value=2)."),
 240                  ValueMap {"0", "1", "2", "3", "4"}, 
 241                  Values {"Unknown", "Other", "Automatic Cleaning", 
 242                          "Manual Operation", "Front Panel Lockable"} ]
 243              uint16 Capabilities[];
 244                 [Description (
 245                   "Boolean set to TRUE if there are more PhysicalMedia in a "
 246                   "Library than there are StorageMediaLocations to contain them. "
 247                   "For instance, if all MediaAccessDevices have a Media loaded "
 248                   "in them, and all StorageMediaLocations are loaded by an "
 249                   "operator, then an Overfilled condition exists.") ]
 250              boolean Overfilled;
 251                 [Description (
 252                   "Boolean set to TRUE if the Library can not currently report "
 253 chip  1.1         "the correct state of each PhysicalMedia within its proper "
 254                   "StorageMediaLocation.") ]
 255              boolean AuditNeeded;
 256                 [Description (
 257                   "Boolean set to TRUE if an audit of the location of some or "
 258                   "all of the Library's PhysicalMedia is currently being "
 259                   "performed. That an individual Changer is currently doing an "
 260                   "audit is indicated by a similar AuditInProgress boolean "
 261                   "property on the Changer object.") ]
 262              boolean AuditInProgress;
 263                 [Description (
 264                   "Maximum time in seconds that it takes for the Storage"
 265                   "Library to perform a complete audit of each StorageMedia"
 266                   "Location, to determine the absence or presence of a Physical"
 267                   "Media. If automated support is not provided, then this "
 268                   "property's value is undefined."),
 269                  Units ("Seconds") ]
 270              uint64 MaxAuditTime;
 271                 [Description (
 272                   "Boolean set to TRUE if the Library includes a robotics "
 273                   "mechanism that can be controlled by a ComputerSystem, to "
 274 chip  1.1         "automatically load and unload PhysicalMedia to/from "
 275                   "MediaAccessDevices and StorageMediaLocations. The "
 276                   "property is set to FALSE if the Library represents a "
 277                   "repository of Media that are inaccessible to a MediaAccess"
 278                   "Device without human intervention. An example of a non-"
 279                   "automated Library is a 'shelf' or 'vault' where Physical"
 280                   "Media are kept for extended periods of time.") ]
 281              boolean Automated;
 282                 [Description (
 283                   "Boolean indicating whether the Library's robotics are "
 284                   "currently active/enabled. If TRUE, then the Library may not "
 285                   "be safe for a human to enter.") ] 
 286               boolean RoboticsEnabled;
 287                 [Description (
 288                   "Requests that the Library robotics be enabled for "
 289                   "automated operation (input parameter, Enabled, set to TRUE), "
 290                   "or disabled for manual operation (input parameter set to "
 291                   "FALSE). The return value should be 0 if the request was "
 292                   "successfully executed, 1 if the request is not supported "
 293                   "and some other value if an error occurred. In a subclass, "
 294                   "the set of possible return codes could be specified, using "
 295 chip  1.1         "a ValueMap qualifier on the method. The strings to which "
 296                   "the ValueMap contents are 'translated' may also be specified "
 297                   "in the subclass as a Values array qualifier.") ]
 298              uint32 EnableRobotics([IN] boolean Enable);
 299           };
 300           
 301           
 302           // ===================================================================
 303           // UnitaryComputerSystem
 304           // ===================================================================
 305              [Version ("2.6.0"), Description (
 306                "A class derived from ComputerSystem that represents a Desktop, "
 307                "Mobile, NetPC, Server or other type of a single node Computer "
 308                "System.") ] 
 309           class CIM_UnitaryComputerSystem : CIM_ComputerSystem {
 310                 [Description (
 311                   "This object contains the data needed to find either the "
 312                   "initial load device (its key) or the boot service to "
 313                   "request the operating system to start up. In addition, "
 314                   "the load parameters (ie, a pathname and parameters) "
 315                   "may also be specified.") ]
 316 chip  1.1    string InitialLoadInfo[];
 317                 [Description (
 318                   "This object contains the data identifying either the "
 319                   "initial load device (its key) or the boot service that "
 320                   "requested the last operating system load. In addition, "
 321                   "the load parameters (ie, a pathname and parameters) "
 322                   "may also be specified."),
 323                  MappingStrings {
 324                   "MIB.IETF|HOST-RESOURCES-MIB.hrSystemInitialLoadDevice",
 325                   "MIB.IETF|HOST-RESOURCES-MIB.hrSystemInitialLoadParameters", 
 326                   "MIF.DMTF|Host System|001.3"} ]
 327              string LastLoadInfo;
 328                 [Description (
 329                 "Boolean indicating that the ComputerSystem, with its "
 330                 "running OperatingSystem, supports power management. This "
 331                 "boolean does not indicate that power management features are "
 332                 "currently enabled, or if enabled, what features are "
 333                 "supported. Refer to the PowerManagementCapabilities array "
 334                 "for this information. If this boolean is false, the integer "
 335                 "value 1 for the string, \"Not Supported\", should be the "
 336                 "only entry in the PowerManagementCapabilities array.") ]
 337 chip  1.1    boolean PowerManagementSupported;    
 338                 [Description (
 339                   "Indicates the current power state of the ComputerSystem and "
 340                   "its associated OperatingSystem. Regarding the Power Save "
 341                   "states, these are defined as follows: Value 4 (\"Power Save "
 342                   "- Unknown\") indicates that the System is known to be in a "
 343                   "power save mode, but its exact status in this mode is "
 344                   "unknown; 2 (\"Power Save - Low Power Mode\") indicates that "
 345                   "the System is in a power save state but still functioning, "
 346                   "and may exhibit degraded performance; 3 (\"Power Save - "
 347                   "Standby\") describes that the System is not functioning but "
 348                   "could be brought to full power 'quickly'; value 7 (\"Power "
 349                   "Save - Warning\") indicates that the ComputerSystem is in a "
 350                   "warning state, though also in a power save mode; and, values "
 351                   "8 and 9 describe the ACPI \"Hibernate\" and \"Soft Off\" "
 352                   "states."),
 353                  ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"}, 
 354                  Values {"Unknown", "Full Power", "Power Save - Low Power Mode", 
 355                          "Power Save - Standby", "Power Save - Unknown", 
 356                          "Power Cycle", "Power Off", "Power Save - Warning", 
 357                          "Power Save - Hibernate", "Power Save - Soft Off"} ]
 358 chip  1.1    uint16 PowerState;
 359                 [Description (
 360                   "The event that caused the System to power up. This "
 361                   "information is available in SMBIOS, in the Type 1 structure, "
 362                   "the Wake Up Type attribute."),
 363                  ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8"}, 
 364                  Values {"Reserved", "Other", "Unknown", "APM Timer", 
 365                          "Modem Ring", "LAN Remote", "Power Switch", "PCI PME#", 
 366                          "A/C Power Restored"} ]
 367              uint16 WakeUpType;
 368           };
 369           
 370           
 371           // ===================================================================
 372           // SystemPartition
 373           // ===================================================================
 374              [Association, Aggregation, Version ("2.6.0"), Description (
 375                "A Partition is an instance of a UnitaryComputerSystem (with "
 376                "its own OperatingSystem and Devices dedicated to the "
 377                "Partition) that is supported by underlying hardware and "
 378                "software. A Partition is not a virtualization of a Computer"
 379 chip  1.1      "System, but the segmentation of the System's compute "
 380                "capabilities. Partitions can run independent copies of "
 381                "possibly different OperatingSystems and have dedicated "
 382                "Devices. The 'real', underlying System (perhaps a Cluster "
 383                "or another UnitaryComputerSystem) aggregates its "
 384                "Partitions. These semantics are described by the System"
 385                "Partition association.") ]
 386           class CIM_SystemPartition : CIM_ComponentCS {
 387                 [Override ("GroupComponent"), Aggregate, Max (1),
 388                  Description (
 389                   "The 'underlying' ComputerSystem that hosts a Partition.") ]
 390              CIM_ComputerSystem REF GroupComponent;
 391                 [Override ("PartComponent"), 
 392                  Description ("The System Partition.") ]
 393              CIM_UnitaryComputerSystem REF PartComponent;
 394           };
 395           
 396           
 397           // ===================================================================
 398           // VirtualComputerSystem
 399           // ===================================================================
 400 chip  1.1    [Version ("2.6.0"), Description (
 401                "A class derived from ComputerSystem that represents the "
 402                "ability to virtualize or emulate another ComputerSystem.") ] 
 403           class CIM_VirtualComputerSystem : CIM_ComputerSystem {
 404                 [Description (
 405                   "A string describing the type of System or hardware platform "
 406                   "that is virtualized. OperatingSystem information is obtained "
 407                   "via the RunningOS inherited from ComputerSystem.") ]
 408              string VirtualSystem;
 409           };
 410           
 411           
 412           // ===================================================================
 413           // HostingCS
 414           // ===================================================================
 415              [Association, Version ("2.6.0"), Description (
 416                "A VirtualComputerSystem is hosted on another ComputerSystem. "
 417                "This association makes that relationship explicit.") ] 
 418           class CIM_HostingCS : CIM_Dependency {
 419                 [Override ("Antecedent"),  Min (1),
 420                  Description ("The hosting ComputerSystem.") ]
 421 chip  1.1    CIM_ComputerSystem REF Antecedent;
 422                 [Override ("Dependent"), 
 423                  Description ("The VirtualComputerSystem.") ]
 424              CIM_VirtualComputerSystem REF Dependent;
 425           };
 426           
 427           
 428           // ===================================================================
 429           // Cluster
 430           // ===================================================================
 431              [Version ("2.6.0"), Description (
 432                "A class derived from ComputerSystem that 'is made up of' two "
 433                "or more ComputerSystems which operate together as an atomic, "
 434                "functional whole to increase the performance, resources and/or "
 435                "RAS (Reliability, Availability and Serviceability) of the "
 436                "component ComputerSystems, related to some aspects of these "
 437                "ComputerSystems.") ] 
 438           class CIM_Cluster : CIM_ComputerSystem {
 439                 [Description (
 440                   "Interconnect is a free form string that describes the "
 441                   "interconnection mechanism for the Cluster.") ]
 442 chip  1.1    string Interconnect; 
 443                 [Description (
 444                   "InterconnectAddress indicates the address of the Cluster "
 445                   "System, which is dependent on the interconnection scheme. "
 446                   "If no address is available or applicable, a null string "
 447                   "should be used.") ]
 448              string InterconnectAddress;
 449                 [Description (
 450                   "The cluster types. This specifies whether the cluster is for "
 451                   "failover (value=2), performance (3), etc. The values which "
 452                   "can be specified are not mutually exclusive. Thus, Types is "
 453                   "an array."),
 454                  ValueMap {"0", "1", "2", "3", "4", "5", "6"}, 
 455                  Values {"Unknown", "Other", "Failover", 
 456                          "Performance", "Distributed OS", "Node Grouping",
 457                          "SysPlex"} ]
 458              uint16 Types[];
 459                 [Description (
 460                   "Indicates the maximum number of nodes that may participate in "
 461                   "the Cluster.  If unlimited, enter 0.") ]
 462              uint32 MaxNumberOfNodes;  
 463 chip  1.1       [Description (
 464                   "Indicates the state of the Cluster.  The cluster can be "
 465                   "defined to be on-line (value=2), off-line (3), in a degraded "
 466                   "mode of operation (4) or unavailable (5)."),
 467                  ValueMap {"0", "1", "2", "3", "4", "5"}, 
 468                  Values {"Unknown", "Other", "On-line", "Off-line", 
 469                          "Degraded", "Unavailable"} ]
 470              uint16 ClusterState;
 471           };
 472           
 473           
 474           // ===================================================================
 475           // ParticipatingCS
 476           // ===================================================================
 477              [Association, Version ("2.6.0"), Description (
 478                "A Cluster is composed of two or more ComputerSystems, "
 479                "operating together. A ComputerSystem may participate in "
 480                "multiple Clusters. \n\n"
 481                "When first establishing or bringing up a Cluster, only one "
 482                "ComputerSystem may be defined as participating in it. "
 483                "Therfore, the cardinality of the association for "
 484 chip  1.1      "the ComputerSystem reference is Min (1). ") ] 
 485           class CIM_ParticipatingCS : CIM_Dependency { 
 486                 [Override ("Antecedent"), Min (1),
 487                  Description ( 
 488                   "The ComputerSystem which participates in the Cluster. ") ] 
 489              CIM_ComputerSystem REF Antecedent; 
 490                 [Override ("Dependent"), 
 491                  Description ("The Cluster.") ] 
 492              CIM_Cluster REF Dependent;
 493                 [Description (
 494                   "StateOfNode indicates the condition of the participating "
 495                   "ComputerSystem in the Cluster.  For example, one value is "
 496                   "\"Joining\" (2)."),
 497                  ValueMap {"0", "1", "2", "3", "4", "5", "6"}, 
 498                  Values {"Unknown", "Other", "Joining", "Paused", 
 499                          "Available", "Unavailable", "Degraded"} ] 
 500              uint16 StateOfNode;
 501                 [Description (
 502                   "RoleOfNode indicates whether the Cluster nodes are "
 503                   "peers (value = 2), connected in a master-slave/primary-"
 504                   "secondary relationship (values = 3 for primary, 4 for "
 505 chip  1.1         "secondary), available in a standby configuration (5) or "
 506                   "of some other (1) or unknown (0) relationship. In a "
 507                   "System/390 environment, the nodes are identified as \"Base "
 508                   "Plex\" (value=6) or \"Enhanced Plex\" (value=7)."),
 509                  ValueMap {"0", "1", "2", "3", "4", "5", "6", "7"}, 
 510                  Values {"Unknown", "Other", "Peer", "Primary", 
 511                          "Secondary", "Standby", "Base Plex", "Enhanced Plex"} ] 
 512              uint16 RoleOfNode;
 513           };
 514           
 515           
 516           // ===================================================================
 517           //  Services and SAPs
 518           // ===================================================================
 519           // ===================================================================
 520           // ClusteringService
 521           // ===================================================================
 522              [Version ("2.6.0"), Description (
 523                "ClusteringService represents the functionality provided by a "
 524                "Cluster. For example, failover functionality may be modeled as "
 525                "a Service of a failover Cluster.") ]
 526 chip  1.1 class CIM_ClusteringService : CIM_Service {
 527                 [Description ( 
 528                   "AddNode brings a new ComputerSystem into a Cluster. "
 529                   "The node to be added is specified as a parameter to the "
 530                   "method. The return value should be 0 if the Computer"
 531                   "System is successfully added, 1 if the method is not "
 532                   "supported and any other number if an error occurred. "
 533                   "In a subclass, the set of possible return codes could be "
 534                   "specified, using a ValueMap qualifier on the method. The "
 535                   "strings to which the ValueMap contents are 'translated' "
 536                   "may also be specified in the subclass as a Values array "
 537                   "qualifier.") ]
 538              uint32 AddNode ([IN] CIM_ComputerSystem ref CS);
 539                 [Description (
 540                   "EvictNode removes a ComputerSystem from a Cluster. "
 541                   "The node to be evicted is specified as a parameter to the "
 542                   "method. The return value should be 0 if the ComputerSystem "
 543                   "is successfully evicted, 1 if the method is not supported "
 544                   "and any other number if an error occurred. In a subclass, "
 545                   "the set of possible return codes could be specified, using a "
 546                   "ValueMap qualifier on the method. The strings to which the "
 547 chip  1.1         "ValueMap contents are 'translated' may also be specified in "
 548                   "the subclass as a Values array qualifier.") ]
 549              uint32 EvictNode ([IN] CIM_ComputerSystem ref CS);
 550           };
 551           
 552           
 553           // ===================================================================
 554           // ClusteringSAP
 555           // ===================================================================
 556              [Version ("2.6.0"), Description (
 557                "A representation of the access points of a ClusteringService.") ]
 558           class CIM_ClusteringSAP : CIM_ServiceAccessPoint {
 559           };
 560           
 561           
 562           // ===================================================================
 563           // ClusterServiceAccessBySAP
 564           // ===================================================================
 565              [Association, Version ("2.6.0"), Description (
 566                "ClusterServiceAccessBySAP is the relationship between a "
 567                "ClusteringService and its access points.") ]
 568 chip  1.1 class CIM_ClusterServiceAccessBySAP : CIM_ServiceAccessBySAP {
 569                 [Override ("Antecedent"),
 570                  Description ("The ClusteringService.") ]
 571              CIM_ClusteringService REF Antecedent;
 572                 [Override ("Dependent"),
 573                  Description ("An access point for the ClusteringService.") ]
 574              CIM_ClusteringSAP REF Dependent;
 575           };
 576           
 577           
 578           // ===================================================================
 579           // HostedClusterService
 580           // ===================================================================
 581              [Association,
 582               Version ("2.6.0"), Description (
 583                "HostedClusterService defines the hosting Cluster for a "
 584                "ClusteringService.  Since this relationship is subclassed "
 585                "from HostedService, it inherits the scoping/naming scheme "
 586                "defined for Service - where a Service is weak to its "
 587                "hosting System.  In this case, a ClusteringService must be "
 588                "weak to its hosting Cluster System.") ]
 589 chip  1.1 class CIM_HostedClusterService : CIM_HostedService {
 590                 [Override ("Antecedent"), Min (1), Max (1), 
 591                  Description ("The Cluster.") ]
 592              CIM_Cluster REF Antecedent;
 593                 [Override ("Dependent"),
 594                  Description (
 595                   "The ClusteringService that is hosted on the Cluster.") ]
 596              CIM_ClusteringService REF Dependent;
 597           };
 598           
 599           
 600           // ===================================================================
 601           // HostedClusterSAP
 602           // ===================================================================
 603              [Association, Version ("2.6.0"), Description (
 604                "HostedClusterSAP defines the hosting ComputerSystem for a "
 605                "ClusteringSAP. Since this relationship is subclassed "
 606                "from HostedAccessPoint, it inherits the scoping/naming scheme "
 607                "defined for AccessPoint - where an AccessPoint is weak to "
 608                "its hosting System.  In this case, a ClusteringSAP must be "
 609                "weak to its hosting ComputerSystem.") ]
 610 chip  1.1 class CIM_HostedClusterSAP : CIM_HostedAccessPoint {
 611                 [Override ("Antecedent"), Min (1), Max (1),  
 612                  Description ("The ComputerSystem.") ]
 613              CIM_ComputerSystem REF Antecedent;
 614                 [Override ("Dependent"),
 615                  Description (
 616                   "The ClusteringSAP that is hosted on the ComputerSystem.") ]
 617              CIM_ClusteringSAP REF Dependent;
 618           };
 619           
 620           
 621           // ===================================================================
 622           // BootService
 623           // ===================================================================
 624              [Version ("2.6.0"), Description (
 625                "BootService represents the functionality provided by a Device, "
 626                "software or via a Network to load an Operating System on a "
 627                "UnitaryComputerSystem.") ]
 628           class CIM_BootService : CIM_Service {
 629           };
 630           
 631 chip  1.1 
 632           // ===================================================================
 633           // BootSAP
 634           // ===================================================================
 635              [Version ("2.6.0"), Description (
 636                "A representation of the access points of a BootService.") ]
 637           class CIM_BootSAP : CIM_ServiceAccessPoint {
 638           };
 639           
 640           
 641           // ===================================================================
 642           // BootServiceAccessBySAP
 643           // ===================================================================
 644              [Association, Version ("2.6.0"), Description (
 645                "BootServiceAccessBySAP is the relationship between a Boot"
 646                "Service and its access points.") ]
 647           class CIM_BootServiceAccessBySAP : CIM_ServiceAccessBySAP {
 648                 [Override ("Antecedent"), 
 649                  Description ("The BootService.") ]
 650              CIM_BootService REF Antecedent;
 651                 [Override ("Dependent"),
 652 chip  1.1        Description ("An access point for the BootService.") ]
 653              CIM_BootSAP REF Dependent;
 654           };
 655           
 656           
 657           // ===================================================================
 658           // HostedBootService
 659           // ===================================================================
 660              [Association, Version ("2.6.0"), Description (
 661                "HostedBootService defines the hosting System for a Boot"
 662                "Service. Since this relationship is subclassed from Hosted"
 663                "Service, it inherits the scoping/naming scheme defined for "
 664                "Service - where a Service is weak to its hosting System.") ]
 665           class CIM_HostedBootService : CIM_HostedService {
 666                 [Override ("Dependent"), 
 667                  Description ("The BootService hosted on the System.") ]
 668              CIM_BootService REF Dependent;
 669           };
 670           
 671           
 672           // ===================================================================
 673 chip  1.1 // HostedBootSAP
 674           // ===================================================================
 675              [Association, Version ("2.6.0"), Description (
 676                "HostedBootSAP defines the hosting UnitaryComputerSystem for "
 677                "a BootSAP. Since this relationship is subclassed from "
 678                "HostedAccessPoint, it inherits the scoping/naming scheme "
 679                "defined for AccessPoint - where an AccessPoint is weak to its "
 680                "hosting System.  In this case, a BootSAP must be "
 681                "weak to its hosting UnitaryComputerSystem.") ]
 682           class CIM_HostedBootSAP : CIM_HostedAccessPoint {
 683                 [Override ("Antecedent"), Min (1), Max (1),
 684                  Description ("The UnitaryComputerSystem.") ]
 685              CIM_UnitaryComputerSystem REF Antecedent;
 686                 [Override ("Dependent"),
 687                  Description (
 688                   "The BootSAP hosted on the UnitaryComputerSystem.") ]
 689              CIM_BootSAP REF Dependent;
 690           };
 691           
 692           
 693           // ===================================================================
 694 chip  1.1 //  File Systems
 695           // ===================================================================
 696           // ===================================================================
 697           // FileSystem
 698           // ===================================================================
 699              [Version ("2.6.0"), Description (
 700                "A file or dataset store local to a ComputerSystem or "
 701                "remotely mounted from a file server.") ]
 702           class CIM_FileSystem : CIM_LogicalElement {
 703                 [Propagated ("CIM_ComputerSystem.CreationClassName"),
 704                  Key, MaxLen (256), Description (
 705                   "The scoping ComputerSystem's CreationClassName.") ]
 706              string CSCreationClassName;
 707                 [Propagated ("CIM_ComputerSystem.Name"), Key, MaxLen (256),
 708                  Description ("The scoping ComputerSystem's Name.") ]
 709              string CSName;
 710                 [Key, MaxLen (256), Description (
 711                   "CreationClassName indicates the name of the class or the "
 712                   "subclass used in the creation of an instance. When used "
 713                   "with the other key properties of this class, this property "
 714                   "allows all instances of this class and its subclasses to "
 715 chip  1.1         "be uniquely identified.") ]
 716              string CreationClassName;
 717                 [Override ("Name"), Key, MaxLen (256), Description (
 718                   "The inherited Name serves as key of a FileSystem instance "
 719                   "within a ComputerSystem.") ]
 720              string Name;
 721                 [Description (
 722                   "Path name or other information defining the root of the "
 723                   "FileSystem."),
 724                  MappingStrings {
 725                   "MIB.IETF|HOST-RESOURCES-MIB.hrFSMountPoint", 
 726                   "MIF.DMTF|Host File System|001.2"} ]
 727              string Root;
 728                 [Description (
 729                   "FileSystems can read/write data in blocks which are defined "
 730                   "independently of the underlying StorageExtents. This property "
 731                   "captures the FileSystem's block size for data storage and "
 732                   "retrieval."),
 733                  Units ("Bytes") ]
 734              uint64 BlockSize;
 735                 [Description (
 736 chip  1.1         "The FileSystemSize property stores the total size of the File"
 737                   "System in bytes. If unknown, enter 0."),
 738                  Units ("Bytes"), 
 739                  MappingStrings {"MIF.DMTF|Host File System|001.13"} ]
 740              uint64 FileSystemSize;
 741                 [Gauge, Description (
 742                   "AvailableSpace indicates the total amount of free space "
 743                   "for the FileSystem, in bytes. If unknown, enter 0."),
 744                  Units ("Bytes"), 
 745                  MappingStrings {"MIF.DMTF|Host File System|001.14", 
 746                        "MIF.DMTF|Partition|002.4"} ]
 747              uint64 AvailableSpace;
 748                 [Description (
 749                   "Indicates that the FileSystem is designated as read only."),
 750                  MappingStrings {"MIB.IETF|HOST-RESOURCES-MIB.hrFSAccess", 
 751                   "MIF.DMTF|Host File System|001.5"} ]
 752              boolean ReadOnly;
 753                 [Description (
 754                   "A free form string indicating the algorithm or tool used to "
 755                   "encrypt the FileSystem. If it is not possible or not desired "
 756                   "to describe the encryption scheme (perhaps for security "
 757 chip  1.1         "reasons), recommend using the following words: \"Unknown\" to "
 758                   "represent that it is not known whether the FileSystem is "
 759                   "encrypted or not, \"Encrypted\" to represent that the File"
 760                   "System is encrypted but either its encryption scheme is not "
 761                   "known or not disclosed, and \"Not Encrypted\" to represent "
 762                   "that the FileSystem is not encrypted."),
 763                  MappingStrings {"MIF.DMTF|Partition|002.8"} ]
 764              string EncryptionMethod;
 765                 [Description (
 766                   "A free form string indicating the algorithm or tool used to "
 767                   "compress the FileSystem. If it is not possible or not desired "
 768                   "to describe the compression scheme (perhaps because it is not "
 769                   "known), recommend using the following words: \"Unknown\" to "
 770                   "represent that it is not known whether the FileSystem is "
 771                   "compressed or not, \"Compressed\" to represent that the File"
 772                   "System is compressed but either its compression scheme is not "
 773                   "known or not disclosed, and \"Not Compressed\" to represent "
 774                   "that the FileSystem is not compressed."),
 775                  MappingStrings {"MIF.DMTF|Partition|002.7"} ]
 776              string CompressionMethod;
 777                 [Description (
 778 chip  1.1         "Indicates that case sensitive file names are supported.") ]
 779              boolean CaseSensitive;
 780                 [Description (
 781                   "Indicates that the case of file names are preserved.") ]
 782              boolean CasePreserved;
 783                 [Description (
 784                   "Array defining the character sets or encoding supported by "
 785                   "the FileSystem. For example, the values, \"ASCII\" (2) or "
 786                   "\"ISO2022\" (4), may be specified."),
 787                  ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8"}, 
 788                  Values {"Unknown", "Other", "ASCII", "Unicode", 
 789                          "ISO2022", "ISO8859", "Extended UNIX Code", "UTF-8",
 790                          "UCS-2"} ]
 791              uint16 CodeSet[];
 792                 [Description (
 793                   "Integer indicating the maximum length of a file name within "
 794                   "the FileSystem. 0 indicates that there is no limit on file "
 795                   "name length.") ]
 796              uint32 MaxFileNameLength;
 797                 [Description (
 798                   "The minimum file allocation size (an integral number of "
 799 chip  1.1         "blocks), imposed by the FileSystem. (The size of a block is "
 800                   "specified in the BlockSize property for the FileSystem.) "
 801                   "Minimum allocation size is the smallest amount of storage "
 802                   "allocated to a LogicalFile by the FileSystem. This is not a "
 803                   "mandatory minimum allocation for all FileSystems. Under "
 804                   "stress conditions, some FileSystems may allocate storage "
 805                   "in amounts smaller than the ClusterSize.") ]
 806              uint32 ClusterSize;
 807                 [Description (
 808                   "String describing the type of FileSystem and therefore, its "
 809                   "conventions. For example, \"NTFS\" or \"S5\" may be listed "
 810                   "as well as any additional information on the FileSystem's "
 811                   "implementation. Since various flavors of FileSystems (like "
 812                   "S5) exist, this property is defined as a string."),
 813                  MappingStrings {"MIF.DMTF|Partition|002.6", 
 814                        "MIF.DMTF|Host File System|001.4"} ]
 815              string FileSystemType;
 816           };
 817           
 818           
 819           // ===================================================================
 820 chip  1.1 // LocalFileSystem
 821           // ===================================================================
 822              [Version ("2.6.0"), Description (
 823                "A class derived from FileSystem that represents the file " 
 824                "store controlled by a ComputerSystem through local means " 
 825                "(e.g., direct device driver access). In this case, the " 
 826                "file store is managed directly by the ComputerSystem " 
 827                "without the need for another computer to act as a " 
 828                "file server. This definition does not breakdown in the " 
 829                "case of a Clustered File System. In this scenario, the " 
 830                "FileSystem is a LocalFileSystem, weak to the Cluster.") ]
 831           class CIM_LocalFileSystem : CIM_FileSystem {
 832           };
 833           
 834           
 835           // ===================================================================
 836           // RemoteFileSystem
 837           // ===================================================================
 838              [Version ("2.6.0"), Description (
 839                "A class derived from FileSystem that represents access of the " 
 840                "FileSystem via a network-related service. In this case, the " 
 841 chip  1.1      "file store is hosted by a computer, acting as a file server. " 
 842                "For example, the file store for an NFS FileSystem is typically " 
 843                "NOT on a ComputerSystem's locally controlled media, nor is " 
 844                "it directly accessed through a device driver. Subclasses of " 
 845                "RemoteFileSystem contain client-side configuration information " 
 846                "related to the access of the FileSystem.") ]
 847           class CIM_RemoteFileSystem : CIM_FileSystem {
 848           };
 849           
 850           
 851           // ===================================================================
 852           // NFS (NetworkFileSystem)
 853           // ===================================================================
 854              [Version ("2.6.0"), Description (
 855                "A class derived from RemoteFileSystem representing that " 
 856                "the FileSystem is mounted, using the NFS protocol, from " 
 857                "a ComputerSystem. The properties of the NFS object " 
 858                "deal with the operational aspects of the mount and represent " 
 859                "the client-side configuration for NFS access. The " 
 860                "FileSystemType (inherited from FileSystem) should be set " 
 861                "to indicate the type of this FileSystem as it appears to " 
 862 chip  1.1      "the client.") ]
 863           class CIM_NFS : CIM_RemoteFileSystem {
 864                 [Description (
 865                   "If set to true: Once the FileSystem is mounted, NFS requests "
 866                   "are retried until the hosting System responds.\n" 
 867                   "If set to false: Once the FileSystem is mounted, an error "
 868                   "is returned if the hosting System does not respond.") ]
 869              boolean HardMount;
 870                 [Description (
 871                   "If set to true: Retries are performed in the foreground.\n"
 872                   "If set to false: If the first mount attempt fails, retries "
 873                   "are performed in the background.") ]
 874              boolean ForegroundMount;
 875                 [Description (
 876                   "If set to true: Interrupts are permitted for hard mounts.\n"
 877                   "If set to false: Interrupts are ignored for hard mounts.") ]
 878              boolean Interrupt;
 879                 [Description (
 880                   "Maximum number of mount failure retries allowed.") ]
 881              uint16 MountFailureRetries;
 882                 [Description ("Maximum number of NFS retransmissions allowed.") ]
 883 chip  1.1    uint16 RetransmissionAttempts;
 884                 [Description ("NFS timeout in tenths of a second."),
 885                  Units ("Tenths of Seconds") ]
 886              uint32 RetransmissionTimeout;
 887                 [Description ("Read buffer size in bytes."),
 888                  Units ("Bytes") ]
 889              uint64 ReadBufferSize;
 890                 [Description ("Write buffer size in bytes."),
 891                  Units ("Bytes") ]
 892              uint64 WriteBufferSize;
 893                 [Description (
 894                   "The remote ComputerSystem's (ie, the NFS File "
 895                   "'Server's) UDP port number.") ]
 896              uint32 ServerCommunicationPort;
 897                 [Description (
 898                   "If set to true: Control attribute caching is enabled.\n"
 899                   "If set to false: Control attribute caching is disabled.") ]
 900              boolean AttributeCaching;
 901                 [Description (
 902                   "Minimum number of seconds that cached attributes are held "
 903                   "after file modification."),
 904 chip  1.1        Units ("Seconds") ]
 905              uint16 AttributeCachingForRegularFilesMin;
 906                 [Description (
 907                   "Maximum number of seconds that cached attributes are held "
 908                   "after file modification."),
 909                  Units ("Seconds") ]
 910              uint16 AttributeCachingForRegularFilesMax;
 911                 [Description (
 912                   "Minimum number of seconds that cached attributes are held "
 913                   "after directory update."),
 914                  Units ("Seconds") ]
 915              uint16 AttributeCachingForDirectoriesMin;
 916                 [Description (
 917                   "Maximum number of seconds that cached attributes are held "
 918                   "after directory update."),
 919                  Units ("Seconds") ]
 920              uint16 AttributeCachingForDirectoriesMax;
 921           };
 922           
 923           
 924           // ===================================================================
 925 chip  1.1 // LogicalFile
 926           // ===================================================================
 927              [Version ("2.6.0"), Description (
 928                "A LogicalFile is a named collection of data or executable "
 929                "code, or represents a LogicalDevice or Directory.  It is "
 930                "located within the context of a FileSystem, on a Storage"
 931                "Extent.") ]
 932           class CIM_LogicalFile : CIM_LogicalElement {
 933                 [Propagated ("CIM_FileSystem.CSCreationClassName"),
 934                  Key, MaxLen (256),
 935                  Description ("The scoping ComputerSystem's CreationClassName.") ]
 936              string CSCreationClassName;
 937                 [Propagated ("CIM_FileSystem.CSName"),
 938                  Key, MaxLen (256),
 939                  Description ("The scoping ComputerSystem's Name.") ]
 940              string CSName;
 941                 [Propagated ("CIM_FileSystem.CreationClassName"), 
 942                  Key, MaxLen (256),
 943                  Description ("The scoping FileSystem's CreationClassName.") ]
 944              string FSCreationClassName;
 945                 [Propagated ("CIM_FileSystem.Name"),
 946 chip  1.1        Key, MaxLen (256),
 947                  Description ("The scoping FileSystem's Name.") ]
 948              string FSName;
 949                 [Key, MaxLen (256),
 950                  Description (
 951                   "CreationClassName indicates the name of the class or the "
 952                   "subclass used in the creation of an instance. When used "
 953                   "with the other key properties of this class, this property "
 954                   "allows all instances of this class and its subclasses to "
 955                   "be uniquely identified.") ]
 956              string CreationClassName;    
 957                 [Override ("Name"), Key, MaxLen (1024),
 958                  Description (
 959                   "The inherited Name serves as part of the key of a LogicalFile "
 960                   "instance within a FileSystem. A unique identifier (such as a "
 961                   "full path name) is required as a Name value.  Since Files are "
 962                   "weak to their FileSystem (and not to a Directory which would "
 963                   "provide a more granular naming algorithm), care must be "
 964                   "taken to make LogicalFile's Name unique for a given Creation"
 965                   "ClassName and FileSystem. A full path name is one way "
 966                   "to do this.") ]
 967 chip  1.1    string Name;
 968                 [Gauge, Description ("Size of the File in bytes."),
 969                  Units ("Bytes") ]
 970              uint64 FileSize;
 971                 [Description ("File's creation date.") ] 
 972              datetime CreationDate;
 973                 [Description ("Time that the File was last modified.") ] 
 974              datetime LastModified;
 975                 [Description ("Time that the File was last accessed.") ] 
 976              datetime LastAccessed;
 977                 [Description ("Boolean indicating that the File can be read.") ] 
 978              boolean Readable;
 979                 [Description (
 980                   "Boolean indicating that the File can be written.") ]
 981              boolean Writeable;
 982                 [Description ("Indicates the file is executable.") ] 
 983              boolean Executable;
 984                 [Description (
 985                   "A free form string indicating the algorithm or tool used to "
 986                   "compress the LogicalFile. If it is not possible or not "
 987                   "desired to describe the compression scheme (perhaps because "
 988 chip  1.1         "it is not known), recommend using the following words: "
 989                   "\"Unknown\" to represent that it is not known whether the "
 990                   "LogicalFile is compressed or not, \"Compressed\" to "
 991                   "represent that the File is compressed but either its "
 992                   "compression scheme is not known or not disclosed, and \"Not "
 993                   "Compressed\" to represent that the LogicalFile is not "
 994                   "compressed.") ] 
 995              string CompressionMethod;
 996                 [Description (
 997                   "A free form string indicating the algorithm or tool used to "
 998                   "encrypt the LogicalFile. If it is not possible or not desired "
 999                   "to describe the encryption scheme (perhaps for security "
1000                   "reasons), recommend using the following words: \"Unknown\" to "
1001                   "represent that it is not known whether the LogicalFile is "
1002                   "encrypted or not, \"Encrypted\" to represent that the File "
1003                   "is encrypted but either its encryption scheme is not known "
1004                   "or not disclosed, and \"Not Encrypted\" to represent "
1005                   "that the LogicalFile is not encrypted.") ] 
1006              string EncryptionMethod;
1007                 [Counter, Description (
1008                   "Integer indicating the number of 'file opens' that are "
1009 chip  1.1         "currently active against the File.") ]
1010              uint64 InUseCount;
1011           };
1012           
1013           
1014           // ===================================================================
1015           // DataFile
1016           // ===================================================================
1017              [Version ("2.6.0"), Description (
1018                "DataFile is a type of LogicalFile that is a named collection "
1019                "of data or executable code.") ]
1020           class CIM_DataFile : CIM_LogicalFile {
1021           };
1022           
1023           
1024           // ===================================================================
1025           // Directory
1026           // ===================================================================
1027              [Version ("2.6.0"), Description (
1028                "Directory is a type of File that logically groups Files "
1029                "'contained' in it, and provides path information for the "
1030 chip  1.1      "grouped Files.") ]
1031           class CIM_Directory : CIM_LogicalFile {
1032           };
1033           
1034           
1035           // ===================================================================
1036           // DeviceFile
1037           // ===================================================================
1038              [Version ("2.6.0"), Description (
1039                "DeviceFile is a special type of LogicalFile that represents "
1040                "a Device. This convention is useful for some operating systems "
1041                "that manage devices using a byte stream I/O model. The Logical"
1042                "Device that is associated with this file is specified using "
1043                "the DeviceAccessedByFile relationship.") ]
1044           class CIM_DeviceFile : CIM_LogicalFile {
1045           };
1046           
1047           
1048           // ===================================================================
1049           // FIFOPipeFile
1050           // ===================================================================
1051 chip  1.1 [Version ("2.6.0"), Description (
1052               "FIFOPipeFile is a special type of LogicalFile that represents "
1053               "an interprocess FIFO (sometimes referred to as a \"named pipe\"). "
1054               "Operating systems use this convention to manage interprocess "
1055               "communication through processes reading and writing the FIFO. "
1056               "The FIFO can be accessed by unrelated processes, in contrast to "
1057               "the more well-known command line redirection mechanism (e.g. "
1058               "UNIX's 'ps -eaf | grep foo', also known as an \"unnamed pipe\"). "
1059               "An exemplary operating system implementation (using the "
1060               "FIFO concept) is the UNIX S_IFIFO file type.") ]
1061           class CIM_FIFOPipeFile : CIM_LogicalFile {
1062           };
1063           
1064           
1065           // ===================================================================
1066           // SymbolicLink
1067           // ===================================================================
1068              [Version ("2.6.0"), Description (
1069                "This class is a special type of LogicalFile that represents "
1070                "a Symbolic Link. This convention is useful for some operating "
1071                "systems that want to represent a single file in multiple "
1072 chip  1.1      "places or a single file that is represented via multiple "
1073                "names.") ]
1074           class CIM_SymbolicLink : CIM_LogicalFile {
1075                 [Required,
1076                  Description ("The target file of the symbolic link.") ]
1077              string TargetFile;
1078           };
1079           
1080           
1081           // ===================================================================
1082           // DeviceAccessedByFile
1083           // ===================================================================
1084              [Association, Version ("2.6.0"), Description (
1085                "Specifies the LogicalDevice that is associated with, and "
1086                "accessed using the referenced DeviceFile.") ]
1087           class CIM_DeviceAccessedByFile : CIM_Dependency {   
1088                 [Override ("Antecedent"),
1089                  Description ("The DeviceFile.") ]
1090              CIM_DeviceFile REF Antecedent;
1091                 [Override ("Dependent"), Max (1), 
1092                  Description (
1093 chip  1.1         "The Device that is accessed using the DeviceFile.") ]
1094              CIM_LogicalDevice REF Dependent;
1095           };
1096           
1097           
1098           // ===================================================================
1099           // DirectoryContainsFile
1100           // ===================================================================
1101              [Association, Aggregation,  Version ("2.6.0"), Description (
1102                "Specifies the hierarchical arrangement of LogicalFiles in a "
1103                "Directory.") ]
1104           class CIM_DirectoryContainsFile : CIM_Component {   
1105                 [Override ("GroupComponent"), Aggregate, Max (1),
1106                  Description ("The Directory.") ]
1107              CIM_Directory REF GroupComponent;
1108                 [Override ("PartComponent"),
1109                  Description (
1110                     "The LogicalFile 'contained within' the Directory.") ]
1111              CIM_LogicalFile REF PartComponent;
1112           };
1113           
1114 chip  1.1 
1115           // ===================================================================
1116           // Mount
1117           // ===================================================================
1118              [Association,  Version ("2.6.0"), Description ( 
1119                "An association between a FileSystem and a Directory "
1120                "which indicates that the Directory is being attached to "
1121                "the FileSystem. The semantics of this relationship require "
1122                "that the mounted Directory be contained by a FileSystem "
1123                "(via the FileStorage association) that is different from "
1124                "the FileSystem referenced as the Dependent. The "
1125                "Directory's containing FileSystem could be either " 
1126                "local or remote. For example, a LocalFileSystem on a Solaris " 
1127                "ComputerSystem can mount a Directory from the FileSystem "
1128                "accessed via the machine's CDROM drive, i.e., another LocalFile"
1129                "System. On the other hand, in a 'remote' case, the Directory "
1130                "is first exported by its FileSystem, which is hosted on another "
1131                "ComputerSystem acting (for example) as a file server. In order "
1132                "to distinguish these two types of Mount, it is recommended that "
1133                "a CIM_Export association always be defined for the remotely "
1134                "accessed/mounted Directories.") ]
1135 chip  1.1 class CIM_Mount : CIM_Dependency { 
1136                 [Override ("Antecedent"), Max (1), 
1137                  Description ("The Directory mounted.") ]
1138               CIM_Directory REF Antecedent; 
1139                 [Override ("Dependent"), 
1140                  Description ("The FileSystem the Directory is mounted on.") ]
1141               CIM_FileSystem REF Dependent; 
1142           };
1143           
1144           
1145           // ===================================================================
1146           // Export
1147           // ===================================================================
1148              [Association, Version ("2.6.0"), Description ( 
1149                "An association between a LocalFileSystem and its Directories " 
1150                "indicating that the specified Directories are available for " 
1151                "mount. When exporting an entire FileSystem, the Directory " 
1152                "should reference the topmost directory of the FileSystem.") ]
1153           class CIM_Export { 
1154                 [Key, Max (1), Description (
1155                   "The LocalFileSystem.") ]
1156 chip  1.1     CIM_LocalFileSystem REF LocalFS; 
1157                 [Key, Description ("The Directory exported for mount.") ] 
1158               CIM_Directory REF Directory; 
1159                 [Description ("Name under which the Directory is exported.") ]
1160               string ExportedDirectoryName; 
1161           }; 
1162           
1163           
1164           // ===================================================================
1165           // HostedFileSystem
1166           // ===================================================================
1167              [Association, Aggregation, Version ("2.6.0"), Description (
1168                "A link between the ComputerSystem and the FileSystem(s) "
1169                "hosted on this ComputerSystem.") ]
1170           class CIM_HostedFileSystem : CIM_SystemComponent {
1171                 [Override ("GroupComponent"), Aggregate, Min (1), Max (1),
1172                  Description ("The ComputerSystem.") ]
1173              CIM_ComputerSystem REF GroupComponent;
1174                 [Override ("PartComponent"), Weak,
1175                  Description ("The FileSystem owned by the ComputerSystem.") ]
1176              CIM_FileSystem REF PartComponent;
1177 chip  1.1 };
1178           
1179           
1180           // ===================================================================
1181           // FileStorage
1182           // ===================================================================
1183              [Association, Aggregation, Version ("2.6.0"), Description (
1184                "A link between the FileSystem and the LogicalFile(s) addressed "
1185                "through this FileSystem.") ]
1186           class CIM_FileStorage : CIM_Component {
1187                 [Override ("GroupComponent"), Aggregate, Min (1), Max (1),
1188                  Description ("The FileSystem.") ]
1189              CIM_FileSystem REF GroupComponent;
1190                 [Override ("PartComponent"), Weak,
1191                  Description (
1192                   "The LogicalFile stored in the context of the FileSystem.") ]
1193              CIM_LogicalFile REF PartComponent;
1194           };
1195           
1196           
1197           // ===================================================================
1198 chip  1.1 //  Software 
1199           // ===================================================================
1200           // ===================================================================
1201           // OperatingSystem
1202           // ===================================================================
1203              [Version ("2.6.0"), Description (
1204                "An OperatingSystem is software/firmware that makes a "
1205                "ComputerSystem's hardware usable, and implements and/or "
1206                "manages the resources, file systems, processes, user "
1207                "interfaces, services, ... available on the ComputerSystem.") ] 
1208           class CIM_OperatingSystem : CIM_LogicalElement {
1209                 [Propagated ("CIM_ComputerSystem.CreationClassName"),
1210                  Key, MaxLen (256),
1211                  Description ("The scoping ComputerSystem's CreationClassName.") ]
1212              string CSCreationClassName;
1213                 [Propagated ("CIM_ComputerSystem.Name"), 
1214                  Key, MaxLen (256),
1215                  Description ("The scoping ComputerSystem's Name.") ]
1216              string CSName;
1217                 [Key, MaxLen (256),
1218                  Description (
1219 chip  1.1         "CreationClassName indicates the name of the class or the "
1220                   "subclass used in the creation of an instance. When used "
1221                   "with the other key properties of this class, this property "
1222                   "allows all instances of this class and its subclasses to "
1223                   "be uniquely identified.") ]
1224              string CreationClassName;
1225                 [Override ("Name"),
1226                  Key, MaxLen (256),
1227                  Description (
1228                   "The inherited Name serves as key of an OperatingSystem "
1229                   "instance within a ComputerSystem."),
1230                  MappingStrings {"MIF.DMTF|Operating System|001.2"} ]
1231              string Name;
1232                 [Description (
1233                   "A integer indicating the type of OperatingSystem."),
1234                  ValueMap {"0", "1", "2", "3", "4", 
1235                   "5", "6", "7", "8", "9", 
1236                   "10", "11", "12", "13", "14", 
1237                   "15", "16", "17", "18", "19", 
1238                   "20", "21", "22", "23", "24", 
1239                   "25", "26", "27", "28", "29", 
1240 chip  1.1         "30", "31", "32", "33", "34", 
1241                   "35", "36", "37", "38", "39", 
1242                   "40", "41", "42", "43", "44", 
1243                   "45", "46", "47", "48", "49", 
1244                   "50", "51", "52", "53", "54", 
1245                   "55", "56", "57", "58", "59", 
1246                   "60", "61", "62", "63", "64", "65", "66"}, 
1247                  Values {"Unknown", "Other", "MACOS", "ATTUNIX", "DGUX", 
1248                   "DECNT", "Digital Unix", "OpenVMS", "HPUX", "AIX", 
1249                   //10 
1250                   "MVS", "OS400", "OS/2", "JavaVM", "MSDOS", 
1251                   "WIN3x", "WIN95", "WIN98", "WINNT", "WINCE", 
1252                   //20 
1253                   "NCR3000", "NetWare", "OSF", "DC/OS", "Reliant UNIX", 
1254                   "SCO UnixWare", "SCO OpenServer", "Sequent", 
1255                   "IRIX", "Solaris", 
1256                   //30 
1257                   "SunOS", "U6000", "ASERIES", "TandemNSK", "TandemNT", 
1258                   "BS2000", "LINUX", "Lynx", "XENIX", "VM/ESA", 
1259                   //40 
1260                   "Interactive UNIX", "BSDUNIX", "FreeBSD", "NetBSD", 
1261 chip  1.1         "GNU Hurd", "OS9", "MACH Kernel", "Inferno", "QNX", 
1262                   "EPOC", 
1263                   //50 
1264                   "IxWorks", "VxWorks", "MiNT", "BeOS", "HP MPE", 
1265                   "NextStep", "PalmPilot", "Rhapsody", "Windows 2000", 
1266                   "Dedicated", 
1267                   //60 
1268                   "OS/390", "VSE", "TPF","Windows (R) Me", 
1269                   "Caldera Open UNIX", "OpenBSD", "Not Applicable"},
1270                  ModelCorrespondence {
1271                   "CIM_OperatingSystem.OtherTypeDescription"} ]
1272              uint16 OSType;
1273                 [Description (
1274                   "A string describing the manufacturer and OperatingSystem "
1275                   "type - used when the OperatingSystem property, OSType, is "
1276                   "set to 1 or 59 (\"Other\" or \"Dedicated\"). The format of "
1277                   "the string inserted in OtherTypeDescription should be "
1278                   "similar in format to the Values strings defined for OSType. "
1279                   "OtherTypeDescription should be set to NULL when OSType is "
1280                   "any value other than 1 or 59."),
1281                  MaxLen (64),
1282 chip  1.1        ModelCorrespondence {"CIM_OperatingSystem.OSType"} ]
1283              string OtherTypeDescription;
1284                 [Description (
1285                   "A string describing the Operating System's version "
1286                   "number. The format of the version information is as follows: "
1287                   "<Major Number>.<Minor Number>.<Revision> or "
1288                   "<Major Number>.<Minor Number>.<Revision Letter>."),
1289                  MappingStrings {"MIF.DMTF|Operating System|001.3"} ]
1290              string Version;
1291                 [Description ("Time when the OperatingSystem was last booted."),
1292                  MappingStrings {"MIF.DMTF|General Information|001.5"} ]
1293              datetime LastBootUpTime; 
1294                 [Description (
1295                   "OperatingSystem's notion of the local date and time of day."),
1296                  MappingStrings {"MIB.IETF|HOST-RESOURCES-MIB.hrSystemDate",
1297                   "MIF.DMTF|General Information|001.6"} ]
1298              datetime LocalDateTime;
1299                 [Description (
1300                   "CurrentTimeZone indicates the number of minutes the "
1301                   "OperatingSystem is offset from Greenwich Mean Time. "
1302                   "Either the number is positive, negative or zero."),
1303 chip  1.1        Units ("Minutes") ]
1304              sint16 CurrentTimeZone;
1305                 [Description (
1306                  "Number of user licenses for the OperatingSystem. "
1307                  "If unlimited, enter 0.") ]
1308              uint32 NumberOfLicensedUsers;
1309                 [Description (
1310                   "Number of user sessions for which the OperatingSystem is "
1311                   "currently storing state information."), Gauge,
1312                  MappingStrings {"MIF.DMTF|Host System|001.4",
1313                   "MIB.IETF|HOST-RESOURCES-MIB.hrSystemNumUsers"} ]
1314              uint32  NumberOfUsers;
1315                 [Description (
1316                   "Number of process contexts currently loaded or running on "
1317                   "the OperatingSystem."), Gauge, 
1318                  MappingStrings {"MIF.DMTF|Host System|001.5",
1319                   "MIB.IETF|HOST-RESOURCES-MIB.hrSystemProcesses"} ]
1320              uint32 NumberOfProcesses;
1321                 [Description (
1322                   "Maximum number of process contexts the OperatingSystem can "
1323                   "support. If there is no fixed maximum, the value should be 0."
1324 chip  1.1         "On systems that have a fixed maximum, this object can help "
1325                   "diagnose failures that occur when the maximum is reached."), 
1326                  MappingStrings {"MIF.DMTF|Host System|001.6",
1327                   "MIB.IETF|HOST-RESOURCES-MIB.hrSystemMaxProcesses"} ]
1328              uint32 MaxNumberOfProcesses;
1329                 [Description (
1330                   "Total swap space in Kbytes. This value may be "
1331                   "NULL (unspecified) if swap space is not distinguished from "
1332                   "page files.  However, some Operating Systems distinguish "
1333                   "these concepts.  For example, in UNIX, whole processes can "
1334                   "be 'swapped out' when the free page list falls and remains "
1335                   "below a specified amount."),
1336                  Units ("KiloBytes") ]
1337              uint64 TotalSwapSpaceSize;
1338                 [Description (
1339                   "Number of Kbytes of virtual memory. For example, "
1340                   "this may be calculated by adding the amount of total RAM to "
1341                   "the amount of paging space (ie, adding the amount of "
1342                   "memory in/aggregated by the ComputerSystem to the property, "
1343                   "SizeStoredInPagingFiles."),
1344                  Units ("KiloBytes"),
1345 chip  1.1        MappingStrings {"MIF.DMTF|System Memory Settings|001.5"} ]
1346              uint64 TotalVirtualMemorySize;
1347                 [Gauge, Description (
1348                   "Number of Kbytes of virtual memory currently unused and "
1349                   "available. For example, this may be calculated by adding "
1350                   "the amount of free RAM to the amount of free paging space "
1351                   "(ie, adding the properties, FreePhysicalMemory and FreeSpace"
1352                   "InPagingFiles)."),
1353                  Units ("KiloBytes"), 
1354                  MappingStrings {"MIF.DMTF|System Memory Settings|001.6"} ]
1355              uint64 FreeVirtualMemory;
1356                 [Gauge, Description (
1357                   "Number of Kbytes of physical memory currently unused and "
1358                   "available."),
1359                  Units ("KiloBytes"),
1360                  MappingStrings {"MIF.DMTF|System Memory Settings|001.2", 
1361                   "MIF.UNIX|Host Physical Memory|6.1"} ] 
1362              uint64 FreePhysicalMemory;
1363                 [Description (
1364                   "The total amount of physical memory (in Kbytes) available "
1365                   "to the OperatingSystem. This value does not necessarily "
1366 chip  1.1         "indicate the true amount of physical memory, but what is "
1367                   "reported to the OperatingSystem as available to it."),
1368                  Units ("KiloBytes") ]
1369              uint64 TotalVisibleMemorySize;
1370                 [Description (
1371                   "The total number of KBytes that can be stored in the "
1372                   "OperatingSystem's paging files. 0 indicates that there "
1373                   "are no paging files."),
1374                  Units ("KiloBytes"),
1375                  MappingStrings {"MIF.DMTF|System Memory Settings|001.3"} ]
1376              uint64 SizeStoredInPagingFiles;
1377                 [Gauge, Description (
1378                   "The total number of KBytes that can be mapped into the "
1379                   "OperatingSystem's paging files without causing any other "
1380                   "pages to be swapped out. 0 indicates that there are no "
1381                   "paging files."),
1382                  Units ("KiloBytes"),
1383                  MappingStrings {"MIF.DMTF|System Memory Settings|001.4"} ]
1384              uint64 FreeSpaceInPagingFiles;
1385                 [Description (
1386                   "Maximum number of Kbytes of memory that can be allocated "
1387 chip  1.1         "to a Process. For Operating Systems with no virtual memory, "
1388                   "this value is typically equal to the total amount of "
1389                   "physical Memory minus memory used by the BIOS and OS. For "
1390                   "some Operating Systems, this value may be infinity - in "
1391                   "which case, 0 should be entered. In other cases, this value "
1392                   "could be a constant - for example, 2G or 4G."),
1393                  Units ("KiloBytes") ]
1394              uint64 MaxProcessMemorySize;
1395                 [Description (
1396                   "Boolean indicating whether the OperatingSystem is "
1397                   "distributed across several ComputerSystem nodes. If so, "
1398                   "these nodes should be grouped as a Cluster.") ]
1399              boolean Distributed;
1400                 [Description (
1401                   "A value that indicates the maximum processes that a user "
1402                   "can have associate with it.") ]
1403              uint32  MaxProcessesPerUser;
1404                 [Description (
1405                   "Requests a reboot of the OperatingSystem. The return value "
1406                   "should be 0 if the request was successfully executed, "
1407                   "1 if the request is not supported and some other value "
1408 chip  1.1         "if an error occurred. In a subclass, the set of possible "
1409                   "return codes could be specified, using a ValueMap qualifier "
1410                   "on the method. The strings to which the ValueMap contents "
1411                   "are 'translated' may also be specified in the subclass as "
1412                   "a Values array qualifier.") ]
1413              uint32 Reboot();
1414                 [Description (
1415                   "Requests a shutdown of the OperatingSystem. The return "
1416                   "value should be 0 if the request was successfully executed, "
1417                   "1 if the request is not supported and some other value if "
1418                   "an error occurred. It is up to the implementation or subclass "
1419                   "of OperatingSystem to establish dependencies between "
1420                   "the Shutdown and Reboot methods, and for example, to provide "
1421                   "more sophisticated capabilities such as scheduled shutdown/"
1422                   "reboot, etc. In a subclass, the set of possible return "
1423                   "codes could be specified, using a ValueMap qualifier on "
1424                   "the method. The strings to which the ValueMap contents are "
1425                   "'translated' may also be specified in the subclass as a "
1426                   "Values array qualifier.") ]
1427              uint32 Shutdown();
1428           };
1429 chip  1.1 
1430           
1431           // ===================================================================
1432           // InstalledOS
1433           // ===================================================================
1434              [Association, Aggregation, Version ("2.6.0"), Description (
1435                "A link between the ComputerSystem and the OperatingSystem(s) "
1436                "installed or loaded on it. An OperatingSystem is 'installed' "
1437                "on a ComputerSystem, when placed on one of its StorageExtents "
1438                "- for example, copied to a disk drive or downloaded to "
1439                "Memory. Using this definition, an OperatingSystem is "
1440                "'installed' on a NetPC when downloaded via the network.") ]
1441           class CIM_InstalledOS : CIM_SystemComponent {
1442                 [Override ("GroupComponent"), Aggregate, Min (1), Max (1),
1443                  Description ("The ComputerSystem.") ]
1444              CIM_ComputerSystem REF GroupComponent;
1445                 [Override ("PartComponent"), Weak,
1446                  Description (
1447                   "The OperatingSystem installed on the ComputerSystem.") ]
1448              CIM_OperatingSystem REF PartComponent;
1449                 [Description (
1450 chip  1.1         "Boolean indicating that the OperatingSystem is the default "
1451                   "OS for the ComputerSystem."),
1452                  MappingStrings {"MIF.DMTF|Operating System|001.4"} ]
1453              boolean PrimaryOS;
1454           };
1455           
1456           
1457           // ===================================================================
1458           // RunningOS
1459           // ===================================================================
1460              [Association, Version ("2.6.0"), Description (
1461                "RunningOS indicates the currently executing OperatingSystem. "
1462                "At most one OperatingSystem can execute at any time on a "
1463                "ComputerSystem. 'At most one' is specified, since the Computer"
1464                "System may not be currently booted, or its OperatingSystem "
1465                "may be unknown.") ]
1466           class CIM_RunningOS : CIM_Dependency {
1467                 [Override ("Antecedent"), Max (1),
1468                  Description (
1469                   "The OperatingSystem currently running on the "
1470                   "ComputerSystem.") ]
1471 chip  1.1    CIM_OperatingSystem REF Antecedent;
1472                 [Override ("Dependent"), Max (1),
1473                  Description ("The ComputerSystem.") ]
1474              CIM_ComputerSystem REF Dependent;
1475           };
1476           
1477           
1478           // ==================================================================
1479           // OperatingSystemSoftwareFeature
1480           // ==================================================================
1481              [Association, Aggregation, Version ("2.6.0"), Description (
1482                "Indicates the SoftwareFeatures that make up the Operating"
1483                "System. The SoftwareFeatures can be part of different "
1484                "Products.") ]
1485           class CIM_OperatingSystemSoftwareFeature : CIM_Component {
1486                 [Override ("GroupComponent"), Aggregate,
1487                  Description ("The OperatingSystem.") ]
1488               CIM_OperatingSystem REF GroupComponent;
1489                 [Override ("PartComponent"), Description (
1490                   "The SoftwareFeatures that make up the OperatingSystem.") ]
1491               CIM_SoftwareFeature REF PartComponent;
1492 chip  1.1 };
1493           
1494           
1495           // ===================================================================
1496           // BootOSFromFS
1497           // ===================================================================
1498              [Association, Version ("2.6.0"), Description (
1499                "A link between the OperatingSystem and the FileSystem(s) from "
1500                "which this OperatingSystem is loaded. The association is many-"
1501                "to-many since a Distributed OS could depend on several File"
1502                "Systems in order to correctly and completely load.") ]
1503           class CIM_BootOSFromFS : CIM_Dependency {
1504                 [Override ("Antecedent"), Description (
1505                   "The FileSystem from which the OperatingSystem is loaded.") ]
1506              CIM_FileSystem REF Antecedent;
1507                 [Override ("Dependent"),
1508                  Description ("The OperatingSystem.") ]
1509              CIM_OperatingSystem REF Dependent;
1510           };
1511           
1512           
1513 chip  1.1 // ===================================================================
1514           // BIOSFeature
1515           // ===================================================================
1516              [Version ("2.6.0"), Description (
1517                "BIOSFeature represents the capabilities of the low-level "
1518                "software that is used to bring up and configure a Computer"
1519                "System.") ]
1520           class CIM_BIOSFeature : CIM_SoftwareFeature {
1521                 [Description (
1522                   "An array of integers that specify the features "
1523                   "supported by the BIOS. For example, one can specify that "
1524                   "PnP capabilities are provided (value=9) or that infrared "
1525                   "devices are supported (21). Values specified in the "
1526                   "enumeration are taken from both DMI and SMBIOS (the Type 0 "
1527                   "structure, the BIOS Characteristics and BIOS "
1528                   "Characteristics Extension Bytes attributes."),
1529                  ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", 
1530                            "10", "11", "12", "13", "14", "15", "16", "17", "18", 
1531                            "19", "20", "21", "22", "23", "24", "25", "26", 
1532                            "27", "28", "29", "30", "31", "160"},
1533                  Values {"Other", "Unknown", "Undefined", "ISA Support", 
1534 chip  1.1                "MCA Support", "EISA Support", "PCI Support", 
1535                          "PCMCIA Support", "PnP Support", "APM Support", 
1536                          "Upgradeable BIOS", "BIOS Shadowing Allowed", 
1537                          "VL VESA Support", "ESCD Support", 
1538                          "LS-120 Boot Support", "ACPI Support", 
1539                          "I2O Boot Support", "USB Legacy Support", 
1540                          "AGP Support", "PC Card", "IR", "1394", "I2C", 
1541                          "Smart Battery", "ATAPI ZIP Drive Boot Support", 
1542                          "1394 Boot Support", "Boot from CD", 
1543                          "Selectable Boot", "BIOS ROM is Socketed", 
1544                          "Boot from PCMCIA", "EDD Specification Support", 
1545                          "PC-98"},
1546                  MappingStrings {"MIF.DMTF|BIOS Characteristic|004.3"},
1547                  ArrayType ("Indexed"),
1548                  ModelCorrespondence {
1549                   "CIM_BIOSFeature.CharacteristicDescriptions"} ]
1550              uint16 Characteristics[];
1551                 [Description (
1552                   "An array of free-form strings providing more detailed "
1553                   "explanations for any of the BIOS features indicated in the "
1554                   "Characteristics array. Note, each entry of this array "
1555 chip  1.1         "is related to the entry in the Characteristics array that "
1556                   "is located at the same index."),
1557                  ArrayType ("Indexed"),
1558                  MappingStrings {"MIF.DMTF|BIOS Characteristic|004.4"},
1559                  ModelCorrespondence {"CIM_BIOSFeature.Characteristics"} ]
1560              string CharacteristicDescriptions[];
1561           };
1562           
1563            
1564           // ===================================================================
1565           // BIOSElement
1566           // ===================================================================
1567              [Version ("2.6.0"), Description (
1568                "BIOSElement represents the low-level software that is loaded "
1569                "into non-volatile storage and used to bring up and configure "
1570                "a ComputerSystem.") ]
1571           class CIM_BIOSElement : CIM_SoftwareElement {
1572                 [Override ("Version"),
1573                  MappingStrings {"MIF.DMTF|System BIOS|001.3"} ]
1574              string Version;
1575                 [Override ("Manufacturer"),
1576 chip  1.1        MappingStrings {"MIF.DMTF|System BIOS|001.2"} ]
1577              string Manufacturer;     
1578                 [Description (
1579                 "If true, this is the primary BIOS of the ComputerSystem."),
1580                  MappingStrings {"MIF.DMTF|System BIOS|001.9"} ]
1581              boolean PrimaryBIOS;
1582                 [Description (
1583                   "A list of installable languages for the BIOS. This "
1584                   "information can be obtained from SMBIOS, from the string list "
1585                   "that follows the Type 13 structure. An ISO 639 Language Name "
1586                   "should be used to specify the BIOS' installable languages. "
1587                   "The ISO 3166 Territory Name and the encoding method may also "
1588                   "be specified, following the Language Name.") ]
1589              string ListOfLanguages[];
1590                 [Description (
1591                   "The currently selected language for the BIOS. This "
1592                   "information can be obtained from SMBIOS, using the Current "
1593                   "Language attribute of the Type 13 structure, to index into "
1594                   "the string list following the structure. The property is "
1595                   "formatted using the ISO 639 Language Name, and may be "
1596                   "followed by the ISO 3166 Territory Name and the encoding "
1597 chip  1.1         "method."),
1598                  ModelCorrespondence {"CIM_BIOSElement.ListOfLanguages"} ]
1599              string CurrentLanguage;
1600                 [Description (
1601                   "The starting address of the memory which this BIOS "
1602                   "occupies."), 
1603                  MappingStrings {"MIF.DMTF|System BIOS|001.5"} ]
1604               uint64 LoadedStartingAddress;
1605                 [Description (
1606                   "The ending address of the memory which this BIOS "
1607                   "occupies."),
1608                  MappingStrings {"MIF.DMTF|System BIOS|001.6"} ]
1609               uint64 LoadedEndingAddress;
1610                 [MaxLen (64), Description (
1611                   "A free form string describing the BIOS flash/load utility "
1612                   "that is required to update the BIOSElement. Version and "
1613                   "other information may be indicated in this property."),
1614                  MappingStrings {"MIF.DMTF|System BIOS|001.7"} ]
1615               string LoadUtilityInformation;
1616                 [Description (
1617                   "Date that this BIOS was released."),
1618 chip  1.1        MappingStrings {"MIF.DMTF|System BIOS|001.8"} ]
1619               datetime ReleaseDate;
1620           };
1621           
1622           
1623           // ===================================================================
1624           // BIOSFeatureBIOSElements
1625           // ===================================================================
1626              [Association, Aggregation, Version ("2.6.0"), Description (
1627                "A link between BIOSFeature and its aggregated BIOSElements.") ]
1628           class CIM_BIOSFeatureBIOSElements : 
1629            CIM_SoftwareFeatureSoftwareElements {
1630                 [Override ("GroupComponent"), Aggregate, 
1631                  Description ("The BIOSFeature.") ]
1632              CIM_BIOSFeature REF GroupComponent;
1633                 [Override ("PartComponent"),
1634                  Description (
1635                   "The BIOSElement that implements the capabilities described "
1636                   "by BIOSFeature.") ]
1637              CIM_BIOSElement REF PartComponent;
1638           };
1639 chip  1.1 
1640           
1641           // ===================================================================
1642           // SystemBIOS
1643           // ===================================================================
1644              [Association, Aggregation, Version ("2.6.0"), Description (
1645                "SystemBIOS associates a UnitaryComputerSystem's BIOS with the "
1646                "System itself.") ]
1647           class CIM_SystemBIOS : CIM_SystemComponent {
1648                 [Override ("GroupComponent"), Max (1), Aggregate, 
1649                  Description (
1650                   "The UnitaryComputerSystem that boots from the BIOS.") ]
1651              CIM_UnitaryComputerSystem REF GroupComponent;
1652                 [Override ("PartComponent"), 
1653                  Description ("The System's BIOS.") ]
1654              CIM_BIOSElement REF PartComponent;
1655           };
1656           
1657           
1658           // ===================================================================
1659           //  Processing and Jobs
1660 chip  1.1 // ===================================================================
1661           // ===================================================================
1662           // Process
1663           // ===================================================================
1664              [Version ("2.6.0"), Description (
1665                "Each instance of the CIM_Process class represents a single "
1666                "instance of a running program. A user of the OperatingSystem "
1667                "will typically see a Process as an application or task. Within "
1668                "an OperatingSystem, a Process is defined by a workspace of "
1669                "memory resources and environmental settings that are allocated "
1670                "to it. On a multitasking System, this workspace prevents "
1671                "intrusion of resources by other Processes. Additionally, a "
1672                "Process can execute as multiple Threads, all which run within "
1673                "the same workspace.") ]
1674           class CIM_Process : CIM_LogicalElement {
1675                 [Propagated("CIM_OperatingSystem.CSCreationClassName"),
1676                  Key, MaxLen (256),
1677                  Description (
1678                   "The scoping ComputerSystem's CreationClassName.") ]
1679              string CSCreationClassName;
1680                 [Propagated("CIM_OperatingSystem.CSName"),
1681 chip  1.1        Key, MaxLen (256),
1682                  Description ("The scoping ComputerSystem's Name.") ]
1683              string CSName;
1684                 [Propagated("CIM_OperatingSystem.CreationClassName"),
1685                  Key, MaxLen (256),
1686                  Description (
1687                    "The scoping OperatingSystem's CreationClassName.") ]
1688              string OSCreationClassName;
1689                 [Propagated("CIM_OperatingSystem.Name"),
1690                  Key, MaxLen (256),
1691                  Description ("The scoping OperatingSystem's Name.") ]
1692              string OSName;
1693                 [Override ("Name"), Description (
1694                   "The name of the process."),
1695                  MappingStrings {"MIF.DMTF|Process Information|001.6"} ]
1696              string Name;
1697                 [Key, MaxLen (256), Description (
1698                   "CreationClassName indicates the name of the class or the "
1699                   "subclass used in the creation of an instance. When used "
1700                   "with the other key properties of this class, this property "
1701                   "allows all instances of this class and its subclasses to "
1702 chip  1.1         "be uniquely identified.") ]
1703              string CreationClassName;
1704                 [Key, MaxLen (256), Description (
1705                   "A string used to identify the Process. A Process ID is a "
1706                   "kind of Process Handle."),
1707                  MappingStrings {"MIF.DMTF|Process Information|001.1"} ]
1708              string Handle;
1709                 [Description (
1710                   "Priority indicates the urgency or importance of execution "
1711                   "of a Process. If a priority is not defined for a Process, "
1712                   "a value of 0 should be used."), 
1713                  MappingStrings {"MIF.DMTF|Process Information|001.10"} ]
1714              uint32 Priority;
1715                 [Description (
1716                   "Indicates the current operating condition of the Process. "
1717                   "Values include ready (2), running (3), and blocked (4), "
1718                   "among others."), 
1719                  ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"}, 
1720                  Values {"Unknown", "Other", "Ready", "Running", 
1721                          "Blocked", "Suspended Blocked", "Suspended Ready", 
1722                          "Terminated", "Stopped", "Growing"},
1723 chip  1.1        MappingStrings {"MIF.DMTF|Process Information|001.9",
1724                   "MIF.UNIX|Process Information|13.9"} ]
1725              uint16 ExecutionState;
1726                 [Description (
1727                   "A string describing the state - used when the instance's "
1728                   "ExecutionState property is set to 1 (\"Other\"). Other"
1729                   "ExecutionDescription should be set to NULL when the Execution"
1730                   "State property is any value other than 1.") ]
1731              string OtherExecutionDescription;
1732                 [Description ("Time that the Process began executing.") ]
1733              datetime CreationDate;
1734                 [Description (
1735                   "Time that the Process was stopped or terminated.") ]
1736              datetime TerminationDate;
1737                 [Description (
1738                   "Time in kernel mode, in milliseconds. If this information "
1739                   "is not available, a value of 0 should be used."),
1740                  Units ("MilliSeconds"), 
1741                  MappingStrings {"MIF.DMTF|Process Information|001.13"} ]
1742              uint64 KernelModeTime;
1743                 [Description (
1744 chip  1.1         "Time in user mode, in milliseconds. If this information "
1745                   "is not available, a value of 0 should be used."),
1746                  Units ("MilliSeconds"), 
1747                  MappingStrings {"MIF.DMTF|Process Information|001.14"} ]
1748              uint64 UserModeTime;
1749                 [Gauge, Description (
1750                   "The amount of memory in bytes that a Process needs to "
1751                   "execute efficiently, for an OperatingSystem that uses "
1752                   "page-based memory management.  If an insufficient amount "
1753                   "of memory is available (< working set size), thrashing "
1754                   "will occur.  If this information is not known, NULL or 0 "
1755                   "should be entered.  If this data is provided, it could be "
1756                   "monitored to understand a Process' changing memory "
1757                   "requirements as execution proceeds."),
1758                  Units ("Bytes") ]
1759              uint64 WorkingSetSize;
1760           };
1761           
1762           
1763           // ===================================================================
1764           // OSProcess
1765 chip  1.1 // ===================================================================
1766              [Association, Aggregation, Version ("2.6.0"), Description (
1767                "A link between the OperatingSystem and Process(es) running "
1768                "in the context of this OperatingSystem.") ]
1769           class CIM_OSProcess : CIM_Component {
1770                 [Override ("GroupComponent"), Aggregate, Min (1), Max (1),
1771                  Description ("The OperatingSystem.") ]
1772              CIM_OperatingSystem REF GroupComponent;
1773                 [Override ("PartComponent"), Weak,
1774                  Description (
1775                   "The Process running in the context of the "
1776                   "OperatingSystem") ]
1777              CIM_Process REF PartComponent;
1778           };
1779           
1780           
1781           // ===================================================================
1782           // ProcessExecutable
1783           // ===================================================================
1784              [Association, Version ("2.6.0"), Description (
1785                "A link between a Process and a DataFile indicating that the "
1786 chip  1.1      "File participates in the execution of the Process.") ]
1787           class CIM_ProcessExecutable : CIM_Dependency {
1788                 [Override ("Antecedent"),
1789                  Description (
1790                   "The DataFile participating in the execution of the Process.") ]
1791              CIM_DataFile REF Antecedent;
1792                 [Override ("Dependent"),
1793                  Description ("The Process.") ] 
1794              CIM_Process REF Dependent;
1795           };
1796           
1797           
1798           // ================================================================== 
1799           // ServiceProcess 
1800           // ================================================================== 
1801              [Association, Version ("2.6.0"), Description ( 
1802                "CIM_ServiceProcess is an association used to establish " 
1803                "relationships between Services and Processes. " 
1804                "It is used to indicate if a Service is running in a particular " 
1805                "Process.  It is also used to indicate, via the ExecutionType " 
1806                "property, if the Service started and is wholly responsible for " 
1807 chip  1.1      "the Process, or if the Service is running in an existing "
1808                "Process, perhaps with other unrelated Services, which is owned "
1809                "or started by a different entity. This association relates " 
1810                "a Service with an externally visible system signature. ") ] 
1811           class CIM_ServiceProcess { 
1812                 [Key, Description ( 
1813                   "The Service whose Process is described by this "
1814                   "association.") ] 
1815               CIM_Service REF Service; 
1816                 [Key, Description ( 
1817                   "The Process which represents or hosts the executing " 
1818                   "Service.") ] 
1819               CIM_Process REF Process; 
1820                 [Description ( 
1821                   "Enumeration indicating how the Service runs in the context "
1822                   "of, or owns the Process. \"Unknown\" indicates that the "
1823                   "ExecutionType is not known. \"Other\" indicates that the "
1824                   "ExecutionType does not match any of the values in the "
1825                   "ExecutionType enumeration. \"Executes in Existing Process\" "
1826                   "indicates that the Service is hosted in a Process that " 
1827                   "already exists in the system.  The lifecycle of the " 
1828 chip  1.1         "Service is separate from that of the Process. "
1829                   "\"Exeutes as Independent Process\" indicates that the "
1830                   "Service is responsible for the lifecycle of the Process. "
1831                   "When the Service is started, the Process is created. " 
1832                   "For example, ServletEngines can run \"InProcess\" " 
1833                   "within the existing Apache processes or \"OutOfProcess\" in "
1834                   "its own servlet engine process.  In this case the Apache "
1835                   "process would communicate with the servlet engine process "
1836                   "based on the content of the request.  The association may "
1837                   "be many to many."), 
1838                  ValueMap {"0", "1", "2", "3"}, 
1839                  Values {"Unknown", "Other", "Executes in Existing Process", 
1840                          "Executes as Independent Process" } ] 
1841               uint16 ExecutionType; 
1842           }; 
1843           
1844           // ===================================================================
1845           // Thread
1846           // ===================================================================
1847              [Version ("2.6.0"), Description (
1848                "Threads represent the ability to execute units of a Process "
1849 chip  1.1      "or task in parallel.  A Process can have many Threads, each "
1850                "of which is weak to the Process.") ]
1851           class CIM_Thread : CIM_LogicalElement {
1852                 [Propagated("CIM_Process.CSCreationClassName"),
1853                  Key, MaxLen (256),
1854                  Description ("The scoping ComputerSystem's CreationClassName.") ]
1855              string  CSCreationClassName;
1856                 [Propagated("CIM_Process.CSName"),
1857                  Key, MaxLen (256),
1858                  Description ("The scoping ComputerSystem's Name.") ]
1859              string CSName;
1860                 [Propagated("CIM_Process.OSCreationClassName"),
1861                  Key, MaxLen (256),
1862                  Description (
1863                     "The scoping OperatingSystem's CreationClassName.") ]
1864              string OSCreationClassName;
1865                 [Propagated("CIM_Process.OSName"),
1866                  Key, MaxLen (256),
1867                  Description ("The scoping OperatingSystem's Name.") ]
1868              string OSName;
1869                 [Propagated("CIM_Process.CreationClassName"),
1870 chip  1.1        Key, MaxLen (256),
1871                  Description ("The scoping Process' CreationClassName.") ]
1872              string ProcessCreationClassName;
1873                 [Propagated("CIM_Process.Handle"),
1874                  Key, MaxLen (256),
1875                  Description ("The scoping Process' Handle.") ]
1876              string ProcessHandle;
1877                 [Key, MaxLen(256),
1878                  Description (
1879                   "CreationClassName indicates the name of the class or the "
1880                   "subclass used in the creation of an instance. When used "
1881                   "with the other key properties of this class, this property "
1882                   "allow all instances of this class and its subclasses to "
1883                   "be uniquely identified.") ]
1884              string CreationClassName;
1885                 [Key, MaxLen(256),
1886                  Description ("A string used to identify the Thread.") ]
1887              string Handle;
1888                 [Description (
1889                   "Priority indicates the urgency or importance of execution "
1890                   "of a Thread. A Thread may have a different priority than "
1891 chip  1.1         "its owning Process. If this information is not available "
1892                   "for a Thread, a value of 0 should be used.") ]
1893              uint32 Priority;
1894                 [Description (
1895                   "Indicates the current operating condition of the Thread. " 
1896                   "Values include ready (2), running (3), and blocked (4), "
1897                   "among others."),
1898                  ValueMap {"0", "1", "2", "3", "4", "5", "6"}, 
1899                  Values {"Unknown", "Other", "Ready", "Running", 
1900                          "Blocked", "Suspended Blocked", "Suspended Ready"} ]
1901              uint16 ExecutionState;
1902                 [Description (
1903                 "Time in kernel mode, in milliseconds. If this information "
1904                 "is not available, a value of 0 should be used."),
1905                  Units ("MilliSeconds") ]
1906              uint64 KernelModeTime;
1907                 [Description (
1908                   "Time in user mode, in milliseconds. If this information is "
1909                   "not available, a value of 0 should be used."),
1910                  Units ("MilliSeconds") ]
1911              uint64 UserModeTime;
1912 chip  1.1 };
1913           
1914           
1915           // ===================================================================
1916           // ProcessThread
1917           // ===================================================================
1918              [Association, Aggregation, Version ("2.6.0"), Description (
1919                "A link between a Process and the Thread(s) running in the "
1920                "context of this Process.") ]
1921           class CIM_ProcessThread : CIM_Component {
1922                 [Override ("GroupComponent"), Aggregate, Min (1), Max (1),
1923                  Description ("The Process.") ]
1924              CIM_Process REF GroupComponent;
1925                 [Override ("PartComponent"), Weak,
1926                  Description (
1927                   "The Thread running in the context of the Process.") ]
1928              CIM_Thread REF PartComponent;
1929           };
1930           
1931           
1932           // ===================================================================
1933 chip  1.1 // Job
1934           // ===================================================================
1935              [Abstract, Version ("2.6.0"), Description (
1936                "A Job is a LogicalElement representing a unit of work for a "
1937                "System, such as a print job.  A Job is distinct from a "
1938                "Process in that a Job can be scheduled.") ]
1939           class CIM_Job : CIM_LogicalElement {
1940                 [Description (
1941                   "A free form string representing the Job's status.") ]
1942              string JobStatus;
1943                 [Description ("Time that the Job was submitted.") ]
1944              datetime TimeSubmitted;
1945                 [Description ("Time that the Job was begun.") ]
1946              datetime StartTime;
1947                 [Description ("Length of time that the Job has been executing.") ]
1948              datetime ElapsedTime;
1949                 [Description (
1950                   "Time after which the Job is invalid or should be stopped.") ]
1951              datetime UntilTime;
1952                 [Description (
1953                   "User to be notified upon Job completion or failure.") ]
1954 chip  1.1    string Notify;
1955                 [Description ("User that submitted the Job.") ] 
1956              string Owner;
1957                 [Description (
1958                 "Indicates the urgency or importance of execution of a Job.") ]
1959              uint32 Priority;
1960           };
1961           
1962           
1963           // ===================================================================
1964           // JobDestination 
1965           // ===================================================================
1966              [Version ("2.6.0"), Description (
1967                "JobDestination is a LogicalElement representing where a Job "
1968                "is submitted for processing. It can refer to a queue that "
1969                "contains zero or more Jobs, such as a print queue containing "
1970                "print Jobs. JobDestinations are hosted on Systems, similar to "
1971                "the way that Services are hosted on Systems.") ]
1972           class CIM_JobDestination : CIM_LogicalElement {
1973                 [Propagated ("CIM_System.CreationClassName"),
1974                  Key, MaxLen (256),
1975 chip  1.1        Description ("The scoping System's CreationClassName.") ]
1976              string SystemCreationClassName;
1977                 [Propagated ("CIM_System.Name"),
1978                  Key, MaxLen (256),
1979                  Description ("The scoping System's Name.") ]
1980              string SystemName;
1981                 [Key, MaxLen (256),
1982                  Description (
1983                   "CreationClassName indicates the name of the class or the "
1984                   "subclass used in the creation of an instance. When used "
1985                   "with the other key properties of this class, this property "
1986                   "allows all instances of this class and its subclasses to "
1987                   "be uniquely identified.") ]
1988              string CreationClassName;
1989                 [Override ("Name"), Key, MaxLen (256),
1990                  Description (
1991                   "The inherited Name serves as key of a JobDestination "
1992                   "instance in a System.") ]
1993              string Name; 
1994           };
1995           
1996 chip  1.1 
1997           // ===================================================================
1998           // HostedJobDestination 
1999           // ===================================================================
2000              [Association, Version ("2.6.0"), Description (
2001                "An association between a JobDestination and a System on "
2002                "which it resides. The cardinality of this association is "
2003                "1-to-many.  A System may host many Job queues. Job"
2004                "Destinations are weak with respect to their hosting System. "
2005                "Heuristic: A JobDestination is hosted on the System where the "
2006                "LogicalDevices, SoftwareFeatures or Services that implement/"
2007                "provide the JobDestination are located.") ]
2008           class CIM_HostedJobDestination : CIM_Dependency {
2009                 [Override ("Antecedent"), Min (1), Max (1),
2010                  Description ("The hosting System.") ]
2011              CIM_System REF Antecedent;
2012                 [Override ("Dependent"), Weak,
2013                  Description ("The JobDestination hosted on the System.") ]
2014              CIM_JobDestination REF Dependent;
2015           };
2016           
2017 chip  1.1 
2018           // ===================================================================
2019           // JobDestinationJobs 
2020           // ===================================================================
2021              [Association, Version ("2.6.0"), Description (
2022                "An association describing where a Job is submitted for "
2023                "processing, ie to which JobDestination.") ]
2024           class CIM_JobDestinationJobs : CIM_Dependency {
2025                 [Override ("Antecedent"), Max (1),
2026                  Description ("The JobDestination, possibly a queue.") ]
2027              CIM_JobDestination REF Antecedent;
2028                 [Override ("Dependent"),
2029                  Description ("The Job that is in the Job queue/Destination.") ]
2030              CIM_Job REF Dependent;
2031           };
2032           
2033           
2034           
2035           // ===================================================================
2036           //  Diagnostics
2037           // ===================================================================
2038 chip  1.1 // ==================================================================
2039           // DiagnosticSetting
2040           // ==================================================================
2041              [Version ("2.6.0"), Description (
2042                "Specific diagnostic test parameters and execution "
2043                "instructions are defined by subclassing and/or instantiating "
2044                "the DiagnosticSetting object. To provide more detailed "
2045                "Settings for a type of test (i.e., additional properties), "
2046                "subclassing is appropriate. When only the generic Setting "
2047                "information is required, instantiation of the Diagnostic"
2048                "Setting class may suffice.\n"
2049                "Data from DiagnosticSetting is captured in DiagnosticResult. "
2050                "When RunTest starts execution the settings, which are time "
2051                "sensitive, should be evaluated and captured. This is suggested "
2052                "since the DiagnosticSetting object can be modified at any time, "
2053                "and therefore the current test settings could be lost.") ]
2054           class CIM_DiagnosticSetting : CIM_Setting {
2055                 [Key, MaxLen (256), Override ("SettingID"), 
2056                  Description (
2057                   "The identifier by which the DiagnosticSetting object is " 
2058                   "known and uniquely named. One possible naming scheme is " 
2059 chip  1.1         "to name the SettingID using the DiagnosticTest's CreationClass"
2060                   "Name and DiagnosticName, plus a GUID (Globally Unique "
2061                   "IDentifier).\n" 
2062                   "  Note that at an enterprise level, there is typically not a " 
2063                   "one to one mapping between a DiagnosticSetting and all copies " 
2064                   "of the DiagnosticTest.  The proposed naming convention will" 
2065                   "scale to the entrprise level.") ]
2066               string SettingID;
2067                 [Write, Description (
2068                   "Sets the level of warning messages to be logged. If for "
2069                   "example no warning information is required, the level "
2070                   "would be set to \"No Warnings\" (value=0). Using \"Missing "
2071                   "Resources\" (value=1) will cause warnings to be generated "
2072                   "when required resources or hardware are not found. Setting "
2073                   "the value to 2, \"Testing Impacts\", results in both "
2074                   "missing resources and 'test impact' warnings (for example, "
2075                   "multiple retries required) to be reported."), 
2076                  ValueMap {"0", "1", "2", "3"}, 
2077                  Values {"No Warnings", "Missing Resources", 
2078                          "Testing Impacts", "All Warnings"} ]
2079               uint16 TestWarningLevel;
2080 chip  1.1       [Write, Description (
2081                   "When this flag is true, the diagnostic test will report "
2082                   "'soft errors'. In this context, a soft error is a message "
2083                   "from the diagnostic reporting a known defect in the "
2084                   "hardware or driver configuration, or execution "
2085                   "environment.  Examples are: \"Not enough memory\", "
2086                   "\"Driver IOCTL not implemented\", \"Video RAM compare "
2087                   "failed during polygon fill test (A known defect in the "
2088                   "video chipset)\", etc.") ] 
2089               boolean ReportSoftErrors;
2090                 [Write, Description (
2091                   "When this flag is true, the diagnostic test will report "
2092                   "'status messages'. In this context, a status message "
2093                   "indicates that the diagnostic code is at a checkpoint. "
2094                   "Examples are: \"Completion of phase 1\", \"Complex "
2095                   "pattern\", etc.") ]
2096               boolean ReportStatusMessages;
2097                 [Write, Description (
2098                   "When this flag is true, the test will halt after finding "
2099                   "the first error.") ]
2100               boolean HaltOnError;
2101 chip  1.1       [Write, Description (
2102                   "When this flag is true, the test software should attempt "
2103                   "to run in an accelerated fashion either by reducing the "
2104                   "coverage or number of tests performed.") ]
2105               boolean QuickMode;
2106                 [Write, MinValue (0), MaxValue (100), 
2107                  Description (
2108                   "Requests the diagnostic software to reduce test coverage "
2109                   "to the specified percentage.  For example, a hard drive "
2110                   "scan test could be asked to run at 50%. The most "
2111                   "effective way to accomplish this is for the test software "
2112                   "to scan every other track, as opposed to only scanning the "
2113                   "first half of a drive. It is assumed that the effectiveness "
2114                   "of the test is impacted proportional to the percentage of "
2115                   "testing requested. Permissible values for this property "
2116                   "range from 0 to 100. \n"
2117                   "This property may not be applicable to all tests.  If it "
2118                   "can be set for a test, the value 7 (\"Supports PercentOf"
2119                   "TestCoverage\") should be entered into the DiagnosticTest's "
2120                   "Characteristics array."), 
2121                  ModelCorrespondence {"CIM_DiagnosticTest.Characteristics"}, 
2122 chip  1.1        Units ("Percent") ]
2123               uint8 PercentOfTestCoverage;
2124            };
2125           
2126           
2127           // ==================================================================
2128           // DiagnosticResult
2129           // ==================================================================
2130              [Version ("2.6.0"), Description (
2131                "When a DiagnosticTest Service is running, test results "
2132                "are reported using a DiagnosticResult object, or one of its "
2133                "subclasses. A DiagnosticTest may be running because its "
2134                "Service is Started or due to an invocation of the RunTest "
2135                "method. DiagnosticResults are related to their Test via an "
2136                "instance of the DiagnosticResultsForMSE association.\n"
2137                "For every running of DiagnosticTest, a new instance of "
2138                "DiagnosticResult, or one of it's subclasses should be created.") ]
2139           class CIM_DiagnosticResult {
2140                 [Propagated("CIM_DiagnosticTest.CreationClassName"), 
2141                  Key, MaxLen (256),
2142                  Description ("The scoping Test's CreationClassName.") ]
2143 chip  1.1     string DiagnosticCreationClassName;
2144                 [Propagated("CIM_DiagnosticTest.Name"),
2145                  Key, MaxLen (256),
2146                  Description ("The scoping Test's Name.") ]
2147               string DiagnosticName;
2148                 [Propagated ("CIM_DiagnosticTest.SystemCreationClassName"),
2149                  Key, MaxLen (256),
2150                  Description ("The scoping Test's SystemCreationClassName.") ]
2151              string DiagSystemCreationClassName;
2152                 [Propagated ("CIM_DiagnosticTest.SystemName"), 
2153                  Key, MaxLen (256),
2154                  Description ("The scoping Test's SystemName.") ]
2155              string DiagSystemName;
2156                 [Key, MaxLen (1024), 
2157                  Description (
2158                   "The Unique identifier for an instance of Diagnostic"
2159                   "Results.") ]
2160               string ExecutionID ; 
2161                 [Description (
2162                   "The date and time the result was last updated.") ]
2163               datetime TimeStamp;
2164 chip  1.1       [Description (
2165                   "If this property is TRUE, then this DiagnosticResult "
2166                   "summarizes the results from the execution of a packaged "
2167                   "set of DiagnosticTests. The Tests in the package can be "
2168                   "identified by following the DiagnosticResultForTest "
2169                   "association to the test and then using the DiagnosticTest"
2170                   "InPackage aggregation. The individual Results can be "
2171                   "broken out by instantiating DiagnosticResults for the "
2172                   "individual lower level tests and aggregating into the "
2173                   "'summary' Result using the DiagnosticResultInPackage "
2174                   "association.") ]
2175               boolean IsPackage;
2176                 [Description (
2177                   "The date and time  when this test started.") ]
2178               datetime TestStartTime;
2179                 [Description (
2180                   "The date and time when this test completed.") ]
2181               datetime TestCompletionTime;
2182                 [Description (
2183                   "Describes how the test is progressing. For example, if "
2184                   "the test was discontinued, the TestState will be "
2185 chip  1.1         "\"Stopped\" (value=5), or if testing is currently "
2186                   "executing, TestState will be \"In Progress\" (4)."),  
2187                  ValueMap {"0", "1", "2", "3", "4", "5"}, 
2188                  Values {"Unknown", "Other", "Passed", "Failed", 
2189                         "In Progress", "Stopped"},
2190                  ModelCorrespondence {
2191                   "CIM_DiagnosticResult.OtherStateDescription"} ]
2192                uint16 TestState;
2193                 [Description (
2194                   "When \"Other\" (value=1) is entered in the TestState "
2195                   "property, OtherStateDescription can be used to describe "
2196                   "the test's state."),
2197                  ModelCorrespondence {"CIM_DiagnosticResult.TestState"} ]
2198                string OtherStateDescription;
2199                 [Units ("Seconds"), 
2200                  Description (
2201                   "Estimated number of seconds to perform the Diagnostic"
2202                   "Test indicated by the DiagnosticCreationClassName and "
2203                   "DiagnosticName properties.  After the test has completed, "
2204                   "the actual elapsed time can be determined by subtracting "
2205                   "the TestStartTime from the TestCompletionTime. A similar "
2206 chip  1.1         "property is defined in the association, DiagnosticTest"
2207                   "ForMSE. The difference between the two properties is "
2208                   "that the value stored in the association is a generic "
2209                   "test execution time for the Element and the Test. But, "
2210                   "the value here (in DiagnosticResult) is the estimated "
2211                   "time that this instance with the given settings would "
2212                   "take to run the test.  A CIM Consumer can compare this "
2213                   "value with the value in the association DiagnosticTestForMSE "
2214                   "to get an idea what impact their settings have on test "
2215                   "execution."), 
2216                  ModelCorrespondence {
2217                   "CIM_DiagnosticTestForMSE.EstimatedTimeOfPerforming"} ]
2218               uint32 EstimatedTimeOfPerforming;
2219                 [Description (
2220                   "TestResults stores one or more textual results from the "
2221                   "execution of the DiagnosticTest(s) referenced by the "
2222                   "DiagnosticCreationClassName and DiagnosticName properties. "
2223                   "One entry is considered a cell location in the array. Each "
2224                   "entry is time stamped and contains the following "
2225                   "information, in the following format: \n"
2226                   " yyymmddhhttssoutc|DiagnosticName|Textual message \n"
2227 chip  1.1         "Where: \n"
2228                   "  yyy = year, e.g. 2000 \n"
2229                   "  mm = month (01 - 12) \n"
2230                   "  dd = day (01 - 31) \n" 
2231                   "  hh = hour (00 - 24) \n"
2232                   "  tt = minute (00-59) \n"
2233                   "  ss = second (00-59) \n"
2234                   "  o = \"+\" or \"-\" indicating the sign of the UTC "
2235                   "correction field \n"
2236                   "  utc = offset from UTC (Universal Coordinated Time) "
2237                   "in minutes \n"
2238                   "  DiagnosticName = string reference to the DiagnosticTest "
2239                   "object which was executed\n"
2240                   "  Textual message = free form string that is the 'test "
2241                   "result'."), 
2242                  ArrayType ("Ordered") ]
2243               string TestResults[];
2244                 [Units ("Percent"), MinValue (0), MaxValue (100), 
2245                  Description (
2246                   "The percentage of the test that has executed thus far, if "
2247                   "the TestState property is set to \"In Progress\" or the "
2248 chip  1.1         "percentage of the complete test that was executed if the "
2249                   "TestState property is set to any of the completed states "
2250                   "(\"Passed\", \"Failed\" or \"Stopped\"). Final results may "
2251                   "be based on less than 100% coverage due to the parameters "
2252                   "defined in DiagnosticSetting (such as QuickMode, "
2253                   "PercentOfTestCoverage or HaltOnError).") ]
2254               uint8 PercentComplete;
2255           
2256           
2257           // ---------  Properties below here are copied from  ------------------
2258           // ---------  DiagnosticSettings                     ------------------
2259           // Note that the DiagnosticSetting object can be modified at any time,
2260           // and the current test settings can be lost. When RunTest starts 
2261           // execution the settings, which are time sensitive, should be evaluated 
2262           // and captured. 
2263           
2264                 [Write, Description (
2265                   "Sets the level of warning messages to be logged. If for "
2266                   "example no warning information is required, the level "
2267                   "would be set to \"No Warnings\" (value=0). Using \"Missing "
2268                   "Resources\" (value=1) will cause warnings to be generated "
2269 chip  1.1         "when required resources or hardware are not found. Setting "
2270                   "the value to 2, \"Testing Impacts\", results in both "
2271                   "missing resources and 'test impact' warnings (for example, "
2272                   "multiple retries required) to be reported."), 
2273                  ValueMap {"0", "1", "2", "3"}, 
2274                  Values {"No Warnings", "Missing Resources", 
2275                          "Testing Impacts", "All Warnings"} ]
2276               uint16 TestWarningLevel;
2277                 [Write, Description (
2278                   "When this flag is true, the diagnostic test will report "
2279                   "'soft errors'. In this context, a soft error is a message "
2280                   "from the diagnostic reporting a known defect in the "
2281                   "hardware or driver configuration, or execution "
2282                   "environment.  Examples are: \"Not enough memory\", "
2283                   "\"Driver IOCTL not implemented\", \"Video RAM compare "
2284                   "failed during polygon fill test (A known defect in the "
2285                   "video chipset)\", etc.") ] 
2286               boolean ReportSoftErrors;
2287                 [Write, Description (
2288                   "When this flag is true, the diagnostic test will report "
2289                   "'status messages'. In this context, a status message "
2290 chip  1.1         "indicates that the diagnostic code is at a checkpoint. "
2291                   "Examples are: \"Completion of phase 1\", \"Complex "
2292                   "pattern\", etc.") ]
2293               boolean ReportStatusMessages;
2294                 [Write, Description (
2295                   "When this flag is true, the test will halt after finding "
2296                   "the first error.") ]
2297               boolean HaltOnError;
2298                 [Write, Description (
2299                   "When this flag is true, the test software should attempt "
2300                   "to run in an accelerated fashion either by reducing the "
2301                   "coverage or number of tests performed.") ]
2302               boolean QuickMode;
2303                 [Write, MinValue (0), MaxValue (100), 
2304                  Description (
2305                   "Requests the diagnostic software to reduce test coverage "
2306                   "to the specified percentage.  For example, a hard drive "
2307                   "scan test could be asked to run at 50%. The most "
2308                   "effective way to accomplish this is for the test software "
2309                   "to scan every other track, as opposed to only scanning the "
2310                   "first half of a drive. It is assumed that the effectiveness "
2311 chip  1.1         "of the test is impacted proportional to the percentage of "
2312                   "testing requested. Permissible values for this property "
2313                   "range from 0 to 100. \n"
2314                   "This property may not be applicable to all tests.  If it "
2315                   "can be set for a test, the value 7 (\"Supports PercentOf"
2316                   "TestCoverage\") should be entered into the DiagnosticTest's "
2317                   "Characteristics array."), 
2318                  ModelCorrespondence {"CIM_DiagnosticTest.Characteristics"}, 
2319                  Units ("Percent") ]
2320               uint8 PercentOfTestCoverage;
2321           };
2322           
2323           
2324           // ==================================================================
2325           // DiagnosticTest
2326           // ==================================================================
2327              [Version ("2.6.0"), Description (
2328                "The CIM_DiagnosticTest class represents the ability to "
2329                "execute a test. Specific diagnostic tests may be defined by "
2330                "subclassing and/or instantiating this object. To provide "
2331                "more detail for a type of test (i.e, additional properties "
2332 chip  1.1      "and methods), subclassing is appropriate. To indicatae that a "
2333                "test exists and may be applied to a specific ManagedSystem"
2334                "Element, instantiation of the DiagnosticTest class may "
2335                "suffice.") ]
2336           class CIM_DiagnosticTest : CIM_Service {
2337                 [Description (
2338                   "The descriptions for each Characteristic are below:\n "
2339                   "\n"
2340                   "* \"Is Exclusive\" (value=2) is specified for the test "
2341                   "module only if the diagnostic cannot run more than one test "
2342                   "at a time, regardless of how many SystemElements are "
2343                   "supported. Typically, this occurs when hardware or software "
2344                   "constraints prevent the test from running as multiple, "
2345                   "concurrent instances. If the diagnostic can be run against "
2346                   "multiple SystemElements, but only once per Element, then set "
2347                   "the IsExclusiveForMSE boolean property on the appropriate "
2348                   "instances of DiagnosticTestForMSE. \n"
2349                   "\n"
2350                   "* If \"Is Interactive\" (value=3) is set, then the diagnostic "
2351                   "displays a message either before, during or after testing. \n"
2352                   "\n"
2353 chip  1.1         "* Set \"Is Destructive\" (value=4) if the diagnostic will "
2354                   "destroy data, or reconfigure the Element that is being "
2355                   "tested. \n" 
2356                   "\n"
2357                   "* \"Is Risky\" (value=5) indicates that data loss may occur "
2358                   "if the test is interrupted. Some tests make copies of data, "
2359                   "perform the test, and restore the data returning the tested "
2360                   "entity to its previous configuration. If the test is "
2361                   "interrupted, then loss of data or reconfiguration of the "
2362                   "tested ManagedSystemElement may occur. \n"
2363                   "\n"
2364                   "* If \"Is Package\" (value=6) is set, this test is actually "
2365                   "a set of lower level diagnostics, that are 'packaged' "
2366                   "together. \n"
2367                   "\n"
2368                   "\"Supports PercentOfTestCoverage\" (value=7) indicates that "
2369                   "a request for reduced test coverage can be specified using "
2370                   "the PercentOfTestCoverage property of Diagnostic Setting. \n"
2371                   "\n"
2372                   "Also, the values \"Unknown\" (0) and \"Other\" (1) may be "
2373                   "specified. If \"Other\" is defined, additional detail may be "
2374 chip  1.1         "found in the OtherCharacteristicDescription property of this "
2375                   "class."), 
2376                  ValueMap {"0", "1", "2", "3", "4", "5", "6", "7"}, 
2377                  Values {"Unknown", "Other", "Is Exclusive", "Is Interactive", 
2378                         "Is Destructive", "Is Risky", "Is Package", 
2379                         "Supports PercentOfTestCoverage"},
2380                  ModelCorrespondence {
2381                   "CIM_DiagnosticTest.OtherCharacteristicDescription"} ]
2382               uint16 Characteristics[];
2383                 [Description (
2384                   "Provides additional information for the Characteristic when "
2385                   "its value is set to 1 (\"Other\")."), 
2386                  ModelCorrespondence {"CIM_DiagnotistTest.Characteristics"} ]
2387                 string OtherCharacteristicDescription;
2388                 [Description (
2389                   "If this test is currently being performed, the InUse "
2390                   "property is set to TRUE. To determine which ManagedSystem"
2391                   "Element is being tested, query the DiagnosticResult objects "
2392                   "associated with this test (query DiagnosticResultForTest), "
2393                   "and for which the TestState equals 4 (\"In Progress\"). "
2394                   "The DiagnosticResult object is associated with the System"
2395 chip  1.1         "Element under test, using DiagnosticResultForMSE.") ]
2396               boolean IsInUse;
2397                 [Description (
2398                   "The \"Expensive\" qualifier can be applied to this class and "
2399                   "its RunTest method. If so, the ResourcesUsed property "
2400                   "describes the resources that are capitalized, based on a "
2401                   "default setup for the test. Multiple resources can be "
2402                   "specified since the property is an array."), 
2403                  ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", 
2404                   "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", 
2405                   "20", "21", "22", "23", "24", "25", "26"}, 
2406                  Values {"CPU", "Memory", "Hard Disk", "CDROM", "Floppy", 
2407                         "PCI Bus", "USB Bus", "1394 Bus", "SCSI Bus", "IDE Bus", 
2408                         "Network", "ISA Bus", "EISA Bus", "VESA Bus", 
2409                         "PCMCIA Bus", "CardBus", "Access.bus", "NuBus", "AGP", 
2410                         "VME Bus", "Sbus IEEE 1396-1993", "MCA Bus", "GIO Bus", 
2411                         "XIO Bus", "HIO Bus", "PMC Bus", "SIO Bus"} ]
2412               uint16 ResourcesUsed[];
2413                 [Description (
2414                   "The RunTest method executes this test for the specified "
2415                   "ManagedSystemElement (defined using the SystemElement input "
2416 chip  1.1         "parameter). Results of the test are stored in a Diagnostic"
2417                   "Result object, a reference to which is returned as the Result "
2418                   "output parameter. How the test should execute, i.e. its "
2419                   "settings, is defined in a DiagnosticSetting object (or by a "
2420                   "subclass of DiagnosticSetting). A reference to a Setting "
2421                   "object is specified using the Setting input parameter.  If a "
2422                   "reference is not passed into the method, then a default "
2423                   "DiagnosticSetting may be used. This default Setting is "
2424                   "associated with the DiagnoticTest using the DefaultSetting "
2425                   "relationship of the Core Model. \n"
2426                   "When RunTest starts execution, the settings, which are time "
2427                   "sensitive, should be evaluated and captured. This is "
2428                   "suggested since the DiagnosticSetting object can be modified "
2429                   "at any time, and therefore the current test settings could "
2430                   "be lost. \n"
2431                   "The method's return codes are expected to adhere to the XML "
2432                   "return codes as they are introduced. Currently, the standard "
2433                   "return values are: \n"
2434                   "0 = OK (function succeeded, but the test itself may have "
2435                   "failed \n"
2436                   "1 = Unspecified Error (function failed for unspecified "
2437 chip  1.1         "reasons) \n"
2438                   "2 = Not Implemented (function is not implemented for this "
2439                   "instance) \n"
2440                   "3 = Out Of Resources (component could not allocate required "
2441                   "resources, e.g. memory, disk space, etc.) \n"
2442                   "In a subclass, the set of possible return codes could be "
2443                   "specified, using a ValueMap qualifier on the method. The "
2444                   "strings to which the ValueMap contents are 'translated' may "
2445                   "also be specified in the subclass as a Values array "
2446                   "qualifier.") ]
2447               uint32 RunTest([IN] CIM_ManagedSystemElement ref SystemElement, 
2448                     [IN] CIM_DiagnosticSetting ref Setting, 
2449                     [IN (false), OUT] CIM_DiagnosticResult ref Result);   
2450                 [Description (
2451                   "Execution of this method will delete all instances of the "
2452                   "DiagnosticResultForMSE object, for this DiagnosticTest "
2453                   "and the specified ManagedSystemElement (defined using the "
2454                   "SystemElement input parameter). The DiagnosticResults "
2455                   "referenced in the DiagnosticResultForMSE instances will be "
2456                   "deleted.  Also the association DiagnosticResultForTest that "
2457                   "referees to the DiagnosticResult object, and this test will "
2458 chip  1.1         " be deleted.\n"
2459                   "  One output parameter is defined - ResultsNotCleared "
2460                   "- which is a string array that lists the keys of the "
2461                   "DiagnosticResults which could not be deleted. This "
2462                   "information enables those Results to be revisited and either "
2463                   "manually removed, or other corrective action taken. \n"
2464                   "The method's return codes are expected to adhere to the XML "
2465                   "return codes as they are introduced. Currently, the standard "
2466                   "return values are: \n"
2467                   "0 = OK (function succeeded, but the test itself may have "
2468                   "failed \n"
2469                   "1 = Unspecified Error (function failed for unspecified "
2470                   "reasons) \n"
2471                   "2 = Not Implemented (function is not implemented for this "
2472                   "instance) \n"
2473                   "3 = Out Of Resources (component could not allocate required "
2474                   "resources, e.g. memory, disk space, etc.) \n"
2475                   "In a subclass, the set of possible return codes could be "
2476                   "specified, using a ValueMap qualifier on the method. The "
2477                   "strings to which the ValueMap contents are 'translated' may "
2478                   "also be specified in the subclass as a Values array "
2479 chip  1.1         "qualifier.") ]
2480               uint32 ClearResults(
2481                     [IN] CIM_ManagedSystemElement ref SystemElement, 
2482                     [IN (false), OUT] String ResultsNotCleared[]);   
2483                 [Description (
2484                   "After invocation of this method and its completion, the "
2485                   "specified test(s) will be discontinued for the indicated "
2486                   "ManagedSystemElement (defined by the SystemElement input "
2487                   "parameter). The test to discontinue is specified using the "
2488                   "Result input parameter. If all instances of this test should "
2489                   "be stopped for the SystemElement, then the Result reference "
2490                   "should be NULL. Upon completion of the method, test status "
2491                   "and other information (such as PercentComplete) will be "
2492                   "stored in the DiagnosticResult instance defined by the Result "
2493                   "input parameter. The output parameter, TestingStopped, is "
2494                   "used as follows:\n"
2495                   " Set to TRUE if testing was successfully stopped. \n"
2496                   " Set to FALSE if the current test(s) can not be stopped. \n"
2497                   "If set to FALSE, testing will stop when the diagnostic is "
2498                   "able to do so safely. To determine if/when the testing is "
2499                   "stopped, check the TestState property in the DiagnosticResult "
2500 chip  1.1         "instance defined by the Result parameter. TestState will "
2501                   "change from \"In Progress\" to \"Stopped\" (from 4 to 5). \n"
2502                   "The method's return codes are expected to adhere to the XML "
2503                   "return codes as they are introduced. Currently, the standard "
2504                   "return values are: \n"
2505                   "0 = OK (function succeeded, but the test itself may have "
2506                   "failed \n"
2507                   "1 = Unspecified Error (function failed for unspecified "
2508                   "reasons) \n"
2509                   "2 = Not Implemented (function is not implemented for this "
2510                   "instance) \n"
2511                   "3 = Out Of Resources (component could not allocate required "
2512                   "resources, e.g. memory, disk space, etc.) \n"
2513                   "In a subclass, the set of possible return codes could be "
2514                   "specified, using a ValueMap qualifier on the method. The "
2515                   "strings to which the ValueMap contents are 'translated' may "
2516                   "also be specified in the subclass as a Values array "
2517                   "qualifier.") ]
2518               uint32 DiscontinueTest(
2519                     [IN] CIM_ManagedSystemElement ref SystemElement, 
2520                     [IN] CIM_DiagnosticResult ref Result, 
2521 chip  1.1           [IN (false), OUT] Boolean TestingStopped);   
2522           };
2523           
2524           // ==================================================================
2525           // DiagnosticResultForMSE
2526           // ==================================================================
2527              [Association, Version ("2.6.0"), Description (
2528                "This is an association class relating diagnostic test "
2529                "results to the ManagedSystemElement that is/was tested.") ]
2530           class CIM_DiagnosticResultForMSE {
2531                 [Key, Description (
2532                   "The diagnostic result.") ]
2533              CIM_DiagnosticResult REF Result;
2534                 [Key, Description (
2535                   "The ManagedSystemElement to which the diagnostic result "
2536                   "applies.") ]
2537              CIM_ManagedSystemElement REF SystemElement;
2538           };
2539           
2540           
2541           // ==================================================================
2542 chip  1.1 // DiagnosticResultForTest
2543           // ==================================================================
2544              [Association, Version ("2.6.0"), Description (
2545                "This is an association class to relate the results of a test "
2546                "to the test itself.") ]
2547           class CIM_DiagnosticResultForTest {
2548                 [Key, Min (1), Max (1), Weak,
2549                  Description ("The result object.") ]
2550              CIM_DiagnosticResult REF DiagnosticResult;
2551                 [Key, Min (1), Max (1),
2552                  Description ("The test that generated the result object.") ]
2553              CIM_DiagnosticTest REF DiagnosticTest;
2554           };
2555           
2556           
2557           // ==================================================================
2558           // DiagnosticTestForMSE
2559           // ==================================================================
2560              [Association, Version ("2.6.0"), Description (
2561                "This is an association class that relates a DiagnosticTest "
2562                "to a ManagedSystemElement.  Consumers wishing to 'diagnose' "
2563 chip  1.1      "a particular Element could query this association, for the "
2564                "Element, to determine what tests are available.") ]
2565           class CIM_DiagnosticTestForMSE : CIM_ProvidesServiceToElement {
2566                 [Override("Antecedent"), Description (
2567                   "The test that may be run against a ManagedSystemElement.") ]
2568              CIM_DiagnosticTest REF Antecedent;
2569                 [Override("Dependent"), Description (
2570                   "The ManagedSystemElement that can be tested.") ]
2571              CIM_ManagedSystemElement REF Dependent;
2572                 [Units ("Seconds"), 
2573                  Description (
2574                   "Estimated number of seconds to perform the referenced "
2575                   "DiagnosticTest against the ManagedSystemElement. Since "
2576                   "execution times could vary by Element, this property is "
2577                   "located in the association between the two entities. It is "
2578                   "also captured in DiagnosticResult, in the Estimated"
2579                   "TimeOfPerforming property.\n" 
2580                   "A CIM Consumer can compare this value with the value in"
2581                   "DiagnosticResult to get an idea of what impact their"
2582                   "settings have on test execution."),
2583                  ModelCorrespondence {
2584 chip  1.1         "CIM_DiagnosticResult.EstimatedTimeOfPerforming"} ]
2585               uint32 EstimatedTimeOfPerforming;
2586                 [Description (
2587                   "If the DiagnosticTest referenced in this object can be run "
2588                   "concurrently against multiple SystemElements, but only "
2589                   "run one at a time for the referenced ManagedSystemElement, "
2590                   "then this boolean is set to TRUE. Alternately, if the test "
2591                   "can NOT be run concurrently irregardless of the System"
2592                   "Elements being tested, then the more general \"Is Exclusive\" "
2593                   "enumerated value (2) should be set in DiagnosticTest."
2594                   "Characteristics.") ]
2595               boolean IsExclusiveForMSE;
2596           };
2597           
2598           
2599           // ==================================================================
2600           // DiagnosticTestInPackage
2601           // ==================================================================
2602              [Association, Aggregation, Version ("2.6.0"), Description (
2603                "This is an association class that identifies a Diagnostic"
2604                "Test as made up of lower level Tests. In this case, the "
2605 chip  1.1      "Test identified as the GroupComponent reference (i.e, "
2606                "the higher level test) would have the \"Is Package\" "
2607                "enumerated value specified in DiagnosticTest."
2608                "Characteristics.") ]
2609           class CIM_DiagnosticTestInPackage : CIM_Component {
2610                 [Override("GroupComponent"), Aggregate, 
2611                  Description (
2612                   "The DiagnosticTest object that acts as the container for all "
2613                   "the tests of the package.") ]
2614              CIM_DiagnosticTest REF GroupComponent;
2615                 [Override("PartComponent"), 
2616                  Description (
2617                   "The DiagnosticTest object that is one of the elements of "
2618                   "the package.") ]
2619              CIM_DiagnosticTest REF PartComponent;  
2620           };
2621           
2622                
2623           // ==================================================================
2624           // DiagnosticResultInPackage
2625           // ==================================================================
2626 chip  1.1    [Association, Aggregation, Version ("2.6.0"), Description (
2627                "This is an association class that identifies a Diagnostic"
2628                "Result as made up of lower level Results. In this case, the "
2629                "Result identified as the PackageResult reference (i.e., "
2630                "the higher level result) would have its IsPackage property "
2631                "set to TRUE.") ]
2632           class CIM_DiagnosticResultInPackage {
2633                 [Key, Aggregate, Description (
2634                  "The DiagnosticResult object that acts as the container for all "
2635                  "the results of the package.") ]
2636              CIM_DiagnosticResult REF PackageResult;
2637                 [Key, Description (
2638                   "The DiagnosticResult object that is one of the elements of "
2639                   "the package.") ]
2640              CIM_DiagnosticResult REF Result; 
2641           };
2642           
2643                
2644           // ==================================================================
2645           // DiagnosticTestSoftware
2646           // ==================================================================
2647 chip  1.1    [Association, Version ("2.6.0"), Description (
2648                "This is an association class relating DiagnosticTest to "
2649                "the SoftwareElements that provide this test. SoftwareElement "
2650                "describes vendor/version information and other deployment "
2651                "data.") ]
2652           class CIM_DiagnosticTestSoftware : CIM_Dependency {
2653                 [Override ("Antecedent"), Description (
2654                   "Vendor/version and other information about the software "
2655                   "that runs as the DiagnosticTest.") ]
2656              CIM_SoftwareElement REF Antecedent;
2657                 [Override ("Dependent"), Description (
2658                   "The DiagnosticTest whose software is described.") ]
2659              CIM_DiagnosticTest REF Dependent;
2660           };
2661             
2662           
2663           // ==================================================================
2664           // DiagnosticSettingForTest
2665           // ==================================================================
2666              [Association, Version ("2.6.0"), Description (
2667                "This is an association class to relate test settings with "
2668 chip  1.1      "diagnostic tests.") ]
2669           class CIM_DiagnosticSettingForTest : CIM_ElementSetting {
2670                 [Override("Element"), Description (
2671                   "The Test that can use the Setting object.") ]
2672              CIM_DiagnosticTest REF Element;
2673                 [Override("Setting"), Description (
2674                   "The Setting that can be applied to the execution of the "
2675                   "DiagnosticTest.") ]
2676              CIM_DiagnosticSetting REF Setting;
2677           };
2678           
2679           
2680           // ===================================================================
2681           //  Time
2682           // ===================================================================
2683           // ===================================================================
2684           // TimeZone
2685           // =================================================================== 
2686           [Version("2.6.0"), Description (
2687               "A TimeZone is a presentation of the properties used to describe "
2688               "a time zone.  These properties include the concepts of daylight "
2689 chip  1.1     "saving time.") ]
2690           class CIM_TimeZone : CIM_Setting {
2691               [Key, Description (
2692                   "Time zone identifier. TimeZoneID MAY be expressed in the "
2693                   "form 'area name/city name' (e.g. America/New_York) instead of "
2694                   "a time zone name depending on a date (e.g. EST or EDT).") ]
2695               string TimeZoneID;
2696               
2697               [Key, Description (
2698                   "The date and time at which this time zone definition "
2699                   "takes effect. Specify it in UTC.") ]
2700               datetime TimeZoneStartDate;
2701               
2702               [Description (
2703                   "Full name of the time zone (e.g. U.S. East Standard "
2704                   "Time) of the standard time name "
2705                   "in a format suitable for presentation "
2706                   "to the user in the default locale.") ]
2707               string StandardName;
2708               
2709               [Description (
2710 chip  1.1         "Short name of the time zone (e.g. EST) "
2711                   "of the standard time name "
2712                   "in a format suitable for presentation "
2713                   "to the user in the default locale. ") ]
2714               string StandardCaption;
2715               
2716               [Description (
2717                   "The number of minutes by which this standard time "
2718                   "differs from UTC. For example, U.S. EST differs "
2719                   "from UTC by -5.0 hours or -300 minutes whereas "
2720                   "Australia Adelaide Standard Time differs by 9.5 hours "
2721                   "or 570 minutes. "), 
2722                   Units ("Minutes") ]
2723               sint32 StandardOffset;
2724               
2725               [Description (
2726                   "The month in which daylight saving time ends. "
2727                   "Specify 0 for January, 1 for February, and so on."), 
2728                   ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", 
2729                       "10", "11"},  
2730                   Values {"January", "February", "March", "April",
2731 chip  1.1             "May", "June", "July", "August", "September",
2732                       "October", "November", "December" },
2733                   ModelCorrespondence {"CIM_TimeZone.StandardDay" } ]
2734               uint8 StandardMonth;
2735               
2736               [MinValue (-31), MaxValue (31), Description (
2737                   "The day-in-month on which daylight "
2738                   "saving time ends, if StandardDayOfWeek is 0. "
2739                   "Specify a positive or negative integer to indicate "
2740                   "whether the StandardDay should be calculated "
2741                   "from the beginning of the month or the end of the "
2742                   "month. For example, 5 indicates the fifth day in the "
2743                   "StandardMonth and -1 indicates the last day in the "
2744                   "StandardMonth. \n"
2745                   "\n"
2746                   "The day-in-month from which the StandardDayOfWeek "
2747                   "is calculated, if StandardDayOfWeek is not 0. "
2748                   "If StandardDay is 15 and StandardDayOfWeek is "
2749                   "Saturday, then this indicates the first Saturday on or "
2750                   "after the 15th day in the StandardMonth (i.e. third "
2751                   "Saturday in the StandardMonth). "
2752 chip  1.1         "If StandardDay is 20 and StandardDayOfWeek is "
2753                   "-Saturday, then this indicates the first Saturday on or "
2754                   "before the 20th day in the StandardMonth."
2755                   "If StandardDay is -1 and StandardDayOfWeek is "
2756                   "-Sunday, then this indicates the last Sunday "
2757                   "in the StandardMonth."),
2758                   ModelCorrespondence {"CIM_TimeZone.StandardDayOfWeek" } ]
2759               sint8 StandardDay;
2760                
2761               [Description (
2762                   "Positive or negative integer used in conjunction "
2763                   "with StandardDay to indicate the day of the week "
2764                   "on which daylight saving time ends. Set "
2765                   "StandardDayOfWeek to 0 to indicate an exact day of "
2766                   "month, such as March 1. "
2767                   "Positive integer (Sunday, Monday, ..., Saturday) means "
2768                   "that the day of week is found on or after StandardDay. "
2769                   "Negative integer (-Sunday, -Monday, ..., -Saturday) "
2770                   "means that the day of week is found on or before "
2771                   "StandardDay. "),
2772                   ValueMap {"-7", "-6", "-5", "-4", "-3", "-2", "-1",
2773 chip  1.1             "0", "1", "2", "3", "4", "5", "6", "7" },
2774                   Values {"-Saturday", "-Friday", "-Thursday", "-Wednesday",
2775                       "-Tuesday", "-Monday", "-Sunday", "ExactDayOfMonth",
2776                       "Sunday", "Monday", "Tuesday", "Wednesday",
2777                       "Thursday", "Friday", "Saturday" },
2778                   ModelCorrespondence {"CIM_TimeZone.StandardDay" } ]
2779               sint8 StandardDayOfWeek;
2780               
2781               [Description (
2782                   "The time interval after midnight when daylight "
2783                   "saving time ends. For example: \n"
2784                   "   00000000020000.000000:000 indicates \n"
2785                   "   daylight saving time ends at two o'clock in \n"
2786                   "   the local time (usually, daylight saving time).") ]
2787               datetime StandardStartInterval;
2788               
2789               [Description (
2790                   "Full name of the time zone (e.g. U.S. East Daylight "
2791                   "Saving Time) of the daylight saving time name "
2792                   "in a format suitable for presentation "
2793                   "to the user in the default locale.") ]
2794 chip  1.1     string DaylightName;
2795               
2796               [Description (
2797                   "Short name of the time zone (e.g. EDT) "
2798                   "of the daylight saving time name "
2799                   "in a format suitable for presentation "
2800                   "to the user in the default locale. ") ]
2801               string DaylightCaption;
2802               
2803               [Description (
2804                   "The number of minutes by which this daylight saving time "
2805                   "differs from UTC. For example, U.S. EDT differs "
2806                   "from UTC by -4.0 hours or -240 minutes whereas "
2807                   "Australia Adelaide Daylight Time differs by 10.5 hours "
2808                   "or 630 minutes. "), 
2809                   Units ("Minutes") ]
2810               sint32 DaylightOffset;
2811               
2812               [Description (
2813                   "The month in which daylight saving time starts. "
2814                   "Specify 0 for January, 1 for February, and so on."), 
2815 chip  1.1         ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", 
2816                       "10", "11"},  
2817                   Values {"January", "February", "March", "April",
2818                       "May", "June", "July", "August", "September",
2819                       "October", "November", "December" },
2820                   ModelCorrespondence {"CIM_TimeZone.DaylightDay" } ]
2821               uint8 DaylightMonth;
2822               
2823               [MinValue (-31), MaxValue (31), Description (
2824                   "The day-in-month on which daylight "
2825                   "saving time starts, if DaylightDayOfWeek is 0. "
2826                   "Specify a positive or negative integer to indicate "
2827                   "whether the DaylightDay should be calculated "
2828                   "from the beginning of the month or the end of the "
2829                   "month. For example, 5 indicates the fifth day in the "
2830                   "DaylightMonth and -1 indicates the last day in the "
2831                   "DaylightMonth. \n"
2832                   "\n"
2833                   "The day-in-month from which the DaylightDayOfWeek "
2834                   "is calculated, if DaylightDayOfWeek is not 0. "
2835                   "If DaylightDay is 15 and DaylightDayOfWeek is "
2836 chip  1.1         "Saturday, then this indicates the first Saturday on or "
2837                   "after the 15th day in the DaylightMonth (i.e. third "
2838                   "Saturday in the DaylightMonth). "
2839                   "If DaylightDay is 20 and DaylightDayOfWeek is "
2840                   "-Saturday, then this indicates the first Saturday on or "
2841                   "before the 20th day in the DaylightMonth."
2842                   "If DaylightDay is -1 and DaylightDayOfWeek is "
2843                   "-Sunday, then this indicates the last Sunday "
2844                   "in the DaylightMonth."),
2845                   ModelCorrespondence {"CIM_TimeZone.DaylightDayOfWeek" } ]
2846               sint8 DaylightDay;
2847               
2848               [Description (
2849                   "Positive or negative integer used in conjunction "
2850                   "with DaylightDay to indicate the day of the week "
2851                   "on which daylight saving time starts. Set "
2852                   "DaylightDayOfWeek to 0 to indicate an exact day of "
2853                   "month, such as March 1. "
2854                   "Positive integer (Sunday, Monday, ..., Saturday) means "
2855                   "that the day of week is found on or after DaylightDay. "
2856                   "Negative integer (-Sunday, -Monday, ..., -Saturday) "
2857 chip  1.1         "means that the day of week is found on or before "
2858                   "DaylightDay. "), 
2859                   ValueMap {"-7", "-6", "-5", "-4", "-3", "-2", "-1",
2860                       "0", "1", "2", "3", "4", "5", "6", "7" },
2861                   Values {"-Saturday", "-Friday", "-Thursday", "-Wednesday",
2862                       "-Tuesday", "-Monday", "-Sunday", "ExactDayOfMonth",
2863                       "Sunday", "Monday", "Tuesday", "Wednesday",
2864                       "Thursday", "Friday", "Saturday" },
2865                   ModelCorrespondence {"CIM_TimeZone.DaylightDay" } ]
2866               sint8 DaylightDayOfWeek;
2867               
2868               [Description (
2869                   "The time interval after midnight when daylight "
2870                   "saving time starts. For example: \n"
2871                   "   00000000020000.000000:000 indicates \n"
2872                   "   daylight saving time starts at two o'clock in \n"
2873                   "   the local time (usually, standard time).") ]
2874               datetime DaylightStartInterval;
2875           };  
2876           
2877           
2878 chip  1.1 // ===================================================================
2879           //  Unix
2880           // ===================================================================
2881           // ===================================================================
2882           // UnixLocalFileSystem
2883           // ===================================================================
2884              [Version ("2.6.0"), Description (
2885                "A class derived from LocalFileSystem that represents the Unix "
2886                "environment view of a file store controlled by a ComputerSystem "
2887                "through local means (e.g., direct device driver access). In "
2888                "this case, the file store is managed directly by the "
2889                "ComputerSystem without the need for another computer to act "
2890                "as a file server. This definition does not breakdown in the " 
2891                "case of a Clustered File System. In this scenario, the " 
2892                "FileSystem is a LocalFileSystem, weak to the Cluster.") ]
2893           class CIM_UnixLocalFileSystem : CIM_LocalFileSystem {
2894                 [Description (
2895                   "The number of free inodes present in the file system.  "
2896                   "This value is only valid if TotalSlots is non-zero."),
2897                  MappingStrings {"MIF.DMTF|Host File System|001.12"},
2898                  ModelCorrespondence {"CIM_UnixLocalFileSystem.TotalSlots"} ]
2899 chip  1.1    uint64 FreeInodes;
2900                 [Description (
2901                   "The total number of inodes available in the file system.  "
2902                   "A value of zero for TotalInodes indicates that this file "
2903                   "system does not have a preset limit."),
2904                  MappingStrings {"MIF.DMTF|Host File System|001.11"} ]
2905              uint64 TotalInodes;
2906                 [Description (
2907                   "The reserve data capacity of the file system in bytes."),
2908                  MappingStrings {"MIF.DMTF|Host File System|001.15"},
2909                  Units ("Bytes") ]
2910              uint64 FSReservedCapacity;
2911           };
2912           
2913           
2914           // ===================================================================
2915           // UnixProcess
2916           // ===================================================================
2917              [Version ("2.6.0"), Description (
2918                "Each instance of the CIM_UnixProcess class represents a single "
2919                "instance of a running program. A user of the Operating System "
2920 chip  1.1      "will typically see a Process as an application or task. Within "
2921                "an OperatingSystem, a Process is defined by a workspace of "
2922                "memory resources and environmental settings that are allocated "
2923                "to it. On a multitasking System, this workspace prevents "
2924                "intrusion of resources by other Processes. Additionally, a "
2925                "Process can execute as multiple Threads, all which run within "
2926                "the same workspace.") ]
2927           class CIM_UnixProcess : CIM_Process {
2928                 [Required, Description (
2929                   "The parent process ID of this executing process."),
2930                  MappingStrings {"MIF.DMTF|Process Information|001.2"} ]
2931              string ParentProcessID;
2932                 [Required, Description (
2933                   "The Real User ID of this currently executing process."),
2934                  MappingStrings {"MIF.DMTF|Process Information|001.4"} ]
2935              uint64 RealUserID;
2936                 [Required, Description (
2937                   "The Group ID of this currently executing process."),
2938                  MappingStrings {"MIF.DMTF|Process Information|001.2"} ]
2939              uint64 ProcessGroupID;
2940                 [Description (
2941 chip  1.1         "If part of a group of processes are under the control "
2942                   "of a session leader, this property holds the session "
2943                   "ID for the group.") ]
2944              uint64 ProcessSessionID;
2945                 [Description (
2946                   "The TTY currently associated with this process."),
2947                  MappingStrings {"MIF.DMTF|Process Information|001.5"} ]
2948              string ProcessTTY;
2949                 [Description (
2950                   "The executing process's command path."),
2951                  MappingStrings {"MIF.DMTF|Process Information|001.7"} ]
2952              string ModulePath;
2953                 [ Description (
2954                   "The operating system parameters provided to the executing "
2955                   "process. These are the argv[] values."),
2956                  MappingStrings {"MIF.DMTF|Process Information|001.8"} ]
2957              string Parameters[];
2958                 [Description (
2959                   "The process's 'nice' value.  Used to compute its priority."),
2960                  MappingStrings {"MIF.DMTF|Process Information|001.11"} ]
2961              uint32 ProcessNiceValue;
2962 chip  1.1       [Description (
2963                   "A description of the event this process is currently "
2964                   "sleeping for.  The precise nature of this string is "
2965                   "implementation defined, but is typically the address of a "
2966                   "system data structure that will be modified when the event "
2967                   "occurs. This string only has meaning when the ExecutionState "
2968                   "is \"Blocked\" or  \"SuspendedBlocked\"."),
2969                   ModelCorrespondence {"CIM_Process.ExecutionState"} ]
2970              string ProcessWaitingForEvent;
2971           
2972           };
2973           
2974           // ===================================================================
2975           // UnixProcessStatisticalInformation
2976           // ===================================================================
2977              [Version ("2.6.0"), Description (
2978                "The statistics associated with a Unix process. ") ]
2979           class CIM_UnixProcessStatisticalInformation : 
2980            CIM_StatisticalInformation {
2981                 [Propagated("CIM_Process.CSCreationClassName"),
2982                  Key, MaxLen (256),
2983 chip  1.1        Description (
2984                   "The scoping Process's ComputerSystem CreationClassName.") ]
2985              string CSCreationClassName;
2986                 [Propagated("CIM_Process.CSName"),
2987                  Key, MaxLen (256),
2988                  Description ("The scoping Process's ComputerSystem Name.") ]
2989              string CSName;
2990                 [Propagated("CIM_Process.OSCreationClassName"),
2991                  Key, MaxLen (256),
2992                  Description (
2993                   "The scoping Process's OperatingSystem CreationClassName.") ]
2994              string OSCreationClassName;
2995                 [Propagated("CIM_Process.OSName"),
2996                  Key, MaxLen (256),
2997                  Description ("The scoping Process's OperatingSystem Name.") ]
2998              string OSName;
2999                 [Propagated("CIM_Process.Handle"),
3000                  Key, MaxLen (256),
3001                  Description ("The scoping Process's Handle.") ]
3002              string Handle;
3003                 [Propagated("CIM_Process.CreationClassName"),
3004 chip  1.1        Key, MaxLen (256),
3005                  Description (
3006                   "The scoping Process's CreationClassName.") ]
3007              string ProcessCreationClassName;
3008                 [Key, MaxLen (256), Override ("Name"),
3009                  Description (
3010                   "A string used to identify the related statistics of a "
3011                   "Process. ") ]
3012              string Name;
3013                 [Description (
3014                   "A string used to identify the related statistics of a "
3015                   "Process. This key allows multiple instances of statistics to "
3016                   "correspond to a single process.  The multiple "
3017                   "instances could be used in applications such as "
3018                   "time-sliced statistics. "),
3019                  MappingStrings {"MIF.DMTF|Process Information|001.12"},
3020                  Units ("Percent") ]
3021              uint32 CPUTime;
3022                 [Description (
3023                   "The number of KiloBytes of real text space used by "
3024                   "the process."),
3025 chip  1.1        MappingStrings {"MIF.DMTF|Process Information|001.15"},
3026                  Units ("KiloBytes") ]
3027              uint64 RealText;
3028                 [Description (
3029                   "The number of KiloBytes of real data space used "
3030                   "by the process."),
3031                  MappingStrings {"MIF.DMTF|Process Information|001.16"},
3032                  Units ("KiloBytes") ]
3033              uint64 RealData;
3034                 [Description (
3035                   "The number of KiloBytes of real stack space used "
3036                   "by the process."),
3037                  MappingStrings {"MIF.DMTF|Process Information|001.17"},
3038                  Units ("KiloBytes") ]
3039              uint64 RealStack;
3040                 [Description (
3041                   "The number of KiloBytes of virtual text space used by the "
3042                   "process."),
3043                  MappingStrings {"MIF.DMTF|Process Information|001.18"},
3044                  Units ("KiloBytes") ]
3045              uint64 VirtualText;
3046 chip  1.1       [Description (
3047                   "The number of KiloBytes of virtual data space used by the "
3048                   "process."),
3049                  MappingStrings {"MIF.DMTF|Process Information|001.19"},
3050                  Units ("KiloBytes") ]
3051              uint64 VirtualData;
3052                 [Description (
3053                   "The number of KiloBytes of virtual stack space used by the "
3054                   "process."),
3055                  MappingStrings {"MIF.DMTF|Process Information|001.20"},
3056                  Units ("KiloBytes") ]
3057              uint64 VirtualStack;
3058                 [Description (
3059                   "The number of KiloBytes of virtual space used for memory "
3060                   "mapped files by the process."),
3061                  MappingStrings {"MIF.DMTF|Process Information|001.22"},
3062                  Units ("KiloBytes") ]
3063              uint64 VirtualMemoryMappedFileSize;
3064                 [Description (
3065                   "The number of KiloBytes of shared memory used by the"
3066                   "process."),
3067 chip  1.1        MappingStrings {"MIF.DMTF|Process Information|001.21"},
3068                  Units ("KiloBytes") ]
3069              uint64 VirtualSharedMemory;
3070                 [Description (
3071                   "CPU time of terminated child processes in clock ticks"),
3072                  Units ("Clock Ticks"), Counter]
3073              uint64 CpuTimeDeadChildren;
3074                 [Description (
3075                   "System time of terminated child processes in clock ticks"),
3076                  Units ("Clock Ticks"), Counter]
3077              uint64 SystemTimeDeadChildren;
3078           };
3079           
3080           // ==================================================================
3081           // UnixProcessStatistics
3082           // ================================================================== 
3083              [Association, Version ("2.6.0"), Description ( 
3084                "CIM_UnixProcessStatistics is an association that relates a " 
3085                "CIM_UnixProcess to its StatisticalInformation. ") ]
3086           class CIM_UnixProcessStatistics : CIM_Statistics { 
3087                 [Key, Override ("Element"), Min (1), Max (1), Description ( 
3088 chip  1.1         "The Process for which statistical or metric " 
3089                   "data is defined.") ] 
3090               CIM_UnixProcess REF Element;
3091                 [Key, Override ("Stats"), Weak, Description (
3092                   "The UNIX Process statistical information/object.") ] 
3093               CIM_UnixProcessStatisticalInformation REF Stats; 
3094           };
3095           
3096           // ===================================================================
3097           // UnixThread
3098           // ===================================================================
3099              [Version ("2.6.0"), Description (
3100                "Threads represent the ability to execute units of a Process "
3101                "or task in parallel. A UnixThread inherits from the "
3102                "superclass, CIM_Thread, which is weak to the Process. The "
3103                "values used are defined in sched.h and psched.h.") ]
3104           class CIM_UnixThread : CIM_Thread {
3105                 [Description (
3106                   "Indicates the thread's scheduling policy. Set to \"Other\" "
3107                   "when using OtherSchedPolicy to specifiy additional values. "
3108                   "\"Other\" represents SCHED_OTHER as defined in sched.h."),
3109 chip  1.1        ValueMap {"0", "1", "2", "3"},
3110                  Values {"Unknown", "Other", "SCHED_FIFO", "SCHED_RR"},
3111                  ModelCorrespondence {"CIM_UnixThread.OtherSchedPolicy"} ] 
3112              uint16 SchedPolicy;
3113                 [Description (
3114                   "Indicates the thread's scheduling policy when SchedPolicy "
3115                   "is set to \"Other\"."),
3116                  ModelCorrespondence {"CIM_UnixThread.SchedPolicy"} ] 
3117              string OtherSchedPolicy;
3118                 [Description (
3119                   "Indicates the size of the guard area for a created thread's "
3120                   "stack.") ]
3121              string GuardSize;
3122                 [Description (
3123                   "Indicates the creation state of the thread."),
3124                  ValueMap {"0", "2", "3"},
3125                  Values {"Unknown", "PTHREAD_CREATE_DETACHED", 
3126                   "PTHREAD_CREATE_JOINABLE"} ]
3127              uint16 DetachState;
3128                 [Description (
3129                   "Indicates how the scheduling attributes are to be set."),
3130 chip  1.1        ValueMap {"0", "2", "3"},
3131                  Values {"Unknown", "PTHREAD_INHERIT_SCHED", 
3132                   "PTHREAD_EXPLICIT_SCHED"} ]
3133              uint16 InheritSched;
3134                 [Description (
3135                   "Indicates the contention scope of the thread."),
3136                  ValueMap {"0", "2", "3"},
3137                  Values {"Unknown", "PTHREAD_SCOPE_SYSTEM", 
3138                   "PTHREAD_SCOPE_PROCESS"} ]
3139              uint16 ContentionScope;
3140                 [Description (
3141                   "Indicates the size of storage to be used for the thread's "
3142                   "stack.") ]
3143              string StackSize;
3144                 [Description (
3145                   "Indicates the thread's concurrency level.") ]
3146              uint64 ConcurrencyLevel;
3147                 [Description (
3148                   "Indicates the thread's cancelability state."),
3149                  ValueMap {"0", "2", "3"},
3150                  Values {"Unknown", "PTHREAD_CANCEL_ENABLE", 
3151 chip  1.1         "PTHREAD_CANCEL_DISABLE"} ]
3152              uint16 CancelState;
3153                 [Description (
3154                   "Indicates the thread's cancelability type."),
3155                  ValueMap {"0", "2", "3"},
3156                  Values {"Unknown", "PTHREAD_CANCEL_DEFERRED", 
3157                  "PTHREAD_CANCEL_ASYNCHRONOUS"} ]
3158              uint16 CancelType;
3159           };
3160           
3161           
3162           // ===================================================================
3163           // UnixFile
3164           // ===================================================================
3165              [Version ("2.6.0"), Description (
3166                "The UnixFile class holds properties that are valid for various "
3167                "subclasses of LogicalFile, in a Unix environment. This is "
3168                "defined as a separate and unique class since it is applicable "
3169                "to Unix files, directories, etc. It is associated via a "
3170                "FileIdentity relationship to these subclasses of LogicalFile. "
3171                "Unless this approach of creating and associating a separate "
3172 chip  1.1      "class is used, it is necessary to subclass each of the "
3173                "inheritance hierarchies under LogicalFile, duplicating the "
3174                "properties in this class. The referenced _PC* and _POSIX* "
3175                "constants are defined in unistd.h. Some properties indicate "
3176                "whether the UNIX implementation support a feature such as "
3177                "asynchronous I/O or priority I/O. If supported, sysconf "
3178                "returns the value as defined in the appropriate header file "
3179                "such as unistd.h. If a feature is not supported, then pathconf "
3180                "returns a -1. In this case, the corresponding property should "
3181                "be returned without any value.") ]
3182           class CIM_UnixFile : CIM_LogicalElement {
3183                 [Propagated ("CIM_LogicalFile.CSCreationClassName"),
3184                  Key, MaxLen (256),
3185                  Description ("The scoping ComputerSystem's CreationClassName.") ]
3186              string CSCreationClassName;
3187                 [Propagated ("CIM_LogicalFile.CSName"),
3188                  Key, MaxLen (256),
3189                  Description ("The scoping ComputerSystem's Name.") ]
3190              string CSName;
3191                 [Propagated ("CIM_LogicalFile.FSCreationClassName"), 
3192                  Key, MaxLen (256),
3193 chip  1.1        Description ("The scoping FileSystem's CreationClassName.") ]
3194              string FSCreationClassName;
3195                 [Propagated ("CIM_LogicalFile.FSName"),
3196                  Key, MaxLen (256),
3197                  Description ("The scoping FileSystem's Name.") ]
3198              string FSName;
3199                 [Propagated ("CIM_LogicalFile.CreationClassName"),
3200                  Key, MaxLen (256), Description (
3201                   "The scoping LogicalFile's CreationClassName. ") ]
3202              string LFCreationClassName;    
3203                 [Propagated ("CIM_LogicalFile.Name"), 
3204                  Key, MaxLen (1024), Description (
3205                   "The scoping LogicalFile's Name. ") ]
3206              string LFName;
3207                 [Required, Description (
3208                   "An Identifer that uniquely describes the owner "
3209                   "of this file.") ] 
3210              string UserID;
3211                 [Required, Description (
3212                   "An identifier that describes the group that "
3213                   "owns this file.") ] 
3214 chip  1.1    string GroupID;
3215                 [Description (
3216                   "Indicates restricted deletion for directories, or possible "
3217                   "implementation defined properties for executable files. "
3218                   "For directories this is known as the sticky bit.") ] 
3219              boolean SaveText;
3220                 [Description ("Count of the number of names for this file."),
3221                  Counter ] 
3222              uint64 LinkCount;
3223                 [Description ("File Inode number, as printed by \"ls -i\"."),
3224                  MappingStrings {"UNIX.TOG|ls -i"} ] 
3225              string FileInodeNumber;
3226                 [Description (
3227                   "Indicates whether the associated file has setuid "
3228                   "permissions.") ]
3229              boolean SetUid;
3230                 [Description (
3231                   "Indicates whether the associated file has setgid "
3232                   "permissions.") ]
3233              boolean SetGid;
3234                 [Description (
3235 chip  1.1         "The time that the Inode was last modified. This "
3236                   "includes the Inode creation time, state modification, "
3237                   "and etc.") ]
3238              datetime  LastModifiedInode;
3239                 [Description ("Maximum number of links to a single file. "),
3240                  MinValue (8),
3241                  MappingStrings {"POSIX.TOG|pathconf|_PC_LINK_MAX"} ]
3242              uint64 LinkMax;  
3243                 [Description (
3244                   "Maximum number of bytes in a filename, not "
3245                   "including terminating null."),
3246                  MinValue (14), Units ("Bytes"),
3247                  MappingStrings {"POSIX.TOG|pathconf|_POSIX_NAME_MAX"} ]
3248              uint64 NameMax; 
3249                 [Description (
3250                   "Maximum number of bytes in a pathname, including "
3251                   "the terminating null character. "),
3252                  MinValue (255), Units ("Bytes"),
3253                  MappingStrings {"POSIX.TOG|pathconf|_POSIX_PATH_MAX"} ]
3254              uint64 PathMax;  
3255                 [Description (
3256 chip  1.1         "The use of chown() is restricted to a process with "
3257                   "appropriate privileges. chown() is used to change the "
3258                   "group ID of a file. The group ID can be changed to the "
3259                   "effective group ID or one of its supplementary group IDs. "),
3260                  MappingStrings {"POSIX.TOG|pathconf|_PC_CHOWN_RESTRICTED"} ]
3261              uint64 PosixChownRestricted; 
3262                 [Description (
3263                   "Indicates whether pathname components longer "
3264                   "than NameMax generate an error. "),
3265                  ModelCorrespondence {"CIM_UnixFile.NameMax"},
3266                  MappingStrings {"POSIX.TOG|pathconf|_PC_NO_TRUNC"} ]
3267              uint64 PosixNoTrunc;  
3268                 [Description (
3269                   "Indicates whether asynchronous input or output "
3270                   "operations may be performed for the associated file. "),
3271                  MappingStrings {"POSIX.TOG|pathconf|_PC_ASYNC_IO"} ]
3272              uint64 PosixAsyncIo; 
3273                 [Description (
3274                   "Indicates whether prioritized input or output "
3275                   "operations may be performed for the associated file. "),
3276                  MappingStrings {"POSIX.TOG|pathconf|_PC_PRIO_IO"} ]
3277 chip  1.1    uint64 PosixPrioIo; 
3278                 [Description (
3279                   "Indicates whether synchronised input or output "
3280                   "operations may be performed for the associated file. "),
3281                  MappingStrings {"POSIX.TOG|pathconf|_PC_SYNC_IO"} ]
3282              uint64 PosixSyncIo; 
3283           };
3284           
3285           
3286           // ===================================================================
3287           // FileIdentity
3288           // ===================================================================
3289              [Association, Version ("2.6.0"), Description (
3290                "CIM_FileIdentity indicates that a UnixFile describes Unix-"
3291                "specific aspects of the various subclasses of LogicalFile. "
3292                "The association exists since it forces UnixFile to be "
3293                "weak to (scoped by) the LogicalFile. This is not true in "
3294                "the association's superclass, LogicalIdentity.") ]
3295           class CIM_FileIdentity : CIM_LogicalIdentity {
3296                 [Override ("SystemElement"), Min (1), Max (1), Description (
3297                   "The Logical File.") ]
3298 chip  1.1    CIM_LogicalFile ref SystemElement;
3299                 [Override ("SameElement"), Weak, Max (1), Description (
3300                   "SameElement represents the additional aspects of the "
3301                   "Unix/Linux Logical file.") ]
3302              CIM_UnixFile ref SameElement;
3303           };
3304           
3305            
3306           // ===================================================================
3307           // UnixDirectory
3308           // ===================================================================
3309              [Version ("2.6.0"), Description (
3310                "UnixDirectory is a type of File that logically groups UnixFiles "
3311                "'contained' in it.") ]
3312           class CIM_UnixDirectory : CIM_Directory {
3313                 [Description (
3314                   "Minimum number of bits needed to represent the "
3315                   "maximum size of a Unix file allowed in the specified "
3316                   "directory, as a signed integer value. Thus, a value of 32 "
3317                   "indicates a maximum size of 2**31 bytes."),
3318                  MinValue (32), Units ("Bits"),
3319 chip  1.1        MappingStrings {"POSIX.TOG|pathconf|_PC_FILESIZEBITS"} ]
3320              uint64 FileSizeBits; 
3321           };
3322           
3323           
3324           // ===================================================================
3325           // UnixDeviceFile
3326           // ===================================================================
3327              [Version ("2.6.0"), Description (
3328                "DeviceFile is a special type of LogicalFile that represents a "
3329                "Device. This class is a specialization of DeviceFile for a Unix "
3330                "environment.") ]
3331           class CIM_UnixDeviceFile : CIM_DeviceFile {
3332                 [Description ("The type of device file."),
3333                  ValueMap {"0", "1", "2", "3"},
3334                  Values {"Unknown", "Other", "Block", "Character"},
3335                  ModelCorrespondence {"CIM_UnixDeviceFile.OtherTypeDescription"} ] 
3336              uint16 DeviceFileType;
3337                 [Description (
3338                   "Additional information when the Type property is "
3339                   "set to \"Other\"."),
3340 chip  1.1        ModelCorrespondence {"CIM_UnixDeviceFile.Type"} ] 
3341              string OtherTypeDescription;
3342                 [Required, Description (
3343                   "The device Identifier: this is the st_rdev field "
3344                   "in the stat structure.") ] 
3345              string DeviceId;
3346                 [Description (
3347                   "Additional information provided by the driver. This "
3348                   "property may be null if no information is available, or "
3349                   "a general description of the device when available, e.g. "
3350                   "\"Non-rewind tape streamer\".") ] 
3351              string DeviceDescription;
3352                 [Required, Description ("The Device's Major Id.") ]
3353              string DeviceMajor;
3354                 [Required, Description ("The Device's Minor Id.") ]
3355              string DeviceMinor;
3356           };
3357           
3358           
3359           // ===================================================================
3360           // end of file
3361 chip  1.1 // ===================================================================

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2