1 karl 1.2 // ===================================================================
2 // Title: Device MOF Specification 2.6
3 // Filename: CIM_Device26.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 karl 1.2 // 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 karl 1.2 // ===================================================================
44 // Description: The Device Model extend the management concepts
45 // of a Logical Device. This includes the concepts of
46 // Controllers, Memory, Modems, Ports, Printers,
47 // Processors, Sensors, Storage, Power supplies, fans,
48 // USB, User Devices (Keyboard, Monitor, etc), and Storage
49 // Devices. In addition, the Device Model includes the
50 // modeling concepts for Record Logs, System Resources,
51 // and Redundancy.
52 //
53 // The object classes below are listed in an order that
54 // avoids forward references. Required objects, defined
55 // by other working groups, are omitted.
56 // ==================================================================
57 // Date: 04/14/1998 - Version 2.0
58 // 06/23/1998 - V2.0 Errata
59 // - CR222 References to the "Resource" component in
60 // CIM_ComputerSystemResource association and its
61 // subclasses incorrect - Should be PartComponent
62 // - CR225 Antecedent reference should be CIM_CurrentSensor
63 // in the AssociatedSupplyCurrentSensor relationship
64 karl 1.2 // - CR226 Add ArrayType("Indexed") and update descriptions
65 // for CIM_NetworkAdapter.NetworkAddresses and its
66 // overrides
67 // - CR227 UninterruptablePowerSupply should be
68 // Uninterruptible
69 // - CR235 Format for specifying propagated value uses
70 // period, not colon
71 // Date: 09/29/1998 - Version 2.1
72 // - CR236 Add ModelCorrespondence qualifier to properties
73 // of CIM_MonitorResolution
74 // - CR243 Add AutoSense and MaxSpeed properties to
75 // CIM_NetworkAdapter
76 // - CR244a Extend the enumeration of CIM_Processor.Family,
77 // Add a new Processor property, OtherFamilyDescription
78 // - CR245 Add CIM_AllocatedDMA association
79 // - CR254 Add CIM_DeviceErrorCounts object and related
80 // association, CIM_ErrorCountersForDevice
81 // - CR259 Add DesiredSpeed property and SetSpeed method
82 // to CIM_Fan
83 // - CR261a Add two properties to CIM_Battery, ExpectedLife
84 // and MaxRechargeTime
85 karl 1.2 // - CR265 Address "cleaning" related to a CIM_Media
86 // AccessDevice
87 // - CR266 Add CIM_AlarmDevice and association
88 // - CR274 Remove repetition of the Values array from
89 // property Descriptions
90 // - CR275 Update DMI Master.MIF mappings
91 // - CR288a Add AssociatedProcessorMemory relationship
92 // - CR292 Add ModelCorrespondence to 'linked' properties
93 // - CR294 Remove key-qualifier from 'StartingAddress' in
94 // CIM_BIOSLoadedInNV
95 // Date: 10/14/1998 - Version 2.1.1
96 // - Missed CR271a, Add Stepping property to CIM_Processor
97 // Date: 06/11/1999 - Version 2.2
98 // - CR297 Add Sparc processors to the enum, Processor.Family
99 // - CR308a Create DeviceIdentity relationship
100 // - CR316 Add OrderIndex to BasedOn
101 // - CR318c Add processors to the enum, Processor.Family
102 // - CR325 Load balancing (Add LoadBalancedGroup boolean to
103 // ExtraCapacityGroup, Create new NetworkAdapter
104 // RedundancyComponent and NetworkVirtualAdapter
105 // associations)
106 karl 1.2 // - CR326 Add properties, LoadedOnDevice and UpgradeableOn
107 // Device to DeviceSoftware
108 // - CR327b Update the PCIController class and add new
109 // subclasses, PCIDevice and PCIBridge
110 // - CR328 New MappingStrings, Descriptions and properties in
111 // SCSIController and SCSIInterface
112 // - CR329a Add to the MediaAccessDevice Capabilities array,
113 // (enum) / Also, add a MediaIsLocked property and
114 // LockMedia method / Create subclass, DVDDevice
115 // - CR330a Add properties and methods to AlarmDevice
116 // - CR331 Create IDE, PCMCIA and InfraredController
117 // subclasses of Controller / Add to the enum for
118 // Controller.ProtocolSupported
119 // - CR332 Add PartitionType and PartitionSubtype properties
120 // to DiskPartition / Update class Description
121 // - CR333a Extensions to and clarifications of StorageExtent
122 // - CR334 Clarify the StorageRedundancyGroup.TypeOfAlgorithm
123 // enum and add properties to the class / Create an
124 // ExtentRedundancyComponent association
125 // - CR335a Updates to the Printer object
126 // - CR336 New Printer-related classes and associations
127 karl 1.2 // - CR341 Create new Modem classes, properties and
128 // associations
129 // - CR342 Create OOBAlert and WakeUpServices and
130 // associations to NetworkAdapter
131 // - CR343 Create new NetworkAdapter classes, properties
132 // and associations
133 // - CR344 Changes to POTSModem and movement of some
134 // properties up to CIM_Modem
135 // - CR345b Changes to Sensor and its subclasses
136 // - CR346 Add WatchDog object
137 // - CR347 Add a UniqueID property to Processor
138 // - CR348 Create AGPVideoController and AGPSoftware
139 // Feature classes
140 // - CR351 Add TimeOfDeviceReset to ControlledBy
141 // - CR355a Use Values-ValueMap qualifiers in DeviceError
142 // Counts.ResetCounter and AlarmDevice.SetUrgency /
143 // Update the method descriptions indicating that
144 // Values-ValueMap qualifiers can be defined for
145 // return codes
146 // - CR356a Keys on all associations either explicitly or
147 // via inheritance
148 karl 1.2 // - CR357 Remove company references
149 // - CR360 Add VendorID to ConnectionBasedModem
150 // - CR366 Clarify the Description for ResidesOnExtent
151 // - CR372 Create LogicalPort and PortOnDevice
152 // - CR373 Define the USB Model
153 // - CR375 Update descriptions and enumerations / Add new
154 // classes - SuppliesPower, VideoControllerResolution,
155 // VideoSetting / Create new properties - IRQ.Hardware,
156 // Security in MediaAccessDevice, ParallelController and
157 // SerialController, VideoController.CurrentNumberOf
158 // Colors, ScreenHeight and Width in DesktopMonitor,
159 // NetworkAdapter.FullDuplex, Processor.CPUStatus,
160 // MemoryMappedIO.MappedResource and 3 'storage is
161 // writeable' properties in NonVolatileStorage
162 // - CR377 Add "video processor" to Processor.Family
163 // - CR379a Update the DMI MappingStrings
164 // - CR380a Define the Fibre Channel Adapter and Port models
165 // - CR381 Update MediaAccessDevice's enumerations and add new
166 // properties - LastCleaned, MaxAccessTime,
167 // UncompressedDataRate, LoadTime, UnloadTime / Create
168 // MediaPresent.FixedMedia / Update StorageExtent's
169 karl 1.2 // enumerations and add a SequentialAccess property /
170 // Create TapeDrive.MaxRewindTime
171 // - CR382 Create a DiskGroup class and its supporting
172 // associations
173 // - CR384 Update Processor.UpgradeMethod / Create an
174 // ESCONController
175 // - CR393a Define the Tape Library Device Model
176 // - CR394 Update Descriptions / Add VolumeSet.VolumeStatus
177 // and properties to VolumeSetBasedOnPSExtent (from
178 // CR333a)
179 // - CR399 Remove SubmitsRequest from CR336
180 // - CR405 Add Counter and Gauge qualifiers as appropriate
181 // - CR406 Update PartitionSubtype enumeration from CR332
182 // - CR407 Add DoorAccessToPhysicalElement and Changer.
183 // AuditInProgress
184 // - CR408 Update the Description for StorageExtent.
185 // ConsumableBlocks (from CR333a)
186 // - CR410 Updates to the Fibre Channel Model submitted in
187 // CR380a
188 // - CR414 Add "Mouse-Optical Sensor" to PointingDevice.
189 // PointingType
190 karl 1.2 // - CR415 Remove OrderOfQueue from QueueForPrintService
191 // (added in CR336)
192 // - CR417a Add "N/A" to CacheMemory.Level
193 // - CR418a Add to the enum for CacheMemory.Read and Write
194 // Policy / Update Descriptions related to Storage
195 // Volume (from CR333a) / Change the association,
196 // LogicalDiskBasedOnSoftwareVolume (CR333a) to
197 // LogicalDiskBasedOnVolume
198 // - CR420 Miscellaneous syntax and semantic issues
199 // - CR421 Defer including some properties of Unimodem from
200 // CR341
201 // Date: 07/06/1999 - Version 2.2.1
202 // - CR422 Cut & paste errors (Remove Association qualifier
203 // from LabelReader, MediaAccess and PickerStatInfo;
204 // Add Association qualifier to CIM_VideoSetting)
205 // - CR423 Locale should be specified as en_US
206 // - CR424 Add CIM_ to the class name for PCIDevice and
207 // PCIBridge / Add Overrides to xxxInDiskGroup
208 // aggregations / Update the Descriptions for Cache
209 // Memory Read and WritePolicy
210 // - CR425 Update the DMI MappingStrings using the June
211 karl 1.2 // release of the master.mif
212 // Date: 07/27/1999 - Version 2.2.2
213 // - CR428 Remove underscores from two properties of
214 // PCIDevice
215 // Date: 02/18/2000 - Version 2.3
216 // - CR429 Modify Description of UserDataStripeDepth in
217 // CIM_ProtectedSpaceExtent
218 // - CR431 Update MappingStrings
219 // - CR432 Create subclasses of MemoryMappedIO
220 // - CR433 Add new properties and enums from Master.MIF and new
221 // ModelCorrespondences
222 // - CR436 Add a place holder for SSA Controller
223 // - CR438 Change Intel Processor types to meet Intel legal reqmts
224 // in CIM_Processor.Family
225 // - CR445e Modify the SpareGroup class to add a Failover method
226 // - CR449 Add Itanium processors to CIM_Processor.Family
227 // - CR452a Updates to FibrePort
228 // - CR457 Miscellaneous StorageExtent and MediaAccessDevice
229 // clarifications
230 // - CR460a Add Counter, OctetString and Gauge qualifiers
231 // - CR461 Subclass from CIM_ManagedElement StorageError
232 karl 1.2 // - CR463b Define the necessary classes and associations to
233 // support Message Logs
234 // - CR471 Recommended qualifier for
235 // CIM_NumericSensor.CurrentReading
236 // - CR474 Add Processor types to CIM_Processor.Family
237 // - CR475 Add Processor types to CIM_Processor.Family
238 // Date: 06/09/2000 - Version 2.4
239 // - CR479 Miscellaneous Device Model Additions to the Storage
240 // and StorageLibrary Classes
241 // 1. Add a new property, CellLocation, to the PickerElement
242 // class.
243 // 2. Add to the enumeration for LabelReader.SupportedFormats.
244 // 3. Add a new property, Extendable, to TapePartition
245 // 4. Add a new property, Direction, to BOTH LimitedAccessPort
246 // and InterLibraryPort
247 // 5. Add six new properties to MediaAccessDevice.
248 // 6. Define a new association, AssociatedLabelReader
249 // 7. Update the subclassing of PickerLabelReader and
250 // AccessLabelReader to use the association defined in #6.
251 // 8. Update the description for LimitedAccessPort.
252 // - CR486 Further updates to the Storage and Storage Library
253 karl 1.2 // Models
254 // 1. Add seek and recovered R/W stats to the class,
255 // MediaAccessStatInfo
256 // 2. Due to the changes in #1, must update the ResetCounters
257 // method in MediaAccessStatInfo.
258 // 3. Create a new superclass of TapePartition, DiskPartition,
259 // and MediaPartition
260 // 4. Change the subclassing of TapePartition and DiskPartition
261 // from CIM_StorageExtent to CIM_MediaPartition.
262 // 5. Remove the Bootable boolean from DiskPartition since it
263 // is now found in the MediaPartition superclass.
264 // - CR494 Add to the enumerations in CIM_CacheMemory.Associativity
265 // Date: 07/14/00 - Version 2.4
266 // - CR513a Move Extendable Boolean up to the MediaPartition
267 // superclass
268 // - CR519 ERRATA CIM 2.3: correct ValueMap syntax errors in
269 // CIM_Processor.Family
270 // Date: 12/01/2000 Version 2.5
271 // - CR527 Add AMD Duron processors to CIM_Processor.Family
272 // - CR528 Add Socket 423 and Socket A (Socket 462) enumerations
273 // to CIM_Processor.UpgradeMethod
274 karl 1.2 // - CR530 Modify the enumerations in CIM_Processor.Family
275 // - CR531 Add Transmeta Crusoe processors's names in
276 // CIM_Processor.Family
277 // - CR534 Update MappingStrings Qualifiers to stay in sync with
278 // updates to the MASTER.MIF.
279 // - CR535 Add "Service Processor" to CIM_Watchdog.MonitoredEntity
280 // and CIM_Watchdog.MonitoredEntityOnLastExpiration
281 // enumeration.
282 // Date: 05/23/2001 - Version 2.5 Final
283 // - Reordered classes to match Visio
284 // - CR606 Add the Aggregate qualifier where missing:
285 // PrintJobFile, NetworkAdapterRedundancyComponent
286 // Date: 05/23/2001 - Version 2.6
287 // - CR584 Add PresenceHeartbeatCapable and EnablePresenceHeartbeat
288 // properties to CIM_OOBAlertService
289 // - CR590 Fix comma placement in the mapping string for
290 // StorageExtent.BlockSize
291 // - CR601 Add a enumeration value to the CIM_Processor.Family
292 // property
293 // - CR602 Add a pragma to include the new IB class definition
294 // found in CIM_Device26_Add.mof
295 karl 1.2 // Date: 03/10/2002 - Version 2.6 Final
296 // - CR733 Specify "IN (false)" for all out only parameters.
297 // - CR746 Add the version qualifier to all classes.
298 // - CR828 ERRATA Update Processor.Family enumeration to match
299 // the enumeration in Application model for the
300 // ArchitectureCheck.ArchitectureType property.
301 // - Fixed lines that exceeded 72 characters.
302 // ===================================================================
303
304 // ===================================================================
305 // Generic Pragmas
306 // ===================================================================
307 #pragma locale ("en_US")
308
309 // ===================================================================
310 // UML Page 1 - Logical Device
311 // ===================================================================
312 // ===================================================================
313 // DeviceConnection
314 // ===================================================================
315 [Association,
316 karl 1.2 Version ("2.6.0"), Description (
317 "The DeviceConnection relationship indicates that two or more "
318 "Device are connected together.") ]
319 class CIM_DeviceConnection : CIM_Dependency {
320
321 [Override ("Antecedent"),
322 Description ("A LogicalDevice.") ]
323 CIM_LogicalDevice REF Antecedent;
324
325 [Override ("Dependent"),
326 Description (
327 "A second LogicalDevice connected to the Antecedent Device.") ]
328 CIM_LogicalDevice REF Dependent;
329
330 [Description (
331 "When several bus and/or connection speeds are possible, the "
332 "NegotiatedSpeed property defines the one in use between the "
333 "Devices. Speed is specified in bits per second. If "
334 "connection or bus speeds are not negotiated, or if this "
335 "information is not available/important to Device management, "
336 "the property should be set to 0."),
337 karl 1.2 Units ("Bits per Second"),
338 MappingStrings {"MIF.DMTF|Bus Port Association|001.2"} ]
339 uint64 NegotiatedSpeed;
340
341 [Description (
342 "When several bus and/or connection data widths are possible, "
343 "the NegotiatedDataWidth property defines the one in use "
344 "between the Devices. Data width is specified in bits. If "
345 "data width is not negotiated, or if this information is not "
346 "available/important to Device management, the property should "
347 "be set to 0."),
348 Units ("Bits"),
349 MappingStrings {"MIF.DMTF|Bus Port Association|001.3"} ]
350 uint32 NegotiatedDataWidth;
351 };
352
353
354 // ===================================================================
355 // DeviceIdentity
356 // ===================================================================
357 [Association,
358 karl 1.2 Version ("2.6.0"), Description (
359 "CIM_DeviceIdentity indicates that two LogicalDevices "
360 "represent different aspects of the same underlying entity. "
361 "This association refines the CIM_LogicalIdentity superclass "
362 "by restricting it to the Device level and defining its use in "
363 "well understood scenarios. One of these scenarios is to "
364 "represent that a Device is both a 'bus' entity and a "
365 "'functional' entity. For example, a Device could be both a PCI "
366 "Device (or a USB Device), as well as a CIM_Keyboard. The other "
367 "scenario is where a Device plays multiple functional roles "
368 "that can not be distinguished by their hardware realization "
369 "alone. For example, a Fibre Channel adapter might have aspects "
370 "of both a NetworkAdapter and a SCSIController.") ]
371 class CIM_DeviceIdentity: CIM_LogicalIdentity {
372 [Override ("SystemElement"),
373 Description (
374 "SystemElement represents one aspect of the Device.") ]
375 CIM_LogicalDevice ref SystemElement;
376 [Override ("SameElement"),
377 Description (
378 "SameElement represents an alternate aspect of "
379 karl 1.2 "the System entity.") ]
380 CIM_LogicalDevice ref SameElement;
381 };
382
383
384 // ===================================================================
385 // DeviceServiceImplementation
386 // ===================================================================
387 [Association, Version ("2.6.0"), Description (
388 "An association between a Service and how it is implemented. "
389 "The cardinality of this association is many-to-many. "
390 "A Service may be provided by more than one Logical"
391 "Device, operating in conjunction. And, any Device may "
392 "provide more than one Service. When multiple Devices are "
393 "associated with a single Service, it is assumed that these "
394 "elements operate in conjunction to provide the Service. If "
395 "different implementations of a Service exist, each of these "
396 "implementations would result in individual instantiations "
397 "of the Service object. These individual instantiations "
398 "would then have associations to the unique implementations.") ]
399 class CIM_DeviceServiceImplementation : CIM_Dependency {
400 karl 1.2
401 [Override ("Antecedent"),
402 Description ("The LogicalDevice.") ]
403 CIM_LogicalDevice REF Antecedent;
404
405 [Override ("Dependent"),
406 Description ("The Service implemented using the LogicalDevice.") ]
407 CIM_Service REF Dependent;
408 };
409
410
411 // ===================================================================
412 // DeviceSAPImplementation
413 // ===================================================================
414 [Association, Version ("2.6.0"), Description (
415 "An association between a ServiceAccessPoint and how "
416 "it is implemented. The cardinality of this association "
417 "is many-to-many. A SAP may be provided by more "
418 "than one LogicalDevice, operating in conjunction. And, any "
419 "Device may provide more than one ServiceAccessPoint. "
420 "When many LogicalDevices are associated with a single "
421 karl 1.2 "SAP, it is assumed that these elements operate in "
422 "conjunction to provide the AccessPoint. If different "
423 "implementations of a SAP exist, each of these implementations "
424 "would result in individual instantiations of the "
425 "ServiceAccessPoint object. These individual instantiations "
426 "would then have associations to the unique implementations.") ]
427 class CIM_DeviceSAPImplementation : CIM_Dependency {
428 [Override ("Antecedent"),
429 Description ("The LogicalDevice.") ]
430 CIM_LogicalDevice REF Antecedent;
431 [Override ("Dependent"),
432 Description (
433 "The ServiceAccessPoint implemented using the LogicalDevice.") ]
434 CIM_ServiceAccessPoint REF Dependent;
435 };
436
437
438 // ===================================================================
439 // UML Page 2 - Cooling, Power, & Battery
440 // ===================================================================
441 // ===================================================================
442 karl 1.2 // CoolingDevice
443 // ===================================================================
444 [Version ("2.6.0"), Description (
445 "Capabilities and management of CoolingDevices.") ]
446 class CIM_CoolingDevice : CIM_LogicalDevice {
447
448 [Description (
449 "ActiveCooling is a boolean indicating that the Cooling"
450 "Device provides active (as opposed to passive) cooling.") ]
451 boolean ActiveCooling;
452 };
453
454
455 // ===================================================================
456 // Refrigeration
457 // ===================================================================
458 [Version ("2.6.0"), Description (
459 "Capabilities and management of a Refrigeration CoolingDevice.") ]
460 class CIM_Refrigeration : CIM_CoolingDevice {
461 };
462
463 karl 1.2
464 // ===================================================================
465 // HeatPipe
466 // ===================================================================
467 [Version ("2.6.0"), Description (
468 "Capabilities and management of a HeatPipe CoolingDevice.") ]
469 class CIM_HeatPipe : CIM_CoolingDevice {
470 };
471
472
473 // ===================================================================
474 // Fan
475 // ===================================================================
476 [Version ("2.6.0"), Description (
477 "Capabilities and management of a Fan CoolingDevice.") ]
478 class CIM_Fan : CIM_CoolingDevice {
479
480 [Description (
481 "Indication of whether the fan supports variable speeds.") ]
482 boolean VariableSpeed;
483
484 karl 1.2 [Description (
485 "DesiredSpeed is the currently requested fan speed, "
486 "defined in Revolutions per Minute, when a variable speed fan "
487 "is supported (VariableSpeed boolean = TRUE). The current "
488 "speed is determined via a sensor (CIM_Tachometer) that is "
489 "associated with the Fan using the CIM_AssociatedSensor "
490 "relationship."),
491 Units ("Revolutions per Minute") ]
492 uint64 DesiredSpeed;
493
494 [Description (
495 "Requests that the Fan speed be set to the "
496 "value specified in the method's input parameter. The return "
497 "value should be 0 if the request was successfully executed, "
498 "1 if the request is not supported and some other value if an "
499 "error occurred. In a subclass, the set of possible "
500 "return codes could be specified, using a ValueMap qualifier "
501 "on the method. The strings to which the ValueMap contents "
502 "are 'translated' may also be specified in the "
503 "subclass as a Values array qualifier.") ]
504 uint32 SetSpeed (
505 karl 1.2
506 [IN] uint64 DesiredSpeed);
507 };
508
509
510 // ===================================================================
511 // AssociatedCooling
512 // ===================================================================
513 [Association, Version ("2.6.0"), Description (
514 "Many Devices, such as processors or power supplies, require "
515 "their own cooling devices. This association indicates where "
516 "fans or other CoolingDevices are specific to a Device, "
517 "versus providing enclosure or cabinet cooling.") ]
518 class CIM_AssociatedCooling : CIM_Dependency {
519
520 [Override ("Antecedent"),
521 Description ("The CoolingDevice.") ]
522 CIM_CoolingDevice REF Antecedent;
523
524 [Override ("Dependent"),
525 Description ("The LogicalDevice being cooled.") ]
526 karl 1.2 CIM_LogicalDevice REF Dependent;
527 };
528
529
530 // ===================================================================
531 // Battery
532 // ===================================================================
533 [Version ("2.6.0"), Description (
534 "Capabilities and management of the Battery LogicalDevice. "
535 "This class applies to both batteries in Laptop Systems and "
536 "other internal/external batteries, such as used in, "
537 "or as UPSs.") ]
538 class CIM_Battery : CIM_LogicalDevice {
539
540 [Description (
541 "Description of the Battery's charge status. Values such "
542 "as \"Fully Charged\" (value=3) or \"Partially Charged\" "
543 "(11) can be specified. The value, 10, is "
544 "not valid in the CIM Schema since in DMI it represents "
545 "that no battery is installed. In this case, this object "
546 "should not be instantiated."),
547 karl 1.2 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
548 "11"},
549 Values {"Other", "Unknown", "Fully Charged",
550 "Low", "Critical", "Charging", "Charging and High",
551 "Charging and Low", "Charging and Critical", "Undefined",
552 "Partially Charged"},
553 MappingStrings {"MIF.DMTF|Portable Battery|003"} ]
554 uint16 BatteryStatus;
555
556 [Description (
557 "TimeOnBattery indicates the elapsed time in seconds "
558 "since the ComputerSystem, UPS, ... last switched to "
559 "battery power, or the time since the System or UPS "
560 "was last restarted, whichever is less. Zero shall "
561 "be returned if the Battery is 'on line'."),
562 Units ("Seconds") ]
563 uint32 TimeOnBattery;
564
565 [Description (
566 "EstimatedRunTime is an estimate in minutes of the "
567 "time to battery charge depletion under the present "
568 karl 1.2 "load conditions if the utility power is off, or lost "
569 "and remains off, or a Laptop is disconnected from a "
570 "power source."),
571 Units ("Minutes"),
572 MappingStrings {"MIF.DMTF|Portable Battery|003"} ]
573 uint32 EstimatedRunTime;
574
575 [Gauge, Description (
576 "An estimate of the percentage of full charge remaining."),
577 Units ("Percent") ]
578 uint16 EstimatedChargeRemaining;
579
580 [Description (
581 "An enumeration that describes the Battery's chemistry."),
582 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8"},
583 Values {"Other", "Unknown", "Lead Acid", "Nickel Cadmium",
584 "Nickel Metal Hydride", "Lithium-ion", "Zinc air",
585 "Lithium Polymer"},
586 MappingStrings {"MIF.DMTF|Portable Battery|003"} ]
587 uint16 Chemistry;
588
589 karl 1.2 [Description (
590 "The design capacity of the battery in mWatt-hours. "
591 "If this property is not supported, enter 0."),
592 Units ("MilliWattHours"),
593 MappingStrings {"MIF.DMTF|Portable Battery|003"} ]
594 uint32 DesignCapacity;
595
596 [Description (
597 "The full charge capacity of the battery in mWatt-hours. "
598 "Comparison of this value to the Battery DesignCapacity "
599 "determines when the Battery requires replacement. A "
600 "Battery's end of life is typically when the FullCharge"
601 "Capacity falls below 80% of the DesignCapacity. "
602 "If this property is not supported, enter 0."),
603 Units ("MilliWattHours"),
604 MappingStrings {"MIF.DMTF|Portable Battery|003"} ]
605 uint32 FullChargeCapacity;
606
607 [Description (
608 "The design voltage of the battery in mVolts. If "
609 "this attribute is not supported, enter 0."),
610 karl 1.2 Units ("MilliVolts"),
611 MappingStrings {"MIF.DMTF|Portable Battery|003"} ]
612 uint64 DesignVoltage;
613
614 [MaxLen (64), Description (
615 "The Smart Battery Data Specification version number "
616 "supported by this Battery. If the Battery does not "
617 "support this function, the value should be left blank."),
618 MappingStrings {"MIF.DMTF|Portable Battery|003"} ]
619 string SmartBatteryVersion;
620
621 [Description (
622 "The remaining time to charge the battery fully in minutes "
623 "at the current charging rate and usage."),
624 Units ("Minutes"),
625 MappingStrings {"MIF.DMTF|Portable Battery|003"} ]
626 uint32 TimeToFullCharge;
627 [Description (
628 "Indicates the Battery's expected lifetime in minutes, "
629 "assuming that the Battery is fully charged. This property "
630 "represents the total expected life of the Battery, not its "
631 karl 1.2 "current remaining life, which is indicated by the "
632 "EstimatedRunTime property. "),
633 Units ("Minutes") ]
634 uint32 ExpectedLife;
635
636 [Description (
637 "MaxRechargeTime indicates the maximum time, in minutes, "
638 "to fully charge the Battery. This property represents the "
639 "time to recharge a fully depleted Battery, not the current "
640 "remaining charging time, which is indicated in the "
641 "TimeToFullCharge property. "),
642 Units ("Minutes") ]
643 uint32 MaxRechargeTime;
644 };
645
646
647 // ===================================================================
648 // AssociatedBattery
649 // ===================================================================
650 [Association, Version ("2.6.0"), Description (
651 "A LogicalDevice may use or require one or more Batteries. This "
652 karl 1.2 "relationship is described by the AssociatedBattery dependency. "
653 "It is also possible to model the individual Batteries that "
654 "comprise a UPS, using this association.") ]
655 class CIM_AssociatedBattery : CIM_Dependency {
656
657 [Override ("Antecedent"),
658 Description ("The Battery.") ]
659 CIM_Battery REF Antecedent;
660
661 [Override ("Dependent"),
662 Description (
663 "The LogicalDevice needing or associated with the Battery.") ]
664 CIM_LogicalDevice REF Dependent;
665 };
666
667
668 // ===================================================================
669 // PowerSupply
670 // ===================================================================
671 [Version ("2.6.0"), Description (
672 "Capabilities and management of the PowerSupply LogicalDevice.") ]
673 karl 1.2 class CIM_PowerSupply : CIM_LogicalDevice {
674
675 [Description (
676 "Boolean indicating that the PowerSupply is a switching "
677 "(vs linear) supply.") ]
678 boolean IsSwitchingSupply;
679
680 [Description (
681 "The low voltage of Input Voltage Range 1 for this Power"
682 "Supply, in millivolts. A value of 0 denotes 'unknown'."),
683 Units ("MilliVolts"),
684 MappingStrings {"MIF.DMTF|Power Supply|004"} ]
685 uint32 Range1InputVoltageLow;
686
687 [Description (
688 "The high voltage of Input Voltage Range 1 for this Power"
689 "Supply, in millivolts. A value of 0 denotes 'unknown'."),
690 Units ("MilliVolts"),
691 MappingStrings {"MIF.DMTF|Power Supply|004"} ]
692 uint32 Range1InputVoltageHigh;
693
694 karl 1.2 [Description (
695 "The frequency (in Hertz) at the low end of this Power"
696 "Supply's Input Frequency Range 1. A value of zero "
697 "implies DC."),
698 Units ("Hertz"),
699 MappingStrings {"MIF.DMTF|Power Supply|004"} ]
700 uint32 Range1InputFrequencyLow;
701
702 [Description (
703 "The frequency (in Hertz) at the high end of this Power"
704 "Supply's Input Frequency Range 1. A value of zero "
705 "implies DC."),
706 Units ("Hertz"),
707 MappingStrings {"MIF.DMTF|Power Supply|004"} ]
708 uint32 Range1InputFrequencyHigh;
709
710 [Description (
711 "The low voltage of Input Voltage Range 2 for this Power"
712 "Supply, in millivolts. A value of 0 denotes 'unknown'."),
713 Units ("MilliVolts"),
714 MappingStrings {"MIF.DMTF|Power Supply|004"} ]
715 karl 1.2 uint32 Range2InputVoltageLow;
716
717 [Description (
718 "The high voltage of Input Voltage Range 2 for this Power"
719 "Supply, in millivolts. A value of 0 denotes 'unknown'."),
720 Units ("MilliVolts"),
721 MappingStrings {"MIF.DMTF|Power Supply|004"} ]
722 uint32 Range2InputVoltageHigh;
723
724 [Description (
725 "The frequency (in Hertz) at the low end of this Power"
726 "Supply's Input Frequency Range 2. A value of zero "
727 "implies DC."),
728 Units ("Hertz"),
729 MappingStrings {"MIF.DMTF|Power Supply|004"} ]
730 uint32 Range2InputFrequencyLow;
731
732 [Description (
733 "The frequency (in Hertz) at the high end of this Power"
734 "Supply's Input Frequency Range 2. A value of zero "
735 "implies DC."),
736 karl 1.2 Units ("Hertz"),
737 MappingStrings {"MIF.DMTF|Power Supply|004"} ]
738 uint32 Range2InputFrequencyHigh;
739
740 [Description (
741 "ActiveInputVoltage indicates which input voltage range is "
742 "currently in use. Range 1, 2 or both can be specified "
743 "using the values 3, 4 or 5, respectively. If the Supply "
744 "is not currently drawing power, the value 6 (\"Neither\") "
745 "can be specified. This information is necessary in the "
746 "case of a UPS, a subclass of PowerSupply."),
747 ValueMap {"1", "2", "3", "4", "5", "6"},
748 Values {"Other", "Unknown", "Range 1", "Range 2", "Both",
749 "Neither"},
750 MappingStrings {"MIF.DMTF|Power Supply|004"} ]
751 uint16 ActiveInputVoltage;
752
753 [Description (
754 "TypeOfRangeSwitching describes the kind of input voltage "
755 "range switching implemented in this PowerSupply. For "
756 "example, autoswitching can be specified (value=4)."),
757 karl 1.2 ValueMap {"1", "2", "3", "4", "5", "6"},
758 Values {"Other", "Unknown", "Manual", "Autoswitch",
759 "Wide Range", "Not Applicable"},
760 MappingStrings {"MIF.DMTF|Power Supply|004"} ]
761 uint16 TypeOfRangeSwitching;
762
763 [Description (
764 "Represents the total output power of the PowerSupply in "
765 "milliWatts. 0 denotes 'unknown'."),
766 Units ("MilliWatts"),
767 MappingStrings {"MIF.DMTF|Power Supply|004"} ]
768 uint32 TotalOutputPower;
769 };
770
771
772 // ===================================================================
773 // SuppliesPower
774 // ===================================================================
775 [Association, Version ("2.6.0"), Description (
776 "The SuppliesPower relationship indicates that a Device is in "
777 "the power domain of the referenced PowerSupply or UPS. "
778 karl 1.2 "It indicates which Device(s) are dependent on the PowerSupply, "
779 "and hence, which Devices are affected if the Supply is lost.") ]
780 class CIM_SuppliesPower : CIM_Dependency {
781
782 [Override ("Antecedent"),
783 Description ("The Supply providing power.") ]
784 CIM_PowerSupply REF Antecedent;
785
786 [Override ("Dependent"),
787 Description (
788 "A LogicalDevice in the power domain of the Supply.") ]
789 CIM_LogicalDevice REF Dependent;
790 };
791
792
793 // ===================================================================
794 // UninterruptiblePowerSupply
795 // ===================================================================
796 [Version ("2.6.0"), Description (
797 "Capabilities and management of an UninterruptiblePowerSupply. "
798 "The properties of the UPS Device indicate when incoming power "
799 karl 1.2 "is trimmed or boosted, and the aggregated information of the "
800 "batteries, generators, etc. that comprise the Device. These "
801 "individual components (for example, multiple batteries) can "
802 "also be independently modeled and associated with the UPS.") ]
803 class CIM_UninterruptiblePowerSupply : CIM_PowerSupply {
804
805 [Override ("Range1InputVoltageLow"), Description (
806 "If the voltage (in millivolts) drops below the value "
807 "specified by Range1InputVoltageLow, the UPS will compensate "
808 "by boosting the voltage using its power source(s). A value "
809 "of 0 indicates that the voltage at which boosting occurs "
810 "is 'unknown'."),
811 Units ("MilliVolts") ]
812 uint32 Range1InputVoltageLow;
813
814 [Override ("Range1InputVoltageHigh"), Description (
815 "If the voltage (in millivolts) rises above the value "
816 "specified by Range1InputVoltageHigh, the UPS will compensate "
817 "by trimming the voltage. A value of 0 indicates that the "
818 "voltage at which trimming occurs is 'unknown'."),
819 Units ("MilliVolts") ]
820 karl 1.2 uint32 Range1InputVoltageHigh;
821
822 [Override ("Range2InputVoltageLow"), Description (
823 "If the voltage (in millivolts) drops below the value "
824 "specified by Range2InputVoltageLow, the UPS will compensate "
825 "by boosting the voltage using its power source(s). A value "
826 "of 0 indicates that the voltage at which boosting occurs "
827 "is 'unknown'."),
828 Units ("MilliVolts") ]
829 uint32 Range2InputVoltageLow;
830
831 [Override ("Range2InputVoltageHigh"), Description (
832 "If the voltage (in millivolts) rises above the value "
833 "specified by Range2InputVoltageHigh, the UPS will compensate "
834 "by trimming the voltage. A value of 0 indicates that the "
835 "voltage at which trimming occurs is 'unknown'."),
836 Units ("MilliVolts") ]
837 uint32 Range2InputVoltageHigh;
838
839 [Description (
840 "The indication of the capacity remaining in the UPS' "
841 karl 1.2 "batteries, generator, ... A value of \"Normal\" (2) "
842 "indicates that the remaining estimated minutes of run-time "
843 "is greater than the UPS' defined 'low power' state "
844 "(typically two minutes). A value of \"Low\" (3) indicates "
845 "that the remaining estimated minutes of run-time is less "
846 "than or equal to the UPS' defined 'low power' state. A "
847 "value of \"Depleted\" (4) indicates that the "
848 "UPS will be unable to sustain the present load when and if "
849 "the utility power is lost (including the possibility that "
850 "the utility power is currently absent)."),
851 ValueMap {"1", "2", "3", "4"},
852 Values {"Unknown", "Normal", "Low", "Depleted"},
853 MappingStrings {"MIF.DMTF|UPS Battery|001.1"} ]
854 uint16 RemainingCapacityStatus;
855
856 [Description (
857 "TimeOnBackup indicates the elapsed time in seconds "
858 "since the UPS last switched to battery power, generator, ... "
859 "Or, the time since the UPS was last restarted, whichever is "
860 "less. Zero shall be returned if the UPS is 'on line'."),
861 Units ("Seconds"),
862 karl 1.2 MappingStrings {"MIF.DMTF|UPS Battery|001.2"} ]
863 uint32 TimeOnBackup;
864
865 [Description (
866 "EstimatedRunTime is an estimate in minutes of the time to "
867 "battery, generator, ... depletion under the present load "
868 "conditions if the utility power is off, or lost and remains "
869 "off."),
870 Units ("Minutes"),
871 MappingStrings {"MIF.DMTF|UPS Battery|001.3"} ]
872 uint32 EstimatedRunTime;
873
874 [Gauge, Description (
875 "An estimate of the percentage of full charge remaining for "
876 "a UPS (that uses battery technology)."),
877 Units ("Percent"),
878 MappingStrings {"MIF.DMTF|UPS Battery|001.4"} ]
879 uint16 EstimatedChargeRemaining;
880 };
881
882
883 karl 1.2 // ===================================================================
884 // UML Page 3 - User Devices
885 // ===================================================================
886 // ===================================================================
887 // UserDevice
888 // ===================================================================
889 [Abstract, Version ("2.6.0"), Description (
890 "UserDevices are LogicalDevices that allow a ComputerSystem's "
891 "users to input, view or hear data. It is a superclass from "
892 "which other classes, such as Keyboard or DesktopMonitor, "
893 "descend.") ]
894 class CIM_UserDevice : CIM_LogicalDevice {
895
896 [Description (
897 "An indication of whether the Device is locked, preventing "
898 "user input or output.") ]
899 boolean IsLocked;
900 };
901
902
903 // ===================================================================
904 karl 1.2 // PointingDevice
905 // ===================================================================
906 [Version ("2.6.0"), Description (
907 "PointingDevice represents those Devices used to 'point' to "
908 "regions of a Display.") ]
909 class CIM_PointingDevice : CIM_UserDevice {
910
911 [Description ("The type of the pointing device."),
912 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9"},
913 Values {"Other", "Unknown", "Mouse", "Track Ball", "Track Point",
914 "Glide Point", "Touch Pad", "Touch Screen",
915 "Mouse - Optical Sensor"},
916 MappingStrings {"MIF.DMTF|Pointing Device|003"} ]
917 uint16 PointingType;
918
919 [Description (
920 "Number of buttons. If the PointingDevice has no buttons, "
921 "enter 0."),
922 MappingStrings {"MIF.DMTF|Pointing Device|003"} ]
923 uint8 NumberOfButtons;
924
925 karl 1.2 [Description (
926 "Integer indicating whether the PointingDevice is configured "
927 "for right (value=2) or left handed operation (value=3). "
928 "Also, the values, \"Unknown\" (0) and \"Not Applicable\" (1), "
929 "can be defined."),
930 ValueMap {"0", "1", "2", "3"},
931 Values {"Unknown", "Not Applicable", "Right Handed Operation",
932 "Left Handed Operation"} ]
933 uint16 Handedness;
934
935 [Description (
936 "Tracking resolution of the PointingDevice in Counts per "
937 "Inch."),
938 Units ("Counts per Inch") ]
939 uint32 Resolution;
940 };
941
942
943 // ===================================================================
944 // Keyboard
945 // ===================================================================
946 karl 1.2 [Version ("2.6.0"), Description (
947 "Capabilities and management of the Keyboard LogicalDevice.") ]
948 class CIM_Keyboard : CIM_UserDevice {
949
950 [Description ("Number of function keys on the Keyboard.") ]
951 uint16 NumberOfFunctionKeys;
952
953 [Description (
954 "A free-form string indicating the format and layout of the "
955 "Keyboard."),
956 MappingStrings {"MIF.DMTF|Keyboard|004"} ]
957 string Layout;
958
959 [Description (
960 "An integer indicating whether a hardware-level password is "
961 "enabled at the keyboard (value=4), preventing local input. "
962 "Other values are: \"Disabled\" (3), \"Not Implemented\" (5), "
963 "\"Other\" (1) and \"Unknown\" (2)."),
964 ValueMap {"1", "2", "3", "4", "5"},
965 Values {"Other", "Unknown", "Disabled", "Enabled",
966 "Not Implemented"},
967 karl 1.2 MappingStrings {"MIF.DMTF|System Hardware Security|001.2"} ]
968 uint16 Password;
969 };
970
971
972 // ===================================================================
973 // Display
974 // ===================================================================
975 [Abstract, Version ("2.6.0"), Description (
976 "Display is a superclass for grouping the miscellaneous display "
977 "devices that exist.") ]
978 class CIM_Display : CIM_UserDevice {
979 };
980
981
982 // ===================================================================
983 // DesktopMonitor
984 // ===================================================================
985 [Version ("2.6.0"), Description (
986 "Capabilities and management of the DesktopMonitor (CRT) "
987 "LogicalDevice.") ]
988 karl 1.2 class CIM_DesktopMonitor : CIM_Display {
989
990 [Description (
991 "The type of DesktopMonitor or CRT. For example, "
992 "multiscan color or monochrome monitors (values 2 or 3, "
993 "respectively) can be indicated in this property."),
994 ValueMap {"0", "1", "2", "3", "4", "5"},
995 Values {"Unknown", "Other", "Multiscan Color",
996 "Multiscan Monochrome", "Fixed Frequency Color",
997 "Fixed Frequency Monochrome"} ]
998 uint16 DisplayType;
999
1000 [Description (
1001 "Monitor's bandwidth in MHertz. If unknown, enter 0."),
1002 Units ("MegaHertz") ]
1003 uint32 Bandwidth;
1004
1005 [Description (
1006 "The logical height of the Display in screen coordinates.") ]
1007 uint32 ScreenHeight;
1008
1009 karl 1.2 [Description (
1010 "The logical width of the Display in screen coordinates.") ]
1011 uint32 ScreenWidth;
1012 };
1013
1014
1015 // ===================================================================
1016 // FlatPanel
1017 // ===================================================================
1018 [Version ("2.6.0"), Description (
1019 "Capabilities and management of the FlatPanel LogicalDevice.") ]
1020 class CIM_FlatPanel : CIM_Display {
1021
1022 [Description ("FlatPanel's horizontal resolution in Pixels."),
1023 Units ("Pixels") ]
1024 uint32 HorizontalResolution;
1025
1026 [Description ("FlatPanel's vertical resolution in Pixels."),
1027 Units ("Pixels") ]
1028 uint32 VerticalResolution;
1029
1030 karl 1.2 [Description (
1031 "A FlatPanel's scan mode indicating either single "
1032 "(value=2) or dual scan (3)."),
1033 ValueMap {"0", "1", "2", "3"},
1034 Values {"Unknown", "Other", "Single Scan", "Dual Scan"} ]
1035 uint16 ScanMode;
1036
1037 [Description (
1038 "An integer enumeration describing the type of flat panel "
1039 "display."),
1040 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8"},
1041 Values {"Unknown", "Other", "Passive Matrix LCD",
1042 "Active Matrix LCD", "Cholesteric LCD",
1043 "Field Emission Display",
1044 "Electro Luminescent Display", "Gas Plasma", "LED"} ]
1045 uint16 DisplayType;
1046
1047 [Description (
1048 "A description of the display illumination type. For example, "
1049 "backlit (value=2) or reflective (4) can be specified."),
1050 ValueMap {"0", "1", "2", "3", "4"},
1051 karl 1.2 Values {"Unknown", "Other", "Backlit", "Edgelit", "Reflective"} ]
1052 uint16 LightSource;
1053
1054 [Description (
1055 "Boolean indicating whether the FlatPanel supports color "
1056 "display.") ]
1057 boolean SupportsColor;
1058 };
1059
1060
1061 // ===================================================================
1062 // Scanner
1063 // ===================================================================
1064 [Version ("2.6.0"), Description (
1065 "Capabilities and management of the Scanner LogicalDevice.") ]
1066 class CIM_Scanner : CIM_LogicalDevice {
1067 };
1068
1069
1070 // ===================================================================
1071 // Door
1072 karl 1.2 // ===================================================================
1073 [Version ("2.6.0"), Description (
1074 "A Door is the abstraction of hardware providing access to "
1075 "the internal componentry of a System. When a Door is 'opened', "
1076 "typically all accessible, moving components are stopped or "
1077 "suspended to prevent physical harm.") ]
1078 class CIM_Door : CIM_LogicalDevice {
1079
1080 [Description (
1081 "Boolean indicating the 'open' (TRUE) or 'closed' (FALSE) "
1082 "status of the Door.") ]
1083 boolean Open;
1084
1085 [Description (
1086 "Boolean indicating that the Door is 'locked' (TRUE) or "
1087 "'unlocked' (FALSE). When the Door is locked, access to the "
1088 "componentry is prevented, without the use of a physical "
1089 "key or the issuance of a software unlock command.") ]
1090 boolean Locked;
1091
1092 [Description (
1093 karl 1.2 "When a Door is 'Open', all accessible, moving componentry "
1094 "and Device operation are typically stopped. The Timeout "
1095 "property provides a mechanism to event on a Door left open "
1096 "for a period of time (in seconds) exceeding the property's "
1097 "value."),
1098 Units ("Seconds") ]
1099 uint32 Timeout;
1100
1101 [Description (
1102 "Date and time that the Door was last opened.") ]
1103 datetime LastOpened;
1104
1105 [Description (
1106 "The Capabilities of the Door. For example, information on "
1107 "whether the Door is \"Host System Lockable\" (value=2) and/or "
1108 "whether a key is available (value=3) are specified in this "
1109 "property. The value 4, \"All Drives Dismounted Before "
1110 "Access\", pertains to a Door on a StorageLibrary or set of "
1111 "drive bays. If specified for the Door, it means that it can "
1112 "not be opened unless all Media are first unloaded from the "
1113 "accessible MediaAccessDevices."),
1114 karl 1.2 ValueMap {"0", "1", "2", "3", "4"},
1115 Values {"Unknown", "Other", "Host System Lockable",
1116 "Physical Key", "All Drives Dismounted Before Access"} ]
1117 uint16 Capabilities[];
1118 };
1119
1120
1121 // ===================================================================
1122 // DoorAccessToPhysicalElement
1123 // ===================================================================
1124 [Association, Version ("2.6.0"), Description (
1125 "Doors provide access to PhysicalElements for hot swap, repair "
1126 "and similar activities. The entities accessed through a Door "
1127 "are indicated in this relationship.") ]
1128 class CIM_DoorAccessToPhysicalElement : CIM_Dependency {
1129
1130 [Override ("Antecedent"),
1131 Description ("The Door that provides access.") ]
1132 CIM_Door REF Antecedent;
1133
1134 [Override ("Dependent"),
1135 karl 1.2 Description ("The PhysicalElement that is accessed.") ]
1136 CIM_PhysicalElement REF Dependent;
1137 };
1138
1139
1140 // ===================================================================
1141 // DoorAccessToDevice
1142 // ===================================================================
1143 [Association, Version ("2.6.0"), Description (
1144 "Doors provide access to PhysicalElements for hot swap, repair "
1145 "and similar activities. In turn, PhysicalElements 'Realize' "
1146 "LogicalDevices. Since it may not be possible to define all the "
1147 "PhysicalElements that exist, and optimizing the retrieval of "
1148 "Devices 'behind' the Door may be desirable, the DoorAccessTo"
1149 "Device association provides a shortcut mechanism for defining "
1150 "the LogicalDevices ('hardware') accessed through a Door.") ]
1151 class CIM_DoorAccessToDevice : CIM_Dependency {
1152
1153 [Override ("Antecedent"),
1154 Description ("The Door that provides access.") ]
1155 CIM_Door REF Antecedent;
1156 karl 1.2
1157 [Override ("Dependent"),
1158 Description ("The LogicalDevice that is accessed.") ]
1159 CIM_LogicalDevice REF Dependent;
1160 };
1161
1162
1163 // ===================================================================
1164 // UML Page 4 - Processors, Sensors, & Alarm
1165 // ===================================================================
1166 // ===================================================================
1167 // Sensor
1168 // ===================================================================
1169 [Abstract, Version ("2.6.0"), Description (
1170 "A Sensor is a hardware device capable of measuring the "
1171 "characteristics of some physical property - for example, the "
1172 "temperature or voltage characteristics of a UnitaryComputer"
1173 "System.") ]
1174 class CIM_Sensor : CIM_LogicalDevice {
1175
1176 [Description (
1177 karl 1.2 "The Type of the Sensor, e.g. Voltage or Temperature Sensor. "
1178 "If the type is set to \"Other\", then the OtherSensorType"
1179 "Description can be used to further identify the type, or if "
1180 "the Sensor has numeric readings, then the type of the Sensor "
1181 "can be implicitly determined by the Units. A description of "
1182 "the different Sensor types is as follows: A Temperature Sensor "
1183 "measures the environmental temperature. Voltage and Current "
1184 "Sensors measure electrical voltage and current readings. A "
1185 "Tachometer measures speed/revolutions of a Device. For example,"
1186 " a Fan Device can have an associated Tachometer which measures "
1187 "its speed. A Counter is a general purpose Sensor that measures "
1188 "some numerical property of a Device. A Counter value can be "
1189 "cleared, but it never decreases. A Switch Sensor has states "
1190 "like Open/Close, On/Off, or Up/Down. A Lock has states of "
1191 "Locked/Unlocked. Humidity, Smoke Detection and Air Flow Sensors"
1192 " measure the equivalent environmental characteristics. A "
1193 "Presence Sensor detects the presence of a PhysicalElement."),
1194 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
1195 "10", "11", "12"},
1196 Values {"Unknown", "Other", "Temperature", "Voltage", "Current",
1197 "Tachometer", "Counter", "Switch", "Lock", "Humidity",
1198 karl 1.2 "Smoke Detection", "Presence", "Air Flow"},
1199 ModelCorrespondence {"CIM_Sensor.OtherSensorTypeDescription"} ]
1200 uint16 SensorType;
1201
1202 [MaxLen (128), Description (
1203 "A string describing the Sensor type - used when the SensorType "
1204 "property is set to \"Other\"."),
1205 ModelCorrespondence {"CIM_Sensor.SensorType"} ]
1206 string OtherSensorTypeDescription;
1207
1208 [MaxLen (128), Description (
1209 "PossibleStates enumerates the string outputs of the Sensor. "
1210 "For example, a \"Switch\" Sensor may output the states \"On\", "
1211 "or \"Off\". Another implementation of the Switch may output "
1212 "the states \"Open\", and \"Close\". Another example is a "
1213 "NumericSensor supporting thresholds. This Sensor can report "
1214 "the states like \"Normal\", \"Upper Fatal\", "
1215 "\"Lower Non-Critical\", etc. A NumericSensor that does not "
1216 "publish readings and thresholds, but stores this data "
1217 "internally, can still report its states.") ]
1218 string PossibleStates[];
1219 karl 1.2
1220 [MaxLen (128), Description (
1221 "The current state indicated by the Sensor. This is always "
1222 "one of the \"PossibleStates\".") ]
1223 string CurrentState;
1224
1225 [Description (
1226 "The polling interval that the Sensor hardware or the "
1227 "instrumentation uses to determine the current state of the "
1228 "Sensor."),
1229 Units ("NanoSeconds") ]
1230 uint64 PollingInterval;
1231 };
1232
1233
1234 // ===================================================================
1235 // AssociatedSensor
1236 // ===================================================================
1237 [Association, Version ("2.6.0"), Description (
1238 "Many Devices include Sensors or have Sensors installed "
1239 "nearby, in order to measure critical input and output "
1240 karl 1.2 "properties. This association indicates that relationship.") ]
1241 class CIM_AssociatedSensor : CIM_Dependency {
1242
1243 [Override ("Antecedent"),
1244 Description ("The Sensor.") ]
1245 CIM_Sensor REF Antecedent;
1246
1247 [Override ("Dependent"), Description (
1248 "The LogicalDevice for which information is measured by "
1249 "the Sensor.") ]
1250 CIM_LogicalDevice REF Dependent;
1251 };
1252
1253
1254 // ===================================================================
1255 // BinarySensor
1256 // ===================================================================
1257 [Version ("2.6.0"), Description (
1258 "A BinarySensor provides a boolean output. Given the addition "
1259 "of the CurrentState and PossibleStates properties to Sensor, "
1260 "the BinarySensor subclass is no longer necessary, but is "
1261 karl 1.2 "retained for backward compatibility. A BinarySensor can be "
1262 "created by instantiating a Sensor with two PossibleStates.") ]
1263 class CIM_BinarySensor : CIM_Sensor {
1264
1265 [Description ("The current value indicated by the Sensor.") ]
1266 boolean CurrentReading;
1267
1268 [Description (
1269 "ExpectedReading indicates the 'normal' value for the Sensor.") ]
1270 boolean ExpectedReading;
1271
1272 [MaxLen (64), Description (
1273 "InterpretationOfTrue is a string indicating what a 'True' "
1274 "value from the BinarySensor means. This information could "
1275 "be displayed to a user.") ]
1276 string InterpretationOfTrue;
1277
1278 [MaxLen (64), Description (
1279 "InterpretationOfFalse is a string indicating what a 'False' "
1280 "value from the BinarySensor means. This information could "
1281 "be displayed to a user.") ]
1282 karl 1.2 string InterpretationOfFalse;
1283 };
1284
1285
1286 // ===================================================================
1287 // MultiStateSensor
1288 // ===================================================================
1289 [Version ("2.6.0"), Description (
1290 "A Multi-StateSensor is a multi-member set of Sensors.") ]
1291 class CIM_MultiStateSensor : CIM_Sensor {
1292 };
1293
1294
1295 // ===================================================================
1296 // CollectionOfSensors
1297 // ===================================================================
1298 [Association, Aggregation, Version ("2.6.0"), Description (
1299 "The CollectionOfSensors association indicates the "
1300 "Sensors that make up a MultiStateSensor.") ]
1301 class CIM_CollectionOfSensors : CIM_Component {
1302
1303 karl 1.2 [Override ("GroupComponent"), Aggregate, Max (1),
1304 Description ("The MultiStateSensor.") ]
1305 CIM_MultiStateSensor REF GroupComponent;
1306
1307 [Override ("PartComponent"), Min (2),
1308 Description (
1309 "A Sensor that is part of the MultiStateSensor.") ]
1310 CIM_Sensor REF PartComponent;
1311 };
1312
1313
1314 // ===================================================================
1315 // NumericSensor
1316 // ===================================================================
1317 [Version ("2.6.0"), Description (
1318 "A Numeric Sensor is capable of returning numeric readings "
1319 "and optionally supports thresholds settings.") ]
1320 class CIM_NumericSensor : CIM_Sensor {
1321
1322 [Description (
1323 "The base unit of the values returned by this Sensor. All "
1324 karl 1.2 "the values returned by this Sensor are represented in the units"
1325 " obtained by (BaseUnits * 10 raised to the power of the Unit"
1326 "Modifier). For example, if BaseUnits is Volts and the Unit"
1327 "Modifier is -6, then the units of the values returned are "
1328 "MicroVolts. However, if the RateUnits property is set to a "
1329 "value other than \"None\", then the units are further qualified"
1330 " as rate units. In the above example, if RateUnits is set to "
1331 "\"Per Second\", then the values returned by the Sensor "
1332 "are in MicroVolts/Second. The units apply to all numeric "
1333 "properties of the Sensor, unless explicitly overridden by the "
1334 "Units qualifier."),
1335 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
1336 "11", "12", "13", "14", "15", "16", "17", "18", "19", "20",
1337 "21", "22", "23", "24", "25", "26", "27", "28", "29", "30",
1338 "31", "32", "33", "34", "35", "36", "37", "38", "39", "40",
1339 "41", "42", "43", "44", "45", "46", "47", "48", "49", "50",
1340 "51", "52", "53", "54", "55", "56", "57", "58", "59", "60",
1341 "61", "62", "63", "64", "65"},
1342 Values {"Unknown", "Other", "Degrees C", "Degrees F", "Degrees K",
1343 "Volts", "Amps", "Watts", "Joules", "Coulombs", "VA", "Nits",
1344 "Lumens", "Lux", "Candelas", "kPa", "PSI", "Newtons", "CFM",
1345 karl 1.2 "RPM", "Hertz", "Seconds", "Minutes", "Hours", "Days", "Weeks",
1346 "Mils", "Inches", "Feet", "Cubic Inches", "Cubic Feet",
1347 "Meters", "Cubic Centimeters", "Cubic Meters", "Liters",
1348 "Fluid Ounces", "Radians", "Steradians", "Revolutions",
1349 "Cycles", "Gravities", "Ounces", "Pounds", "Foot-Pounds",
1350 "Ounce-Inches", "Gauss", "Gilberts", "Henries", "Farads",
1351 "Ohms", "Siemens", "Moles", "Becquerels",
1352 "PPM (parts/million)", "Decibels", "DbA", "DbC",
1353 "Grays", "Sieverts", "Color Temperature Degrees K", "Bits",
1354 "Bytes", "Words (data)", "DoubleWords", "QuadWords",
1355 "Percentage"},
1356 ModelCorrespondence {"CIM_NumericSensor.UnitModifier",
1357 "CIM_NumericSensor.RateUnits"} ]
1358 uint16 BaseUnits;
1359
1360 [Description (
1361 "The unit multiplier for the values returned by this Sensor. "
1362 "All the values returned by this Sensor are represented in the "
1363 "units obtained by (BaseUnits * 10 raised to the power of the "
1364 "UnitModifier). For example, if BaseUnits is Volts and the Unit"
1365 "Modifier is -6, then the units of the values returned are Micro"
1366 karl 1.2 "Volts. However, if the RateUnits property is set to a value "
1367 "other than \"None\", then the units are further qualified as "
1368 "rate units. In the above example, if RateUnits is set to "
1369 "\"Per Second\", then the values returned by the Sensor are in "
1370 "MicroVolts/Second. The units apply to all numeric properties "
1371 "of the Sensor, unless explicitly overridden by the Units "
1372 "qualifier."),
1373 ModelCorrespondence {"CIM_NumericSensor.BaseUnits",
1374 "CIM_NumericSensor.RateUnits"} ]
1375 sint32 UnitModifier;
1376
1377 [Description (
1378 "Specifies if the units returned by this Sensor are rate units. "
1379 "All the values returned by this Sensor are represented in the "
1380 "units obtained by (BaseUnits * 10 raised to the power of the "
1381 "UnitModifier). This is true unless this property (RateUnits) "
1382 "has a value different than \"None\". For example, if BaseUnits "
1383 "is Volts and the UnitModifier is -6, then the units of the "
1384 "values returned are MicroVolts. But, if the RateUnits property "
1385 "is set to a value other than \"None\", then the units are "
1386 "further qualified as rate units. In the above example, if "
1387 karl 1.2 "RateUnits is set to \"Per Second\", then the values returned "
1388 "by the Sensor are in MicroVolts/Second. The units apply to "
1389 "all numeric properties of the Sensor, unless explicitly "
1390 "overridden by the Units qualifier. Any implementation of "
1391 "CurrentReading should be qualified with either a Counter or a "
1392 "Gauge qualifier, depending on the characteristics of the "
1393 "sensor being modeled."),
1394 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"},
1395 Values {"None", "Per MicroSecond", "Per MilliSecond", "Per Second",
1396 "Per Minute", "Per Hour", "Per Day", "Per Week", "Per Month",
1397 "Per Year"},
1398 ModelCorrespondence {"CIM_NumericSensor.UnitModifier",
1399 "CIM_NumericSensor.BaseUnits"} ]
1400 uint16 RateUnits;
1401
1402 [Description ("The current value indicated by the Sensor.") ]
1403 sint32 CurrentReading;
1404
1405 [Description (
1406 "NominalReading indicates the 'normal' or expected value "
1407 "for the NumericSensor.") ]
1408 karl 1.2 sint32 NominalReading;
1409
1410 [Description (
1411 "NormalMax provides guidance for the user as to the "
1412 "normal maximum range for the NumericSensor.") ]
1413 sint32 NormalMax;
1414
1415 [Description (
1416 "NormalMin provides guidance for the user as to the "
1417 "normal minimum range for the NumericSensor.") ]
1418 sint32 NormalMin;
1419
1420 [Description (
1421 "MaxReadable indicates the largest value of the measured "
1422 "property that can be read by the NumericSensor.") ]
1423 sint32 MaxReadable;
1424
1425 [Description (
1426 "MinReadable indicates the smallest value of the measured "
1427 "property that can be read by the NumericSensor.") ]
1428 sint32 MinReadable;
1429 karl 1.2
1430 [Description (
1431 "Resolution indicates the ability of the Sensor to resolve "
1432 "differences in the measured property. This value may vary "
1433 "depending on whether the Device is linear over its dynamic "
1434 "range.") ]
1435 uint32 Resolution;
1436
1437 [Description (
1438 "Indicates the tolerance of the Sensor for the measured "
1439 "property. Tolerance, along with Resolution and Accuracy, "
1440 "is used to calculate the actual value of the measured "
1441 "physical property. Tolerance may vary depending on "
1442 "whether the Device is linear over its dynamic range.") ]
1443 sint32 Tolerance;
1444
1445 [Description (
1446 "Indicates the accuracy of the Sensor for the measured "
1447 "property. Its value is recorded as plus/minus hundredths "
1448 "of a percent. Accuracy, along with Resolution and Tolerance, "
1449 "is used to calculate the actual value of the measured "
1450 karl 1.2 "physical property. Accuracy may vary depending on whether "
1451 "the Device is linear over its dynamic range."),
1452 Units ("Hundredths of Percent") ]
1453 sint32 Accuracy;
1454
1455 [Description (
1456 "Indicates that the Sensor is linear over its dynamic range.") ]
1457 boolean IsLinear;
1458
1459 [Description (
1460 "Indicates the margin built around the thresholds. This margin "
1461 "prevents unnecessary state changes when the Sensor reading may "
1462 "fluctuate very close to its thresholds. This could be due to "
1463 "the Sensor's tolerance/accuracy/resolution or due to "
1464 "environmental factors. Once a threshold is crossed, the state "
1465 "of the Sensor should change. However, the state should not "
1466 "fluctuate between the old and new states unless the Sensor's "
1467 "change in the reading exceeds the hysteresis value.") ]
1468 uint32 Hysteresis;
1469
1470 [Description (
1471 karl 1.2 "The Sensor's threshold values specify the ranges (min and max "
1472 "values) for determining whether the Sensor is operating under "
1473 "Normal, NonCritical, Critical or Fatal conditions. If Current"
1474 "Reading is between LowerThresholdNonCritical and UpperThreshold"
1475 "NonCritical, then the Sensor is reporting a normal value. "
1476 "If CurrentReading is between LowerThresholdNonCritical and "
1477 "LowerThresholdCritical, then the CurrentState is "
1478 "NonCritical.") ]
1479 sint32 LowerThresholdNonCritical;
1480
1481 [Description (
1482 "The Sensor's threshold values specify the ranges (min and max "
1483 "values) for determining whether the Sensor is operating under "
1484 "Normal, NonCritical, Critical or Fatal conditions. If the "
1485 "CurrentReading is between LowerThresholdNonCritical and "
1486 "UpperThresholdNonCritical, then the Sensor is reporting a "
1487 "normal value. If the CurrentReading is between UpperThreshold"
1488 "NonCritical and UpperThresholdCritical, then the CurrentState "
1489 "is NonCritical.") ]
1490 sint32 UpperThresholdNonCritical;
1491
1492 karl 1.2 [Description (
1493 "The Sensor's threshold values specify the ranges (min and max "
1494 "values) for determining whether the Sensor is operating under "
1495 "Normal, NonCritical, Critical or Fatal conditions. If the "
1496 "CurrentReading is between LowerThresholdCritical and Lower"
1497 "ThresholdFatal, then the CurrentState is Critical.") ]
1498 sint32 LowerThresholdCritical;
1499
1500 [Description (
1501 "The Sensor's threshold values specify the ranges (min and max "
1502 "values) for determining whether the Sensor is operating under "
1503 "Normal, NonCritical, Critical or Fatal conditions. If the "
1504 "CurrentReading is between UpperThresholdCritical and Upper"
1505 "ThresholdFatal, then the CurrentState is Critical.") ]
1506 sint32 UpperThresholdCritical;
1507
1508 [Description (
1509 "The Sensor's threshold values specify the ranges (min and max "
1510 "values) for determining whether the Sensor is operating under "
1511 "Normal, NonCritical, Critical or Fatal conditions. If the "
1512 "CurrentReading is below LowerThresholdFatal, then the Current"
1513 karl 1.2 "State is Fatal.") ]
1514 sint32 LowerThresholdFatal;
1515
1516 [Description (
1517 "The Sensor's threshold values specify the ranges (min and max "
1518 "values) for determining whether the Sensor is operating under "
1519 "Normal, NonCritical, Critical or Fatal conditions. If the "
1520 "CurrentReading is above UpperThresholdFatal, then the Current"
1521 "State is Fatal.") ]
1522 sint32 UpperThresholdFatal;
1523
1524 [Description (
1525 "An array representing the thresholds supported by this "
1526 "Sensor."),
1527 ValueMap {"0", "1", "2", "3", "4", "5"},
1528 Values {"LowerThresholdNonCritical", "UpperThresholdNonCritical",
1529 "LowerThresholdCritical", "UpperThresholdCritical",
1530 "LowerThresholdFatal", "UpperThresholdFatal"} ]
1531 uint16 SupportedThresholds[];
1532
1533 [Description (
1534 karl 1.2 "An array representing the thresholds that are currently "
1535 "enabled for this Sensor."),
1536 ValueMap {"0", "1", "2", "3", "4", "5"},
1537 Values {"LowerThresholdNonCritical", "UpperThresholdNonCritical",
1538 "LowerThresholdCritical", "UpperThresholdCritical",
1539 "LowerThresholdFatal", "UpperThresholdFatal"} ]
1540 uint16 EnabledThresholds[];
1541
1542 [Description (
1543 "An array representing the writable thresholds supported by "
1544 "Sensor."),
1545 ValueMap {"0", "1", "2", "3", "4", "5"},
1546 Values {"LowerThresholdNonCritical", "UpperThresholdNonCritical",
1547 "LowerThresholdCritical", "UpperThresholdCritical",
1548 "LowerThresholdFatal", "UpperThresholdFatal"} ]
1549 uint16 SettableThresholds[];
1550
1551 [Description (
1552 "This method resets the values of the thresholds to hardware "
1553 "defaults. This method returns 0 if successful, 1 if "
1554 "unsupported and any other value if an error occurred. "
1555 karl 1.2 "In a subclass, the set of possible return codes could be "
1556 "specified, using a ValueMap qualifier on the method. The "
1557 "strings to which the ValueMap contents are 'translated' "
1558 "may also be specified in the subclass as a Values "
1559 "array qualifier.") ]
1560 uint32 RestoreDefaultThresholds();
1561
1562 [Description (
1563 "For a non-linear Sensor, the resolution, accuracy, tolerance "
1564 "and hysteresis vary as the current reading moves. This method "
1565 "can be used to get these factors for a given reading. It "
1566 "returns 0 if successful, 1 if unsupported, and any other "
1567 "value if an error occurred. In a subclass, the set of "
1568 "possible return codes could be specified, using a ValueMap "
1569 "qualifier on the method. The strings to which the ValueMap "
1570 "contents are 'translated' may also be specified in the "
1571 "subclass as a Values array qualifier.") ]
1572 uint32 GetNonLinearFactors(
1573
1574 [IN]sint32 SensorReading,
1575
1576 karl 1.2 [IN (false), OUT]sint32 Accuracy,
1577
1578 [IN (false), OUT]uint32 Resolution,
1579
1580 [IN (false), OUT]sint32 Tolerance,
1581
1582 [IN (false), OUT]uint32 Hysteresis);
1583 };
1584
1585
1586 // ===================================================================
1587 // DiscreteSensor
1588 // ===================================================================
1589 [Version ("2.6.0"), Description (
1590 "A DiscreteSensor has a set of legal string values, "
1591 "that it can report. These values are enumerated in the "
1592 "Sensor's PossibleValues property. A DiscreteSensor will "
1593 "always have a 'current reading' that corresponds to one of "
1594 "the enumerated values. \n"
1595 "Given the addition of the CurrentState and PossibleStates "
1596 "properties to Sensor, the DiscreteSensor subclass is no longer "
1597 karl 1.2 "necessary, but is retained for backward compatibility. "
1598 "Information in the CurrentReading and PossibleValues properties "
1599 "will typically have the same values and semantics as for the "
1600 "CurrentState and PossibleStates properties, inherited from "
1601 "Sensor.") ]
1602 class CIM_DiscreteSensor : CIM_Sensor {
1603
1604 [MaxLen (64), Description (
1605 "The current value indicated by the Sensor.") ]
1606 string CurrentReading;
1607
1608 [MaxLen (64), Description (
1609 "PossibleValues enumerates the string outputs that can be "
1610 "reported by the DiscreteSensor.") ]
1611 string PossibleValues[];
1612
1613 [MaxLen (64), Description (
1614 "AcceptableValues details which of the PossibleValues strings "
1615 "are considered 'acceptable' (ie, 'not an error').") ]
1616 string AcceptableValues[];
1617 };
1618 karl 1.2
1619
1620 // ===================================================================
1621 // TemperatureSensor
1622 // ===================================================================
1623 [Version ("2.6.0"), Description (
1624 "This class exists for backward compatibility to earlier "
1625 "CIM Schema definitions. With additions to Sensor and Numeric"
1626 "Sensor in V2.2, it is no longer necessary. A TempertatureSensor "
1627 "can be defined by setting the SensorType property, inherited "
1628 "from Sensor, to 2 (\"Temperature\"). Other properties of this "
1629 "class are hard-coded to constant values to correspond to "
1630 "definitions in the Sensor hierarchy.") ]
1631 class CIM_TemperatureSensor : CIM_NumericSensor {
1632
1633 [Override("SensorType") ]
1634 uint16 SensorType = 2;
1635
1636 [Override("BaseUnits") ]
1637 uint16 BaseUnits = 2;
1638
1639 karl 1.2 [Override("UnitModifier") ]
1640 sint32 UnitModifier = -1;
1641
1642 [Override("RateUnits") ]
1643 uint16 RateUnits = 0;
1644
1645 // Override is used to define the MappingString qualifier
1646 [Override ("CurrentReading"),
1647 MappingStrings {"MIF.DMTF|Temperature Probe|002.5"} ]
1648 sint32 CurrentReading;
1649
1650 [Override ("NominalReading"),
1651 MappingStrings {"MIF.DMTF|Temperature Probe|002.6"} ]
1652 sint32 NominalReading;
1653
1654 [Override ("NormalMax"),
1655 MappingStrings {"MIF.DMTF|Temperature Probe|002.7"} ]
1656 sint32 NormalMax;
1657
1658 [Override ("NormalMin"),
1659 MappingStrings {"MIF.DMTF|Temperature Probe|002.8"} ]
1660 karl 1.2 sint32 NormalMin;
1661
1662 [Override ("MaxReadable"),
1663 MappingStrings {"MIF.DMTF|Temperature Probe|002.9"} ]
1664 sint32 MaxReadable;
1665
1666 [Override ("MinReadable"),
1667 MappingStrings {"MIF.DMTF|Temperature Probe|002.10"} ]
1668 sint32 MinReadable;
1669
1670 [Override ("Resolution"),
1671 Units ("Hundredths of Degrees C"),
1672 MappingStrings {"MIF.DMTF|Temperature Probe|002.17"} ]
1673 uint32 Resolution;
1674
1675 [Override ("Tolerance"),
1676 MappingStrings {"MIF.DMTF|Temperature Probe|002.18"} ]
1677 sint32 Tolerance;
1678
1679 [Override ("Accuracy"),
1680 MappingStrings {"MIF.DMTF|Temperature Probe|002.19"} ]
1681 karl 1.2 sint32 Accuracy;
1682
1683 [Override ("LowerThresholdNonCritical"),
1684 MappingStrings {"MIF.DMTF|Temperature Probe|002.11"} ]
1685 sint32 LowerThresholdNonCritical;
1686
1687 [Override ("UpperThresholdNonCritical"),
1688 MappingStrings {"MIF.DMTF|Temperature Probe|002.12"} ]
1689 sint32 UpperThresholdNonCritical;
1690
1691 [Override ("LowerThresholdCritical"),
1692 MappingStrings {"MIF.DMTF|Temperature Probe|002.13"} ]
1693 sint32 LowerThresholdCritical;
1694
1695 [Override ("UpperThresholdCritical"),
1696 MappingStrings {"MIF.DMTF|Temperature Probe|002.14"} ]
1697 sint32 UpperThresholdCritical;
1698
1699 [Override ("LowerThresholdFatal"),
1700 MappingStrings {"MIF.DMTF|Temperature Probe|002.15"} ]
1701 sint32 LowerThresholdFatal;
1702 karl 1.2
1703 [Override ("UpperThresholdFatal"),
1704 MappingStrings {"MIF.DMTF|Temperature Probe|002.16"} ]
1705 sint32 UpperThresholdFatal;
1706 };
1707
1708
1709 // ===================================================================
1710 // CurrentSensor
1711 // ===================================================================
1712 [Version ("2.6.0"), Description (
1713 "This class exists for backward compatibility to earlier "
1714 "CIM Schema definitions. With additions to Sensor and Numeric"
1715 "Sensor in V2.2, it is no longer necessary. A CurrentSensor can "
1716 "be defined by setting the SensorType property, inherited from "
1717 "Sensor, to 4 (\"Current\"). Other properties of this class are "
1718 "hard-coded to constant values to correspond to definitions in "
1719 "the Sensor hierarchy.") ]
1720 class CIM_CurrentSensor : CIM_NumericSensor {
1721
1722 [Override("SensorType") ]
1723 karl 1.2 uint16 SensorType = 4;
1724
1725 [Override("BaseUnits") ]
1726 uint16 BaseUnits = 6;
1727
1728 [Override("UnitModifier") ]
1729 sint32 UnitModifier = -3;
1730
1731 [Override("RateUnits") ]
1732 uint16 RateUnits = 0;
1733
1734 // Override is used to define the MappingString qualifier
1735 [Override ("CurrentReading"),
1736 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.5"} ]
1737 sint32 CurrentReading;
1738
1739 [Override ("NominalReading"),
1740 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.6"} ]
1741 sint32 NominalReading;
1742
1743 [Override ("NormalMax"),
1744 karl 1.2 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.7"} ]
1745 sint32 NormalMax;
1746
1747 [Override ("NormalMin"),
1748 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.8"} ]
1749 sint32 NormalMin;
1750
1751 [Override ("MaxReadable"),
1752 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.9"} ]
1753 sint32 MaxReadable;
1754
1755 [Override ("MinReadable"),
1756 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.10"} ]
1757 sint32 MinReadable;
1758
1759 [Override ("Resolution"),
1760 Units ("Tenths of MilliAmps"),
1761 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.17"} ]
1762 uint32 Resolution;
1763
1764 [Override ("Tolerance"),
1765 karl 1.2 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.18"} ]
1766 sint32 Tolerance;
1767
1768 [Override ("Accuracy"),
1769 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.19"} ]
1770 sint32 Accuracy;
1771
1772 [Override ("LowerThresholdNonCritical"),
1773 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.11"} ]
1774 sint32 LowerThresholdNonCritical;
1775
1776 [Override ("UpperThresholdNonCritical"),
1777 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.12"} ]
1778 sint32 UpperThresholdNonCritical;
1779
1780 [Override ("LowerThresholdCritical"),
1781 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.13"} ]
1782 sint32 LowerThresholdCritical;
1783
1784 [Override ("UpperThresholdCritical"),
1785 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.14"} ]
1786 karl 1.2 sint32 UpperThresholdCritical;
1787
1788 [Override ("LowerThresholdFatal"),
1789 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.15"} ]
1790 sint32 LowerThresholdFatal;
1791
1792 [Override ("UpperThresholdFatal"),
1793 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.16"} ]
1794 sint32 UpperThresholdFatal;
1795 };
1796
1797
1798 // ===================================================================
1799 // VoltageSensor
1800 // ===================================================================
1801 [Version ("2.6.0"), Description (
1802 "This class exists for backward compatibility to earlier "
1803 "CIM Schema definitions. With additions to Sensor and Numeric"
1804 "Sensor in V2.2, it is no longer necessary. A VoltageSensor can "
1805 "be defined by setting the SensorType property, inherited from "
1806 "Sensor, to 3 (\"Voltage\"). Other properties of this class are "
1807 karl 1.2 "hard-coded to constant values to correspond to definitions in "
1808 "the Sensor hierarchy.") ]
1809 class CIM_VoltageSensor : CIM_NumericSensor {
1810
1811 [Override("SensorType") ]
1812 uint16 SensorType = 3;
1813
1814 [Override("BaseUnits") ]
1815 uint16 BaseUnits = 5;
1816
1817 [Override("UnitModifier") ]
1818 sint32 UnitModifier = -3;
1819
1820 [Override("RateUnits") ]
1821 uint16 RateUnits = 0;
1822
1823 // Override is used to define the MappingString qualifier
1824 [Override ("CurrentReading"),
1825 MappingStrings {"MIF.DMTF|Voltage Probe|001.5"} ]
1826 sint32 CurrentReading;
1827
1828 karl 1.2 [Override ("NominalReading"),
1829 MappingStrings {"MIF.DMTF|Voltage Probe|001.6"} ]
1830 sint32 NominalReading;
1831
1832 [Override ("NormalMax"),
1833 MappingStrings {"MIF.DMTF|Voltage Probe|001.7"} ]
1834 sint32 NormalMax;
1835
1836 [Override ("NormalMin"),
1837 MappingStrings {"MIF.DMTF|Voltage Probe|001.8"} ]
1838 sint32 NormalMin;
1839
1840 [Override ("MaxReadable"),
1841 MappingStrings {"MIF.DMTF|Voltage Probe|001.9"} ]
1842 sint32 MaxReadable;
1843
1844 [Override ("MinReadable"),
1845 MappingStrings {"MIF.DMTF|Voltage Probe|001.10"} ]
1846 sint32 MinReadable;
1847
1848 [Override ("Resolution"),
1849 karl 1.2 Units ("Tenths of MilliVolts"),
1850 MappingStrings {"MIF.DMTF|Voltage Probe|001.17"} ]
1851 uint32 Resolution;
1852
1853 [Override ("Tolerance"),
1854 MappingStrings {"MIF.DMTF|Voltage Probe|001.18"} ]
1855 sint32 Tolerance;
1856
1857 [Override ("Accuracy"),
1858 MappingStrings {"MIF.DMTF|Voltage Probe|001.19"} ]
1859 sint32 Accuracy;
1860
1861 [Override ("LowerThresholdNonCritical"),
1862 MappingStrings {"MIF.DMTF|Voltage Probe|001.11"} ]
1863 sint32 LowerThresholdNonCritical;
1864
1865 [Override ("UpperThresholdNonCritical"),
1866 MappingStrings {"MIF.DMTF|Voltage Probe|001.12"} ]
1867 sint32 UpperThresholdNonCritical;
1868
1869 [Override ("LowerThresholdCritical"),
1870 karl 1.2 MappingStrings {"MIF.DMTF|Voltage Probe|001.13"} ]
1871 sint32 LowerThresholdCritical;
1872
1873 [Override ("UpperThresholdCritical"),
1874 MappingStrings {"MIF.DMTF|Voltage Probe|001.14"} ]
1875 sint32 UpperThresholdCritical;
1876
1877 [Override ("LowerThresholdFatal"),
1878 MappingStrings {"MIF.DMTF|Voltage Probe|001.15"} ]
1879 sint32 LowerThresholdFatal;
1880
1881 [Override ("UpperThresholdFatal"),
1882 MappingStrings {"MIF.DMTF|Voltage Probe|001.16"} ]
1883 sint32 UpperThresholdFatal;
1884 };
1885
1886
1887 // ===================================================================
1888 // Tachometer
1889 // ===================================================================
1890 [Version ("2.6.0"), Description (
1891 karl 1.2 "This class exists for backward compatibility to earlier "
1892 "CIM Schema definitions. With additions to Sensor and Numeric"
1893 "Sensor in V2.2, it is no longer necessary. A Tachometer can "
1894 "be defined by setting the SensorType property. inherited from "
1895 "Sensor, to 5 (\"Tachometer\"). Other properties of this class "
1896 "are hard-coded to constant values to correspond to definitions "
1897 "in the Sensor hierarchy.") ]
1898 class CIM_Tachometer : CIM_NumericSensor {
1899
1900 [Override("SensorType") ]
1901 uint16 SensorType = 5;
1902
1903 [Override("BaseUnits") ]
1904 uint16 BaseUnits = 38;
1905
1906 [Override("UnitModifier") ]
1907 sint32 UnitModifier = 1;
1908
1909 [Override("RateUnits") ]
1910 uint16 RateUnits = 4;
1911
1912 karl 1.2 [Override ("Resolution"),
1913 Units ("Tenths of Revolutions per Minute") ]
1914 uint32 Resolution;
1915 };
1916
1917
1918 // ===================================================================
1919 // AssociatedSupplyVoltageSensor
1920 // ===================================================================
1921 [Association, Version ("2.6.0"), Description (
1922 "A PowerSupply may have an associated VoltageSensor, monitoring "
1923 "its input voltage. This is described by this association.") ]
1924 class CIM_AssociatedSupplyVoltageSensor : CIM_AssociatedSensor {
1925
1926 [Override ("Antecedent"),
1927 Description ("The VoltageSensor.") ]
1928 CIM_VoltageSensor REF Antecedent;
1929
1930 [Override ("Dependent"),
1931 Description (
1932 "The PowerSupply associated with the VoltageSensor.") ]
1933 karl 1.2 CIM_PowerSupply REF Dependent;
1934
1935 [Description (
1936 "Indicates the PowerSupply's input voltage range measured "
1937 "by the associated sensor. Range 1, 2 or both can be specified "
1938 "using the values 2, 3 or 4, respectively."),
1939 ValueMap {"0", "1", "2", "3", "4"},
1940 Values {"Unknown", "Other", "Range 1", "Range 2",
1941 "Both Range 1 and 2"} ]
1942 uint16 MonitoringRange;
1943 };
1944
1945
1946 // ===================================================================
1947 // AssociatedSupplyCurrentSensor
1948 // ===================================================================
1949 [Association, Version ("2.6.0"), Description (
1950 "A PowerSupply may have an associated CurrentSensor, monitoring "
1951 "its input frequency. This is described by this association.") ]
1952 class CIM_AssociatedSupplyCurrentSensor : CIM_AssociatedSensor {
1953
1954 karl 1.2 [Override ("Antecedent"),
1955 Description ("The CurrentSensor.") ]
1956 CIM_CurrentSensor REF Antecedent;
1957
1958 [Override ("Dependent"),
1959 Description (
1960 "The PowerSupply associated with the CurrentSensor.") ]
1961 CIM_PowerSupply REF Dependent;
1962
1963 [Description (
1964 "Indicates the PowerSupply's input frequency range measured "
1965 "by the associated sensor. Range 1, 2 or both can be specified "
1966 "using the values 2, 3 or 4, respectively."),
1967 ValueMap {"0", "1", "2", "3", "4"},
1968 Values {"Unknown", "Other", "Range 1", "Range 2",
1969 "Both Range 1 and 2"} ]
1970 uint16 MonitoringRange;
1971 };
1972
1973
1974 // ===================================================================
1975 karl 1.2 // WatchDog
1976 // ===================================================================
1977 [Version ("2.6.0"), Description (
1978 "CIM_Watchdog is a timer implemented in system hardware. It "
1979 "allows the hardware to monitor the state of the Operating"
1980 "System, BIOS or a software component installed on the "
1981 "System. If the monitored component fails to re-arm the timer "
1982 "before its expiration, the hardware assumes that the System is "
1983 "in a critical state, and could reset the ComputerSystem. This "
1984 "feature can also be used as an application watchdog timer for "
1985 "a mission-critical application. In this case, the application "
1986 "would assume responsibility for re-arming the timer before "
1987 "expiration.") ]
1988 class CIM_Watchdog : CIM_LogicalDevice {
1989
1990 [Description (
1991 "The entity that is currently being monitored by the WatchDog. "
1992 "This property is used to identify the module that is "
1993 "responsible for re-arming the watchdog at periodic intervals."),
1994 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8"},
1995 Values {"Unknown", "Other", "Operating System",
1996 karl 1.2 "Operating System Boot Process",
1997 "Operating System Shutdown Process",
1998 "Firmware Boot Process", "BIOS Boot Process", "Application",
1999 "Service Processor"} ]
2000 uint16 MonitoredEntity;
2001
2002 [MaxLen (256), Description (
2003 "A string describing more textual information about the "
2004 "monitored entity ") ]
2005 string MonitoredEntityDescription;
2006
2007 [Description (
2008 "The timeout interval used by the watchdog, in MicroSeconds."),
2009 Units ("MicroSeconds") ]
2010 uint32 TimeoutInterval;
2011
2012 [Description (
2013 "Resolution of the timer. For example, if this value is 100, "
2014 "then the timer can expire anytime between (TimeoutInterval-"
2015 "100) microseconds or (TimeoutInterval+100) microseconds."),
2016 Units ("MicroSeconds") ]
2017 karl 1.2 uint32 TimerResolution;
2018
2019 [Description ("The time of the last timer expiry.") ]
2020 datetime TimeOfLastExpiration;
2021
2022 [Description (
2023 "Monitored entity at the time of last timer expiry."),
2024 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8"},
2025 Values {"Unknown", "Other", "Operating System",
2026 "Operating System Boot Process",
2027 "Operating System Shutdown Process",
2028 "Firmware Boot Process", "BIOS Boot Process", "Application",
2029 "Service Processor"} ]
2030 uint16 MonitoredEntityOnLastExpiration;
2031
2032 [Description (
2033 "The action that should happen upon the expiry of the "
2034 "watchdog."),
2035 ValueMap {"0", "1", "2", "3", "4", "5"},
2036 Values {"None - Status Only", "System Reset", "System Power Off",
2037 "System Power Off, then On",
2038 karl 1.2 "Generate System NonMaskableInterrupt (NMI)",
2039 "Generate System Management Interrupt (SMI)"} ]
2040 uint16 ActionOnExpiration;
2041
2042 [Description (
2043 "A method to re-arm the timer. This method is only used if "
2044 "the MonitoredEntity is \"Application\". It returns 0 if "
2045 "successful, 1 if unsupported, and any other value if an "
2046 "error occurred. In a subclass, the set of possible return "
2047 "codes could be specified, using a ValueMap qualifier on "
2048 "the method. The strings to which the ValueMap contents are "
2049 "'translated' may also be specified in the subclass as a "
2050 "Values array qualifier.") ]
2051 uint32 KeepAlive();
2052 };
2053
2054
2055 // ===================================================================
2056 // Processor
2057 // ===================================================================
2058 [Version ("2.6.0"), Description (
2059 karl 1.2 "Capabilities and management of the Processor LogicalDevice.") ]
2060 class CIM_Processor : CIM_LogicalDevice {
2061
2062 [Description (
2063 "A free form string describing the role of the Processor - "
2064 "for example, \"Central Processor\" or \"Math Processor\".") ]
2065 string Role;
2066
2067 [Description (
2068 "The Processor family type. For example, values include "
2069 "\"Pentium(R) processor with MMX(TM) technology\" (14) "
2070 "and \"68040\" (96)."),
2071 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
2072 "11", "12", "13", "14", "15", "16", "17", "18", "19",
2073 "24", "25", "26", "27", "28", "29", "30",
2074 "31", "32", "33", "34", "35", "36", "37", "38", "39",
2075 "48", "49", "50", "51", "52", "53", "54", "55",
2076 "64", "65", "66", "67", "68", "69",
2077 "80", "81", "82", "83", "84", "85", "86", "87", "88",
2078 "96", "97", "98", "99", "100", "101",
2079 "112", "120", "121", "128", "130",
2080 karl 1.2 "144", "145", "146", "147", "148", "149", "150",
2081 "160", "176", "177", "178", "179",
2082 "180", "181", "190", "200", "201", "202",
2083 "250", "251", "260", "261", "280", "281",
2084 "300", "301", "302", "320", "350", "500"},
2085 Values {"Other", "Unknown", "8086", "80286", "80386", "80486",
2086 "8087", "80287", "80387", "80487",
2087 // 11
2088 "Pentium(R) brand", "Pentium(R) Pro", "Pentium(R) II",
2089 "Pentium(R) processor with MMX(TM) technology",
2090 "Celeron(TM)", "Pentium(R) II Xeon(TM)",
2091 "Pentium(R) III", "M1 Family", "M2 Family",
2092 //24
2093 "K5 Family", "K6 Family", "K6-2", "K6-3",
2094 "AMD Athlon(TM) Processor Family",
2095 "AMD(R) Duron(TM) Processor", "AMD29000 Family",
2096 //31
2097 "K6-2+", "Power PC Family", "Power PC 601",
2098 "Power PC 603", "Power PC 603+", "Power PC 604",
2099 "Power PC 620", "Power PC X704", "Power PC 750",
2100 // 48
2101 karl 1.2 "Alpha Family", "Alpha 21064", "Alpha 21066",
2102 "Alpha 21164", "Alpha 21164PC", "Alpha 21164a",
2103 "Alpha 21264", "Alpha 21364",
2104 // 64
2105 "MIPS Family", "MIPS R4000", "MIPS R4200",
2106 "MIPS R4400", "MIPS R4600", "MIPS R10000",
2107 // 80
2108 "SPARC Family", "SuperSPARC","microSPARC II",
2109 "microSPARC IIep", "UltraSPARC", "UltraSPARC II",
2110 "UltraSPARC IIi", "UltraSPARC III", "UltraSPARC IIIi",
2111 // 96
2112 "68040", "68xxx Family", "68000",
2113 "68010", "68020", "68030",
2114 // 112
2115 "Hobbit Family",
2116 "Crusoe(TM) TM5000 Family", "Crusoe(TM) TM3000 Family",
2117 "Weitek", "Itanium(TM) Processor",
2118 // 144
2119 "PA-RISC Family", "PA-RISC 8500", "PA-RISC 8000",
2120 "PA-RISC 7300LC", "PA-RISC 7200", "PA-RISC 7100LC",
2121 "PA-RISC 7100",
2122 karl 1.2 // 160
2123 "V30 Family", "Pentium(R) III Xeon(TM)",
2124 "Pentium(R) III Processor with Intel(R) SpeedStep(TM) Technology",
2125 "Pentium(R) 4", "Intel(R) Xeon(TM)",
2126 // 180
2127 "AS400 Family", "Intel(R) Xeon(TM) processor MP",
2128 // 190
2129 "K7",
2130 // 200
2131 "IBM390 Family", "G4", "G5",
2132 // 250
2133 "i860", "i960", "SH-3", "SH-4", "ARM", "StrongARM",
2134 // 300
2135 "6x86", "MediaGX", "MII", "WinChip", "DSP",
2136 "Video Processor"},
2137 MappingStrings {"MIF.DMTF|Processor|013"},
2138 ModelCorrespondence {"CIM_Processor.OtherFamilyDescription"} ]
2139 uint16 Family;
2140
2141 [MaxLen (64), Description (
2142 "A string describing the Processor Family type - used when "
2143 karl 1.2 "the Family property is set to 1 (\"Other\"). This string "
2144 "should be set to NULL when the Family property is any "
2145 "value other than 1."),
2146 ModelCorrespondence {"CIM_Processor.Family"} ]
2147 string OtherFamilyDescription;
2148
2149 [Description (
2150 "CPU socket information including data on how this "
2151 "Processor can be upgraded (if upgrades are supported). "
2152 "This property is an integer enumeration."),
2153 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9",
2154 "10", "11", "12", "13", "14"},
2155 Values {"Other", "Unknown", "Daughter Board", "ZIF Socket",
2156 "Replacement/Piggy Back", "None", "LIF Socket", "Slot 1",
2157 "Slot 2", "370 Pin Socket", "Slot A", "Slot M",
2158 "Socket 423", "Socket A (Socket 462)"},
2159 MappingStrings {"MIF.DMTF|Processor|013"} ]
2160 uint16 UpgradeMethod;
2161
2162 [Description ("The maximum speed (in MHz) of this Processor."),
2163 Units ("MegaHertz"),
2164 karl 1.2 MappingStrings {"MIF.DMTF|Processor|013"} ]
2165 uint32 MaxClockSpeed;
2166
2167 [Description ("The current speed (in MHz) of this Processor."),
2168 Units ("MegaHertz"),
2169 MappingStrings {"MIF.DMTF|Processor|013"} ]
2170 uint32 CurrentClockSpeed;
2171
2172 [Description ("Processor data width in bits."),
2173 Units ("Bits") ]
2174 uint16 DataWidth;
2175
2176 [Description ("Processor address width in bits."),
2177 Units ("Bits") ]
2178 uint16 AddressWidth;
2179
2180 [Gauge, Description (
2181 "Loading of this Processor, averaged over the last minute, "
2182 "in Percent."),
2183 Units ("Percent"),
2184 MappingStrings {"MIB.IETF|HOST-RESOURCES-MIB.hrProcessorLoad"} ]
2185 karl 1.2 uint16 LoadPercentage;
2186
2187 [Description (
2188 "Stepping is a free-form string indicating the revision "
2189 "level of the Processor within the Processor.Family."),
2190 ModelCorrespondence {"CIM_Processor.Family"} ]
2191 string Stepping;
2192
2193 [Description (
2194 "A globally unique identifier for the Processor. This "
2195 "identifier may only be unique within a Processor Family.") ]
2196 string UniqueID;
2197
2198 [Description (
2199 "The CPUStatus property indicates the current status of "
2200 "the Processor. For example, it may be disabled by the user "
2201 "via BIOS (value=2), or disabled due to a POST error (value="
2202 "3). Information in this property can be obtained from SMBIOS, "
2203 "the Type 4 structure, the Status attribute."),
2204 ValueMap {"0", "1", "2", "3", "4", "7"},
2205 Values {"Unknown", "CPU Enabled",
2206 karl 1.2 "CPU Disabled by User via BIOS Setup",
2207 "CPU Disabled By BIOS (POST Error)", "CPU Is Idle", "Other"} ]
2208 uint16 CPUStatus;
2209 };
2210
2211
2212 // ====================================================================
2213 // AlarmDevice
2214 // ===================================================================
2215 [Version ("2.6.0"), Description (
2216 "An AlarmDevice is a type of Device that emits audible or "
2217 "visible indications related to a problem situation. ") ]
2218 class CIM_AlarmDevice : CIM_LogicalDevice {
2219
2220 [Description ("Boolean indicating that the Alarm is audible. ") ]
2221 boolean AudibleAlarm;
2222
2223 [Description ("Boolean indicating that the Alarm is visible. ") ]
2224 boolean VisibleAlarm;
2225
2226 [Description (
2227 karl 1.2 "Boolean indicating that the Alarm causes motion of the "
2228 "Device.") ]
2229 boolean MotionAlarm;
2230
2231 [Description (
2232 "Urgency is an enumerated value that indicates the relative "
2233 "frequency at which the Alarm flashes, vibrates and/or emits "
2234 "audible tones."),
2235 ValueMap {"0", "1", "2", "3", "4", "5", "6"},
2236 Values {"Unknown", "Other", "Not Supported", "Informational",
2237 "Non-Critical", "Critical", "Unrecoverable"} ]
2238 uint16 Urgency;
2239
2240 [Description ("The current state of the alarm."),
2241 ValueMap {"0", "1", "2", "3"},
2242 Values {"Unknown", "Off", "Steady", "Alternating"} ]
2243 uint16 AlarmState;
2244
2245 [Description (
2246 "True indicates that the audio of an AlarmState indicator "
2247 "has been disabled (i.e. muted). A disabled state here "
2248 karl 1.2 "does not imply that the AlarmState is off.") ]
2249 boolean AudioIndicatorIsDisabled;
2250
2251 [Description (
2252 "True indicates that the visual of an AlarmState indicator "
2253 "has been disabled (i.e. dimmed). A disabled state here "
2254 "does not imply that the AlarmState is off.") ]
2255 boolean VisualIndicatorIsDisabled;
2256
2257 [Description (
2258 "True indicates that the motion of an AlarmState indicator "
2259 "has been disabled (i.e. stopped). A disabled state here "
2260 "does not imply that the AlarmState is off.") ]
2261 boolean MotionIndicatorIsDisabled;
2262
2263 [Description (
2264 "SetAlarmState is a method for defining the current state "
2265 "of the Alarm. Its input parameter, RequestedAlarmState, is "
2266 "specified using the Values list of AlarmDevice's AlarmState "
2267 "property. SetAlarmState returns 0 if the request is "
2268 "successfully implemented, 1 if the specified RequestedAlarm"
2269 karl 1.2 "State is not supported, and some other value if any other "
2270 "error occurred. In a subclass, the set of possible return "
2271 "codes should be specified using a ValueMap qualifier on the "
2272 "method. The strings to which the ValueMap contents are "
2273 "'translated' should be specified as a Values array "
2274 "qualifier.") ]
2275 uint32 SetAlarmState (
2276
2277 [IN, ValueMap {"0", "1", "2", "3"},
2278 Values {"Unknown", "Off", "Steady", "Alternating"} ]
2279 uint16 RequestedAlarmState);
2280
2281 [Description (
2282 "SetAlarmIndicator is a method for enabling or disabling the "
2283 "indicator of the AlarmState function, without changing the "
2284 "current AlarmState. It has 3 input parameters, Audio"
2285 "Indicator, VisualIndicator and MotionIndicator. For all of "
2286 "the input parameters, a value of 0 indicates no change to "
2287 "the AlarmState indicator, 1 indicates Disable, and 2 "
2288 "indicates Enable. The method returns 0 if the request is "
2289 "successfully implemented, 1 if the specified request is not "
2290 karl 1.2 "supported, and some other value if any other error occurred. "
2291 "In a subclass, the set of possible return codes should be "
2292 "specified using a ValueMap qualifier on the method. The "
2293 "strings to which the ValueMap contents are 'translated' "
2294 "should be specified as a Values array qualifier.") ]
2295 uint32 SetAlarmIndicator (
2296
2297 [IN, ValueMap {"0", "1", "2"},
2298 Values {"No Change", "Disable", "Enable"} ]
2299 uint16 AudioIndicator,
2300
2301 [IN, ValueMap {"0", "1", "2"},
2302 Values {"No Change", "Disable", "Enable"} ]
2303 uint16 VisualIndicator,
2304
2305 [IN, ValueMap {"0", "1", "2"},
2306 Values {"No Change", "Disable", "Enable"} ]
2307 uint16 MotionIndicator);
2308
2309 [Description (
2310 "SetUrgency is a method for defining the desired urgency "
2311 karl 1.2 "level for the Alarm. Its input parameter, RequestedUrgency, "
2312 "is specified using the Values list of AlarmDevice's Urgency "
2313 "property. SetUrgency returns 0 if the request is successfully "
2314 "implemented, 1 if the specified Urgency level is not "
2315 "supported, and some other value if any other error occurred. "
2316 "In a subclass, the set of possible return codes should be "
2317 "specified using a ValueMap qualifier on the method. The "
2318 "strings to which the ValueMap contents are 'translated' "
2319 "should be specified as a Values array qualifier.") ]
2320 uint32 SetUrgency (
2321
2322 [IN, ValueMap {"1", "3", "4", "5", "6"},
2323 Values {"Other", "Informational", "Non-Critical", "Critical",
2324 "Unrecoverable"} ]
2325 uint16 RequestedUrgency);
2326 };
2327
2328
2329 // ===================================================================
2330 // AssociatedAlarm
2331 // ===================================================================
2332 karl 1.2 [Association, Version ("2.6.0"), Description (
2333 "LogicalDevices may have one or more AlarmDevices "
2334 "associated with them, in order to indicate problem situations. "
2335 "This relationship is indicated by the AssociatedAlarm "
2336 "dependency. ") ]
2337 class CIM_AssociatedAlarm : CIM_Dependency {
2338
2339 [Override ("Antecedent"),
2340 Description ("The AlarmDevice. ") ]
2341 CIM_AlarmDevice REF Antecedent;
2342
2343 [Override ("Dependent"),
2344 Description ("The LogicalDevice that is alarmed. ") ]
2345 CIM_LogicalDevice REF Dependent;
2346 };
2347
2348
2349 // ===================================================================
2350 // ComputerSystemProcessor
2351 // ===================================================================
2352 [Association, Aggregation, Version ("2.6.0"), Description (
2353 karl 1.2 "Association indicating the processor(s) of a Unitary"
2354 "ComputerSystem. At least one processor is required. Note "
2355 "that this relationship inherits from the SystemDevice "
2356 "association, and therefore, the System Processor is weak to "
2357 "the aggregating UnitaryComputerSystem.") ]
2358 class CIM_ComputerSystemProcessor : CIM_SystemDevice {
2359
2360 [Override ("GroupComponent"), Aggregate,
2361 Description ("The UnitaryComputerSystem.") ]
2362 CIM_UnitaryComputerSystem REF GroupComponent;
2363
2364 [Override ("PartComponent"),
2365 Description (
2366 "The Processor which is part of the UnitaryComputerSystem.") ]
2367 CIM_Processor REF PartComponent;
2368 };
2369
2370
2371
2372 // ===================================================================
2373 // UML Page 5- Resources, Software Elements, and Software Features
2374 karl 1.2 // ===================================================================
2375 // ===================================================================
2376 // SystemResource
2377 // ===================================================================
2378 [Abstract,
2379 Version ("2.6.0"), Description (
2380 "An entity managed by BIOS and/or an OperatingSystem which is "
2381 "available for use by software and/or LogicalDevices. Examples "
2382 "of Resources in the x86 environment are IRQs, DMA channels and "
2383 "memory mapped I/O.") ]
2384 class CIM_SystemResource : CIM_LogicalElement {
2385
2386 [Description (
2387 "Boolean indicating whether the Resource can be shared.") ]
2388 boolean Shareable;
2389 };
2390
2391
2392 // ===================================================================
2393 // IRQ
2394 // ===================================================================
2395 karl 1.2 [Version ("2.6.0"), Description (
2396 "Personal computer architecture IRQ.") ]
2397 class CIM_IRQ : CIM_SystemResource {
2398
2399 [Propagated("CIM_ComputerSystem.CreationClassName"),
2400 Key, MaxLen (256),
2401 Description ("The scoping ComputerSystem's CreationClassName.") ]
2402 string CSCreationClassName;
2403
2404 [Propagated("CIM_ComputerSystem.Name"),
2405 Key, MaxLen (256),
2406 Description ("The scoping ComputerSystem's Name.") ]
2407 string CSName;
2408
2409 [Key, MaxLen (256),
2410 Description (
2411 "CreationClassName indicates the name of the class or "
2412 "the subclass used in the creation of an instance. When "
2413 "used with the other key properties of this class, this "
2414 "property allows all instances of this class and its "
2415 "subclasses to be uniquely identified.") ]
2416 karl 1.2 string CreationClassName;
2417
2418 [Key,
2419 Description ("A part of the object's key value, IRQ Number."),
2420 MappingStrings {"MIF.DMTF|IRQ|002.1"} ]
2421 uint32 IRQNumber;
2422
2423 [Description ("Availability of the IRQ."),
2424 ValueMap {"1", "2", "3", "4", "5"},
2425 Values {"Other", "Unknown", "Available",
2426 "In Use/Not Available",
2427 "In Use and Available/Shareable"},
2428 MappingStrings {"MIF.DMTF|IRQ|002.2"} ]
2429 uint16 Availability;
2430
2431 [Description (
2432 "IRQ trigger type indicating whether edge (value=4) "
2433 "or level triggered (value=3) interrupts occur. Also, "
2434 "\"Other\" (1) and \"Unknown\" (2) may be defined."),
2435 ValueMap {"1", "2", "3", "4"},
2436 Values {"Other", "Unknown", "Level", "Edge"},
2437 karl 1.2 MappingStrings {"MIF.DMTF|IRQ|002.3",
2438 "MIF.DMTF|System Resource IRQ Info|001.2"} ]
2439 uint16 TriggerType;
2440
2441 [Description (
2442 "IRQ trigger level indicating whether the interrupt is "
2443 "triggered by the hardware signal going high (value=4) "
2444 "or low (value=3). Also, \"Other\" (1) and "
2445 "\"Unknown\" (2) may be defined."),
2446 ValueMap {"1", "2", "3", "4"},
2447 Values {"Other", "Unknown", "Active Low", "Active High"},
2448 MappingStrings {"MIF.DMTF|System Resource IRQ Info|001.3"} ]
2449 uint16 TriggerLevel;
2450
2451 // Override is used to define the MappingString qualifier
2452 [Override ("Shareable"),
2453 Description (
2454 "Boolean indicating whether the IRQ can be shared."),
2455 MappingStrings {"MIF.DMTF|IRQ|002.4"} ]
2456 boolean Shareable;
2457
2458 karl 1.2 [Description (
2459 "The Hardware property indicates whether the interrupt "
2460 "is hardware or software based. (If TRUE, the interrupt is "
2461 "hardware based.) On a personal computer, a hardware IRQ "
2462 "is a physical wire to a programmable interrupt "
2463 "controller (PIC) chip, through which the CPU can be "
2464 "notified of time critical events. Some IRQ lines are "
2465 "reserved for standard Devices such as the keyboard, floppy "
2466 "disk drives, and the system clock. A software interrupt "
2467 "is a programmatic mechanism to allow an application to "
2468 "get the attention of the Processor.") ]
2469 boolean Hardware;
2470 };
2471
2472 // ===================================================================
2473 // MemoryMappedIO
2474 // ===================================================================
2475 [Version ("2.6.0"), Description (
2476 "Personal Computer architecture Memory Mapped I/O. This class "
2477 "addresses both memory and port I/O resources. The property, "
2478 "MappedResource, defines whether memory or I/O is mapped (and "
2479 karl 1.2 "for I/O whether the mapping is to a memory or a port space).") ]
2480 class CIM_MemoryMappedIO : CIM_SystemResource {
2481
2482 [Propagated("CIM_ComputerSystem.CreationClassName"),
2483 Key, MaxLen (256),
2484 Description ("The scoping ComputerSystem's CreationClassName.") ]
2485 string CSCreationClassName;
2486
2487 [Propagated("CIM_ComputerSystem.Name"),
2488 Key, MaxLen (256),
2489 Description ("The scoping ComputerSystem's Name.") ]
2490 string CSName;
2491
2492 [Key, MaxLen (256),
2493 Description (
2494 "CreationClassName indicates the name of the class or "
2495 "the subclass used in the creation of an instance. When "
2496 "used with the other key properties of this class, this "
2497 "property allows all instances of this class and its "
2498 "subclasses to be uniquely identified.") ]
2499 string CreationClassName;
2500 karl 1.2
2501 [Key, Description (
2502 "A part of the object's key value, the starting address of "
2503 "memory mapped I/O."),
2504 MappingStrings {"MIF.DMTF|Memory Mapped I/O|001.1"} ]
2505 uint64 StartingAddress;
2506
2507 [Description ("Ending address of memory mapped I/O."),
2508 MappingStrings {"MIF.DMTF|Memory Mapped I/O|001.2"} ]
2509 uint64 EndingAddress;
2510
2511 [Description (
2512 "Type of memory mapped I/O. MappedResource defines whether "
2513 "memory or I/O is mapped, and for I/O, whether the mapping "
2514 "is to a memory or a port space."),
2515 ValueMap {"0", "1", "2", "3"},
2516 Values {"Other", "Mapped Memory", "I/O Mapped to Memory Space",
2517 "I/O Mapped to Port Space"} ]
2518 uint16 MappedResource;
2519 };
2520
2521 karl 1.2
2522 // ===================================================================
2523 // MemoryResource
2524 // ===================================================================
2525 [Version ("2.6.0"), Description (
2526 "Since the MemoryMappedIO class applies to memory AND port "
2527 "resources, there is the potential for key conflict. For example, "
2528 "both a memory resource and a port resource may be located at "
2529 "address 0. Since StartingAddress is the distinguishing key of "
2530 "MemoryMappedIO, two instances would be created with the same key. "
2531 "This is prevented by defining memory and port resource subclasses "
2532 "of MemoryMappedIO, and allowing the CreationClassName key property "
2533 "to distinguish between them and force uniqueness in their keys.") ]
2534 class CIM_MemoryResource : CIM_MemoryMappedIO {
2535 };
2536
2537
2538 // ===================================================================
2539 // PortResource
2540 // ===================================================================
2541 [Version ("2.6.0"), Description (
2542 karl 1.2 "Since the MemoryMappedIO class applies to memory AND port "
2543 "resources, there is the potential for key conflict. For example, "
2544 "both a memory resource and a port resource may be located at "
2545 "address 0. Since StartingAddress is the distinguishing key of "
2546 "MemoryMappedIO, two instances would be created with the same key. "
2547 "This is prevented by defining memory and port resource subclasses "
2548 "of MemoryMappedIO, and allowing the CreationClassName key property "
2549 "to distinguish between them and force uniqueness in their keys.") ]
2550 class CIM_PortResource : CIM_MemoryMappedIO {
2551 };
2552
2553
2554 // ===================================================================
2555 // DMA
2556 // ===================================================================
2557 [Version ("2.6.0"), Description (
2558 "Personal computer architecture DMA.") ]
2559 class CIM_DMA : CIM_SystemResource {
2560
2561 [Propagated("CIM_ComputerSystem.CreationClassName"),
2562 Key, MaxLen (256),
2563 karl 1.2 Description ("The scoping ComputerSystem's CreationClassName.") ]
2564 string CSCreationClassName;
2565
2566 [Propagated("CIM_ComputerSystem.Name"),
2567 Key, MaxLen (256),
2568 Description ("The scoping ComputerSystem's Name.") ]
2569 string CSName;
2570
2571 [Key, MaxLen (256),
2572 Description (
2573 "CreationClassName indicates the name of the class or "
2574 "the subclass used in the creation of an instance. When "
2575 "used with the other key properties of this class, this "
2576 "property allows all instances of this class and its "
2577 "subclasses to be uniquely identified.") ]
2578 string CreationClassName;
2579
2580 [Key, Description (
2581 "A part of the object's key value, the DMA Channel number."),
2582 MappingStrings {"MIF.DMTF|DMA|001.1"} ]
2583 uint32 DMAChannel;
2584 karl 1.2
2585 [Description ("Availability of the DMA."),
2586 ValueMap {"1", "2", "3", "4", "5"},
2587 Values {"Other", "Unknown", "Available",
2588 "In Use/Not Available",
2589 "In Use and Available/Shareable"},
2590 MappingStrings {"MIF.DMTF|DMA|001.2"} ]
2591 uint16 Availability;
2592
2593 [Description (
2594 "Indication that the DMA Channel supports burst mode."),
2595 MappingStrings {"MIF.DMTF|DMA|001.3"} ]
2596 boolean BurstMode;
2597
2598 [Description (
2599 "An array indicating all the transfer widths (in bits) "
2600 "supported by this DMA Channel. Permissible values "
2601 "are 8, 16, 32, 64 or 128 bits. If unknown, enter 0."),
2602 Units ("Bits"),
2603 ValueMap {"0", "8", "16", "32", "64", "128"},
2604 MappingStrings {"MIF.DMTF|System Resource DMA Info|001.2"} ]
2605 karl 1.2 uint16 TransferWidths[];
2606
2607 [Description (
2608 "An integer indicating the DMA Channel address size in "
2609 "bits. Permissible values are 8, 16, 32 or 64 bits. "
2610 "If unknown, enter 0."),
2611 Units ("Bits"),
2612 ValueMap {"0", "8", "16", "32", "64"},
2613 MappingStrings {"MIF.DMTF|System Resource DMA Info|001.3"} ]
2614 uint16 AddressSize;
2615
2616 [Description (
2617 "The maximum number of bytes that can be transferred by this "
2618 "DMA Channel. If unknown, enter 0."),
2619 Units ("Bytes"),
2620 MappingStrings {"MIF.DMTF|System Resource DMA Info|001.4"} ]
2621 uint32 MaxTransferSize;
2622
2623 [Description (
2624 "Indicates whether DMA may execute in 'count by byte' mode "
2625 "(value=4) or not (value=3). Also, \"Other\" (1) and "
2626 karl 1.2 "\"Unknown\" (2) may be defined."),
2627 ValueMap {"1", "2", "3", "4"},
2628 Values {"Other", "Unknown",
2629 "Not execute in 'count by byte' mode",
2630 "Execute in 'count by byte' mode"},
2631 MappingStrings {"MIF.DMTF|System Resource DMA Info|001.7"} ]
2632 uint16 ByteMode;
2633
2634 [Description (
2635 "Indicates whether DMA may execute in 'count by word' mode "
2636 "(value=4) or not (value=3). Also, \"Other\" (1) and "
2637 "\"Unknown\" (2) may be defined."),
2638 ValueMap {"1", "2", "3", "4"},
2639 Values {"Other", "Unknown",
2640 "Not execute in 'count by word' mode",
2641 "Execute in 'count by word' mode"},
2642 MappingStrings {"MIF.DMTF|System Resource DMA Info|001.8"} ]
2643 uint16 WordMode;
2644
2645 [Description (
2646 "DMA channel timing. For example, \"Type A\" (value "
2647 karl 1.2 "=4) or \"Type F\" (6) could be specified."),
2648 ValueMap {"1", "2", "3", "4", "5", "6"},
2649 Values {"Other", "Unknown", "ISA Compatible", "Type A",
2650 "Type B", "Type F"},
2651 MappingStrings {"MIF.DMTF|System Resource DMA Info|001.9"} ]
2652 uint16 ChannelTiming;
2653
2654 [Description (
2655 "Indicates whether C type (burst) timing is supported "
2656 "(value=5) or not (value=4). Also, \"Other\" (1), "
2657 "\"Unknown\" (2) and \"ISA Compatible\" (3) are defined."),
2658 ValueMap {"1", "2", "3", "4", "5"},
2659 Values {"Other", "Unknown", "ISA Compatible", "Not Supported",
2660 "Supported"},
2661 MappingStrings {"MIF.DMTF|System Resource DMA Info|001.10"} ]
2662 uint16 TypeCTiming;
2663 };
2664
2665
2666 // ===================================================================
2667 // ComputerSystemResource
2668 karl 1.2 // ===================================================================
2669 [Association, Aggregation,
2670 Version ("2.6.0"), Description (
2671 "An association between a ComputerSystem and the System"
2672 "Resources available on it.") ]
2673 class CIM_ComputerSystemResource : CIM_SystemComponent {
2674
2675 [Override ("GroupComponent"), Aggregate,
2676 Min (1), Max (1), Description ("The ComputerSystem.") ]
2677 CIM_ComputerSystem REF GroupComponent;
2678
2679 [Override ("PartComponent"),
2680 Description ("A SystemResource of the ComputerSystem.") ]
2681 CIM_SystemResource REF PartComponent;
2682 };
2683
2684
2685 // ===================================================================
2686 // ComputerSystemIRQ
2687 // ===================================================================
2688 [Association, Aggregation,
2689 karl 1.2 Version ("2.6.0"), Description (
2690 "An association between a ComputerSystem and the IRQs "
2691 "available on it.") ]
2692 class CIM_ComputerSystemIRQ : CIM_ComputerSystemResource {
2693
2694 [Override ("PartComponent"), Weak,
2695 Description ("An IRQ of the ComputerSystem.") ]
2696 CIM_IRQ REF PartComponent;
2697 };
2698
2699 // ===================================================================
2700 // ComputerSystemMappedIO
2701 // ===================================================================
2702 [Association, Aggregation,
2703 Version ("2.6.0"), Description (
2704 "An association between a ComputerSystem and the Memory Mapped "
2705 "I/O ports available on it.") ]
2706 class CIM_ComputerSystemMappedIO : CIM_ComputerSystemResource {
2707
2708 [Override ("PartComponent"), Weak,
2709 Description (
2710 karl 1.2 "A memory mapped I/O port of the ComputerSystem.") ]
2711 CIM_MemoryMappedIO REF PartComponent;
2712 };
2713
2714
2715 // ===================================================================
2716 // ComputerSystemDMA
2717 // ===================================================================
2718 [Association, Aggregation,
2719 Version ("2.6.0"), Description (
2720 "An association between a ComputerSystem and the DMA channels "
2721 "available on it.") ]
2722 class CIM_ComputerSystemDMA : CIM_ComputerSystemResource {
2723
2724 [Override ("PartComponent"), Weak,
2725 Description ("A DMA channel of the ComputerSystem.") ]
2726 CIM_DMA REF PartComponent;
2727 };
2728
2729
2730 // ===================================================================
2731 karl 1.2 // AllocatedResource
2732 // ===================================================================
2733 [Association, Version ("2.6.0"), Description (
2734 "An association between LogicalDevices and SystemResources, "
2735 "indicating that the Resource is assigned to the Device.") ]
2736 class CIM_AllocatedResource : CIM_Dependency {
2737
2738 [Override ("Antecedent"),
2739 Description ("The Resource.") ]
2740 CIM_SystemResource REF Antecedent;
2741
2742 [Override ("Dependent"),
2743 Description (
2744 "The LogicalDevice to which the Resource is assigned.") ]
2745 CIM_LogicalDevice REF Dependent;
2746 };
2747
2748
2749 // ===================================================================
2750 // AllocatedDMA
2751 // ===================================================================
2752 karl 1.2 [Association, Version ("2.6.0"), Description (
2753 "An association between a LogicalDevice and a DMA System"
2754 "Resource indicating that the DMA Channel is assigned to the "
2755 "Device.") ]
2756 class CIM_AllocatedDMA : CIM_AllocatedResource {
2757
2758 [Override ("Antecedent"),
2759 Description ("The DMA Channel.") ]
2760 CIM_DMA REF Antecedent;
2761
2762 [Description (
2763 "Boolean indicating whether the LogicalDevice can act as a "
2764 "bus master on the DMA Channel."),
2765 MappingStrings {"MIF.DMTF|System Resource DMA Info|001.6"} ]
2766 boolean BusMaster;
2767 };
2768
2769 // ===================================================================
2770 // VideoBIOSFeature
2771 // ===================================================================
2772 [Version ("2.6.0"), Description (
2773 karl 1.2 "VideoBIOSFeature represents the capabilities of the low-level "
2774 "software that is used to bring up, configure and use a "
2775 "ComputerSystem's VideoController and Display.") ]
2776 class CIM_VideoBIOSFeature : CIM_SoftwareFeature {
2777
2778 [Description (
2779 "An array of integers that specify the features supported by "
2780 "the VideoBIOS. For example, one could indicate support for "
2781 "VESA power management (value=6) or video BIOS shadowing (8). "
2782 "The value, 3, is not valid in the CIM Schema since in DMI it "
2783 "represents that no BIOS Features are supported. In this "
2784 "case, the object should not be instantiated."),
2785 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9"},
2786 Values {"Other", "Unknown", "Undefined", "Standard Video BIOS",
2787 "VESA BIOS Extensions Supported",
2788 "VESA Power Management Supported",
2789 "VESA Display Data Channel Supported",
2790 "Video BIOS Shadowing Allowed", "Video BIOS Upgradeable"},
2791 ArrayType ("Indexed"),
2792 MappingStrings {"MIF.DMTF|Video BIOS Characteristic|001.3"},
2793 ModelCorrespondence {
2794 karl 1.2 "CIM_VideoBIOSFeature.CharacteristicDescriptions"} ]
2795 uint16 Characteristics[];
2796
2797 [Description (
2798 "An array of free-form strings providing more detailed "
2799 "explanations for any of the VideoBIOS features indicated in "
2800 "the Characteristics array. Note, each entry of this array "
2801 "is related to the entry in the Characteristics array that "
2802 "is located at the same index."),
2803 ArrayType ("Indexed"),
2804 MappingStrings {"MIF.DMTF|Video BIOS Characteristic|001.4"},
2805 ModelCorrespondence {"CIM_VideoBIOSFeature.Characteristics"} ]
2806 string CharacteristicDescriptions[];
2807 };
2808
2809
2810 // ===================================================================
2811 // VideoBIOSElement
2812 // ===================================================================
2813 [Version ("2.6.0"), Description (
2814 "VideoBIOSElement represents the low-level software that is "
2815 karl 1.2 "loaded into non-volatile storage and used to bring up, "
2816 "configure and access a ComputerSystem's VideoController and "
2817 "Display.") ]
2818 class CIM_VideoBIOSElement : CIM_SoftwareElement {
2819
2820 [Override ("Version"),
2821 MappingStrings {"MIF.DMTF|Video BIOS|001.3"} ]
2822 string Version;
2823
2824 [Override ("Manufacturer"),
2825 MappingStrings {"MIF.DMTF|Video BIOS|001.2"} ]
2826 string Manufacturer;
2827
2828 [Description (
2829 "If true, indicates that the Video BIOS is shadowed."),
2830 MappingStrings {"MIF.DMTF|Video BIOS|001.5"} ]
2831 boolean IsShadowed;
2832
2833 [Description (
2834 "Date that this BIOS was released."),
2835 MappingStrings {"MIF.DMTF|Video BIOS|001.4"} ]
2836 karl 1.2 datetime ReleaseDate;
2837 };
2838
2839
2840 // ===================================================================
2841 // VideoBIOSFeatureVideoBIOSElements
2842 // ===================================================================
2843 [Association, Aggregation, Version ("2.6.0"), Description (
2844 "A link between VideoBIOSFeature and its aggregated "
2845 "VideoBIOSElements.") ]
2846 class CIM_VideoBIOSFeatureVideoBIOSElements :
2847 CIM_SoftwareFeatureSoftwareElements {
2848
2849 [Override ("GroupComponent"), Aggregate,
2850 Description ("The VideoBIOSFeature.") ]
2851 CIM_VideoBIOSFeature REF GroupComponent;
2852
2853 [Override ("PartComponent"),
2854 Description (
2855 "The VideoBIOSElement that implements the capabilities "
2856 "described by VideoBIOSFeature.") ]
2857 karl 1.2 CIM_VideoBIOSElement REF PartComponent;
2858 };
2859
2860
2861 // ===================================================================
2862 // DeviceSoftware
2863 // ===================================================================
2864 [Association, Version ("2.6.0"), Description (
2865 "The DeviceSoftware relationship identifies any software that "
2866 "is associated with a Device - such as drivers, configuration "
2867 "or application software, or firmware.") ]
2868 class CIM_DeviceSoftware : CIM_Dependency {
2869
2870 [Override ("Antecedent"),
2871 Description ("The SoftwareElement.") ]
2872 CIM_SoftwareElement REF Antecedent;
2873
2874 [Override ("Dependent"),
2875 Description (
2876 "The LogicalDevice that requires or uses the software.") ]
2877 CIM_LogicalDevice REF Dependent;
2878 karl 1.2
2879 [Description (
2880 "An enumerated integer to indicate the role this software "
2881 "plays in regards to its associated Device. For example, this "
2882 "software could be instrumentation (value=5) or firmware (6)."),
2883 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8"},
2884 Values {"Unknown", "Other", "Driver", "Configuration Software",
2885 "Application Software", "Instrumentation", "Firmware",
2886 "BIOS", "Boot ROM"},
2887 ModelCorrespondence {"CIM_DeviceSoftware.PurposeDescription"},
2888 MappingStrings {"MIF.DMTF|SubComponent Software|001.2"} ]
2889 uint16 Purpose;
2890
2891 [Description (
2892 "A free-form string to provide more information for "
2893 "the Purpose property, e.g. \"Application Software\"."),
2894 ModelCorrespondence {"CIM_DeviceSoftware.Purpose"} ]
2895 string PurposeDescription;
2896
2897 [Description (
2898 "Boolean indicating that the software is 'burned into' or "
2899 karl 1.2 "otherwise located on the hardware of the LogicalDevice.") ]
2900 boolean LoadedOnDevice;
2901
2902 [Description (
2903 "Boolean indicating whether the software is upgradeable, "
2904 "when it is LoadedOnDevice. Software that is loaded as "
2905 "part of the OperatingSystem is typically changeable and "
2906 "upgradeable. However, when DeviceSoftware is burned into "
2907 "EEPROM or a chip that Realizes the LogicalDevice, then "
2908 "it may not be upgradeable. This property indicates the "
2909 "ability to update and upgrade DeviceSoftware.") ]
2910 boolean UpgradeableOnDevice;
2911 };
2912
2913
2914 // ===================================================================
2915 // AGPSoftwareFeature
2916 // ===================================================================
2917 [Version ("2.6.0"), Description (
2918 "AGPSoftwareFeature adds two attributes to SoftwareFeature "
2919 "to represent the capabilities of an AGP device driver. An "
2920 karl 1.2 "instance of this class would be associated with the "
2921 "Driver's SoftwareElement using the SoftwareFeatureSoftware"
2922 "Elements relationship. The driver's SoftwareElement is "
2923 "associated with the AGPVideoController via the Device"
2924 "Software relationship.") ]
2925 class CIM_AGPSoftwareFeature : CIM_SoftwareFeature {
2926
2927 [Description (
2928 "An array of integers indicating various capabilities and "
2929 "characteristics of the AGPVideoController."),
2930 ArrayType ("Indexed"),
2931 ValueMap {"0", "1", "2", "3", "4", "5", "6"},
2932 Values {"Unknown", "Other", "OS support",
2933 "Hardware Acceleration", "Hardware Blit",
2934 "OpenGL Support", "Cache Coherency"},
2935 ModelCorrespondence {
2936 "CIM_AGPSoftwareFeature.CharacteristicDescriptions"} ]
2937 uint16 Characteristics[];
2938
2939 [Description (
2940 "An array of free-form strings providing more detailed "
2941 karl 1.2 "explanations for any of the features indicated in the "
2942 "Characteristics array. Each entry in this array is "
2943 "related to the Characteristics array entry located at "
2944 "the same index."),
2945 ArrayType ("Indexed"),
2946 ModelCorrespondence {"CIM_AGPSoftwareFeature.Characteristics"} ]
2947 string CharacteristicDescriptions[];
2948 };
2949
2950 // ===================================================================
2951 // UML Page 6 - Statistics
2952 // ===================================================================
2953 // ==================================================================
2954 // DeviceErrorCounts
2955 // ==================================================================
2956 [Version ("2.6.0"), Description (
2957 "DeviceErrorCounts is a statistical class containing error-"
2958 "related counters for a LogicalDevice. The types of errors "
2959 "are as defined by CCITT (Rec X.733) and ISO (IEC 10164-4).") ]
2960 class CIM_DeviceErrorCounts : CIM_StatisticalInformation {
2961
2962 karl 1.2 [Propagated ("CIM_LogicalDevice.SystemCreationClassName"),
2963 Key, MaxLen (256),
2964 Description ("The scoping System's CreationClassName. ") ]
2965 string SystemCreationClassName;
2966
2967 [Propagated ("CIM_LogicalDevice.SystemName"),
2968 Key, MaxLen (256),
2969 Description ("The scoping System's Name. ") ]
2970 string SystemName;
2971
2972 [Propagated ("CIM_LogicalDevice.CreationClassName"),
2973 Key, MaxLen (256),
2974 Description ("The scoping Device's CreationClassName. ") ]
2975 string DeviceCreationClassName;
2976
2977 [Propagated ("CIM_LogicalDevice.DeviceID"),
2978 Key, MaxLen (64),
2979 Description ("The scoping Device's ID. ") ]
2980 string DeviceID;
2981
2982 [Override ("Name"),
2983 karl 1.2 Key, MaxLen (256),
2984 Description (
2985 "The inherited Name serves as part of the key for the "
2986 "DeviceErrorCounts instance. The object is scoped by "
2987 "the LogicalDevice to which the statistics apply. ") ]
2988 string Name;
2989
2990 [Description ("Count of the indeterminate errors. "),
2991 Counter ]
2992 uint64 IndeterminateErrorCount;
2993
2994 [Description ("Count of the critical errors. "),
2995 MappingStrings {"MIF.DMTF|Operational State|006"},
2996 Counter ]
2997 uint64 CriticalErrorCount;
2998
2999 [Description ("Count of the major errors. "),
3000 MappingStrings {"MIF.DMTF|Operational State|006"},
3001 Counter ]
3002 uint64 MajorErrorCount;
3003
3004 karl 1.2 [Description ("Count of the minor errors. "),
3005 Counter ]
3006 uint64 MinorErrorCount;
3007
3008 [Description ("Count of the warnings. "),
3009 MappingStrings {"MIF.DMTF|Operational State|006"},
3010 Counter ]
3011 uint64 WarningCount;
3012
3013 [Description (
3014 "Method to reset the error and warning counters. The method "
3015 "takes one parameter as input - an integer indicating which "
3016 "counter to reset. For this input parameter, 0 indicates all, "
3017 "1 indicates a reset of the indeterminate error counter, "
3018 "2 the critical error counter, 3 the major error counter, "
3019 "4 the minor error counter and 5 the warning counter. The "
3020 "method returns 0 if successful, 1 if not supported, and any "
3021 "other value if an error occurred. A method is specified so "
3022 "that the LogicalDevice's instrumentation, which tabulates "
3023 "the errors and warnings, can also reset its internal "
3024 "processing and counters. \n"
3025 karl 1.2 "In a subclass, the set of possible return codes could be "
3026 "specified, using a ValueMap qualifier on the method. The "
3027 "strings to which the ValueMap contents are 'translated' "
3028 "may also be specified in the subclass as a Values "
3029 "array qualifier.") ]
3030 uint32 ResetCounter (
3031
3032 [IN, ValueMap {"0", "1", "2", "3", "4", "5"},
3033 Values {"All", "Indeterminate Error Counter",
3034 "Critical Error Counter", "Major Error Counter",
3035 "Minor Error Counter", "Warning Counter"} ]
3036 uint16 SelectedCounter);
3037 };
3038
3039
3040 // ==================================================================
3041 // ErrorCountersForDevice
3042 // ==================================================================
3043 [Association, Version ("2.6.0"), Description (
3044 "ErrorCountersForDevice relates the DeviceErrorCounts class "
3045 "to the LogicalDevice to which it applies. ") ]
3046 karl 1.2 class CIM_ErrorCountersForDevice : CIM_Statistics {
3047
3048 [Override ("Stats"), Weak,
3049 Description (
3050 "The statistical object - in this case, the error counter "
3051 "class.") ]
3052 CIM_DeviceErrorCounts REF Stats;
3053
3054 [Override ("Element"), Min (1), Max (1),
3055 Description ("The Device to which the error counters apply. ") ]
3056 CIM_LogicalDevice REF Element;
3057 };
3058
3059
3060 // ==================================================================
3061 // FCAdapterEventCounters
3062 // ==================================================================
3063 [Version ("2.6.0"), Description (
3064 "Error and event counters specific to a Fibre Channel Adapter.") ]
3065 class CIM_FCAdapterEventCounters : CIM_DeviceStatisticalInformation {
3066
3067 karl 1.2 [Description ("The number of Abort sequence frames received."),
3068 Counter ]
3069 uint64 ABTSFramesReceived;
3070
3071 [Description ("The number of Abort sequence frames sent."),
3072 Counter ]
3073 uint64 ABTSFramesSent;
3074
3075 [Description ("The number of frames busied by the Fabric."),
3076 Counter ]
3077 uint64 FBSYsReceived;
3078
3079 [Description (
3080 "The number of frames busied by the receiving Node."),
3081 Counter ]
3082 uint64 PBSYsReceived;
3083
3084 [Description (
3085 "The number of frames busied by the Adapter itself."),
3086 Counter ]
3087 uint64 PBSYsSent;
3088 karl 1.2
3089 [Description ("The number of frames rejected by the Fabric."),
3090 Counter ]
3091 uint64 FRJTsReceived;
3092
3093 [Description (
3094 "The number of frames rejected by the receiving Node."),
3095 Counter ]
3096 uint64 PRJTsReceived;
3097
3098 [Description (
3099 "The number of frames rejected by the Adapter itself."),
3100 Counter ]
3101 uint64 PRJTsSent;
3102
3103 [Description (
3104 "The number of PRLI frames sent where the response was "
3105 "LS_RJT."),
3106 Counter ]
3107 uint64 PRLIsRejected;
3108
3109 karl 1.2 [Description (
3110 "The number of PRLO frames sent where the response was "
3111 "LS_RJT."),
3112 Counter ]
3113 uint64 PRLOsRejected;
3114
3115 [Description (
3116 "The number of Abort sequence frames sent where the response "
3117 "was BA_RJT."),
3118 Counter ]
3119 uint64 ABTSFramesRejected;
3120
3121 [Description (
3122 "Method to reset the Adapter event counters. The method "
3123 "takes one parameter as input - an integer indicating which "
3124 "counter to reset. For this input parameter, 0 indicates all, "
3125 "1 through 11 indicate a reset of the individual counters. "
3126 "The method returns 0 if successful, 1 if not supported, and "
3127 "any other value if an error occurred. A method is specified "
3128 "so that the Device's instrumentation, which tabulates "
3129 "the errors and warnings, can also reset its internal "
3130 karl 1.2 "processing and counters. \n"
3131 "In a subclass, the set of possible return codes could be "
3132 "specified, using a ValueMap qualifier on the method. The "
3133 "strings to which the ValueMap contents are 'translated' "
3134 "may also be specified in the subclass as a Values "
3135 "array qualifier.") ]
3136 uint32 ResetCounter (
3137
3138 [IN, ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8",
3139 "9", "10", "11"},
3140 Values {"All", "ABTSFramesReceived", "ABTSFramesSent",
3141 "FBSYReceived", "PBSYReceived", "PBSYSent", "FRJTReceived",
3142 "PRJTReceived", "PRJTSent", "PRLIRejected", "PRLORejected",
3143 "ABTSFramesRejected"} ]
3144 uint16 SelectedCounter);
3145 };
3146
3147
3148 // ==================================================================
3149 // FibrePortEventCounters
3150 // ==================================================================
3151 karl 1.2 [Version ("2.6.0"), Description (
3152 "Error and event counters specific to a Fibre Channel Port "
3153 "(connection point).") ]
3154 class CIM_FibrePortEventCounters : CIM_DeviceStatisticalInformation {
3155
3156 [Description ("The number of login frames received."),
3157 Counter ]
3158 uint64 PLOGIsReceived;
3159
3160 [Description ("The number of login frames sent."),
3161 Counter ]
3162 uint64 PLOGIsSent;
3163
3164 [Description (
3165 "Number of frames received containing 'EOF Abort'."),
3166 Counter ]
3167 uint64 EOFAbortsReceived;
3168
3169 [Description (
3170 "Number of frames transmitted containing 'EOF Abort'."),
3171 Counter ]
3172 karl 1.2 uint64 EOFAbortsTransmitted;
3173
3174 [Description (
3175 "The number of logouts received from various targets."),
3176 Counter ]
3177 uint64 PLOGOsReceived;
3178
3179 [Description ("The number of logout frames sent."),
3180 Counter ]
3181 uint64 PLOGOsSent;
3182
3183 [Description (
3184 "The number of PLOGI frames sent where the response was "
3185 "LS_RJT."),
3186 Counter ]
3187 uint64 PLOGIsRejected;
3188
3189 [Description (
3190 "The number of PLOGO frames sent where the response was "
3191 "LS_RJT."),
3192 Counter ]
3193 karl 1.2 uint64 PLOGOsRejected;
3194
3195 [Description (
3196 "Method to reset the Port event counters. The method "
3197 "takes one parameter as input - an integer indicating which "
3198 "counter to reset. For this input parameter, 0 indicates all, "
3199 "1 through 8 indicate a reset of the individual counters. "
3200 "The method returns 0 if successful, 1 if not supported, and "
3201 "any other value if an error occurred. A method is specified "
3202 "so that the Device's instrumentation, which tabulates "
3203 "the errors and warnings, can also reset its internal "
3204 "processing and counters. \n"
3205 "In a subclass, the set of possible return codes could be "
3206 "specified, using a ValueMap qualifier on the method. The "
3207 "strings to which the ValueMap contents are 'translated' "
3208 "may also be specified in the subclass as a Values "
3209 "array qualifier.") ]
3210 uint32 ResetCounter (
3211
3212 [IN, ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8"},
3213 Values {"All", "PLOGIsReceived", "PLOGIsSent",
3214 karl 1.2 "EOFAbortsReceived", "EOFAbortsTransmitted",
3215 "PLOGOsReceived", "PLOGOsSent", "PLOGIsRejected",
3216 "PLOGOsRejected"} ]
3217 uint16 SelectedCounter);
3218 };
3219
3220
3221 // ===================================================================
3222 // LabelReaderStatInfo
3223 // ===================================================================
3224 [Version ("2.6.0"), Description (
3225 "Statistics for a LabelReader, related to read successes, "
3226 "failures and retries.") ]
3227 class CIM_LabelReaderStatInfo : CIM_DeviceStatisticalInformation {
3228
3229 [Description (
3230 "The number of successful physical label scans."),
3231 Counter ]
3232 uint64 ScanSuccesses;
3233
3234 [Description ("The number of failed physical label scans."),
3235 karl 1.2 Counter ]
3236 uint64 ScanFailures;
3237
3238 [Description ("The number of retried physical label scans."),
3239 Counter ]
3240 uint64 ScanRetries;
3241
3242 [Description (
3243 "Method to reset the statistical counters. The method "
3244 "takes one parameter as input - an integer indicating which "
3245 "counter to reset. For this input parameter, 0 indicates all, "
3246 "1 resets the \"Scan Successes\" counter, 2 resets the "
3247 "\"Scan Failures\" counter, and 3 resets the \"Scan Retries\" "
3248 "counter. The method returns 0 if successful, 1 if not "
3249 "supported, and any other value if an error occurred. A method "
3250 "is specified so that the Device's instrumentation can also "
3251 "reset its internal processing and counters. \n"
3252 "In a subclass, the set of possible return codes should be "
3253 "specified in a ValueMap qualifier on the method. The strings "
3254 "to which the ValueMap contents are 'translated' can be "
3255 "specified as a Values array qualifier.") ]
3256 karl 1.2 uint32 ResetCounter (
3257
3258 [IN, ValueMap {"0", "1", "2", "3"},
3259 Values {"All", "Scan Successes", "Scan Failures",
3260 "Scan Retries"} ]
3261 uint16 SelectedCounter);
3262 };
3263
3264
3265 // ===================================================================
3266 // MediaAccessStatInfo
3267 // ===================================================================
3268 [Version ("2.6.0"), Description (
3269 "Statistics related to reading and writing at a specific "
3270 "MediaAccessDevice, or for a specific StorageExtent. Although "
3271 "the same class is used to represent this data, at the instance "
3272 "level the object holds information for the MediaAccessDevice "
3273 "(independent of the StorageExtent), OR for the Extent "
3274 "(independent of its AccessDevice).") ]
3275 class CIM_MediaAccessStatInfo : CIM_DeviceStatisticalInformation {
3276
3277 karl 1.2 [Description ("The number of attempted read operations."),
3278 Counter ]
3279 uint64 ReadOperations;
3280
3281 [Description ("The number of unrecoverable read operations."),
3282 Counter ]
3283 uint64 UnrecoverableReadOperations;
3284
3285 [Description ("The number of attempted write operations."),
3286 Counter ]
3287 uint64 WriteOperations;
3288
3289 [Description ("The number of unrecoverable write operations."),
3290 Counter ]
3291 uint64 UnrecoverableWriteOperations;
3292
3293 [Description ("The number of recovered read operations."),
3294 Counter ]
3295 uint64 RecoveredReadOperations;
3296
3297 [Description ("The number of recovered write operations."),
3298 karl 1.2 Counter ]
3299 uint64 RecoveredWriteOperations;
3300
3301 [Description ("The number of recovered seek operations."),
3302 Counter ]
3303 uint64 RecoveredSeekOperations;
3304
3305 [Description ("The number of unrecoverable seek operations."),
3306 Counter ]
3307 uint64 UnrecoverableSeekOperations;
3308
3309 [Description (
3310 "Method to reset the statistical counters. The method takes one "
3311 "parameter as input - an integer indicating which counter to "
3312 "reset. For this input parameter, 0 indicates all, 1-2 and 5 "
3313 "reset the 'read operation'-related counters, 3-4 and 6 reset "
3314 "the 'write operation'-related counters, and 7-8 reset the "
3315 "seek-related counters. The method returns 0 if "
3316 "successful, 1 if not supported, and any other value if an "
3317 "error occurred. A method is specified so that the Device's "
3318 "instrumentation can also reset its internal processing and "
3319 karl 1.2 "counters. \n"
3320 "In a subclass, the set of possible return codes should be "
3321 "specified in a ValueMap qualifier on the method. The strings "
3322 "to which the ValueMap contents are 'translated' can be "
3323 "specified as a Values array qualifier.") ]
3324 uint32 ResetCounter (
3325
3326 [IN, ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8"},
3327 Values {"All", "Read Operations",
3328 "Unrecoverable Read Operations", "Write Operations",
3329 "Unrecoverable Write Operations",
3330 "Recovered Read Operations",
3331 "Recovered Write Operations", "Recovered Seeks",
3332 "Unrecoverable Seeks"} ]
3333 uint16 SelectedCounter);
3334 };
3335
3336
3337 // ===================================================================
3338 // PickerStatInfo
3339 // ===================================================================
3340 karl 1.2 [Version ("2.6.0"), Description (
3341 "Statistics for a PickerElement, related to pick/put successes, "
3342 "retries and failures.") ]
3343 class CIM_PickerStatInfo : CIM_DeviceStatisticalInformation {
3344
3345 [Description ("The number of successful picks."),
3346 Counter ]
3347 uint64 PickSuccesses;
3348
3349 [Description ("The number of failed picks."),
3350 Counter ]
3351 uint64 PickFailures;
3352
3353 [Description ("The number of retried picks."),
3354 Counter ]
3355 uint64 PickRetries;
3356
3357 [Description ("The number of successful puts."),
3358 Counter ]
3359 uint64 PutSuccesses;
3360
3361 karl 1.2 [Description ("The number of failed puts."),
3362 Counter ]
3363 uint64 PutFailures;
3364
3365 [Description ("The number of retried puts."),
3366 Counter ]
3367 uint64 PutRetries;
3368
3369 [Description (
3370 "Method to reset the statistical counters. The method takes one "
3371 "parameter as input - an integer indicating which counter to "
3372 "reset. For this input parameter, 0 indicates all, 1-3 reset "
3373 "the 'pick'-related counters, and 4-6 reset the 'put'-related "
3374 "counters. The method returns 0 if successful, 1 if not "
3375 "supported, and any other value if an error occurred. A "
3376 "method is specified so that the Device's instrumentation can "
3377 "also reset its internal pocessing and counters. \n"
3378 "In a subclass, the set of possible return codes should be "
3379 "specified in a ValueMap qualifier on the method. The strings "
3380 "to which the ValueMap contents are 'translated' can be "
3381 "specified as a Values array qualifier.") ]
3382 karl 1.2 uint32 ResetCounter (
3383
3384 [IN, ValueMap {"0", "1", "2", "3", "4", "5", "6"},
3385 Values {"All", "Pick Successes", "Pick Failures",
3386 "Pick Retries", "Put Successes", "Put Failures",
3387 "Put Retries"} ]
3388 uint16 SelectedCounter);
3389 };
3390
3391
3392 // ===================================================================
3393 // UML Page 7 - Controllers
3394 // ===================================================================
3395 // ===================================================================
3396 // Controller
3397 // ===================================================================
3398 [Abstract, Version ("2.6.0"), Description (
3399 "Controller is a superclass for grouping the miscellaneous "
3400 "control-related Devices that exist. Examples of Controllers "
3401 "are SCSIControllers, USBControllers, SerialControllers, ... "
3402 "The Controller class is an abstraction for Devices with a "
3403 karl 1.2 "single protocol stack, which exist primarily for communication "
3404 "to, and control or reset of downstream (ControlledBy) Devices.") ]
3405 class CIM_Controller : CIM_LogicalDevice {
3406
3407 [Description ("Time of last reset of the Controller.") ]
3408 datetime TimeOfLastReset;
3409
3410 [Description (
3411 "The protocol used by the Controller to access 'controlled' "
3412 "Devices."),
3413 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
3414 "11", "12", "13", "14", "15", "16", "17", "18", "19",
3415 "20", "21", "22", "23", "24", "25", "26", "27", "28",
3416 "29", "30", "31", "32", "33", "34", "35", "36", "37",
3417 "38", "39", "40", "41", "42", "43", "44", "45", "46",
3418 "47"},
3419 Values {"Other", "Unknown", "EISA", "ISA", "PCI", "ATA/ATAPI",
3420 "Flexible Diskette", "1496", "SCSI Parallel Interface",
3421 "SCSI Fibre Channel Protocol", "SCSI Serial Bus Protocol",
3422 "SCSI Serial Bus Protocol-2 (1394)",
3423 "SCSI Serial Storage Architecture", "VESA", "PCMCIA",
3424 karl 1.2 "Universal Serial Bus", "Parallel Protocol", "ESCON",
3425 "Diagnostic", "I2C", "Power", "HIPPI", "MultiBus", "VME",
3426 "IPI", "IEEE-488", "RS232", "IEEE 802.3 10BASE5",
3427 "IEEE 802.3 10BASE2", "IEEE 802.3 1BASE5",
3428 "IEEE 802.3 10BROAD36", "IEEE 802.3 100BASEVG",
3429 "IEEE 802.5 Token-Ring", "ANSI X3T9.5 FDDI", "MCA",
3430 "ESDI", "IDE", "CMD", "ST506", "DSSI", "QIC2",
3431 "Enhanced ATA/IDE", "AGP", "TWIRP (two-way infrared)",
3432 "FIR (fast infrared)", "SIR (serial infrared)",
3433 "IrBus"},
3434 MappingStrings {"MIF.DMTF|Bus Port|003",
3435 "MIF.DMTF|Disks|003.3"},
3436 ModelCorrespondence {"CIM_Controller.ProtocolDescription"} ]
3437 uint16 ProtocolSupported;
3438
3439 [Description (
3440 "Maximum number of directly addressable entities supported "
3441 "by this Controller. A value of 0 should be used if the "
3442 "number is unknown or unlimited."),
3443 MappingStrings {"MIF.DMTF|Bus Port|003"} ]
3444 uint32 MaxNumberControlled;
3445 karl 1.2
3446 [Description (
3447 "A free form string providing more information related "
3448 "to the ProtocolSupported by the Controller."),
3449 ModelCorrespondence {"CIM_Controller.ProtocolSupported"},
3450 MappingStrings {"MIF.DMTF|Bus Port|003"} ]
3451 string ProtocolDescription;
3452 };
3453
3454
3455 // ===================================================================
3456 // ControlledBy
3457 // ===================================================================
3458 [Association, Version ("2.6.0"), Description (
3459 "The ControlledBy relationship indicates which Devices are "
3460 "commanded by or accessed through the Controller LogicalDevice.") ]
3461 class CIM_ControlledBy : CIM_DeviceConnection {
3462
3463 [Override ("Antecedent"),
3464 Description ("The Controller.") ]
3465 CIM_Controller REF Antecedent;
3466 karl 1.2
3467 [Override ("Dependent"),
3468 Description ("The controlled Device.") ]
3469 CIM_LogicalDevice REF Dependent;
3470
3471 [Description (
3472 "The State property indicates whether the Controller is "
3473 "actively commanding or accessing the Device (value=1) or "
3474 "not (value=2). Also, the value, \"Unknown\" (0), can be "
3475 "defined. This information is necessary when a LogicalDevice "
3476 "can be commanded by, or accessed through, multiple "
3477 "Controllers."),
3478 ValueMap {"0", "1", "2"},
3479 Values {"Unknown", "Active", "Inactive"} ]
3480 uint16 AccessState;
3481
3482 [Description (
3483 "The time that the downstream Device was last reset by "
3484 "the Controller.") ]
3485 datetime TimeOfDeviceReset;
3486
3487 karl 1.2 [Description (
3488 "Number of hard resets issued by the Controller. A hard reset "
3489 "returns the Device to its initialization or 'boot-up' state. "
3490 "All internal Device state information and data are lost."),
3491 Counter ]
3492 uint32 NumberOfHardResets;
3493
3494 [Description (
3495 "Number of soft resets issued by the Controller. A soft "
3496 "reset does not completely clear current Device state and/or "
3497 "data. Exact semantics are dependent on the Device, and on "
3498 "the protocols and mechanisms used to communicate to it."),
3499 Counter ]
3500 uint32 NumberOfSoftResets;
3501 };
3502
3503
3504 // ===================================================================
3505 // SerialController
3506 // ===================================================================
3507 [Version ("2.6.0"), Description (
3508 karl 1.2 "Capabilities and management of the SerialController.") ]
3509 class CIM_SerialController : CIM_Controller {
3510
3511 [Description (
3512 "The Capabilities property defines chip level compatibility "
3513 "for the SerialController. Therefore, this property describes "
3514 "the buffering and other capabilities of the SerialController, "
3515 "that may be inherent in the chip hardware. The property is "
3516 "an enumerated integer."),
3517 ArrayType ("Indexed"),
3518 ValueMap {"1", "2", "3", "4", "5", "6", "160", "161"},
3519 Values {"Other", "Unknown", "XT/AT Compatible",
3520 "16450 Compatible", "16550 Compatible",
3521 "16550A Compatible", "8251 Compatible",
3522 "8251FIFO Compatible"},
3523 MappingStrings {"MIF.DMTF|Serial Ports|004.7"},
3524 ModelCorrespondence {
3525 "CIM_SerialController.CapabilityDescriptions"} ]
3526 uint16 Capabilities[];
3527
3528 [Description (
3529 karl 1.2 "An array of free-form strings providing more detailed "
3530 "explanations for any of the SerialController features "
3531 "indicated in the Capabilities array. Note, each entry of "
3532 "this array is related to the entry in the Capabilities "
3533 "array that is located at the same index."),
3534 ArrayType ("Indexed"),
3535 ModelCorrespondence {"CIM_SerialController.Capabilities"} ]
3536 string CapabilityDescriptions[];
3537
3538 [Description (
3539 "Maximum baud rate in Bits per Second supported by the "
3540 "SerialController."),
3541 Units ("Bits per Second"),
3542 MappingStrings {"MIF.DMTF|Serial Ports|004.6"} ]
3543 uint32 MaxBaudRate;
3544
3545 [Description (
3546 "An enumeration indicating the operational security for the "
3547 "Controller. For example, information that the Device's "
3548 "external interface is locked out (value=4) or \"Boot "
3549 "Bypass\" (value=6) can be described using this property."),
3550 karl 1.2 ValueMap {"1", "2", "3", "4", "5", "6"},
3551 Values {"Other", "Unknown", "None",
3552 "External Interface Locked Out",
3553 "External Interface Enabled", "Boot Bypass"},
3554 MappingStrings {"MIF.DMTF|Serial Ports|004.9"} ]
3555 uint16 Security;
3556 };
3557
3558
3559 // ===================================================================
3560 // SerialInterface
3561 // ===================================================================
3562 [Association, Version ("2.6.0"), Description (
3563 "SerialInterface is a ControlledBy relationship indicating "
3564 "which Devices are accessed through the SerialController and "
3565 "the characteristics of this access.") ]
3566 class CIM_SerialInterface : CIM_ControlledBy {
3567
3568 [Override ("Antecedent"), Description (
3569 "The SerialController.") ]
3570 CIM_SerialController REF Antecedent;
3571 karl 1.2
3572 [Override ("NegotiatedDataWidth"), Description (
3573 "For the SerialInterface, NegotiatedDataWidth is the number "
3574 "of data bits to be transmitted, without stop bits or parity."),
3575 Units ("Bits") ]
3576 uint32 NegotiatedDataWidth;
3577
3578 [Description ("Number of stop bits to be transmitted."),
3579 Units ("Bits") ]
3580 uint16 NumberOfStopBits;
3581
3582 [Description (
3583 "Information on the parity setting for transmitted data. "
3584 "No parity (value=1), even (2) or odd (3) can be specified."),
3585 ValueMap {"0", "1", "2", "3"},
3586 Values {"Unknown", "None", "Even", "Odd"} ]
3587 uint16 ParityInfo;
3588
3589 [Description (
3590 "An integer enumeration indicating the flow control "
3591 "(Xon-Xoff and/or RTS/CTS) for transmitted data."),
3592 karl 1.2 ValueMap {"0", "1", "2", "3", "4", "5"},
3593 Values {"Unknown", "Not Supported", "None", "XonXoff",
3594 "RTS/CTS", "Both XonXoff and RTS/CTS"} ]
3595 uint16 FlowControlInfo;
3596 };
3597
3598
3599 // ===================================================================
3600 // SCSIController
3601 // ===================================================================
3602 [Version ("2.6.0"), Description (
3603 "Capabilities and management of the SCSIController.") ]
3604 class CIM_SCSIController : CIM_Controller {
3605
3606 [Description (
3607 "An integer enumeration indicating whether or not the "
3608 "SCSIController provides redundancy or protection against "
3609 "device failures."),
3610 ValueMap {"1", "2", "3", "4", "5", "6"},
3611 Values {"Other", "Unknown", "Unprotected", "Protected",
3612 "Protected through SCC (SCSI-3 Controller Command)",
3613 karl 1.2 "Protected through SCC-2 (SCSI-3 Controller Command)"},
3614 MappingStrings {"MIF.DMTF|Storage Controller|001.3"} ]
3615 uint16 ProtectionManagement;
3616
3617 [Description (
3618 "Maximum data width (in bits) supported by the SCSI"
3619 "Controller."),
3620 Units ("Bits"),
3621 MappingStrings {"MIF.DMTF|Bus Port|003"} ]
3622 uint32 MaxDataWidth;
3623
3624 [Description (
3625 "Maximum transfer rate (in Bits per Second) supported by the "
3626 "SCSIController."),
3627 Units ("Bits per Second"),
3628 MappingStrings {"MIF.DMTF|Bus Port|003"} ]
3629 uint64 MaxTransferRate;
3630
3631 [Description (
3632 "Number of SCSIController timeouts that have occurred since "
3633 "the TimeOfLastReset."),
3634 karl 1.2 Counter ]
3635 uint32 ControllerTimeouts;
3636
3637 [Description (
3638 "Signal capabilities that can be supported by the SCSI"
3639 "Controller. For example, the Controller may support "
3640 "\"Single Ended\" and \"Differential\". In this case, the "
3641 "values 3 and 4 would be written to the Signal"
3642 "Capabilities array."),
3643 ValueMap {"1", "2", "3", "4", "5", "6"},
3644 Values {"Other", "Unknown", "Single Ended", "Differential",
3645 "Low Voltage Differential", "Optical"},
3646 ModelCorrespondence {"CIM_SCSIInterface.SCSISignal"} ]
3647 uint16 SignalCapabilities[];
3648 };
3649
3650
3651 // ===================================================================
3652 // SCSIInterface
3653 // ===================================================================
3654 [Association, Version ("2.6.0"), Description (
3655 karl 1.2 "SCSIInterface is a ControlledBy relationship indicating "
3656 "which Devices are accessed through a SCSIController and "
3657 "the characteristics of this access.") ]
3658 class CIM_SCSIInterface : CIM_ControlledBy {
3659
3660 [Override ("Antecedent"),
3661 Description ("The SCSIController.") ]
3662 CIM_SCSIController REF Antecedent;
3663
3664 [Description (
3665 "Number of SCSI timeouts that have occurred since last hard "
3666 "or soft reset related to the controlled Device. The time of "
3667 "last reset is indicated in the TimeOfDeviceReset property, "
3668 "inherited from the ControlledBy association."),
3669 Counter ]
3670 uint32 SCSITimeouts;
3671
3672 [Description (
3673 "Number of SCSI retries that have occurred since last hard "
3674 "or soft reset related to the controlled Device. The time of "
3675 "last reset is indicated in the TimeOfDeviceReset property, "
3676 karl 1.2 "inherited from the ControlledBy association."),
3677 Counter,
3678 MappingStrings {"MIF.DMTF|Mass Storage Statistics|001.18"} ]
3679 uint32 SCSIRetries;
3680
3681 [Description ("The SCSI Initiator ID."),
3682 MappingStrings {"MIF.DMTF|Bus Port|003"} ]
3683 uint32 InitiatorId;
3684
3685 [Description ("The SCSI Target ID."),
3686 MappingStrings {"MIF.DMTF|Bus Port|003"} ]
3687 uint32 TargetId;
3688
3689 [Description ("The SCSI Target LUN."),
3690 MappingStrings {"MIF.DMTF|Storage Devices|001.4"} ]
3691 uint64 TargetLUN;
3692
3693 [Description (
3694 "SCSIReservation indicates the type of SCSI reservation "
3695 "that currently exists between the source and destination."),
3696 ValueMap {"0", "1", "2", "3"},
3697 karl 1.2 Values {"Unknown", "None", "Simple", "Persistent"} ]
3698 uint16 SCSIReservation;
3699
3700 [Description (
3701 "The SCSI signal characteristics being used for this "
3702 "connection. The value listed here must also be listed in "
3703 "the SCSIController's SignalCapabilities field."),
3704 ValueMap {"1", "2", "3", "4", "5", "6"},
3705 Values {"Other", "Unknown", "Single Ended", "Differential",
3706 "Low Voltage Differential", "Optical"},
3707 MappingStrings {"MIF.DMTF|Bus Port|003"},
3708 ModelCorrespondence {"CIM_SCSIController.SignalCapabilities"} ]
3709 uint16 SCSISignal;
3710
3711 [Description (
3712 "Maximum number of Command Descriptor Blocks (CDBs) that "
3713 "can be supported by the target. This data can not be "
3714 "obtained under all circumstances.") ]
3715 uint32 MaxQueueDepth;
3716
3717 [Description (
3718 karl 1.2 "The maximum number of concurrent Command Descriptor Blocks "
3719 "(CDBs) that the initiator will send to the target. This "
3720 "value should never be greater than MaxQueueDepth.") ]
3721 uint32 QueueDepthLimit;
3722 };
3723
3724
3725 // ===================================================================
3726 // VideoController
3727 // ===================================================================
3728 [Version ("2.6.0"), Description (
3729 "Capabilities and management of the VideoController.") ]
3730 class CIM_VideoController : CIM_Controller {
3731
3732 // Override is used to define the MappingString qualifier
3733 [Override ("Description"),
3734 MappingStrings {"MIF.DMTF|Video|004.18"} ]
3735 string Description;
3736
3737 [Description (
3738 "A free-form string describing the video "
3739 karl 1.2 "processor/Controller.") ]
3740 string VideoProcessor;
3741
3742 [Description (
3743 "An integer enumeration indicating the type of video memory."),
3744 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
3745 "11", "12", "13"},
3746 Values {"Other", "Unknown", "VRAM", "DRAM", "SRAM", "WRAM",
3747 "EDO RAM", "Burst Synchronous DRAM",
3748 "Pipelined Burst SRAM", "CDRAM", "3DRAM", "SDRAM",
3749 "SGRAM"},
3750 MappingStrings {"MIF.DMTF|Video|004.6"} ]
3751 uint16 VideoMemoryType;
3752
3753 [Description (
3754 "Number of video pages supported given the current resolutions "
3755 "and available memory.") ]
3756 uint32 NumberOfVideoPages;
3757
3758 [Description ("Maximum amount of memory supported in bytes."),
3759 Units ("Bytes") ]
3760 karl 1.2 uint32 MaxMemorySupported;
3761
3762 [Description (
3763 "An array of integers indicating the graphics and 3D "
3764 "capabilities of the VideoController."),
3765 ValueMap {"0", "1", "2", "3"},
3766 Values {"Unknown", "Other", "Graphics Accelerator",
3767 "3D Accelerator"},
3768 ModelCorrespondence {
3769 "CIM_VideoController.CapabilityDescriptions"} ]
3770 uint16 AcceleratorCapabilities[];
3771
3772 [Description (
3773 "An array of free-form strings providing more detailed "
3774 "explanations for any of the video Accelerator features "
3775 "indicated in the Capabilities array. Note, each entry "
3776 "of this array is related to the entry in the Capabilities "
3777 "array that is located at the same index."),
3778 ArrayType ("Indexed"),
3779 ModelCorrespondence {
3780 "CIM_VideoController.AcceleratorCapabilities"} ]
3781 karl 1.2 string CapabilityDescriptions[];
3782
3783 [Description ("The number of bits used to display each pixel."),
3784 Units ("Bits"),
3785 MappingStrings {"MIF.DMTF|Video|004.12"} ]
3786 uint32 CurrentBitsPerPixel;
3787
3788 [Description ("Current number of horizontal pixels."),
3789 Units ("Pixels"),
3790 MappingStrings {"MIF.DMTF|Video|004.11"} ]
3791 uint32 CurrentHorizontalResolution;
3792
3793 [Description ("Current number of vertical pixels."),
3794 Units ("Pixels"),
3795 MappingStrings {"MIF.DMTF|Video|004.10"} ]
3796 uint32 CurrentVerticalResolution;
3797
3798 [Description (
3799 "Maximum refresh rate of the VideoController in Hertz."),
3800 Units ("Hertz"),
3801 MappingStrings {"MIF.DMTF|Video|004.5"} ]
3802 karl 1.2 uint32 MaxRefreshRate;
3803
3804 [Description (
3805 "Minimum refresh rate of the Video Controller in Hertz."),
3806 Units ("Hertz"),
3807 MappingStrings {"MIF.DMTF|Video|004.4"} ]
3808 uint32 MinRefreshRate;
3809
3810 [Description ("Current refresh rate in Hertz."),
3811 Units ("Hertz"),
3812 MappingStrings {"MIF.DMTF|Video|004.15"} ]
3813 uint32 CurrentRefreshRate;
3814
3815 [Description (
3816 "Current scan mode. \"Interlaced\" (value=3) or "
3817 "\"Non Interlaced\" (4) can be defined using this property."),
3818 ValueMap {"1", "2", "3", "4"},
3819 Values {"Other", "Unknown", "Interlaced", "Non Interlaced"},
3820 MappingStrings {"MIF.DMTF|Video|004.8"} ]
3821 uint16 CurrentScanMode;
3822
3823 karl 1.2 [Description (
3824 "If in character mode, number of rows for this Video"
3825 "Controller. Otherwise, enter 0."),
3826 MappingStrings {"MIF.DMTF|Video|004.13"} ]
3827 uint32 CurrentNumberOfRows;
3828
3829 [Description (
3830 "If in character mode, number of columns for this "
3831 "VideoController. Otherwise, enter 0."),
3832 MappingStrings {"MIF.DMTF|Video|004.14"} ]
3833 uint32 CurrentNumberOfColumns;
3834
3835 [Description (
3836 "Number of colors supported at the current resolutions.") ]
3837 uint64 CurrentNumberOfColors;
3838 };
3839
3840
3841 // ===================================================================
3842 // PCVideoController
3843 // ===================================================================
3844 karl 1.2 [Version ("2.6.0"), Description (
3845 "Capabilities and management of a PCVideoController, a subtype "
3846 "of VideoController.") ]
3847 class CIM_PCVideoController : CIM_VideoController {
3848
3849 [Description (
3850 "The video architecture. For example, VGA (value=5) or "
3851 "PC-98 (160) may be specified."),
3852 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
3853 "11", "12", "160"},
3854 Values {"Other", "Unknown", "CGA", "EGA", "VGA", "SVGA", "MDA",
3855 "HGC", "MCGA", "8514A", "XGA", "Linear Frame Buffer",
3856 "PC-98"},
3857 MappingStrings {"MIF.DMTF|Video|004.2"} ]
3858 uint16 VideoArchitecture;
3859
3860 [Description ("Current video mode."),
3861 MappingStrings {"MIF.DMTF|Video|004.3"} ]
3862 uint16 VideoMode;
3863
3864 [Description (
3865 karl 1.2 "Current number of color planes. If this value is not "
3866 "applicable for the current video configuration, enter 0.") ]
3867 uint16 NumberOfColorPlanes;
3868 };
3869
3870
3871 // ===================================================================
3872 // AGPVideoController
3873 // ===================================================================
3874 [Version ("2.6.0"), Description (
3875 "Capabilities and management of an AGPVideoController.") ]
3876 class CIM_AGPVideoController: CIM_VideoController {
3877
3878 [Description (
3879 "Capabilities of the AGP Graphics Controller. For example, "
3880 "the Device may support multiple monitors, PCI Mastering and "
3881 "large memory addresses. In this case, the values 3, 4 and 6 "
3882 "would be written to the Capabilities array."),
3883 ArrayType("Indexed"),
3884 ValueMap {"0", "1", "2", "3", "4", "5", "6"},
3885 Values {"Unknown", "Other", "PCI Fast Write",
3886 karl 1.2 "MultiMonitor Support", "PCI Mastering",
3887 "Second Monochrome Adapter Support",
3888 "Large Memory Address Support"},
3889 ModelCorrespondence {
3890 "CIM_AGPVideoController.CapabilityDescriptions"} ]
3891 uint16 Capabilities[];
3892
3893 [Description (
3894 "An array of free form strings providing more detailed "
3895 "explanations for any of the entries in the Capabilities "
3896 "array. Note, each entry of this array is related to the "
3897 "entry in the Capabilities array that is located at the "
3898 "same index."),
3899 ArrayType("Indexed"),
3900 ModelCorrespondence {"CIM_AGPVideoController.Capabilities"} ]
3901 string CapabilityDescriptions[];
3902
3903 [Description ("Size of the non-local video memory in KB."),
3904 Units ("KiloBytes") ]
3905 uint32 NonlocalVideoMemorySize;
3906
3907 karl 1.2 [Description (
3908 "Width of the internal bus in the graphics Controller, in "
3909 "bits."),
3910 Units ("Bits") ]
3911 uint32 LocalBusWidth;
3912
3913 [Description (
3914 "An integer enumeration indicating the usage model of the "
3915 "graphics Controller. Usage model indicates how the Controller "
3916 "does manipulations of graphics surfaces, textures, etc. in "
3917 "memory. DMA indicates that the graphics Controller brings "
3918 "structures from the system memory to its local memory to "
3919 "perform needed manipulations or renderings. Execute specifies "
3920 "that the graphics Controller can directly access a specified "
3921 "region in main memory (called the graphics aperture) using "
3922 "GART - Graphics Aperture Remapping Table. It then performs "
3923 "manipulations in that range as if that whole graphics aperture "
3924 "were part of its local memory. A value of \"Both\" DMA and "
3925 "Execute models may also be specified."),
3926 ValueMap {"0", "1", "2", "3", "4"},
3927 Values {"Unknown", "Other", "Execute", "DMA", "Both"} ]
3928 karl 1.2 uint16 UsageModel;
3929
3930 [Description (
3931 "An integer enumeration indicating the data transfer rate of "
3932 "the graphics Controller."),
3933 ValueMap {"0", "1", "2", "3", "4"},
3934 Values {"Unknown", "Other", "1X", "2X", "4X"} ]
3935 uint16 DataTransferRate;
3936
3937 [Description (
3938 "An integer enumeration indicating the addressing mode of the "
3939 "graphics Controller."),
3940 ValueMap {"0", "1", "2", "3"},
3941 Values {"Unknown", "Other", "Sideband", "Pipeline"} ]
3942 uint16 AddressingMode;
3943
3944 [Description (
3945 "The maximum number of AGP Transaction requests that the master "
3946 "(AGP Graphics Controller) is allowed to enqueue into the "
3947 "target.") ]
3948 uint32 MaximumAGPCommandQueuePath;
3949 karl 1.2
3950 [Description (
3951 "The number of AGP Transaction that the core logic (chipset) "
3952 "can accept into its transaction request queue from the "
3953 "Controller.") ]
3954 uint32 MaxNumberOfPipelinedAGPTransactions;
3955
3956 [Description ("Size of the graphics aperture in KB."),
3957 Units ("KiloBytes") ]
3958 uint32 GraphicsApertureSize;
3959
3960 [Description (
3961 "A string containing the AGP specification version to which "
3962 "this graphics Controller conforms.") ]
3963 string AGPSpecificationVersionConformance;
3964 };
3965
3966
3967 // ===================================================================
3968 // ParallelController
3969 // ===================================================================
3970 karl 1.2 [Version ("2.6.0"), Description (
3971 "Capabilities and management of the ParallelController.") ]
3972 class CIM_ParallelController : CIM_Controller {
3973
3974 [Description (
3975 "Set to true if the ParallelController supports DMA."),
3976 MappingStrings {"MIF.DMTF|Parallel Ports|003.7"} ]
3977 boolean DMASupport;
3978
3979 [Description (
3980 "An integer enumeration indicating the capabilities of the "
3981 "ParallelController."),
3982 ArrayType ("Indexed"),
3983 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8"},
3984 Values {"Unknown", "Other", "XT/AT Compatible",
3985 "PS/2 Compatible", "ECP", "EPP", "PC-98",
3986 "PC-98-Hireso", "PC-H98"},
3987 MappingStrings {"MIF.DMTF|Parallel Ports|003.8"},
3988 ModelCorrespondence {
3989 "CIM_ParallelController.CapabilityDescriptions"} ]
3990 uint16 Capabilities[];
3991 karl 1.2
3992 [Description (
3993 "An array of free-form strings providing more detailed "
3994 "explanations for any of the ParallelController features "
3995 "indicated in the Capabilities array. Note, each entry of "
3996 "this array is related to the entry in the Capabilities "
3997 "array that is located at the same index."),
3998 ArrayType ("Indexed"),
3999 ModelCorrespondence {"CIM_ParallelController.Capabilities"} ]
4000 string CapabilityDescriptions[];
4001
4002 [Description (
4003 "An enumeration indicating the operational security for the "
4004 "Controller. For example, information that the Device's "
4005 "external interface is locked out (value=4) or \"Boot "
4006 "Bypass\" (value=6) can be described using this property."),
4007 ValueMap {"1", "2", "3", "4", "5", "6"},
4008 Values {"Other", "Unknown", "None",
4009 "External Interface Locked Out",
4010 "External Interface Enabled", "Boot Bypass"},
4011 MappingStrings {"MIF.DMTF|Parallel Ports|003.10"} ]
4012 karl 1.2 uint16 Security;
4013 };
4014
4015
4016 // ===================================================================
4017 // SSAController
4018 // ===================================================================
4019 [Version ("2.6.0"), Description (
4020 "Capabilities and management of an SSAController (Serial "
4021 "Storage Architecture).") ]
4022 class CIM_SSAController : CIM_Controller {
4023 };
4024
4025
4026 // ===================================================================
4027 // ManagementController
4028 // ===================================================================
4029 [Version ("2.6.0"), Description (
4030 "Capabilities and managment of a ManagementController. An I2C "
4031 "microcontroller is a type of ManagementController.") ]
4032 class CIM_ManagementController : CIM_Controller {
4033 karl 1.2 };
4034
4035
4036 // ===================================================================
4037 // IDEController
4038 // ===================================================================
4039 [Version ("2.6.0"), Description (
4040 "Capabilities and management of an IDEController.") ]
4041 class CIM_IDEController : CIM_Controller {
4042 };
4043
4044
4045 // ===================================================================
4046 // InfraredController
4047 // ===================================================================
4048 [Version ("2.6.0"), Description (
4049 "Capabilities and management of an InfraredController.") ]
4050 class CIM_InfraredController : CIM_Controller {
4051 };
4052
4053
4054 karl 1.2 // ===================================================================
4055 // PCIController
4056 // ===================================================================
4057 [Version ("2.6.0"), Description (
4058 "PCIController is a superclass for the PCIBridge and PCIDevice "
4059 "classes. These classes model adapters and bridges on a PCI "
4060 "bus. The properties in PCIController and its subclasses are "
4061 "defined in the various PCI Specifications published by the "
4062 "PCI SIG.") ]
4063 class CIM_PCIController : CIM_Controller {
4064
4065 [Description (
4066 "Current contents of the register that provides basic "
4067 "control over the device's ability to respond "
4068 "to, and/or perform PCI accesses.") ]
4069 uint16 CommandRegister;
4070
4071 [Description (
4072 "An array of integers indicating controller capabilities. "
4073 "Information such as \"Supports 66MHz\" (value=2) is "
4074 "specified in this property. The data in the Capabilities array "
4075 karl 1.2 "is gathered from the PCI Status Register and the PCI "
4076 "Capabilities List as defined in the PCI Specification."),
4077 ArrayType ("Indexed"),
4078 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
4079 "10", "11", "12"},
4080 Values {"Unknown", "Other", "Supports 66MHz",
4081 "Supports User Definable Features",
4082 "Supports Fast Back-to-Back Transactions",
4083 "PCI-X Capable", "PCI Power Management Supported",
4084 "Message Signaled Interrupts Supported",
4085 "Parity Error Recovery Capable",
4086 "AGP Supported", "Vital Product Data Supported",
4087 "Provides Slot Identification", "Hot Swap Supported"},
4088 ModelCorrespondence {"CIM_PCIController.CapabilityDescriptions"} ]
4089 uint16 Capabilities[];
4090
4091 [Description (
4092 "An array of free-form strings providing more detailed "
4093 "explanations for any of the PCIController features indicated "
4094 "in the Capabilities array. Note, each entry of this array "
4095 "is related to the entry in the Capabilities array that "
4096 karl 1.2 "is located at the same index."),
4097 ArrayType ("Indexed"),
4098 ModelCorrespondence {"CIM_PCIController.Capabilities"} ]
4099 string CapabilityDescriptions[];
4100
4101 [Description (
4102 "The slowest device select timing for a target device."),
4103 ValueMap {"0", "1", "2", "3", "4", "5"},
4104 Values {"Unknown", "Other", "Fast", "Medium", "Slow",
4105 "Reserved"} ]
4106 uint16 DeviceSelectTiming;
4107
4108 [Description (
4109 "Register of 8 bits that identifies the basic function of the "
4110 "PCI device. This is only the upper byte (offset 0Bh) of the "
4111 "3 byte ClassCode field. Note that the property's ValueMap "
4112 "array specifies the decimal representation of this "
4113 "information."),
4114 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
4115 "10", "11", "12", "13", "14", "15", "16", "17", "18..254",
4116 "255"},
4117 karl 1.2 Values {"Pre 2.0", "Mass Storage", "Network", "Display",
4118 "Multimedia", "Memory", "Bridge", "Simple Communications",
4119 "Base Peripheral", "Input", "Docking Station", "Processor",
4120 "Serial Bus", "Wireless", "Intelligent I/O",
4121 "Satellite Communication", "Encryption/Decryption",
4122 "Data Acquisition and Signal Processing", "PCI Reserved",
4123 "Other"} ]
4124 uint8 ClassCode;
4125
4126 [Description (
4127 "Specifies the system cache line size in doubleword increments "
4128 "(e.g., a 486-based system would store the value 04h, "
4129 "indicating a cache line size of four doublewords."),
4130 Units ("DoubleWords") ]
4131 uint8 CacheLineSize;
4132
4133 [Description (
4134 "Defines the minimum amount of time, in PCI clock cycles, that "
4135 "the bus master can retain ownership of the bus."),
4136 Units ("PCI clock cycles") ]
4137 uint8 LatencyTimer;
4138 karl 1.2
4139 [Description (
4140 "Defines the PCI interrupt request pin (INTA# to "
4141 "INTD#) to which a PCI functional device is connected."),
4142 ValueMap {"0", "1", "2", "3", "4", "5"},
4143 Values {"None", "INTA#", "INTB#", "INTC#", "INTD#", "Unknown"} ]
4144 uint16 InterruptPin;
4145
4146 [Description (
4147 "Doubleword Expansion ROM base memory address."),
4148 Units ("DoubleWords") ]
4149 uint32 ExpansionROMBaseAddress;
4150
4151 [Description (
4152 "Reports if the PCI device can perform the self test "
4153 "function. Returns bit 7 of the BIST register as a boolean.") ]
4154 boolean SelfTestEnabled;
4155
4156 [Description (
4157 "Method to invoke PCI device self-test. This method sets bit "
4158 "6 of the BIST register. The return result is the lower "
4159 karl 1.2 "four bits of the BIST register where 0 indicates success and "
4160 "non-zero is a device dependent failure. Support for this "
4161 "method is optional in the PCI Specification.") ]
4162 uint8 BISTExecution( );
4163 };
4164
4165
4166 // ===================================================================
4167 // PCIDevice
4168 // ===================================================================
4169 [Version ("2.6.0"), Description (
4170 "Capabilities and management of a PCI device controller "
4171 "on an adapter card.") ]
4172 class CIM_PCIDevice : CIM_PCIController {
4173
4174 [Description ("Array of doubleword base memory addresses.") ]
4175 uint32 BaseAddress[6];
4176
4177 [Description ("Subsystem identifier code.") ]
4178 uint16 SubsystemID;
4179
4180 karl 1.2 [Description (
4181 "Subsystem vendor ID. ID information is reported from a "
4182 "PCIDevice via protocol-specific requests. The correct place "
4183 "in the CIM Schema for this information is in CIM_Physical"
4184 "Element (the Manufacturer property) for hardware, and "
4185 "CIM_Product (the Vendor property) if the information is "
4186 "related to Product acquisition. This data is also reported "
4187 "here since it is part of the standard output from the "
4188 "Device, and as an optimization.") ]
4189 uint16 SubsystemVendorID;
4190
4191 [Description (
4192 "Register indiating how long the master would like to "
4193 "retain PCI bus ownership whenever it initiates a "
4194 "transaction. A zero value indicates no requirement."),
4195 Units ("250 nanoseconds") ]
4196 uint8 MinGrantTime;
4197
4198 [Description (
4199 "Register specifying how often the device needs access to "
4200 "the PCI bus in 250ns. A zero value indicates no "
4201 karl 1.2 "requirement."),
4202 Units ("250 nanoseconds") ]
4203 uint8 MaxLatency;
4204 };
4205
4206
4207 // ===================================================================
4208 // PCIBridge
4209 // ===================================================================
4210 [Version ("2.6.0"), Description (
4211 "Capabilities and management of a PCI controller providing "
4212 "bridge to bridge capability.") ]
4213 class CIM_PCIBridge : CIM_PCIController {
4214
4215 [Description ("Array of doubleword base memory addresses.") ]
4216 uint32 BaseAddress[2];
4217
4218 [Description (
4219 "The type of bridge. Except for \"Host\" (value=0), the type "
4220 "of bridge is PCI to <value>. For type \"Host\", the device is "
4221 "a Host to PCI bridge."),
4222 karl 1.2 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "128"},
4223 Values {"Host", "ISA", "EISA", "Micro Channel", "PCI",
4224 "PCMCIA", "NuBus", "CardBus", "RACEway", "Other"} ]
4225 uint16 BridgeType;
4226
4227 [Description (
4228 "The timeslice for the secondary interface when the bridge "
4229 "is acting as an initiator. A zero value indicates no "
4230 "requirement."),
4231 Units ("PCI clock cycles") ]
4232 uint8 SecondaryLatencyTimer;
4233
4234 [Description (
4235 "The number of the highest numbered bus that exists behind "
4236 "the bridge.") ]
4237 uint8 SubordinateBusNumber;
4238
4239 [Description (
4240 "The number of the PCI bus segment to which the secondary "
4241 "interface of the bridge is connected.") ]
4242 uint8 SecondayBusNumber;
4243 karl 1.2
4244 [Description (
4245 "The number of the PCI bus segment to which the primary "
4246 "interface of the bridge is connected.") ]
4247 uint8 PrimaryBusNumber;
4248
4249 [Description (
4250 "The contents of the Bridge's SecondaryStatusRegister. "
4251 "For more information on the contents of this register, refer "
4252 "to the PCI-to-PCI Bridge Architecture Specification.") ]
4253 uint16 SecondaryStatusRegister;
4254
4255 [Description (
4256 "The slowest device select timing for a target device on the "
4257 "secondary bus."),
4258 ValueMap {"0", "1", "2", "3", "4", "5"},
4259 Values {"Unknown", "Other", "Fast", "Medium", "Slow",
4260 "Reserved"} ]
4261 uint16 SecondaryBusDeviceSelectTiming;
4262
4263 [Description (
4264 karl 1.2 "End address of the I/O addresses supported by the bus. The "
4265 "upper four bits of this property specify the address bits, "
4266 "AD[15::12], of the I/O address. The remaining 12 bits of "
4267 "the I/O address are assumed to be all 1's.") ]
4268 uint8 IOLimit;
4269
4270 [Description (
4271 "Base address of I/O addresses supported by the bus. The "
4272 "upper four bits of this property specify the address bits, "
4273 "AD[15::12], of the I/O address. The remaining 12 bits of "
4274 "the I/O address are assumed to be 0.") ]
4275 uint8 IOBase;
4276
4277 [Description (
4278 "End address of the memory supported by the bus. The "
4279 "upper twelve bits of this property specify the address bits, "
4280 "AD[31::20], of a 32-bit memory address. The remaining 20 "
4281 "bits of the address are assumed to be all 1's.") ]
4282 uint16 MemoryLimit;
4283
4284 [Description (
4285 karl 1.2 "Base address of the memory supported by the bus. The "
4286 "upper twelve bits of this property specify the address bits, "
4287 "AD[31::20], of a 32-bit memory address. The remaining 20 "
4288 "bits of the address are assumed to be 0.") ]
4289 uint16 MemoryBase;
4290
4291 [Description (
4292 "End address of the memory that can be prefetched by the bus. "
4293 "The upper twelve bits of this property specify the address "
4294 "bits, AD[31::20], of a 32-bit memory address. The remaining "
4295 "20 bits of the address are assumed to be all 1's.") ]
4296 uint16 PrefetchMemoryLimit;
4297
4298 [Description (
4299 "Base address of the memory that can be prefetched by the bus. "
4300 "The upper twelve bits of this property specify the address "
4301 "bits, AD[31::20], of a 32-bit memory address. The remaining "
4302 "20 bits of the address are assumed to be 0.") ]
4303 uint16 PrefetchMemoryBase;
4304
4305 [Description (
4306 karl 1.2 "Upper 32 bits of the supported prefetch end address when "
4307 "64-bit addressing is used. The lower 32 bits are assumed to "
4308 "be all 1's.") ]
4309 uint32 PrefetchLimitUpper32;
4310
4311 [Description (
4312 "Upper 32 bits of the supported prefetch base address when "
4313 "64-bit addressing is used. The lower 32 bits are assumed "
4314 "to be 0.") ]
4315 uint32 PrefetchBaseUpper32;
4316
4317 [Description (
4318 "Upper 16 bits of the supported I/O end address when 32-bit "
4319 "I/O addressing is used. The lower 16 bits are assumed to be "
4320 "all 1's.") ]
4321 uint16 IOLimitUpper16;
4322
4323 [Description (
4324 "Upper 16 bits of the supported I/O base address when 32-bit "
4325 "I/O addressing is used. The lower 16 bits are assumed to be "
4326 "0.") ]
4327 karl 1.2 uint16 IOBaseUpper16;
4328 };
4329
4330
4331 // ===================================================================
4332 // PCMCIAController
4333 // ===================================================================
4334 [Version ("2.6.0"), Description (
4335 "Capabilities and management of a PCMCIAController.") ]
4336 class CIM_PCMCIAController : CIM_Controller {
4337 };
4338
4339
4340 // ===================================================================
4341 // ESCONController
4342 // ===================================================================
4343 [Version ("2.6.0"), Description (
4344 "Capabilities and management of an ESCONController.") ]
4345 class CIM_ESCONController : CIM_Controller {
4346 };
4347
4348 karl 1.2
4349 // ===================================================================
4350 // USBController
4351 // ===================================================================
4352 [Version ("2.6.0"), Description (
4353 "Capabilities and managment of a USB Host Controller.") ]
4354 class CIM_USBController : CIM_Controller {
4355
4356 [Description (
4357 "Indicates the latest USB Version supported by the Controller. "
4358 "The property is expressed as a Binary-Coded Decimal (BCD) "
4359 "where a decimal point is implied between the 2nd and 3rd "
4360 "digits. For example, a value of 0x201 indicates that "
4361 "version 2.01 is supported.") ]
4362 uint16 USBVersion;
4363
4364 [Description (
4365 "The type of interface used between the host system software "
4366 "and the USBController."),
4367 ValueMap {"0", "1", "2", "3"},
4368 Values {"Unknown", "Other", "UHCI", "OHCI"},
4369 karl 1.2 ModelCorrespondence {"CIM_USBController.ControllerVersion"} ]
4370 uint16 InterfaceType;
4371
4372 [Description (
4373 "Indicates the version of the USB Host Controller register "
4374 "set, specific to the InterfaceType. The property is "
4375 "expressed as a Binary-Coded Decimal (BCD) value where a "
4376 "decimal point is implied between the 2nd and 3rd digits. "
4377 "For example, a value of 0x103 indicates that version "
4378 "1.03 is supported."),
4379 ModelCorrespondence {"CIM_USBController.InterfaceType"} ]
4380 uint16 ControllerVersion;
4381 };
4382
4383 // ===================================================================
4384 // UML Page 8 - Adapters, Ports, and USB Device
4385 //
4386 // ===================================================================
4387 // ===================================================================
4388 // LogicalPort
4389 // ===================================================================
4390 karl 1.2 [Version ("2.6.0"), Description (
4391 "The abstraction of a port or connection point of a Device. "
4392 "This object should be instantiated when the Port has "
4393 "independent management characteristics from the Device that "
4394 "includes it. Examples are a Fibre Channel Port and a USB Port. "
4395 "This class would not be instantiated for an Ethernet Port which "
4396 "is not managed independently of the EthernetAdapter.") ]
4397 class CIM_LogicalPort : CIM_LogicalDevice {
4398
4399 [Description ("The speed of the Port in Bits per Second."),
4400 Units ("Bits per Second") ]
4401 uint64 Speed;
4402
4403 [Description (
4404 "The max speed of the Port in Bits per Second."),
4405 Units ("Bits per Second") ]
4406 uint64 MaxSpeed;
4407 };
4408
4409
4410 // ===================================================================
4411 karl 1.2 // PortOnDevice
4412 // ===================================================================
4413 [Association, Version ("2.6.0"), Description (
4414 "PortOnDevice associates a Port or connection point with its "
4415 "Device.") ]
4416 class CIM_PortOnDevice : CIM_Dependency {
4417
4418 [Override ("Antecedent"),
4419 Description ("The Device that includes the Port.") ]
4420 CIM_LogicalDevice REF Antecedent;
4421
4422 [Override ("Dependent"),
4423 Description ("The Port on the Device.") ]
4424 CIM_LogicalPort REF Dependent;
4425 };
4426
4427
4428 // ===================================================================
4429 // NetworkAdapter
4430 // ===================================================================
4431 [Abstract, Version ("2.6.0"), Description (
4432 karl 1.2 "NetworkAdapter is an Abstract class defining general "
4433 "networking hardware concepts (for example, PermanentAddress or "
4434 "Speed of operation). NetworkAdapters are Devices with the "
4435 "ability to support multiple, higher level protocols and provide "
4436 "the implementation behind the Network Model's ProtocolEndpoint "
4437 "class. (This information is conveyed using the DeviceSAP"
4438 "Implementation association, defined in the Core Model.) "
4439 "NetworkAdapters and their Endpoints represent the potential for "
4440 "connectivity among peers. \n"
4441 "The 'potential for connectivity' is very different than the "
4442 "master-slave/controller-controlled by relationships of CIM_"
4443 "Controller. Sometimes, however, a single Device is both a kind "
4444 "of NetworkAdapter and a Controller - for example, when a Fibre"
4445 "ChannelAdapater is operating as a ComputerSystem's SCSIController. "
4446 "In this case, there are aspects of the Device that are network "
4447 "oriented and others that are Controller oriented - and, both the "
4448 "Controller and Adapter classes should be instantiated. A Device"
4449 "Identity relationship would also be created to tie together these "
4450 "differing aspects/abstractions of the Device.") ]
4451 class CIM_NetworkAdapter : CIM_LogicalDevice {
4452
4453 karl 1.2 [MaxLen (64), Description (
4454 "PermanentAddress defines the network address hardcoded into "
4455 "an adapter. This 'hardcoded' address may be changed via "
4456 "firmware upgrade or software configuration. If so, this field "
4457 "should be updated when the change is made. PermanentAddress "
4458 "should be left blank if no 'hardcoded' address exists for the "
4459 "NetworkAdapter."),
4460 MappingStrings {"MIF.DMTF|Network Adapter 802 Port|001.2"} ]
4461 string PermanentAddress;
4462
4463 [MaxLen (64), Description (
4464 "An array of strings indicating the network addresses for an "
4465 "adapter."),
4466 ArrayType ("Indexed"),
4467 MappingStrings {"MIF.DMTF|Network Adapter 802 Port|001.3"} ]
4468 string NetworkAddresses[];
4469
4470 [Description (
4471 "An estimate of the current bandwidth in Bits per Second. "
4472 "For Adapters which vary in bandwidth or for those where "
4473 "no accurate estimation can be made, this property should "
4474 karl 1.2 "contain the nominal bandwidth."),
4475 Units ("Bits per Second"),
4476 MappingStrings {"MIB.IETF|RFC1213-MIB.ifSpeed",
4477 "MIF.DMTF|Network Adapter 802 Port|001.5"} ]
4478 uint64 Speed;
4479
4480 [Description (
4481 "The maximum speed, in Bits per Second, for the Network"
4482 "Adapter."),
4483 Units ("Bits per Second") ]
4484 uint64 MaxSpeed;
4485
4486 [Description (
4487 "Boolean indicating that the Adapter is operating in "
4488 "full duplex mode.") ]
4489 boolean FullDuplex;
4490
4491 [Description (
4492 "A boolean indicating whether the NetworkAdapter is capable "
4493 "of automatically determining the speed or other communications "
4494 "characteristics of the attached network media.") ]
4495 karl 1.2 boolean AutoSense;
4496
4497 [Description (
4498 "The total number of octets transmitted, including framing "
4499 "characters."),
4500 Mappingstrings {"MIB.IETF|RFC1213-MIB.ifOutOctets",
4501 "MIF.DMTF|Network Adapter 802 Port|001.7"},
4502 Counter ]
4503 uint64 OctetsTransmitted;
4504
4505 [Description (
4506 "The total number of octets received, including framing "
4507 "characters."),
4508 Mappingstrings {"MIB.IETF|RFC1213-MIB.ifInOctets",
4509 "MIF.DMTF|Network Adapter 802 Port|001.9"},
4510 Counter ]
4511 uint64 OctetsReceived;
4512 };
4513
4514
4515 // ===================================================================
4516 karl 1.2 // EthernetAdapter
4517 // ===================================================================
4518 [Version ("2.6.0"), Description (
4519 "Capabilities and management of an EthernetAdapter.") ]
4520 class CIM_EthernetAdapter : CIM_NetworkAdapter {
4521
4522 [Override ("NetworkAddresses"),
4523 Description (
4524 "Ethernet/802.3 MAC addresses formatted as twelve hexadecimal "
4525 "digits (e.g. \"010203040506\"), with each pair representing "
4526 "one of the six octets of the MAC address in \"canonical\" bit "
4527 "order. (Thus, the Group address bit is found in the low "
4528 "order bit of the first character of the string.)"),
4529 ArrayType ("Indexed") ]
4530 string NetworkAddresses[];
4531
4532 [Description (
4533 "The maximum size of the INFO (non-MAC) field that will be "
4534 "received or transmitted."),
4535 Mappingstrings {"MIB.IETF|BRIDGE-MIB.dot1dTpPortMaxInfo"} ]
4536 uint32 MaxDataSize;
4537 karl 1.2
4538 [Description (
4539 "Capabilities of the EthernetAdapter. For example, the "
4540 "Device may support AlertOnLan, WakeOnLan, Load Balancing "
4541 "and/or FailOver. If failover or load balancing "
4542 "capabilities are listed, a SpareGroup (failover) or "
4543 "ExtraCapacityGroup (load balancing) should also be defined "
4544 "to completely describe the capability."),
4545 ArrayType ("Indexed"),
4546 ValueMap {"0", "1", "2", "3", "4", "5"},
4547 Values {"Unknown", "Other", "AlertOnLan", "WakeOnLan",
4548 "FailOver", "LoadBalancing"},
4549 ModelCorrespondence {
4550 "CIM_EthernetAdapter.CapabilityDescriptions"} ]
4551 uint16 Capabilities[];
4552
4553 [Description (
4554 "An array of free-form strings providing more detailed "
4555 "explanations for any of the EthernetAdapter features "
4556 "indicated in the Capabilities array. Note, each entry of "
4557 "this array is related to the entry in the Capabilities "
4558 karl 1.2 "array that is located at the same index."),
4559 ArrayType ("Indexed"),
4560 ModelCorrespondence {"CIM_EthernetAdapter.Capabilities"} ]
4561 string CapabilityDescriptions[];
4562
4563 [Description (
4564 "Specifies which capabilities are enabled from the list "
4565 "of all supported ones, defined in the Capabilities array."),
4566 ValueMap {"0", "1", "2", "3", "4", "5"},
4567 Values {"Unknown", "Other", "AlertOnLan", "WakeOnLan",
4568 "FailOver", "LoadBalancing"},
4569 ModelCorrespondence {"CIM_EthernetAdapter.Capabilities"} ]
4570 uint16 EnabledCapabilities[];
4571
4572 [Description (
4573 "The number of times there was an invalid data symbol when "
4574 "a valid carrier was present. The count is incremented at "
4575 "most once per carrier event, even if multiple symbol "
4576 "errors occur during the carrier event."),
4577 MappingStrings {"MIB.IETF|EtherLike-MIB.dot3StatsSymbolErrors"},
4578 Counter ]
4579 karl 1.2 uint32 SymbolErrors;
4580
4581 [Description ("The total number of packets transmitted."),
4582 MappingStrings {"MIF.DMTF|Network Adapter 802 Port|001.6"},
4583 Counter ]
4584 uint64 TotalPacketsTransmitted;
4585
4586 [Description ("The total number of packets received."),
4587 MappingStrings {"MIF.DMTF|Network Adapter 802 Port|001.8"},
4588 Counter ]
4589 uint64 TotalPacketsReceived;
4590
4591 [Description (
4592 "A count of frames received on a particular interface "
4593 "that are not an integral number of octets in length and do "
4594 "not pass the FCS check. The count represented by an "
4595 "instance of this object is incremented when the alignment"
4596 "Error status is returned by the MAC layer to the LLC (or "
4597 "other MAC user). Received frames for which multiple error "
4598 "conditions obtain are, according to the conventions of IEEE "
4599 "802.3 Layer Management, counted exclusively according to "
4600 karl 1.2 "the error status presented to the LLC."),
4601 Mappingstrings {
4602 "MIB.IETF|EtherLike-MIB.dot3StatsAlignmentErrors"},
4603 Counter ]
4604 uint32 AlignmentErrors;
4605
4606 [Description (
4607 "A count of frames received on a particular interface "
4608 "that are an integral number of octets in length but do "
4609 "not pass the FCS check. The count represented by an "
4610 "instance of this object is incremented when the frame"
4611 "CheckError status is returned by the MAC layer to the "
4612 "LLC (or other MAC user). Received frames for which "
4613 "multiple error conditions obtain are, according to the "
4614 "conventions of IEEE 802.3 Layer Management, counted "
4615 "exclusively according to the error status presented to "
4616 "the LLC."),
4617 Mappingstrings {
4618 "MIB.IETF|EtherLike-MIB.dot3StatsFCSErrors"},
4619 Counter ]
4620 uint32 FCSErrors;
4621 karl 1.2
4622 [Description (
4623 "A count of successfully transmitted frames on a particular "
4624 "interface for which transmission is inhibited by exactly "
4625 "one collision. A frame that is counted by an instance of "
4626 "this object is not counted by the corresponding instance "
4627 "of the MultipleCollisionFrames property."),
4628 Mappingstrings {
4629 "MIB.IETF|EtherLike-MIB.dot3StatsSingleCollisionFrames"},
4630 Counter ]
4631 uint32 SingleCollisionFrames;
4632
4633 [Description (
4634 "A count of successfully transmitted frames on a particular "
4635 "interface for which transmission is inhibited by more than "
4636 "one collision. A frame that is counted by an instance of "
4637 "this object is not counted by the corresponding instance "
4638 "of the SingleCollisionFrames property."),
4639 Mappingstrings {
4640 "MIB.IETF|EtherLike-MIB.dot3StatsMultipleCollisionFrames"},
4641 Counter ]
4642 karl 1.2 uint32 MultipleCollisionFrames;
4643
4644 [Description (
4645 "A count of times that the SQE TEST ERROR message is "
4646 "generated by the PLS sublayer for a particular interface. "
4647 "The SQE TEST ERROR message is defined in section "
4648 "7.2.2.2.4 of ANSI/IEEE 802.3-1985 and its generation is "
4649 "described in section 7.2.4.6 of the same document."),
4650 Mappingstrings {
4651 "MIB.IETF|EtherLike-MIB.dot3StatsSQETestErrors"},
4652 Counter ]
4653 uint32 SQETestErrors;
4654
4655 [Description (
4656 "A count of frames for which the first transmission "
4657 "attempt on a particular interface is delayed because the "
4658 "medium is busy. The count represented by an instance of "
4659 "this object does not include frames involved in collisions."),
4660 Mappingstrings {
4661 "MIB.IETF|EtherLike-MIB.dot3StatsDeferredTransmissions"},
4662 Counter ]
4663 karl 1.2 uint32 DeferredTransmissions;
4664
4665 [Description (
4666 "The number of times that a collision is detected on a "
4667 "particular interface later than 512 bit-times into the "
4668 "transmission of a packet. Five hundred and twelve bit-"
4669 "times corresponds to 51.2 microseconds on a 10 Mbit/s "
4670 "system. A (late) collision included in a count "
4671 "represented by an instance of this object is also "
4672 "considered as a (generic) collision for purposes of "
4673 "other collision-related statistics."),
4674 Mappingstrings {
4675 "MIB.IETF|EtherLike-MIB.dot3StatsLateCollisions"},
4676 Counter ]
4677 uint32 LateCollisions;
4678
4679 [Description (
4680 "A count of frames for which transmission on a particular "
4681 "interface fails due to excessive collisions."),
4682 Mappingstrings {
4683 "MIB.IETF|EtherLike-MIB.dot3StatsExcessiveCollisions"},
4684 karl 1.2 Counter ]
4685 uint32 ExcessiveCollisions;
4686
4687 [Description (
4688 "A count of frames for which transmission on a particular "
4689 "interface fails due to an internal MAC sublayer transmit "
4690 "error. A frame is only counted by an instance of this "
4691 "object if it is not counted by the corresponding instance "
4692 "of either the LateCollisions property, the Excessive"
4693 "Collisions property, or the CarrierSenseErrors property. "
4694 "The precise meaning of the count represented by an instance "
4695 "of this object is implementation-specific. In particular, "
4696 "an instance of this object may represent a count of "
4697 "transmission errors on a particular interface that are "
4698 "not otherwise counted."),
4699 Mappingstrings {
4700 "MIB.IETF|EtherLike-MIB.dot3StatsInternalMacTransmitErrors"},
4701 Counter ]
4702 uint32 InternalMACTransmitErrors;
4703
4704 [Description (
4705 karl 1.2 "A count of frames for which reception on a particular "
4706 "interface fails due to an internal MAC sublayer receive "
4707 "error. A frame is only counted by an instance of this "
4708 "object if it is not counted by the corresponding instance "
4709 "of either the FrameTooLongs property, the AlignmentErrors "
4710 "property, or the FCSErrors property. The precise meaning "
4711 "of the count represented by an instance of this object is "
4712 "implementation-specific. In particular, an instance of "
4713 "this object may represent a count of receive errors on a "
4714 "particular interface that are not otherwise counted."),
4715 Mappingstrings {
4716 "MIB.IETF|EtherLike-MIB.dot3StatsInternalMacReceiveErrors"},
4717 Counter ]
4718 uint32 InternalMACReceiveErrors;
4719
4720 [Description (
4721 "The number of times that the carrier sense condition was "
4722 "lost or never asserted when attempting to transmit a frame "
4723 "on a particular interface. The count represented by an "
4724 "instance of this object is incremented at most once per "
4725 "transmission attempt, even if the carrier sense condition "
4726 karl 1.2 "fluctuates during a transmission attempt."),
4727 Mappingstrings {
4728 "MIB.IETF|EtherLike-MIB.dot3StatsCarrierSenseErrors"},
4729 Counter ]
4730 uint32 CarrierSenseErrors;
4731
4732 [Description (
4733 "A count of frames received on a particular interface that "
4734 "exceed the maximum permitted frame size. The count "
4735 "represented by an instance of this object is incremented "
4736 "when the FrameTooLong status is returned by the MAC layer "
4737 "to the LLC (or other MAC user). Received frames for which "
4738 "multiple error conditions obtain are, according to the "
4739 "conventions of IEEE 802.3 Layer Management, counted "
4740 "exclusively according to the error status presented to "
4741 "the LLC."),
4742 Mappingstrings {
4743 "MIB.IETF|EtherLike-MIB.dot3StatsFrameTooLongs"},
4744 Counter ]
4745 uint32 FrameTooLongs;
4746 };
4747 karl 1.2
4748
4749 // ===================================================================
4750 // TokenRingAdapter
4751 // ===================================================================
4752 [Version ("2.6.0"), Description (
4753 "Capabilities and management of a TokenRingAdapter.") ]
4754 class CIM_TokenRingAdapter : CIM_NetworkAdapter {
4755
4756 [Override ("NetworkAddresses"), Description (
4757 "Token Ring/802.5 MAC addresses formatted as twelve "
4758 "hexadecimal digits (e.g. \"010203040506\"), with each pair "
4759 "representing one of the six octets of the MAC address in "
4760 "\"canonical\" bit order. (Thus, the Group address bit is "
4761 "found in the low order bit of the first character of the "
4762 "string.)"),
4763 ArrayType ("Indexed") ]
4764 string NetworkAddresses[];
4765
4766 [Description (
4767 "The maximum size of the INFO (non-MAC) field that will be "
4768 karl 1.2 "received or transmitted."),
4769 Mappingstrings {"MIB.IETF|BRIDGE-MIB.dot1dTpPortMaxInfo"} ]
4770 uint32 MaxDataSize;
4771
4772 [Description (
4773 "Capabilities of the TokenRingAdapter. For example, the Device "
4774 "may support AlertOnLan, WakeOnLan, Load Balancing and/or "
4775 "Failover. If failover or load balancing capabilities are "
4776 "listed, a SpareGroup (failover) or ExtraCapacityGroup (load "
4777 "balancing) should also be defined to completely describe the "
4778 "capability."),
4779 ArrayType ("Indexed"),
4780 ValueMap {"0", "1", "2", "3", "4", "5"},
4781 Values {"Unknown", "Other", "AlertOnLan", "WakeOnLan",
4782 "FailOver", "LoadBalancing"},
4783 ModelCorrespondence {
4784 "CIM_TokenRingAdapter.CapabilityDescriptions"} ]
4785 uint16 Capabilities[];
4786
4787 [Description (
4788 "An array of free-form strings providing more detailed "
4789 karl 1.2 "explanations for any of the TokenRingAdapter features "
4790 "indicated in the Capabilities array. Note, each entry of "
4791 "this array is related to the entry in the Capabilities array "
4792 "that is located at the same index."),
4793 ArrayType ("Indexed"),
4794 ModelCorrespondence {"CIM_TokenRingAdapter.Capabilities"} ]
4795 string CapabilityDescriptions[];
4796
4797 [Description (
4798 "Specifies which of the capabilities from the \"Capabilities\" "
4799 "property are currently enabled."),
4800 ValueMap {"0", "1", "2", "3", "4", "5"},
4801 Values {"Unknown", "Other", "AlertOnLan", "WakeOnLan",
4802 "FailOver", "LoadBalancing"},
4803 ModelCorrespondence {"CIM_TokenRingAdapter.Capabilities"} ]
4804 uint16 EnabledCapabilities[];
4805
4806 [Description (
4807 "The current status which can be used to diagnose fluctuating "
4808 "problems that can occur on token rings, after a station has "
4809 "successfully been added to the ring. Before an open is "
4810 karl 1.2 "completed, this object contains the value indicating "
4811 "\"no status\" (131072). (The RingState and RingOpenStatus "
4812 "properties are also provided for debugging problems when the "
4813 "station can not even enter the ring.) The property's value is "
4814 "a sum of values, one for each currently applicable condition. "
4815 "The following values are defined for various conditions:\n"
4816 "0 = No Problems Detected, 32 = Ring Recovery, "
4817 "64 = Single Station, 256 = Remove Received, 512 = Reserved, "
4818 "1024 = Auto-Removal Error, 2048 = Lobe Wire Fault, "
4819 "4096 = Transmit Beacon, 8192 = Soft Error, 16384 = Hard Error, "
4820 "32768 = Signal Loss, 131072 = No Status, Open Not Completed."),
4821 MappingStrings {
4822 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5RingStatus"} ]
4823 uint32 RingStatus;
4824
4825 [Description (
4826 "The current Device state with respect to entering or leaving "
4827 "the ring."),
4828 ValueMap {"0", "1", "2", "3", "4", "5"},
4829 Values {"Opened", "Closed", "Opening", "Closing", "Open Failure",
4830 "Ring Failure"},
4831 karl 1.2 MappingStrings {
4832 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5RingState"} ]
4833 uint16 RingState;
4834
4835 [Description (
4836 "This property indicates the success, or the reason for failure, "
4837 "of the station's most recent attempt to enter the ring."),
4838 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"},
4839 Values {"No Open Attempted", "Bad Parameter", "Lobe Failed",
4840 "Signal Loss", "Insertion Timeout", "Ring Failed", "Beaconing",
4841 "Duplicate MAC", "Request Failed", "Remove Received",
4842 "Last Open Successful"},
4843 MappingStrings {
4844 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5RingOpenStatus"} ]
4845 uint16 RingOpenStatus;
4846
4847 [Description ("The ring's bandwidth."),
4848 ValueMap {"0", "1", "2", "3", "4"},
4849 Values {"Unknown", "Other", "One Megabit", "Four Megabit",
4850 "Sixteen Megabit"},
4851 MappingStrings {
4852 karl 1.2 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5RingSpeed"} ]
4853 uint16 RingSpeed;
4854
4855 [Description (
4856 "This counter is incremented when a station detects the absence "
4857 "of transitions for five half-bit timers (burst-five errors)."),
4858 MappingStrings {
4859 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsBurstErrors"},
4860 Counter ]
4861 uint32 BurstErrors;
4862
4863 [Description (
4864 "This counter is incremented when a station receives an AMP or "
4865 "SMP frame in which A is equal to C is equal to 0, and then "
4866 "receives another SMP frame with A equal to C equal to 0 with"
4867 "out first receiving an AMP frame. It denotes a station that "
4868 "cannot set the AC bits properly."),
4869 MappingStrings {
4870 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsACErrors"},
4871 Counter ]
4872 uint32 ACErrors;
4873 karl 1.2
4874 [Description (
4875 "This counter is incremented when a station transmits an abort "
4876 "delimiter while transmitting data."),
4877 MappingStrings {
4878 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsAbortTransErrors"},
4879 Counter ]
4880 uint32 AbortTransErrors;
4881
4882 [Description (
4883 "This counter is incremented when a station recognizes an "
4884 "internal error."),
4885 MappingStrings {
4886 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsInternalErrors"},
4887 Counter ]
4888 uint32 InternalErrors;
4889
4890 [Description (
4891 "This counter is incremented when a station is transmitting "
4892 "and its TRR timer expires. This denotes a condition where a "
4893 "transmitting station in strip mode does not receive the "
4894 karl 1.2 "trailer of the frame before the TRR timer goes off."),
4895 MappingStrings {
4896 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsLostFrameErrors"},
4897 Counter ]
4898 uint32 LostFrameErrors;
4899
4900 [Description (
4901 "This counter is incremented when a station recognizes a frame "
4902 "addressed to its specific address, but has no available buffer "
4903 "space - indicating that the station is congested."),
4904 MappingStrings {
4905 "MIB.IETF|IEEE 802.5 Token Ring MIB."
4906 "dot5StatsReceiveCongestions"},
4907 Counter ]
4908 uint32 ReceiveCongestions;
4909
4910 [Description (
4911 "This counter is incremented when a station recognizes a frame "
4912 "addressed to its specific address and detects that the FS "
4913 "field A bits are set to 1 indicating a possible line hit or "
4914 "duplicate address."),
4915 karl 1.2 MappingStrings {
4916 "MIB.IETF|IEEE 802.5 Token Ring MIB."
4917 "dot5StatsFrameCopiedErrors"},
4918 Counter ]
4919 uint32 FrameCopiedErrors;
4920
4921 [Description (
4922 "This counter is incremented when a station acting as the "
4923 "active monitor recognizes an error condition that needs a "
4924 "token transmitted."),
4925 MappingStrings {
4926 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsTokenErrors"},
4927 Counter ]
4928 uint32 TokenErrors;
4929
4930 [Description (
4931 "The number of Soft Errors that the Device has detected. It "
4932 "directly corresponds to the number of Report Error MAC frames "
4933 "that this Device has transmitted. Soft Errors are those which "
4934 "are recoverable by the MAC layer protocols."),
4935 MappingStrings {
4936 karl 1.2 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsSoftErrors"},
4937 Counter ]
4938 uint32 SoftErrors;
4939
4940 [Description (
4941 "The number of times this Device has detected an immediately "
4942 "recoverable fatal error. It denotes the number of times this "
4943 "Device is either transmitting or receiving beacon MAC frames."),
4944 MappingStrings {
4945 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsHardErrors"},
4946 Counter ]
4947 uint32 HardErrors;
4948
4949 [Description (
4950 "The number of times this Device has detected the loss of "
4951 "signal condition from the ring."),
4952 MappingStrings {
4953 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsSignalLoss"},
4954 Counter ]
4955 uint32 SignalLossCount;
4956
4957 karl 1.2 [Description (
4958 "The number of times this Device has transmitted a beacon "
4959 "frame."),
4960 MappingStrings {
4961 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsTransmitBeacons"},
4962 Counter ]
4963 uint32 TransmittedBeacons;
4964
4965 [Description (
4966 "The number of Claim Token MAC frames received or transmitted "
4967 "after the Device has received a Ring Purge MAC frame. This "
4968 "counter signifies the number of times the ring has been purged "
4969 "and is being recovered back into a normal operating state."),
4970 MappingStrings {
4971 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsRecoverys"},
4972 Counter ]
4973 uint32 Recoverys;
4974
4975 [Description (
4976 "The number of times the Device has detected an open or short "
4977 "circuit in the lobe data path. The adapter will be closed and "
4978 karl 1.2 "RingState will signify this condition."),
4979 MappingStrings {
4980 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsLobeWires"},
4981 Counter ]
4982 uint32 LobeWires;
4983
4984 [Description (
4985 "The number of times the Device has received a Remove Ring "
4986 "Station MAC frame request. When this frame is received, the "
4987 "Device will enter the close state and RingState will "
4988 "signify this condition."),
4989 MappingStrings {
4990 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsRemoves"},
4991 Counter ]
4992 uint32 Removes;
4993
4994 [Description (
4995 "The number of times the Device has sensed that it is the "
4996 "only station on the ring. This will happen if the Device "
4997 "is the first one up on a ring, or if there is a hardware "
4998 "problem."),
4999 karl 1.2 MappingStrings {
5000 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsSingles"},
5001 Counter ]
5002 uint32 Singles;
5003
5004 [Description (
5005 "The number of times the Device has detected that the "
5006 "frequency of the incoming signal differs from the expected "
5007 "frequency by more than that specified by the IEEE 802.5 "
5008 "standard."),
5009 MappingStrings {
5010 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsFreqErrors"},
5011 Counter ]
5012 uint32 FrequencyErrors;
5013 };
5014
5015 // ==================================================================
5016 // FibreChannelAdapter
5017 // ==================================================================
5018 [Version ("2.6.0"), Description (
5019 "Capabilities and management of a Fibre Channel Adapter.") ]
5020 karl 1.2 class CIM_FibreChannelAdapter : CIM_NetworkAdapter {
5021
5022 [Description (
5023 "The maximum frame size, in bytes, supported by the Adapter."),
5024 Units ("Bytes") ]
5025 uint64 MaxFrameSize;
5026
5027 [Description (
5028 "The Fibre Channel Classes of Service that are supported by "
5029 "the Adapter, on its Ports. The currently negotiated COS for a "
5030 "connection is a property (NegotiatedCOS) on the FibrePort"
5031 "ActiveLogin association."),
5032 ValueMap {"0", "1", "2", "3", "4", "5", "6"},
5033 Values {"Unknown", "1", "2", "3", "4", "6", "F"} ]
5034 uint16 SupportedCOS[];
5035
5036 [Description (
5037 "An array of integers indicating the Fibre Channel FC-4 "
5038 "protocols supported by the Adapter. The protocols that are "
5039 "active and running are indicated in the CurrentFC4Types "
5040 "property. The values used in this array are taken from the "
5041 karl 1.2 "FC-GS2 (bitmapped) field defined in Table 11 of the standard. "
5042 "Also, FC-SB-2 codes are included from the T11 document, "
5043 "236V0. If the FC4 Type is \"Vendor Unique\" (value=255), "
5044 "then the specific vendor values (in the range, 0xE0 to 0xFF) "
5045 "should be listed in the FC4VendorUniqueTypes property."),
5046 ValueMap {"0", "1", "4", "5", "8", "9", "17", "18", "19", "21",
5047 "22", "23", "25", "26", "27", "28", "32", "34", "36",
5048 "64", "80", "81", "82", "88", "96", "255"},
5049 Values {"Unknown", "Other", "ISO/IEC 8802 - 2 LLC",
5050 "IP over FC", "SCSI - FCP", "SCSI - GPP",
5051 "IPI - 3 Master", "IPI - 3 Slave", "IPI - 3 Peer",
5052 "CP IPI - 3 Master", "CP IPI - 3 Slave",
5053 "CP IPI - 3 Peer", "SBCCS Channel",
5054 "SBCCS Control Unit", "FC-SB-2 Channel",
5055 "FC-SB-2 Control Unit",
5056 "Fibre Channel Services (FC-GS, FC-GS-2, FC-GS-3)",
5057 "FC-SW", "FC - SNMP", "HIPPI - FP", "BBL Control",
5058 "BBL FDDI Encapsulated LAN PDU",
5059 "BBL 802.3 Encapsulated LAN PDU", "FC - VI", "FC - AV",
5060 "Vendor Unique"},
5061 ModelCorrespondence {
5062 karl 1.2 "CIM_FibreChannelAdapter.FC4VendorUniqueTypes"} ]
5063 uint16 FC4TypesSupported[];
5064
5065 [MinValue (240), MaxValue (255), Description (
5066 "When the FC4TypesSupported array contains the value 255 "
5067 "(\"Vendor Unique\"), then the property, FC4VendorUniqueTypes, "
5068 "lists of all the vendor specific protocols supported by the "
5069 "Adapter. These values are in the range, 0xE0 to 0xFF.") ]
5070 uint16 FC4VendorUniqueTypes[];
5071
5072 [Description (
5073 "An array of integers indicating the Fibre Channel FC-4 "
5074 "protocols currently running on the Adapter. A list of all "
5075 "protocols supported by the Adapter is indicated in the "
5076 "FC4TypesSupported property. The values used in this array "
5077 "are taken from the FC-GS2 (bitmapped) field defined in "
5078 "Table 11 of the standard. Also, FC-SB-2 codes are included "
5079 "from the T11 document, 236V0. If the FC4 Type is \"Vendor "
5080 "Unique\" (value=255), then the specific vendor values "
5081 "(in the range, 0xE0 to 0xFF) that are currently running "
5082 "should be listed in the CurrentFC4VendorTypes property."),
5083 karl 1.2 ValueMap {"0", "1", "4", "5", "8", "9", "17", "18", "19", "21",
5084 "22", "23", "25", "26", "27", "28", "32", "34", "36",
5085 "64", "80", "81", "82", "88", "96", "255"},
5086 Values {"Unknown", "Other", "ISO/IEC 8802 - 2 LLC",
5087 "IP over FC", "SCSI - FCP", "SCSI - GPP",
5088 "IPI - 3 Master", "IPI - 3 Slave", "IPI - 3 Peer",
5089 "CP IPI - 3 Master", "CP IPI - 3 Slave",
5090 "CP IPI - 3 Peer", "SBCCS Channel",
5091 "SBCCS Control Unit", "FC-SB-2 Channel",
5092 "FC-SB-2 Control Unit",
5093 "Fibre Channel Services (FC-GS, FC-GS-2, FC-GS-3)",
5094 "FC-SW", "FC - SNMP", "HIPPI - FP", "BBL Control",
5095 "BBL FDDI Encapsulated LAN PDU",
5096 "BBL 802.3 Encapsulated LAN PDU", "FC - VI", "FC - AV",
5097 "Vendor Unique"},
5098 ModelCorrespondence {
5099 "CIM_FibreChannelAdapter.FC4TypesSupported",
5100 "CIM_FibreChannelAdapter.CurrentFC4VendorTypes"} ]
5101 uint16 CurrentFC4Types[];
5102
5103 [MinValue (240), MaxValue (255), Description (
5104 karl 1.2 "When the CurrentFC4Types array contains the value 255 "
5105 "(\"Vendor Unique\"), then the property, CurrentFC4VendorTypes, "
5106 "lists all the vendor specific protocols running on the "
5107 "Adapter. These values are in the range, 0xE0 to 0xFF."),
5108 ModelCorrespondence {
5109 "CIM_FibreChannelAdapter.FC4VendorUniqueTypes"} ]
5110 uint16 CurrentFC4VendorTypes[];
5111
5112 [Description (
5113 "A list of the Capabilities of the Fibre Channel Adapter. "
5114 "For example, that the Adapter utilizes the Directory Server, "
5115 "or that it generates State Change Notifications can be "
5116 "indicated using the values 2 and 12, respectively."),
5117 ArrayType ("Indexed"),
5118 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
5119 "10", "11", "12", "13", "14", "15"},
5120 Values {"Unknown", "Other", "Utilizes the Directory Server",
5121 "Utilizes the Time Server",
5122 "Utilizes the Management Server",
5123 "Utilizes the Alias Server",
5124 "Utilizes the Security Key Distribution Server",
5125 karl 1.2 "Utilizes the Clock Synchronization Server",
5126 "Utilizes the Multicast Server",
5127 "Utilizes QoS Facilitator",
5128 "Utilizes Broadcast Services",
5129 "Supports Fabric Login Server",
5130 "Generates State Change Notifications",
5131 "Registers for State Change Notifications",
5132 "Responds to Read Connection Status",
5133 "Supports Third Party Process Logout"} ]
5134 uint16 Capabilities[];
5135
5136 [Description (
5137 "An array of free-form strings providing more detailed "
5138 "explanations for any of the Adapter features indicated in "
5139 "the Capabilities array. Note, each entry of this array "
5140 "is related to the entry in the Capabilities array that "
5141 "is located at the same index."),
5142 ArrayType ("Indexed"),
5143 ModelCorrespondence {"CIM_FibreChannelAdapter.Capabilities"} ]
5144 string CapabilityDescriptions[];
5145
5146 karl 1.2 [Description (
5147 "The number of times that a frame was received but no "
5148 "buffer was available."),
5149 Counter ]
5150 uint64 ReceiveBufferErrors;
5151
5152 [Description (
5153 "The number of times that a frame was received but no "
5154 "end-to-end credit was available."),
5155 Counter ]
5156 uint64 ReceiveEndErrors;
5157
5158 [Description (
5159 "A 'long' timeout value (in milliseconds) for determining "
5160 "when to reinstate a Recovery_Qualifier. The default value "
5161 "is 120 seconds (120000 milliseconds). It is typically set "
5162 "to the ErrorDetectTimeout value + 2*(fabric delay time)."),
5163 Units ("MilliSeconds") ]
5164 uint64 ResourceAllocationTimeout;
5165
5166 [Description (
5167 karl 1.2 "A 'short' timeout value (in milliseconds) for determining "
5168 "that an error has occurred. The default value is 10 "
5169 "seconds (10000 milliseconds)."),
5170 Units ("MilliSeconds") ]
5171 uint64 ErrorDetectTimeout;
5172
5173 [Description (
5174 "Number of Class 1 sequences sent since last reset of the "
5175 "Device."),
5176 Counter ]
5177 uint64 Class1SequencesSent;
5178
5179 [Description (
5180 "Number of Class 2 sequences sent since last reset of the "
5181 "Device."),
5182 Counter ]
5183 uint64 Class2SequencesSent;
5184
5185 [Description (
5186 "Number of Class 3 sequences sent since last reset of the "
5187 "Device."),
5188 karl 1.2 Counter ]
5189 uint64 Class3SequencesSent;
5190
5191 [Description (
5192 "Number of Class 4 sequences sent since last reset of the "
5193 "Device."),
5194 Counter ]
5195 uint64 Class4SequencesSent;
5196
5197 [Description (
5198 "Number of octets received by the Adapter when running "
5199 "Class 2 service."),
5200 Counter ]
5201 uint64 Class2OctetsReceived;
5202
5203 [Description (
5204 "Number of octets transmitted by the Adapter when running "
5205 "Class 2 service."),
5206 Counter ]
5207 uint64 Class2OctetsTransmitted;
5208
5209 karl 1.2 [Description (
5210 "Number of frames received by the Adapter when running "
5211 "Class 2 service."),
5212 Counter ]
5213 uint64 Class2FramesReceived;
5214
5215 [Description (
5216 "Number of frames transmitted by the Adapter when running "
5217 "Class 2 service."),
5218 Counter ]
5219 uint64 Class2FramesTransmitted;
5220
5221 [Description (
5222 "Number of frames discarded by the Adapter when running "
5223 "Class 2 service."),
5224 Counter ]
5225 uint64 Class2DiscardFrames;
5226
5227 [Description (
5228 "Number of octets received by the Adapter when running "
5229 "Class 3 service."),
5230 karl 1.2 Counter ]
5231 uint64 Class3OctetsReceived;
5232
5233 [Description (
5234 "Number of octets transmitted by the Adapter when running "
5235 "Class 3 service."),
5236 Counter ]
5237 uint64 Class3OctetsTransmitted;
5238
5239 [Description (
5240 "Number of frames received by the Adapter when running "
5241 "Class 3 service."),
5242 Counter ]
5243 uint64 Class3FramesReceived;
5244
5245 [Description (
5246 "Number of frames transmitted by the Adapter when running "
5247 "Class 3 service."),
5248 Counter ]
5249 uint64 Class3FramesTransmitted;
5250
5251 karl 1.2 [Description (
5252 "Number of frames discarded by the Adapter when running "
5253 "Class 3 service."),
5254 Counter ]
5255 uint64 Class3DiscardFrames;
5256
5257 [Description (
5258 "Number of parity errors detected somewhere in the "
5259 "data path."),
5260 Counter ]
5261 uint64 ParityErrors;
5262
5263 [Description (
5264 "Number of Class 1 or 2 frames that are not ACKed "
5265 "within the time indicated by ErrorDetectTimeout."),
5266 Counter ]
5267 uint64 FrameTimeouts;
5268
5269 [Description (
5270 "Number of times that the Device has been without a "
5271 "buffer credit for a time longer than ErrorDetectTimeout."),
5272 karl 1.2 Counter ]
5273 uint64 BufferCreditErrors;
5274
5275 [Description (
5276 "Number of times that the Device has been without an end "
5277 "credit for a time longer than ErrorDetectTimeout."),
5278 Counter ]
5279 uint64 EndCreditErrors;
5280
5281 [Description ("Number of frames received out of order."),
5282 Counter ]
5283 uint64 OutOfOrderFramesReceived;
5284 };
5285
5286
5287 // ==================================================================
5288 // FibrePort
5289 // ==================================================================
5290 [Version ("2.6.0"), Description (
5291 "Capabilities and management of a Fibre Channel Port Device.") ]
5292 class CIM_FibrePort : CIM_LogicalPort {
5293 karl 1.2
5294 [Description (
5295 "An address value used to identify the source (S_ID) or "
5296 "destination (D_ID) of a frame. The FC-SW standard includes a "
5297 "table of special address identifier values and their "
5298 "meanings. Consult the FC-SW documentation for additional "
5299 "information.") ]
5300 uint32 AddressIdentifier;
5301
5302 [Description (
5303 "An array indicating the modes in which the Port can operate. "
5304 "PortType values describe the role and behavior of the Fibre "
5305 "Channel entity: \"N\" = Node Port, \"NL\" = Node Port "
5306 "supporting FC arbitrated loop, \"E\" = Expansion Port "
5307 "connecting fabric elements (for example, FC switches), "
5308 "\"F\" = Fabric (element) Port, \"FL\" = Fabric (element) "
5309 "Port supporting FC arbitrated loop, and \"B\" = Bridge "
5310 "Port. PortTypes are defined in the ANSI X3 standards. \n\n"
5311 "A particular mode may be listed multiple times in the "
5312 "SupportedPortTypes array in order to define that multiple, "
5313 "unique version levels are supported. Version information is "
5314 karl 1.2 "defined in the PortTypeVersions property. Note that each "
5315 "entry of the SupportedPortTypes array is related to the entry "
5316 "in PortTypeVersions that is located at the same index."),
5317 ArrayType ("Indexed"),
5318 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7"},
5319 Values {"Unknown", "N", "NL-Private", "NL-Public", "E", "F",
5320 "FL", "B"},
5321 ModelCorrespondence {"CIM_FibrePort.PortTypeVersions"} ]
5322 uint16 SupportedPortTypes[];
5323
5324 [Description (
5325 "Version information for each of the SupportedPortTypes. A "
5326 "particular PortType (mode) may be listed multiple times in "
5327 "the SupportedPortTypes array in order to define multiple, "
5328 "unique version levels. Note that each entry of this array "
5329 "is related to the entry in SupportedPortTypes that is "
5330 "located at the same index."),
5331 ArrayType ("Indexed"),
5332 ModelCorrespondence {"CIM_FibrePort.SupportedPortTypes"} ]
5333 string PortTypeVersions[];
5334
5335 karl 1.2 [Description (
5336 "The specific modes currently enabled for the Port. The "
5337 "values are equal to, or a subset of the values in the Supported"
5338 "PortTypes array."),
5339 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7"},
5340 Values {"Unknown", "N", "NL-Private", "NL-Public", "E", "F",
5341 "FL", "B"},
5342 ModelCorrespondence {"CIM_FibrePort.SupportedPortTypes",
5343 "CIM_FibrePort.EnabledVersions"} ]
5344 uint16 EnabledPortTypes[];
5345
5346 [Description (
5347 "Version information for each of the EnabledPortTypes. A "
5348 "particular PortType (mode) may be listed multiple times in "
5349 "the EnabledPortTypes array in order to define multiple, "
5350 "unique version levels. Note that each entry of this array "
5351 "is related to the entry in EnabledPortTypes that is located "
5352 "at the same index."),
5353 ArrayType ("Indexed"),
5354 ModelCorrespondence {"CIM_FibrePort.EnabledPortTypes"} ]
5355 string EnabledVersions[];
5356 karl 1.2
5357 [Description (
5358 "The specific mode in which the Port is currently running. The "
5359 "value is one of the entries in the EnabledPortTypes array. The "
5360 "current port type/mode is dependent on the fibre technology. "
5361 "For example, in a public loop network, you might indicate a "
5362 "port type of \"FL\" (value=6) or \"NL\" (value=2)."),
5363 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7"},
5364 Values {"Unknown", "N", "NL-Private", "NL-Public", "E", "F",
5365 "FL", "B"},
5366 ModelCorrespondence {"CIM_FibrePort.EnabledPortTypes",
5367 "CIM_FibrePort.CurrentVersion"} ]
5368 uint16 CurrentPortType;
5369
5370 [Description (
5371 "Version information for the CurrentPortType that is active."),
5372 ModelCorrespondence {"CIM_FibrePort.CurrentPortType"} ]
5373 string CurrentVersion;
5374
5375 [Description (
5376 "One or more address identifiers that may be recognized by "
5377 karl 1.2 "the Port, in addition to its port-specific identifier. "
5378 "Multicast or hunt group addresses that are recognized by "
5379 "the Port would be identified in this array.") ]
5380 uint32 AliasAddresses[];
5381
5382 [Description (
5383 "Number of times that signal is lost on the Port since last "
5384 "reset of the Device."),
5385 Counter ]
5386 uint64 LossOfSignalCounter;
5387
5388 [Description (
5389 "Number of times that synchronization is lost on the Port "
5390 "since last reset of the Device. Synchronization is assumed "
5391 "lost after a timeout period identified by the Receiver"
5392 "TransmitterTimeout property."),
5393 Counter ]
5394 uint64 LossOfSyncCounter;
5395
5396 [Description (
5397 "Number of times that the CRC in a frame does not match the "
5398 karl 1.2 "CRC computed by the receiver."),
5399 Counter ]
5400 uint64 CRCErrors;
5401
5402 [Description (
5403 "The number of transmission words that had an 8b10b code "
5404 "violation in one or more of its characters, had a "
5405 "K28.5 in its second, third or fourth character positions, "
5406 "and/or was an ordered set that had an incorrect Beginning "
5407 "Running Disparity."),
5408 Counter ]
5409 uint64 InvalidTransmissionWords;
5410
5411 [Description (
5412 "The number of frames received that were shorter than 28 "
5413 "octets. The value of 28 is calculated based on an "
5414 "assumption of 24 header bytes plus 4 CRC bytes. The "
5415 "count does not include SOF/EOF bytes which are not data."),
5416 Counter ]
5417 uint64 FramesTooShort;
5418
5419 karl 1.2 [Description (
5420 "The number of frames received that were longer than 2140 "
5421 "octets. The value of 2140 is calculated based on an "
5422 "assumption of 24 header bytes plus 4 CRC bytes and 2112 "
5423 "bytes of payload."),
5424 Counter ]
5425 uint64 FramesTooLong;
5426
5427 [Description (
5428 "The number of times that a fill word could not be "
5429 "inserted, when required. The Elasticity Buffer is defined "
5430 "in FC-AL. This event might cause data corruption and may "
5431 "indicate a configuration error or a device out of spec."),
5432 Counter ]
5433 uint64 ElasticityBufferUnderruns;
5434
5435 [Description (
5436 "The number of times that a fill word could not be deleted, "
5437 "when required. The Elasticity Buffer is defined in FC-AL. "
5438 "This event might cause data corruption and may indicate a "
5439 "configuration error or a device out of spec."),
5440 karl 1.2 Counter ]
5441 uint64 ElasticityBufferOverruns;
5442
5443 [Description (
5444 "Timeout value in milliseconds used to determine when "
5445 "loss of synchronization has occurred. The typical default "
5446 "is 100 msec."),
5447 Units ("Milliseconds") ]
5448 uint64 ReceiverTransmitterTimeout;
5449
5450 [Description (
5451 "Indication of whether the Port is currently bypassed "
5452 "(value=2) or not (value=1). A value of 3 (\"Forced Insert\") "
5453 "describes that the Port is forced active, when it would "
5454 "otherwise be \"Bypassed\"."),
5455 ValueMap {"0", "1", "2", "3"},
5456 Values {"Unknown", "Not Bypassed", "Bypassed",
5457 "Forced Insert"} ]
5458 uint16 BypassedState;
5459
5460 [Description (
5461 karl 1.2 "The type of cabling as sensed by the Port. Not all Fibre"
5462 "Ports are capable of providing this information. In this "
5463 "case, a value of 0, \"Unknown\", will be returned. Also, "
5464 "when single or multi-mode fiber cabling can not be "
5465 "distinguished, the more general value - 4, \"Fiber-optic\" "
5466 "- can be specified."),
5467 ValueMap {"0", "1", "2", "3", "4", "5", "6"},
5468 Values {"Unknown", "Other", "No Media", "Copper/Twinaxial",
5469 "Fiber-optic", "Fiber Single Mode", "Fiber Multimode"} ]
5470 uint16 ConnectedMedia;
5471 };
5472
5473
5474 // ===================================================================
5475 // FibrePortOnFCAdapter
5476 // ===================================================================
5477 [Association, Version ("2.6.0"), Description (
5478 "FibrePortOnFCAdapter associates a FibrePort with a FibreChannel"
5479 "Adapter. Cardinalities are defined as Max (1) to indicate the "
5480 "intent and usage of the model - that an Adapter is synonymous "
5481 "with its Port (connection point). Where you have a multi-Port "
5482 karl 1.2 "Adapter and more than one Port may be active at a time, "
5483 "individual Adapters with individual operating data and "
5484 "characteristics really exist. If you have multiple connection "
5485 "points, but they exist only to provide multiple physical form "
5486 "factors (only one connection may be active at a time), then one "
5487 "FibreChannelAdapter and one FibrePort (the active one) exist. "
5488 "On the hardware side, the realizations of these entities "
5489 "in PhysicalElements may be as a CIM_Card (for example) with "
5490 "multiple CIM_PhysicalConnectors.") ]
5491 class CIM_FibrePortOnFCAdapter : CIM_PortOnDevice {
5492
5493 [Override ("Antecedent"), Max (1),
5494 Description (
5495 "The FibreChannelAdapter that includes the Port.") ]
5496 CIM_FibreChannelAdapter REF Antecedent;
5497
5498 [Override ("Dependent"), Max (1),
5499 Description ("The FibrePort on the Adapter.") ]
5500 CIM_FibrePort REF Dependent;
5501 };
5502
5503 karl 1.2
5504 // ==================================================================
5505 // FibrePortActiveLogin
5506 // ==================================================================
5507 [Association, Version ("2.6.0"), Description (
5508 "FibrePortActiveLogin indicates that two FibrePorts are "
5509 "connected via a login and have negotiated their Class Of "
5510 "Service, frame size and other link characteristics, as "
5511 "specified by an instance of this class. \n"
5512 "The class' key is composed of the login originator's and "
5513 "responder's keys plus the Class Of Service. This combination "
5514 "is unique and prevents subclassing FibrePortActiveLogin "
5515 "from its reasonable superclass, DeviceConnection.") ]
5516 class CIM_FibrePortActiveLogin {
5517
5518 [Key, Description ("The originator of the login.") ]
5519 CIM_FibrePort REF LoginOriginator;
5520
5521 [Key, Description ("The responder to the login.") ]
5522 CIM_FibrePort REF LoginResponder;
5523
5524 karl 1.2 [Key, Description (
5525 "The Fibre Channel Class of Service that is currently running "
5526 "between the Ports. Since two Ports can be simultaneously "
5527 "connected at different Classes of Service, this property had "
5528 "to be part of the object's key and therefore, an instance's "
5529 "identity."),
5530 ValueMap {"0", "1", "2", "3", "4", "5", "6"},
5531 Values {"Unknown", "1", "2", "3", "4", "6", "F"},
5532 ModelCorrespondence {"CIM_FibreChannelAdapter.SupportedCOS"},
5533 MappingStrings {
5534 "MIF.DMTF|Fibre Channel Bus Port Extensions|001.5"} ]
5535 uint16 NegotiatedCOS;
5536
5537 [Description (
5538 "The Fibre Channel frame size, in bytes, that is currently "
5539 "negotiated between the two Ports."),
5540 Units ("Bytes") ]
5541 uint64 NegotiatedFrameSize;
5542
5543 [Description (
5544 "The speed for communications that is currently negotiated "
5545 karl 1.2 "between the two Ports. Speed is specified in bits per second. "
5546 "If this information is not available, the property should be "
5547 "set to 0."),
5548 Units ("Bits per Second") ]
5549 uint64 NegotiatedSpeed;
5550
5551 [Description (
5552 "Acknowledgement model negotiated during Port login. For "
5553 "example, ACK-1 indicates that each frame should be "
5554 "acknowledged."),
5555 ValueMap {"0", "1", "2", "3"},
5556 Values {"Unknown", "ACK-0", "ACK-1", "ACK-N"},
5557 MappingStrings {
5558 "MIF.DMTF|Fibre Channel Bus Port Extensions|001.6"} ]
5559 uint16 ACKModel;
5560
5561 [Description (
5562 "The buffer-to-buffer model negotiated during Port login. "
5563 "Either the model defined by the FC-PH standard is used "
5564 "(value=1, \"Regular\"), or an \"Alternate\" model is "
5565 "negotiated."),
5566 karl 1.2 ValueMap {"0", "1", "2"},
5567 Values {"Unknown", "Regular", "Alternate"} ]
5568 uint16 BufferToBufferModel;
5569
5570 [Description (
5571 "OriginatorBufferCredit reflects the buffer credit of the "
5572 "Port defined as the LoginOriginator. It is the number of "
5573 "frame buffers made available BY the originating Port, TO "
5574 "the responder Port. Buffer credits are used in point to "
5575 "point connections, when an NL-Local Port is logged into "
5576 "another NL-Local Port, and when Nx Ports are logged into "
5577 "Fx Ports. In other scenarios, this value is undefined."),
5578 MappingStrings {
5579 "MIF.DMTF|Fibre Channel Bus Port Extensions|001.3"} ]
5580 uint64 OriginatorBufferCredit;
5581
5582 [Description (
5583 "ResponderBufferCredit reflects the buffer credit of the "
5584 "Port defined as the LoginResponder. It is the number of "
5585 "frame buffers made available BY the responder Port, TO "
5586 "the originating Port. Buffer credits are used in point to "
5587 karl 1.2 "point connections, when an NL-Local Port is logged into "
5588 "another NL-Local Port, and when Nx Ports are logged into "
5589 "Fx Ports. In other scenarios, this value is undefined."),
5590 MappingStrings {
5591 "MIF.DMTF|Fibre Channel Bus Port Extensions|001.3"} ]
5592 uint64 ResponderBufferCredit;
5593
5594 [Description (
5595 "OriginatorEndCredit reflects the end credit of the Port "
5596 "defined as the LoginOriginator. It is the number of frame "
5597 "buffers made available BY the originating Port, TO the "
5598 "responder Port. End credits are used in point to point "
5599 "connections, when an NL-Local Port is logged into another "
5600 "NL-Local Port, and when Nx Ports are logged into remote "
5601 "Nx Ports. In other scenarios, this value is undefined."),
5602 MappingStrings {
5603 "MIF.DMTF|Fibre Channel Bus Port Extensions|001.2"} ]
5604 uint64 OriginatorEndCredit;
5605
5606 [Description (
5607 "ResponderEndCredit reflects the end credit of the Port "
5608 karl 1.2 "defined as the LoginResponder. It is the number of frame "
5609 "buffers made available BY the responder Port, TO the "
5610 "originating Port. End credits are used in point to point "
5611 "connections, when an NL-Local Port is logged into another "
5612 "NL-Local Port, and when Nx Ports are logged into remote "
5613 "Nx Ports. In other scenarios, this value is undefined."),
5614 MappingStrings {
5615 "MIF.DMTF|Fibre Channel Bus Port Extensions|001.2"} ]
5616 uint64 ResponderEndCredit;
5617 };
5618
5619
5620 // ===================================================================
5621 // USBDevice
5622 // ===================================================================
5623 [Version ("2.6.0"), Description (
5624 "The management characterisitics of a USB Device. These ") ]
5625 class CIM_USBDevice: CIM_LogicalDevice {
5626
5627 [Description (
5628 "Indicates the latest USB Version supported by the USB Device. "
5629 karl 1.2 "The property is expressed as a Binary-Coded Decimal (BCD) "
5630 "where a decimal point is implied between the 2nd and 3rd "
5631 "digits. For example, a value of 0x201 indicates that "
5632 "version 2.01 is supported.") ]
5633 uint16 USBVersion;
5634
5635 [Description ("Indicates the USB class code.") ]
5636 uint8 ClassCode;
5637
5638 [Description ("Indicates the USB subclass code.") ]
5639 uint8 SubclassCode;
5640
5641 [Description ("Indicates the USB protocol code.") ]
5642 uint8 ProtocolCode;
5643
5644 [Description (
5645 "Number of device configurations that are defined for the "
5646 "Device.") ]
5647 uint8 NumberOfConfigs;
5648
5649 [Description (
5650 karl 1.2 "Indicates the configuration currently selected for the "
5651 "Device. If this value is zero, the Device is "
5652 "unconfigured."),
5653 ModelCorrespondence {"CIM_USBDevice.CurrentAlternateSettings"} ]
5654 uint8 CurrentConfigValue;
5655
5656 [Description (
5657 "An array of USB 'alternate settings' for each interface "
5658 "in the currently selected configuration (indicated by the "
5659 "CurrentConfigValue property). This array has one entry for "
5660 "each interface in the configuration. If the property, "
5661 "CurrentConfigValue, is zero (indicating the Device is not "
5662 "configured), the array is undefined. To understand how "
5663 "to parse this octet string, refer to the USB Specification."),
5664 ModelCorrespondence {"CIM_USBDevice.CurrentConfigValue"} ]
5665 uint8 CurrentAlternateSettings[];
5666
5667 [Description (
5668 "This method returns the USBDevice Descriptor as specified by "
5669 "the input parameters. Each parameter is briefly described here "
5670 "with more detail in its Qualifier list. RequestType is an "
5671 karl 1.2 "input parameter that defines whether the request is for "
5672 "standard, class or vendor-specific information, as well as "
5673 "specifying the recipient. RequestValue is also an input "
5674 "parameter and defines the USB Descriptor Type and Index. "
5675 "RequestIndex is an input parameter which describes the "
5676 "language used to return a string Descriptor. RequestLength is "
5677 "both an input and output parameter. It specifies the length of "
5678 "the Descriptor that should be returned (on input) and what is "
5679 "actually returned in the Buffer parameter (on output). Buffer "
5680 "is an output parameter, containing the Descriptor data. The "
5681 "GetDescriptor method returns an integer value of 0 if the USB "
5682 "Descriptor is successfully returned, 1 if the request is not "
5683 "supported and any other number to indicate an error. \n"
5684 "In a subclass, the set of possible return codes could be "
5685 "specified, using a ValueMap qualifier on the method. The "
5686 "strings to which the ValueMap contents are 'translated' may "
5687 "also be specified in the subclass as a Values array "
5688 "qualifier.") ]
5689 uint32 GetDescriptor(
5690
5691 [IN, Description (
5692 karl 1.2 "RequestType is bit-mapped and identifies the "
5693 "type of Descriptor request and the recipient. The type of "
5694 "request may be 'standard', 'class' or 'vendor-specific'. "
5695 "The recipient may be 'device', 'interface', 'endpoint' "
5696 "or 'other'. Refer to the USB Specification for the "
5697 "appropriate values for each bit.") ]
5698 uint8 RequestType,
5699
5700 [IN, Description (
5701 "RequestValue contains the Descriptor Type in "
5702 "the high byte and the Descriptor Index (for example, index "
5703 "or offset into the Descriptor array) in the low byte. "
5704 "Refer to the USB Specification for more information.") ]
5705 uint16 RequestValue,
5706
5707 [IN, Description (
5708 "RequestIndex defines the 2 byte Language ID "
5709 "code used by the USBDevice when returning string Descriptor "
5710 "data. The parameter is typically 0 for non-string "
5711 "Descriptors. Refer to the USB Specification for more "
5712 "information.") ]
5713 karl 1.2 uint16 RequestIndex,
5714
5715 [IN, OUT, Description (
5716 "On input, RequestLength is the length "
5717 "(in octets) of the Descriptor that should be returned. "
5718 "If this value is less than the actual length of the "
5719 "Descriptor, only the requested length will be returned. "
5720 "If it is more than the actual length, the actual length "
5721 "is returned. On output, this parameter is the length, "
5722 "in octets, of the Buffer being returned. If the requested "
5723 "Descriptor does not exist, the contents of this parameter "
5724 "are undefined.") ]
5725 uint16 RequestLength,
5726
5727 [IN (false), OUT, Description (
5728 "Buffer returns the requested Descriptor information. "
5729 "If the Descriptor does not exist, "
5730 "the contents of the Buffer are undefined.") ]
5731 uint8 Buffer[]);
5732 };
5733
5734 karl 1.2
5735 // ===================================================================
5736 // USBHub
5737 // ===================================================================
5738 [Version ("2.6.0"), Description ("USB Hub Device.") ]
5739 class CIM_USBHub : CIM_USBDevice {
5740
5741 [Description (
5742 "Indicates whether power to the Hub Ports is individually or "
5743 "gang-switched. If this value is FALSE, power is switched "
5744 "individually for each Port. If this value is TRUE, power is "
5745 "switched to all Ports on the Hub at once.") ]
5746 boolean GangSwitched;
5747
5748 [Description (
5749 "Number of downstream Ports on the Hub, including those "
5750 "embedded in the Hub's silicon. Individual USBPorts are "
5751 "associated with the Hub using the USBPortOnHub association.") ]
5752 uint8 NumberOfPorts;
5753 };
5754
5755 karl 1.2
5756 // ===================================================================
5757 // USBPort
5758 // ===================================================================
5759 [Version ("2.6.0"), Description ("A Port on a USBHub.") ]
5760 class CIM_USBPort : CIM_LogicalPort {
5761
5762 [Override ("Speed"), Description (
5763 "USB Port Speed in bits per second. This speed is determined "
5764 "and set by the attached Device. The 'attached Device' is "
5765 "indicated using the USBConnection association. At this time, "
5766 "only several Port speeds are valid. These are: 1.5Mbps and "
5767 "12Mbps. The value 0 can also be specified to indicate that the "
5768 "current speed is 'unknown' or 1 to indicate that the speed is "
5769 "'other' than 1.5 or 12Mbps."),
5770 ValueMap {"0", "1", "1500000", "12000000"} ]
5771 uint64 Speed;
5772
5773 [Override ("StatusInfo"),
5774 Description ("Indicates whether the Port is currently enabled."),
5775 ValueMap {"2", "3", "4"},
5776 karl 1.2 Values {"Unknown", "Enabled", "Disabled"} ]
5777 uint16 StatusInfo;
5778
5779 [Override ("Availability"),
5780 Description ("Indicates whether the Port is currently Powered."),
5781 ValueMap {"2", "3", "7"},
5782 Values {"Unknown", "Running/Full Power", "Power Off"} ]
5783 uint16 Availability;
5784
5785 [Description (
5786 "The USB Port's power capability. The current specification "
5787 "defines that 1 or 5 loads can be supported (values 2 or 3 "
5788 "would be specified, respectively)."),
5789 ValueMap {"0", "1", "2", "3"},
5790 Values {"Unknown", "Other", "1 Unit Load", "5 Unit Loads"} ]
5791 uint16 Power;
5792
5793 [Description (
5794 "Indicates whether the Port is currently Suspended.") ]
5795 boolean Suspended;
5796
5797 karl 1.2 [Description (
5798 "Indicates whether the Port is disabled due to an "
5799 "overcurrent event.") ]
5800 boolean Overcurrent;
5801 };
5802
5803
5804 // ===================================================================
5805 // USBPortOnHub
5806 // ===================================================================
5807 [Association, Version ("2.6.0"), Description (
5808 "USBPortOnHub associates a USBPort or connection point with the "
5809 "USBHub that includes it.") ]
5810 class CIM_USBPortOnHub : CIM_PortOnDevice {
5811
5812 [Override ("Antecedent"),
5813 Min (1), Max (1),
5814 Description ("The Hub that includes the USBPort.") ]
5815 CIM_USBHub REF Antecedent;
5816
5817 [Override ("Dependent"),
5818 karl 1.2 Min (1), Description ("The Port on the USBHub.") ]
5819 CIM_USBPort REF Dependent;
5820 };
5821
5822
5823 // ===================================================================
5824 // USBControllerHasHub
5825 // ===================================================================
5826 [Association, Version ("2.6.0"), Description (
5827 "USBControllerHasHub defines the Hub(s) that are downstream "
5828 "of the USBController.") ]
5829 class CIM_USBControllerHasHub : CIM_ControlledBy {
5830
5831 [Override ("Antecedent"), Min (1), Max (1),
5832 Description ("The USBController.") ]
5833 CIM_USBController REF Antecedent;
5834
5835 [Override ("Dependent"), Min (1),
5836 Description (
5837 "The USBHub that is associated with the Controller.") ]
5838 CIM_USBHub REF Dependent;
5839 karl 1.2 };
5840
5841
5842 // ===================================================================
5843 // USBConnection
5844 // ===================================================================
5845 [Association, Version ("2.6.0"), Description (
5846 "USBConnection associates a Device with the USBPort to which it "
5847 "is connected.") ]
5848 class CIM_USBConnection: CIM_DeviceConnection {
5849
5850 [Override ("Antecedent"), Max (1),
5851 Description ("The USBPort.") ]
5852 CIM_USBPort REF Antecedent;
5853
5854 [Override ("Dependent"), Max (1),
5855 Description ("The USBDevice that is connected to the Port.") ]
5856 CIM_USBDevice REF Dependent;
5857 };
5858
5859
5860 karl 1.2 // ===================================================================
5861 // UML Page 9 - Modems
5862 // ===================================================================
5863 // ===================================================================
5864 // Modem
5865 // ===================================================================
5866 [Abstract, Version ("2.6.0"), Description (
5867 "CIM_Modem is the superclass for grouping the numerous types "
5868 "of Modems.") ]
5869 class CIM_Modem : CIM_LogicalDevice {
5870 };
5871
5872
5873 // ===================================================================
5874 // ConnectionBasedModem
5875 // ===================================================================
5876 [Abstract, Version ("2.6.0"), Description (
5877 "CIM_ConnectionBasedModem is the superclass for grouping the "
5878 "numerous types of connection-based Modems. A CableModem is a "
5879 "type of connection-based Modem.") ]
5880 class CIM_ConnectionBasedModem : CIM_Modem {
5881 karl 1.2
5882 [Description (
5883 "VendorID information is reported via Modem-specific requests. "
5884 "For example, for ADSLModem Devices the VendorID is assigned by "
5885 "T1E1.4 according to T1.413, Appendix D. The correct place in "
5886 "the CIM Schema for this information is in PhysicalElement "
5887 "(the Manufacturer property) for hardware and Product (the "
5888 "Vendor property) if the information is related to Product "
5889 "acquisition. This data is also reported here since it is part "
5890 "of the standard output from the Device, and as an "
5891 "optimization.") ]
5892 string VendorID;
5893 };
5894
5895
5896 // ===================================================================
5897 // DSLModem
5898 // ===================================================================
5899 [Version ("2.6.0"), Description (
5900 "The DSLModem class represents the superclass for Digital "
5901 "Subscriber Line (DSL) Devices. Properties "
5902 karl 1.2 "will be defined in a future release of the model.") ]
5903 class CIM_DSLModem : CIM_ConnectionBasedModem {
5904 };
5905
5906
5907 // ===================================================================
5908 // VDSLModem
5909 // ===================================================================
5910 [Version ("2.6.0"), Description (
5911 "The VDSLmodem class represents Modems of the DSL type = "
5912 "VDSL, Very high data rate Digital Subscriber Line. Properties "
5913 "will be defined in a future release of the model.") ]
5914 class CIM_VDSLModem : CIM_DSLModem {
5915 };
5916
5917
5918 // ===================================================================
5919 // HDSLModem
5920 // ===================================================================
5921 [Version ("2.6.0"), Description (
5922 "The HDSLModem class represents Modems of the DSL type = "
5923 karl 1.2 "HDSL, High data rate Digital Subscribe Line, capable of "
5924 "delivering T1 or E1 speeds. Properties will be defined in a "
5925 "future release of the model.") ]
5926 class CIM_HDSLModem : CIM_DSLModem {
5927 };
5928
5929
5930 // ===================================================================
5931 // SDSLModem
5932 // ===================================================================
5933 [Version ("2.6.0"), Description (
5934 "The SDSLModem class represents Modems of the DSL type = "
5935 "SDSL, Symmetric Digital Subscriber Line. Properties "
5936 "will be defined in a future release of the model.") ]
5937 class CIM_SDSLModem : CIM_DSLModem {
5938 };
5939
5940
5941 // ===================================================================
5942 // ADSLModem
5943 // ===================================================================
5944 karl 1.2 [Version ("2.6.0"), Description (
5945 "The ADSLModem class represents Modems of the DSL type = ADSL, "
5946 "Asymmetric Digital Subscriber Line.") ]
5947 class CIM_ADSLModem : CIM_DSLModem {
5948
5949 [Description (
5950 "Noise Margin of this Modem with respect to its received "
5951 "signal, in tenths of dB."),
5952 Units ("Tenths of Decibels") ]
5953 uint32 NoiseMargin;
5954
5955 [Gauge, Description (
5956 "Measured difference in the total power transmitted by the peer "
5957 "Modem and the total power received by this Modem. This is "
5958 "measured in tenths of dB."),
5959 Units ("Tenths of Decibels") ]
5960 uint32 LineAttenuation;
5961
5962 [Description (
5963 "Status indicates the current state of the connection (line). "
5964 "The property holds a bitmap describing the possible "
5965 karl 1.2 "conditions. For example, \n"
5966 "1) No Defect - There no defects on the line; \n"
5967 "2) Loss Of Framing - ATUR failure due to not receiving valid "
5968 "frame; \n"
5969 "4) Loss Of Signal - ATUR failure due to not receiving "
5970 "signal; \n"
5971 "8) Loss Of Power - ATUR failure due to loss of power; \n"
5972 "32) Loss Of Signal Quality - Loss of Signal Quality is "
5973 "declared when the NoiseMargin falls below the minimum "
5974 "NoiseMargin, or the bit-error-rate exceeds 10^-7."),
5975 ValueMap {"1", "2", "4", "8", "32"},
5976 Values {"No Defect", "Loss Of Framing", "Loss Of Signal",
5977 "Loss Of Power", "Loss Of Signal Quality"} ]
5978 uint32 LineState;
5979
5980 [Gauge, Description (
5981 "Measured total output power (in tenths of dB) transmitted by "
5982 "this Modem."),
5983 Units ("Tenths of Decibels") ]
5984 uint32 TotalOutputPower;
5985
5986 karl 1.2 [Description (
5987 "Indicates the maximum currently attainable data rate for the "
5988 "Modem. This value will be equal or greater than the current "
5989 "line rate."),
5990 Units ("Bits per Second") ]
5991 uint32 MaxDataRate;
5992 };
5993
5994
5995 // ===================================================================
5996 // CableModem
5997 // ===================================================================
5998 [Version ("2.6.0"), Description (
5999 "The CableModem class represents a device for transmission "
6000 "across a cable infrastructure.") ]
6001 class CIM_CableModem: CIM_ConnectionBasedModem {
6002 };
6003
6004
6005 // ===================================================================
6006 // CallBasedModem
6007 karl 1.2 // ===================================================================
6008 [Abstract, Version ("2.6.0"), Description (
6009 "CIM_CallBasedModem is the superclass for grouping the numerous "
6010 "types of call-based modems. The POTSModem is a type of call-"
6011 "based Modem.") ]
6012 class CIM_CallBasedModem : CIM_Modem {
6013
6014 [Description (
6015 "Indicates whether online fallback is enabled, to be negotiated "
6016 "by the Modem.") ]
6017 boolean FallbackEnabled;
6018
6019 [Description (
6020 "An array enumerating all the compression protocols supported "
6021 "by the Modem."),
6022 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"},
6023 Values {"Unknown", "Other", "No Compression", "MNP 5", "V.42bis",
6024 "MNP 3", "MNP 4", "V.58", "PEP", "HST"},
6025 ModelCorrespondence {
6026 "CIM_CallBasedModem.OtherCompressionDescription"} ]
6027 uint16 CompressionSupported[];
6028 karl 1.2
6029 [Description (
6030 "Description of the compression type when \"Other \" (value=1) "
6031 "is defined in the CompressionSupported array. If there are "
6032 "multiple \"Other\" types, then combine their descriptions into "
6033 "a single string."),
6034 ModelCorrespondence {"CIM_CallBasedModem.CompressionSupported"} ]
6035 string OtherCompressionDescription;
6036
6037 [Description (
6038 "Describes the current data compression characteristics of the "
6039 "Modem. "),
6040 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"},
6041 Values {"Unknown", "Other", "No Compression", "MNP 5", "V.42bis",
6042 "MNP 3", "MNP 4", "V.58", "PEP", "HST"},
6043 ModelCorrespondence {"CIM_CallBasedModem.CompressionSupported",
6044 "CIM_CallBasedModem.OtherCompressionInfoDescription"} ]
6045 uint16 CompressionInfo;
6046
6047 [Description (
6048 "Description of the current compression type when \"Other\" "
6049 karl 1.2 "(value=1) is specified in the CompressionInfo property."),
6050 ModelCorrespondence {"CIM_CallBasedModem.CompressionInfo"} ]
6051 string OtherCompressionInfoDescription;
6052
6053 [Description (
6054 "An array enumerating all the modulation protocols supported by "
6055 "the Modem. The beginning entries in the Values qualifier array "
6056 "are mapped from the CIM_POTSModem ModulationScheme property."),
6057 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
6058 "11", "12", "13", "14", "15", "16", "17", "18", "19", "20",
6059 "21", "22", "23", "24", "25", "26", "27", "28", "29"},
6060 Values {"Unknown", "Other", "Not Supported", "Bell 103",
6061 "Bell 212A", "V.22bis", "V.32", "V.32bis", "V.terbo",
6062 "V.FC", "V.34", "V.34bis", "V.17 (G3 Fax Call)", "V.21",
6063 "V.22", "V.23 Constant Carrier (1200/75)",
6064 "V.23 Switched Carrier (Half Duplex)", "V.26bis",
6065 "V.26ter", "V.27ter (G3 Fax Call)",
6066 "V.29 HD (G3 Fax Call)", "V.34 HD (G3 Fax Call)",
6067 "V.90 Issue 1 (Asymmetric)", "V.90 Issue 2 (Symmetric)",
6068 "V.58", "X2", "K56FLEX", "V.Fast", "PEP", "HST"},
6069 ModelCorrespondence {
6070 karl 1.2 "CIM_CallBasedModem.OtherModulationDescription"} ]
6071 uint16 ModulationSupported[];
6072
6073 [Description (
6074 "Description of the current modulation type when \"Other\" "
6075 "(value=1) is specified in the ModulationSupported property. "
6076 "If there are multiple \"Other\" types, then combine their "
6077 "descriptions into a single string."),
6078 ModelCorrespondence {"CIM_CallBasedModem.ModulationSupported"} ]
6079 string OtherModulationDescription;
6080
6081 [Description (
6082 "Describes the current modulation scheme of the Modem."),
6083 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
6084 "11", "12", "13", "14", "15", "16", "17", "18", "19", "20",
6085 "21", "22", "23", "24", "25", "26", "27", "28", "29"},
6086 Values {"Unknown", "Other", "Not Supported", "Bell 103",
6087 "Bell 212A", "V.22bis", "V.32", "V.32bis", "V.terbo",
6088 "V.FC", "V.34", "V.34bis", "V.17 (G3 Fax Call)", "V.21",
6089 "V.22", "V.23 Constant Carrier (1200/75)",
6090 "V.23 Switched Carrier (Half Duplex)", "V.26bis",
6091 karl 1.2 "V.26ter", "V.27ter (G3 Fax Call)",
6092 "V.29 HD (G3 Fax Call)", "V.34 HD (G3 Fax Call)",
6093 "V.90 Issue 1 (Asymmetric)", "V.90 Issue 2 (Symmetric)",
6094 "V.58", "X2", "K56FLEX", "V.Fast", "PEP", "HST"},
6095 ModelCorrespondence {"CIM_CallBasedModem.ModulationSupported",
6096 "CIM_CallBasedModem.OtherSchemeDescription"} ]
6097 uint16 ModulationScheme;
6098
6099 [Description (
6100 "Description of the current modulation type when \"Other\" "
6101 "(value=1) is specified in the ModulationScheme property."),
6102 ModelCorrespondence {"CIM_CallBasedModem.ModulationScheme"} ]
6103 string OtherSchemeDescription;
6104
6105 [Description (
6106 "An array enumerating the error control protocols supported "
6107 "by the Modem. The beginning entries in the Values qualifier "
6108 "array are mapped from the CIM_POTSModem ErrorControlInfo "
6109 "property."),
6110 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
6111 "11", "12", "13"},
6112 karl 1.2 Values {"Unknown", "Other", "No Error Correction", "MNP 4",
6113 "LAPM", "V.58", "ECP Enhanced Cellular Protocol",
6114 "ETC Enhanced Throughput Cellular", "MNP 1", "MNP 2",
6115 "MNP 3", "MNP10", "PEP", "HST"},
6116 ModelCorrespondence {
6117 "CIM_CallBasedModem.OtherErrorControlDescription"} ]
6118 uint16 ErrorControlSupported[];
6119
6120 [Description (
6121 "Description of the error control type when \"Other\" (value="
6122 "1) is specified in the ErrorControlSupported property. If "
6123 "there are multiple \"Other\" types, then combine their "
6124 "descriptions into a single string."),
6125 ModelCorrespondence {
6126 "CIM_CallBasedModem.ErrorControlSupported"} ]
6127 string OtherErrorControlDescription;
6128
6129 [Description (
6130 "Describes the current error correction characteristics of the "
6131 "Modem."),
6132 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
6133 karl 1.2 "11", "12", "13"},
6134 Values {"Unknown", "Other", "No Error Correction", "MNP 4",
6135 "LAPM", "V.58", "ECP Enhanced Cellular Protocol",
6136 "ETC Enhanced Throughput Cellular", "MNP 1", "MNP 2",
6137 "MNP 3", "MNP10", "PEP", "HST"},
6138 ModelCorrespondence {"CIM_CallBasedModem.ErrorControlSupported",
6139 "CIM_CallBasedModem.OtherErrorControlInfoDescription"} ]
6140 uint16 ErrorControlInfo;
6141
6142 [Description (
6143 "Description of the error control when \"Other\" (value=1) "
6144 "is defined as the value of the ErrorControlInfo property."),
6145 ModelCorrespondence {"CIM_CallBasedModem.ErrorControlInfo"} ]
6146 string OtherErrorControlInfoDescription;
6147
6148 [Description ("Time of last reset of the Modem.") ]
6149 datetime TimeOfLastReset;
6150
6151 [Description (
6152 "The rate at which the receiver and transmitter are or were "
6153 "last cooperating, on a call, before disconnection."),
6154 karl 1.2 Units ("Bits per Second") ]
6155 uint32 CallSpeed;
6156
6157 [Description (
6158 "Status of the Modem. For example, information regarding "
6159 "modem negotiation or whether the modem is connected (values "
6160 "8 and 9, respectively) can be conveyed in this property."),
6161 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"},
6162 Values {"Unknown", "Other", "Offline", "On Hook", "Dialing",
6163 "Waiting for Answer", "Ringing", "Modem Detected",
6164 "Negotiating", "Online", "Error"} ]
6165 uint16 CallStatus;
6166
6167 [Description (
6168 "Total number of characters sent by the Device on the last "
6169 "or current call. That a call is in-progress is indicated by "
6170 "the CallStatus property."),
6171 Counter ]
6172 uint32 CharsSent;
6173
6174 [Description (
6175 karl 1.2 "Total number of characters received by the Device on the last "
6176 "or current call. That a call is in-progress is indicated by "
6177 "the CallStatus property."),
6178 Counter ]
6179 uint32 CharsReceived;
6180
6181 [Description (
6182 "Total number of characters lost by the Device on the last or "
6183 "current call. That a call is in-progress is indicated by the "
6184 "CallStatus property."),
6185 Counter ]
6186 uint32 CharsLost;
6187
6188 [Description (
6189 "Total number of blocks sent by the Device on the last or "
6190 "current call. That a call is in-progress is indicated by the "
6191 "CallStatus property."),
6192 Counter ]
6193 uint32 BlocksSent;
6194
6195 [Description (
6196 karl 1.2 "Total number of blocks resent by the Device on the last or "
6197 "current call. That a call is in-progress is indicated by the "
6198 "CallStatus property."),
6199 Counter ]
6200 uint32 BlocksResent;
6201
6202 [Description (
6203 "Total number of blocks received by the Device on the last or "
6204 "current call. That a call is in-progress is indicated by the "
6205 "CallStatus property."),
6206 Counter ]
6207 uint32 BlocksReceived;
6208
6209 [Description (
6210 "Total number of block errors seen by the Device on the last "
6211 "or current call. That a call is in-progress is indicated by "
6212 "the CallStatus property."),
6213 Counter ]
6214 uint32 BlockErrors;
6215
6216 [Description (
6217 karl 1.2 "Length of the last or current call. That a call is in-progress "
6218 "is indicated by the CallStatus property. The 'interval' "
6219 "format of the datetime data type should be used for the "
6220 "property value.") ]
6221 datetime CallLength;
6222
6223 [Description (
6224 "Last or current number dialed to which the statistics apply, "
6225 "or NULL if the call was incoming.") ]
6226 string NumberDialed;
6227 };
6228
6229
6230 // ===================================================================
6231 // ISDNModem
6232 // ===================================================================
6233 [Version ("2.6.0"), Description (
6234 "The ISDNModem class, a kind of call-based Modem. Properties "
6235 "will be defined in a future release of the model.") ]
6236 class CIM_ISDNModem: CIM_CallBasedModem {
6237 };
6238 karl 1.2
6239
6240 // ===================================================================
6241 // POTSModem
6242 // ===================================================================
6243 [Version ("2.6.0"), Description (
6244 "The POTSModem class represents a Device that translates "
6245 "binary data into wave modulations for sound based "
6246 "transmission. It connects to the POTS (Plain Old Telephone "
6247 "System) network.") ]
6248 class CIM_POTSModem : CIM_CallBasedModem {
6249
6250 [Description (
6251 "Capabilities of the POTSModem. For example, the Device "
6252 "may support distinctive ring, caller ID, fax, voice, etc."),
6253 ArrayType ("Indexed"),
6254 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
6255 "11", "12"},
6256 Values {"Unknown", "Other", "Distinctive Ring", "Caller ID",
6257 "Voice", "Fax Class 1", "Fax Class 2", "WakeOnRing",
6258 "Fax Group 3", "GSM Support", "AMPS Support",
6259 karl 1.2 "OOB Alerting", "Worldwide Country Support"},
6260 ModelCorrespondence {"CIM_POTSModem.CapabilityDescriptions"} ]
6261 uint16 Capabilities[];
6262
6263 [Description (
6264 "An array of free-form strings providing more detailed "
6265 "explanations for any of the POTSModem features indicated "
6266 "in the Capabilities array. Note, each entry of this array "
6267 "is related to the entry in the Capabilities array that "
6268 "is located at the same index."),
6269 ArrayType ("Indexed"),
6270 ModelCorrespondence {"CIM_POTSModem.Capabilities"} ]
6271 string CapabilityDescriptions[];
6272
6273 [Description (
6274 "Specifies which capabilities are enabled from the list of "
6275 "ones supported, defined in the Capabilities array."),
6276 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
6277 "11", "12"},
6278 Values {"Unknown", "Other", "Distinctive Ring", "Caller ID",
6279 "Voice", "Fax Class 1", "Fax Class 2", "WakeOnRing",
6280 karl 1.2 "Fax Group 3", "GSM Support", "AMPS Support",
6281 "OOB Alerting", "Worldwide Country Support"},
6282 ModelCorrespondence {"CIM_POTSModem.Capabilities"} ]
6283 uint16 EnabledCapabilities[];
6284
6285 [Description (
6286 "Defines the maximum settable communication speed "
6287 "to the COM Port for an external modem. Enter 0 if "
6288 "not applicable."),
6289 Units ("Bits per Second") ]
6290 uint32 MaxBaudRateToSerialPort;
6291
6292 [Description (
6293 "Defines the maximum settable communication speed "
6294 "for accessing the phone system."),
6295 Units ("Bits per Second") ]
6296 uint32 MaxBaudRateToPhone;
6297
6298 [Description (
6299 "Boolean indicating that synchronous, as well as "
6300 "asynchronous, communication is supported.") ]
6301 karl 1.2 boolean SupportsSynchronousConnect;
6302
6303 [Description (
6304 "DialType is an integer indicating whether tone (value=1) or "
6305 "pulse dialing (value=2) is used. \"Unknown\" (0) can also be "
6306 "defined."),
6307 ValueMap {"0", "1", "2"},
6308 Values {"Unknown", "Tone", "Pulse"} ]
6309 uint16 DialType;
6310
6311 [Description (
6312 "InactivityTimeout defines the time limit (in seconds) "
6313 "for automatic disconnection of the phone line, if no data "
6314 "is exchanged. A value of 0 indicates that this "
6315 "feature is present but not enabled."),
6316 Units ("Seconds") ]
6317 uint32 InactivityTimeout;
6318
6319 [Description (
6320 "Describes the volume level of the audible tones from the "
6321 "Modem. For example, high, medium or low volume can be "
6322 karl 1.2 "reported (values 3, 4 or 5, respectively)."),
6323 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7"},
6324 Values {"Unknown", "Other", "Not Supported", "High",
6325 "Medium", "Low", "Off", "Auto"} ]
6326 uint16 SpeakerVolumeInfo;
6327
6328 [MaxLen (64), Description (
6329 "CountriesSupported is an array of strings defining the "
6330 "countries in which the POTSModem operates.") ]
6331 string CountriesSupported[];
6332
6333 [MaxLen (64), Description (
6334 "CountrySelected is a string value defining the country "
6335 "for which the Modem is currently programmed. When multiple "
6336 "countries are supported, this property defines which one "
6337 "is currently selected for use.") ]
6338 string CountrySelected;
6339
6340 [Description (
6341 "Number of rings before the Modem answers an incoming call.") ]
6342 uint8 RingsBeforeAnswer;
6343 karl 1.2
6344 [Description (
6345 "MaxNumberOfPasswords specifies the number of passwords "
6346 "definable in the Modem itself. If this feature is not "
6347 "supported, enter 0.") ]
6348 uint16 MaxNumberOfPasswords;
6349
6350 [MaxLen (24), Description (
6351 "CurrentPasswords is an array containing the currently defined "
6352 "passwords for the Modem. This array may be left blank for "
6353 "security reasons.") ]
6354 string CurrentPasswords[];
6355
6356 [Description (
6357 "Indication of whether the Modem supports call-back.") ]
6358 boolean SupportsCallback;
6359
6360 [Description (
6361 "AnswerMode defines the current auto-answer/call-back "
6362 "setting for the Modem."),
6363 ValueMap {"0", "1", "2", "3", "4", "5"},
6364 karl 1.2 Values {"Unknown", "Other", "Disabled", "Manual Answer",
6365 "Auto Answer", "Auto Answer with Call-Back"} ]
6366 uint16 AnswerMode;
6367
6368 [Description (
6369 "The current equalization setting for the Modem."),
6370 ValueMap {"0", "1", "2", "3"},
6371 Values {"Unknown", "Other", "Long", "Short"} ]
6372 uint16 Equalization;
6373
6374 [Description ("List of black-listed numbers for the Modem.") ]
6375 string BlackListedNumbers[];
6376 };
6377
6378
6379 // ===================================================================
6380 // Unimodem
6381 // ===================================================================
6382 [Version ("2.6.0"), Description (
6383 "Unimodem is a POTSModem that supports the Unimodem 1.0 "
6384 "Specification.") ]
6385 karl 1.2 class CIM_Unimodem : CIM_POTSModem {
6386
6387 [Description ("Current call setup result code."),
6388 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
6389 "10", "11"},
6390 Values {"No Previous Call", "No Dial Tone Detected",
6391 "Reorder Signal Detected, Network Busy",
6392 "Busy Signal Detected", "No Recognized Signal Detected",
6393 "Voice Detected", "Text Telephone Detected",
6394 "Data Answering Signal Detected",
6395 "Data Calling Signal Detected",
6396 "Fax Answering Signal Detected",
6397 "Fax Calling Signal Detected", "V.8bis Signal Detected"} ]
6398 uint16 CallSetupResultCode;
6399
6400 [Description ("Current multi-media mode of the Unimodem."),
6401 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"},
6402 Values {"Data Only", "Fax Only", "Voice Only", "Voice View",
6403 "ASVD V.61", "ASVD V.34Q", "DSVD Multi-Tech", "DSVD 1.2",
6404 "DSVD V.70", "Video Telephony H.324", "Other V.80 Call"} ]
6405 uint16 MultiMediaMode;
6406 karl 1.2
6407 [Description (
6408 "Current DTE-DCE interface mode of the Unimodem, such as "
6409 "asynchronous, v.80 transparent or framed synchronous modes."),
6410 ValueMap {"0", "1", "2"},
6411 Values {"Async Data", "V.80 Transparent Synchronous Mode",
6412 "V.80 Framed Synchronous Mode"} ]
6413 uint16 DTEDCEInterfaceMode;
6414
6415 [Description ("The active transmit modulation scheme."),
6416 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
6417 "11", "12", "13", "14", "15", "16", "17", "18", "19", "20",
6418 "21", "22", ".."},
6419 Values {"V.17 (G3 Fax Call)", "V.21", "V.22", "V.22bis",
6420 "V.23 Constant Carrier (1200/75)",
6421 "V.23 Switched Carrier (Half Duplex)", "V.26bis",
6422 "V.26ter", "V.27ter (G3 Fax Call)",
6423 "V.29 HD (G3 Fax Call)", "V.32", "V.32bis", "V.34",
6424 "V.34 HD (G3 Fax Call)", "V.90 Issue 1 (Asymmetric)",
6425 "V.90 Issue 2 (Symmetric)", "Reserved (V.58)", "X2",
6426 "K56FLEX", "V.FC", "V.32terbo", "Bell 212A",
6427 karl 1.2 "Bell 103", "Reserved for Mfgs"} ]
6428 uint16 TransmitCarrierNegotiation;
6429
6430 [Description ("The active receive modulation scheme."),
6431 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
6432 "11", "12", "13", "14", "15", "16", "17", "18", "19", "20",
6433 "21", "22", ".."},
6434 Values {"V.17 (G3 Fax Call)", "V.21", "V.22", "V.22bis",
6435 "V.23 Constant Carrier (1200/75)",
6436 "V.23 Switched Carrier (Half Duplex)", "V.26bis",
6437 "V.26ter", "V.27ter (G3 Fax Call)",
6438 "V.29 HD (G3 Fax Call)", "V.32", "V.32bis", "V.34",
6439 "V.34 HD (G3 Fax Call)", "V.90 Issue 1 (Asymmetric)",
6440 "V.90 Issue 2 (Symmetric)", "Reserved (V.58)", "X2",
6441 "K56FLEX", "V.FC", "V.32terbo", "Bell 212A",
6442 "Bell 103", "Reserved for Mfgs"} ]
6443 uint16 ReceiveCarrierNegotiation;
6444
6445 [Description (
6446 "Initial transmit carrier data rate for the current or "
6447 "last call, in bits per second."),
6448 karl 1.2 Units ("Bits per Second") ]
6449 uint32 InitialTransmitCarrierDataRate;
6450
6451 [Description (
6452 "Initial receive carrier data rate for the current or last "
6453 "call, in bits per second."),
6454 Units ("Bits per Second") ]
6455 uint32 InitialReceiveCarrierDataRate;
6456
6457 [Description (
6458 "The number of carrier retrains requested during the current "
6459 "or last call."),
6460 Counter ]
6461 uint8 CarrierRetrainsRequested;
6462
6463 [Description (
6464 "The number of carrier retrains granted during the current "
6465 "or last call."),
6466 Counter ]
6467 uint8 CarrierRetrainsGranted;
6468
6469 karl 1.2 [Description (
6470 "Final transmit carrier data rate of the current or last "
6471 "call, in bits per second."),
6472 Units ("Bits per Second") ]
6473 uint32 FinalTransmitCarrierDataRate;
6474
6475 [Description (
6476 "Final receive carrier data rate of the current or last "
6477 "call, in bits per second."),
6478 Units ("Bits per Second") ]
6479 uint32 FinalReceiveCarrierDataRate;
6480
6481 [Description ("Cause of last call termination."),
6482 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
6483 "11", "12", "13", "14", "15", "16", "17", "18", "19", "20",
6484 "21", "22", "23", "24", "25", "26", "27", "28", "29", "30",
6485 "31", "32", "33", "34", "35", "36", "37", "38", "39", "40",
6486 "41", "42", "43", "44", "45", "46", "47", "48", "49", "50"},
6487 Values {"Cause Unidentified", "No Previous Call",
6488 "Call Is Still in Progress", "Call Waiting Signal Detected",
6489 "Delayed", "NMS Initiated Dial Call",
6490 karl 1.2 "NMS Initiated Leased Line Restoral", "NMS Initiated Redial",
6491 "NMS Initiated Dial Disconnect", "Power Loss",
6492 "Equipment Failure", "Front Panel Disconnect Requested",
6493 "Front Panel Leased Line Restoral",
6494 "Automatic Leased Line Restoral", "Inactivity Timer Expired",
6495 "cct116 Restoral Request", "cct108 Is Off Inhibits Dial",
6496 "cct108 Turned Off", "No Number Provided", "Blacklisted Number",
6497 "Call Attempts Limit Exceeded", "Extension Phone Off Hook",
6498 "Call Setup Fail Timer Expired", "Incoming Call Detected",
6499 "Loop Current Interrupted", "No Dial Tone", "Voice Detected",
6500 "Reorder Tone", "Sit Tone", "Engaged Tone",
6501 "Long Space Disconnect", "Carrier Lost", "Training Failed",
6502 "No Modulation in Common", "Retrain Failed",
6503 "Retrain Attempt Count Exceeded", "GSTN Cleardown Received",
6504 "Fax Detected", "In Test Mode",
6505 "Intrusive Self Test Initiated", "Any Key Abort",
6506 "DTE Hangup Command", "DTE Reset Command", "Frame Reject",
6507 "No Error Control Established", "Protocol Violation",
6508 "n400 Exceeded", "Negotiation Failed",
6509 "Disconnect Frame Received", "Sabme Frame Received",
6510 "Loss Of Synchronization"} ]
6511 karl 1.2 uint16 TerminationCause;
6512
6513 [Description (
6514 "Diagnostic Command Specification, Unimodem revision number.") ]
6515 string UnimodemRevision;
6516
6517 [Gauge, Description (
6518 "Estimated noise level for the last or current call in "
6519 "-dBm. Values are in the range of 0-100."),
6520 Units ("-dBm") ]
6521 uint32 EstimatedNoiseLevel;
6522
6523 [Description (
6524 "Normalized mean squared error for the last or current call.") ]
6525 uint32 NormalizedMeanSquaredError;
6526
6527 [Description (
6528 "Temporary carrier loss event count for the last or current "
6529 "call."),
6530 Counter ]
6531 uint8 TemporaryCarrierLossEventCount;
6532 karl 1.2
6533 [Description (
6534 "Carrier Rate re-negotiation event count for the last or "
6535 "current call."),
6536 Counter ]
6537 uint8 CarrierRenegotiationEventCount;
6538
6539 [Description (
6540 "Error Control frame size in bytes for the last or current "
6541 "call."),
6542 Units ("Bytes") ]
6543 uint16 ErrorControlFrameSize;
6544
6545 [Description (
6546 "Error control link timeouts in transmission for the last or "
6547 "current call."),
6548 Counter ]
6549 uint8 ErrorControlLinkTimeouts;
6550
6551 [Description (
6552 "Error control link NAKs received for the last or current "
6553 karl 1.2 "call."),
6554 Counter ]
6555 uint8 ErrorControlLinkNAKs;
6556
6557 [Description (
6558 "The flow control mechanism used in transmitting data."),
6559 ValueMap {"0", "1", "2", "3"},
6560 Values {"Unknown", "Off", "DC1/DC3", "V.24 ckt 106/133"} ]
6561 uint16 TransmitFlowControl;
6562
6563 [Description (
6564 "The flow control mechanism used in receiving data."),
6565 ValueMap {"0", "1", "2", "3"},
6566 Values {"Unknown", "Off", "DC1/DC3", "V.24 ckt 106/133"} ]
6567 uint16 ReceiveFlowControl;
6568
6569 [Description (
6570 "Number of transmit chars sent from the DTE for the last or "
6571 "current call. A continuous connection may exceed this value, "
6572 "given enough time. Typically these counters are implemented "
6573 "as 32 bit counters, but additional bits may be provided and "
6574 karl 1.2 "are accounted for in this property. If these counters hit "
6575 "maximum value, the DCE manufacturer may roll over to 0."),
6576 Counter ]
6577 uint64 TransmitCharsSentFromDTE;
6578
6579 [Description (
6580 "Number of receive chars sent to the DTE for the last or "
6581 "current call. A continuous connection may exceed this value, "
6582 "given enough time. Typically these counters are implemented "
6583 "as 32 bit counters, but additional bits may be provided and "
6584 "are accounted for in this property. If these counters hit "
6585 "maximum value, the DCE manufacturer may roll over to 0."),
6586 Counter ]
6587 uint64 ReceiveCharsSentToDTE;
6588
6589 [Description (
6590 "Number of transmit characters lost for the last or current "
6591 "call. A DCE may limit this counter to 16 bits, but additional "
6592 "bits may be provided and are accounted for in this property."),
6593 Counter ]
6594 uint64 TransmitCharsLost;
6595 karl 1.2
6596 [Description (
6597 "Number of receive characters lost for the last or current "
6598 "call. A DCE may limit this counter to 16 bits, but additional "
6599 "bits may be provided and are accounted for in this property."),
6600 Counter ]
6601 uint64 ReceiveCharsLost;
6602
6603 [Description (
6604 "Number of I-Frames transmitted for the last or current call. "
6605 "A continuous connection may exceed this value, given enough "
6606 "time. Typically these counters are implemented as 32 bit "
6607 "counters, but additional bits may be provided and are "
6608 "accounted for in this property. If these counters hit maximum "
6609 "value, the DCE manufacturer may roll over to 0."),
6610 Counter ]
6611 uint64 TransmitIFrameCount;
6612
6613 [Description (
6614 "Number of I-Frames received for the last or current call. "
6615 "A continuous connection may exceed this value, given enough "
6616 karl 1.2 "time. Typically these counters are implemented as 32 bit "
6617 "counters, but additional bits may be provided and are "
6618 "accounted for in this property. If these counters hit maximum "
6619 "value, the DCE manufacturer may roll over to 0."),
6620 Counter ]
6621 uint64 ReceiveIFrameCount;
6622
6623 [Description (
6624 "Number of I-Frame errors detected for the last or current "
6625 "call, if error control protocol is running. A DCE may limit "
6626 "this counter to 16 bits, but additional bits may be provided "
6627 "and are accounted for in this property."),
6628 Counter ]
6629 uint64 TransmitIFrameErrorCount;
6630
6631 [Description (
6632 "Number of I-Frame errors detected for the last or current "
6633 "call, if error control protocol is running. A DCE may limit "
6634 "this counter to 16 bits, but additional bits may be provided "
6635 "and are accounted for in this property."),
6636 Counter ]
6637 karl 1.2 uint64 ReceivedIFrameErrorCount;
6638
6639 [Description (
6640 "Number of Call waiting events detected for the last or "
6641 "current call."),
6642 Counter ]
6643 uint8 CallWaitingEventCount;
6644 };
6645
6646
6647 // ===================================================================
6648 // UML Page 10 - Storage Devices
6649 // ===================================================================
6650 // ===================================================================
6651 // MediaAccessDevice
6652 // ===================================================================
6653 [Version ("2.6.0"), Description (
6654 "A MediaAccessDevice represents the ability to access one or "
6655 "more media and use this media to store and retrieve data.") ]
6656 class CIM_MediaAccessDevice : CIM_LogicalDevice {
6657
6658 karl 1.2 [Description (
6659 "Capabilities of the MediaAccessDevice. For example, the "
6660 "Device may support \"Random Access\", removeable media and "
6661 "\"Automatic Cleaning\". In this case, the values 3, 7 and 9 "
6662 "would be written to the array. \n"
6663 "Several of the enumerated values require some explanation: "
6664 "1) Value 11, Supports Dual Sided Media, distinguishes a "
6665 "Device that can access both sides of dual sided Media, from "
6666 "a Device that reads only a single side and requires the "
6667 "Media to be flipped; and, 2) Value 12, Predismount Eject "
6668 "Not Required, indicates that Media does not have to be "
6669 "explicitly ejected from the Device before being accessed "
6670 "by a PickerElement."),
6671 ArrayType ("Indexed"),
6672 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
6673 "10", "11", "12"},
6674 Values {"Unknown", "Other", "Sequential Access",
6675 "Random Access", "Supports Writing", "Encryption",
6676 "Compression", "Supports Removeable Media",
6677 "Manual Cleaning", "Automatic Cleaning",
6678 "SMART Notification", "Supports Dual Sided Media",
6679 karl 1.2 "Predismount Eject Not Required"},
6680 MappingStrings {"MIF.DMTF|Storage Devices|001.9",
6681 "MIF.DMTF|Storage Devices|001.11",
6682 "MIF.DMTF|Storage Devices|001.12",
6683 "MIF.DMTF|Disks|003.7", "MIF.DMTF|Host Disk|001.2",
6684 "MIF.DMTF|Host Disk|001.4"},
6685 ModelCorrespondence {
6686 "CIM_MediaAccessDevice.CapabilityDescriptions"} ]
6687 uint16 Capabilities[];
6688
6689 [Description (
6690 "An array of free-form strings providing more detailed "
6691 "explanations for any of the AccessDevice features indicated "
6692 "in the Capabilities array. Note, each entry of this array "
6693 "is related to the entry in the Capabilities array that "
6694 "is located at the same index."),
6695 ArrayType ("Indexed"),
6696 ModelCorrespondence {"CIM_MediaAccessDevice.Capabilities"} ]
6697 string CapabilityDescriptions[];
6698
6699 [Description (
6700 karl 1.2 "ErrorMethodology is a free-form string describing "
6701 "the type(s) of error detection and correction supported "
6702 "by this Device.") ]
6703 string ErrorMethodology;
6704
6705 [Description (
6706 "A free form string indicating the algorithm or tool used by "
6707 "the device to support compression. "
6708 "If it is not possible or not desired to describe the "
6709 "compression scheme (perhaps because it is not known), "
6710 "recommend using the following words: \"Unknown\" to "
6711 "represent that it is not known whether the device supports "
6712 "compression capabilities or not, \"Compressed\" to represent "
6713 "that the device supports compression capabilities but either "
6714 "its compression scheme is not known or not disclosed, and "
6715 "\"Not Compressed\" to represent that the devices does not "
6716 "support compression capabilities.") ]
6717 string CompressionMethod;
6718
6719 [Description (
6720 "When the MediaAccessDevice supports multiple individual "
6721 karl 1.2 "Media, this property defines the maximum number which can "
6722 "be supported or inserted.") ]
6723 uint32 NumberOfMediaSupported;
6724
6725 [Description (
6726 "Maximum size, in KBytes, of media supported by this Device. "
6727 "KBytes is interpreted as the number of bytes multiplied by "
6728 "1000 (NOT the number of bytes multiplied by 1024)."),
6729 MappingStrings {"MIF.DMTF|Sequential Access Devices|001.2",
6730 "MIF.DMTF|Host Disk|001.5"} ]
6731 uint64 MaxMediaSize;
6732
6733 [Description ("Default block size, in bytes, for this Device."),
6734 Units ("Bytes") ]
6735 uint64 DefaultBlockSize;
6736
6737 [Description (
6738 "Maximum block size, in bytes, for media accessed by this "
6739 "Device."),
6740 Units ("Bytes") ]
6741 uint64 MaxBlockSize;
6742 karl 1.2
6743 [Description (
6744 "Minimum block size, in bytes, for media accessed by this "
6745 "Device."),
6746 Units ("Bytes") ]
6747 uint64 MinBlockSize;
6748
6749 [Description (
6750 "Boolean indicating that the MediaAccessDevice needs cleaning. "
6751 "Whether manual or automatic cleaning is possible is indicated "
6752 "in the Capabilities array property. ") ]
6753 boolean NeedsCleaning;
6754
6755 [Description (
6756 "True indicates that the media is locked in the Device "
6757 "and can not be ejected. For non-removeable Devices, this "
6758 "value should be true.") ]
6759 boolean MediaIsLocked;
6760
6761 [Description (
6762 "An enumeration indicating the operational security defined "
6763 karl 1.2 "for the MediaAccessDevice. For example, information that "
6764 "the Device is \"Read Only\" (value=4) or \"Boot Bypass\" "
6765 "(value=6) can be described using this property."),
6766 ValueMap {"1", "2", "3", "4", "5", "6", "7"},
6767 Values {"Other", "Unknown", "None", "Read Only", "Locked Out",
6768 "Boot Bypass", "Boot Bypass and Read Only"},
6769 MappingStrings {"MIF.DMTF|Disks|003.22"} ]
6770 uint16 Security;
6771
6772 [Description (
6773 "The date and time on which the Device was last cleaned.") ]
6774 datetime LastCleaned;
6775
6776 [Description (
6777 "Time in milliseconds to move from the first location on "
6778 "the Media to the location that is furthest with respect to "
6779 "time. For a DiskDrive, this represents full seek + full "
6780 "rotational delay. For TapeDrives, this represents a search "
6781 "from the beginning of the tape to the most physically "
6782 "distant point. (The end of a tape may be at its most "
6783 "physically distant point, but this is not necessarily "
6784 karl 1.2 "true.)"),
6785 Units ("MilliSeconds") ]
6786 uint64 MaxAccessTime;
6787
6788 [Description (
6789 "The sustained data transfer rate in KB/sec that the "
6790 "Device can read from and write to a Media. This is a "
6791 "sustained, raw data rate. Maximum rates or rates "
6792 "assuming compression should not be reported in this "
6793 "property."),
6794 Units ("KiloBytes per Second") ]
6795 uint32 UncompressedDataRate;
6796
6797 [Description (
6798 "Time in milliseconds from 'load' to being able to read "
6799 "or write a Media. For example, for DiskDrives, this is "
6800 "the interval between a disk not spinning to the disk "
6801 "reporting that it is ready for read/write (ie, the disk "
6802 "spinning at nominal speeds). For TapeDrives, this is "
6803 "the time from a Media being injected to reporting that "
6804 "it is ready for an application. This is usually at the "
6805 karl 1.2 "tape's BOT area."),
6806 Units ("MilliSeconds") ]
6807 uint64 LoadTime;
6808
6809 [Description (
6810 "Time in milliseconds from being able to read or write a "
6811 "Media to its 'unload'. For example, for DiskDrives, "
6812 "this is the interval between a disk spinning at nominal "
6813 "speeds and a disk not spinning. For TapeDrives, this is "
6814 "the time for a Media to go from its BOT to being fully "
6815 "ejected and accessible to a PickerElement or human "
6816 "operator."),
6817 Units ("MilliSeconds") ]
6818 uint64 UnloadTime;
6819
6820 [Description (
6821 "For a MediaAccessDevice that supports removable Media, "
6822 "the number of times that Media have been mounted for "
6823 "data transfer or to clean the Device. For Devices "
6824 "accessing nonremovable Media, such as hard disks, "
6825 "this property is not applicable and should be set to 0."),
6826 karl 1.2 Counter ]
6827 uint64 MountCount;
6828
6829 [Description (
6830 "For a MediaAccessDevice that supports removable Media, "
6831 "the most recent date and time that Media was mounted "
6832 "on the Device. For Devices accessing nonremovable Media, "
6833 "such as hard disks, this property has no meaning and is "
6834 "not applicable.") ]
6835 datetime TimeOfLastMount;
6836
6837 [Description (
6838 "For a MediaAccessDevice that supports removable Media, "
6839 "the total time (in seconds) that Media have been mounted "
6840 "for data transfer or to clean the Device. For Devices "
6841 "accessing nonremovable Media, such as hard disks, "
6842 "this property is not applicable and should be set to 0.") ]
6843 uint64 TotalMountTime;
6844
6845 [Description (
6846 "Defines 'Units' relative to its use in the property, "
6847 karl 1.2 "MaxUnitsBeforeCleaning. This describes the criteria used "
6848 "to determine when the MediaAccessDevice should be cleaned."),
6849 ModelCorrespondence {
6850 "CIM_MediaAccessDevice.MaxUnitsBeforeCleaning",
6851 "CIM_MediaAccessDevice.UnitsUsed"} ]
6852 string UnitsDescription;
6853
6854 [Description (
6855 "An unsigned integer indicating the maximum 'units' "
6856 "that can be used, with respect to the AccessDevice, "
6857 "before the Device should be cleaned. The property, "
6858 "UnitsDescription, defines how 'units' should be "
6859 "interpreted."),
6860 ModelCorrespondence {
6861 "CIM_MediaAccessDevice.UnitsDescription"} ]
6862 uint64 MaxUnitsBeforeCleaning;
6863
6864 [Description (
6865 "An unsigned integer indicating the currently used "
6866 "'units' of the AccessDevice, helpful to describe "
6867 "when the Device may require cleaning. The property, "
6868 karl 1.2 "UnitsDescription, defines how 'units' should be "
6869 "interpreted."),
6870 Gauge,
6871 ModelCorrespondence {
6872 "CIM_MediaAccessDevice.UnitsDescription",
6873 "CIM_MediaAccessDevice.MaxUnitsBeforeCleaning"} ]
6874 uint64 UnitsUsed;
6875
6876 [Description (
6877 "Method to lock and unlock the media in a removeable Access"
6878 "Device. The method takes one parameter as input - a boolean "
6879 "indicating whether to lock or unlock. TRUE indicates that "
6880 "the media should be locked in the Device, FALSE indicates "
6881 "that the media should be unlocked. The method returns 0 if "
6882 "successful, 1 if not supported, and any other value if an "
6883 "error occurred. The set of possible return codes should be "
6884 "specified in a ValueMap qualifier on the method. The strings "
6885 "to which the ValueMap contents are 'translated' should be "
6886 "specified as a Values array qualifier on the method.") ]
6887 uint32 LockMedia (
6888
6889 karl 1.2 [IN] boolean Lock);
6890 };
6891
6892
6893 // ===================================================================
6894 // DiskDrive
6895 // ===================================================================
6896 [Version ("2.6.0"), Description (
6897 "Capabilities and managment of a DiskDrive, a subtype of "
6898 "MediaAccessDevice.") ]
6899 class CIM_DiskDrive : CIM_MediaAccessDevice {
6900 };
6901
6902
6903 // ===================================================================
6904 // DisketteDrive
6905 // ===================================================================
6906 [Version ("2.6.0"), Description (
6907 "Capabilities and managment of a DisketteDrive, a subtype of "
6908 "MediaAccessDevice.") ]
6909 class CIM_DisketteDrive : CIM_MediaAccessDevice {
6910 karl 1.2 };
6911
6912
6913 // ===================================================================
6914 // CDROMDrive
6915 // ===================================================================
6916 [Version ("2.6.0"), Description (
6917 "Capabilities and managment of a CDROMDrive, a subtype of "
6918 "MediaAccessDevice.") ]
6919 class CIM_CDROMDrive : CIM_MediaAccessDevice {
6920 };
6921
6922
6923 // ===================================================================
6924 // DVDDrive
6925 // ===================================================================
6926 [Version ("2.6.0"), Description (
6927 "Capabilities and management of a DVDDrive, a subtype of "
6928 "MediaAccessDevice.") ]
6929 class CIM_DVDDrive : CIM_MediaAccessDevice {
6930
6931 karl 1.2 [Description (
6932 "The CD and DVD formats that are supported by this Device. "
6933 "For example, the Drive may support \"CD-ROM\" and "
6934 "\"DVD-RAM\". In this case, the values 16 and 24 would be "
6935 "written to the array. This property's values align with "
6936 "those defined in PhysicalMedia.MediaType."),
6937 ValueMap {"0", "1", "16", "17", "18", "19", "22", "23", "24",
6938 "25", "26", "27", "33", "34", "35", "36", "37", "38",
6939 "39", "40", "41", "42"},
6940 Values {"Unknown", "Other", "CD-ROM", "CD-ROM/XA",
6941 "CD-I", "CD Recordable", "DVD", "DVD-RW+",
6942 "DVD-RAM", "DVD-ROM", "DVD-Video", "Divx", "CD-RW",
6943 "CD-DA", "CD+", "DVD Recordable", "DVD-RW",
6944 "DVD-Audio", "DVD-5", "DVD-9", "DVD-10", "DVD-18"},
6945 ModelCorrespondence {"CIM_PhysicalMedia.MediaType"} ]
6946 uint16 FormatsSupported[];
6947 };
6948
6949
6950 // ===================================================================
6951 // WORMDrive
6952 karl 1.2 // ===================================================================
6953 [Version ("2.6.0"), Description (
6954 "Capabilities and managment of a WORMDrive, a subtype of "
6955 "MediaAccessDevice.") ]
6956 class CIM_WORMDrive : CIM_MediaAccessDevice {
6957 };
6958
6959
6960 // ===================================================================
6961 // MagnetoOpticalDrive
6962 // ===================================================================
6963 [Version ("2.6.0"), Description (
6964 "Capabilities and managment of a MagnetoOpticalDrive, a "
6965 "subtype of MediaAccessDevice.") ]
6966 class CIM_MagnetoOpticalDrive : CIM_MediaAccessDevice {
6967 };
6968
6969
6970 // ===================================================================
6971 // TapeDrive
6972 // ===================================================================
6973 karl 1.2 [Version ("2.6.0"), Description (
6974 "Capabilities and managment of a TapeDrive, a subtype of "
6975 "MediaAccessDevice.") ]
6976 class CIM_TapeDrive : CIM_MediaAccessDevice {
6977
6978 [Description (
6979 "EOTWarningZoneSize indicates the size, in bytes, of the "
6980 "area designated as 'end of tape'. Access in this area "
6981 "generates an 'end of tape' warning."),
6982 Units ("Bytes") ]
6983 uint32 EOTWarningZoneSize;
6984
6985 [Description ("Maximum partition count for the TapeDrive.") ]
6986 uint32 MaxPartitionCount;
6987
6988 [Description (
6989 "Padding indicates the number of bytes inserted between "
6990 "blocks on a tape Media."),
6991 Units ("Bytes") ]
6992 uint32 Padding;
6993
6994 karl 1.2 [Description (
6995 "Time in milliseconds to move from the most physically distant "
6996 "point on the tape to the beginning."),
6997 Units ("MilliSeconds") ]
6998 uint64 MaxRewindTime;
6999 };
7000
7001
7002 // ===================================================================
7003 // MediaTransferDevice
7004 // ===================================================================
7005 [Version ("2.6.0"), Description (
7006 "A MediaTransferDevice represents hardware that moves Physical"
7007 "Media. It is a superclass for Devices like PickerElement, "
7008 "ChangerDevice and InterLibraryPort.") ]
7009 class CIM_MediaTransferDevice : CIM_LogicalDevice {
7010 };
7011
7012
7013 // ===================================================================
7014 // PickerElement
7015 karl 1.2 // ===================================================================
7016 [Version ("2.6.0"), Description (
7017 "PickerElements represent hardware used to pick or place "
7018 "PhysicalMedia from/into StorageMediaLocations.") ]
7019 class CIM_PickerElement : CIM_MediaTransferDevice {
7020
7021 [Description (
7022 "The maximum time in seconds for a PickerElement to grab "
7023 "a PhysicalMedia from a StorageMediaLocation, once the "
7024 "Picker has arrived at that Location. The maximum time "
7025 "interval for moving a Media from one point to another is "
7026 "the sum of the PickerElement's MaxPickTime, the Changer"
7027 "Device's MaxTransitTime and the PickerElement's MaxPutTime."),
7028 Units ("Seconds") ]
7029 uint32 MaxPickTime;
7030
7031 [Description (
7032 "The maximum time in seconds for a PickerElement to place "
7033 "a PhysicalMedia into a StorageMediaLocation, once the "
7034 "Picker has arrived at that Location. The maximum time "
7035 "interval for moving a Media from one point to another is "
7036 karl 1.2 "the sum of the PickerElement's MaxPickTime, the Changer"
7037 "Device's MaxTransitTime and the PickerElement's MaxPutTime."),
7038 Units ("Seconds") ]
7039 uint32 MaxPutTime;
7040
7041 [Description (
7042 "String describing the location in the StorageLibrary "
7043 "where the Picker is currently positioned.") ]
7044 string CellLocation;
7045 };
7046
7047
7048 // ===================================================================
7049 // ChangerDevice
7050 // ===================================================================
7051 [Version ("2.6.0"), Description (
7052 "ChangerDevices represent hardware that moves PhysicalMedia "
7053 "within a System, such as a StorageLibrary.") ]
7054 class CIM_ChangerDevice : CIM_MediaTransferDevice {
7055
7056 [Description (
7057 karl 1.2 "The maximum time in seconds between a PickerElement pick "
7058 "and place. It should be reported as the transit time "
7059 "between the two most physically distant StorageMedia"
7060 "Locations in a System. The maximum time interval for "
7061 "moving a Media from one point to another is the sum of "
7062 "the PickerElement's MaxPickTime, the ChangerDevice's Max"
7063 "TransitTime and the PickerElement's MaxPutTime."),
7064 Units ("Seconds") ]
7065 uint32 MaxTransitTime;
7066
7067 [Description (
7068 "Boolean set to TRUE if the Changer supports media flipping. "
7069 "Media needs to be flipped when multi-sided PhysicalMedia "
7070 "are placed into a MediaAccessDevice that does NOT support "
7071 "dual sided access.") ]
7072 boolean MediaFlipSupported;
7073
7074 [Description (
7075 "Boolean set to TRUE if an audit is currently being performed "
7076 "by the Changer.") ]
7077 boolean AuditInProgress;
7078 karl 1.2
7079 [Description (
7080 "A count of the number of audits performed by the Changer."),
7081 Counter ]
7082 uint64 AuditsPerformed;
7083 };
7084
7085
7086 // ===================================================================
7087 // PickerForChanger
7088 // ===================================================================
7089 [Association, Version ("2.6.0"), Description (
7090 "PickerForChanger indicates the PickerElement(s) that access "
7091 "StorageMediaLocations and deliver PhysicalMedia to the Changer, "
7092 "for movement through the System. A Changer may have several "
7093 "Pickers for faster exchange of Media.") ]
7094 class CIM_PickerForChanger : CIM_Dependency {
7095
7096 [Override ("Antecedent"), Description (
7097 "The PickerElement that accesses StorageMediaLocations "
7098 "to deliver Media to the Changer.") ]
7099 karl 1.2 CIM_PickerElement REF Antecedent;
7100
7101 [Override ("Dependent"), Max (1),
7102 Description ("The ChangerDevice.") ]
7103 CIM_ChangerDevice REF Dependent;
7104 };
7105
7106
7107 // ===================================================================
7108 // LimitedAccessPort
7109 // ===================================================================
7110 [Version ("2.6.0"), Description (
7111 "LimitedAccessPorts represent hardware that transports Physical"
7112 "Media into or out of a System, such as a StorageLibrary. They "
7113 "are identified as 'limited' since these Ports do not provide "
7114 "access to ALL the PhysicalMedia or StorageMediaLocations in a "
7115 "Library, but only to a subset.") ]
7116 class CIM_LimitedAccessPort : CIM_MediaTransferDevice {
7117
7118 [Description (
7119 "Boolean indicating that the Port is 'locked' (TRUE) or "
7120 karl 1.2 "'unlocked' (FALSE). When the Port is locked, access its Media "
7121 "Locations is prevented without the use of a physical key, "
7122 "front panel activity or the issuance of a software unlock "
7123 "command.") ]
7124 boolean Locked;
7125
7126 [Description (
7127 "When a Port is 'Extended' or 'open' (value=TRUE), its Storage"
7128 "MediaLocations are accessible to a human operator. If not "
7129 "extended (value=FALSE), the Locations are accessible to a "
7130 "PickerElement.") ]
7131 boolean Extended;
7132
7133 [Description (
7134 "When a LimitedAccessPort is 'Extended', all related media-"
7135 "transfer componentry may be stopped. The ExtendTimeout "
7136 "property provides a mechanism to event on a Port left open "
7137 "for a period of time (in seconds) exceeding the property's "
7138 "value."),
7139 Units ("Seconds") ]
7140 uint32 ExtendTimeout;
7141 karl 1.2
7142 [Description ("Date and time that the Port was last extended.") ]
7143 datetime LastExtended;
7144
7145 [Counter, Description (
7146 "The number of times that the LimitedAccessPort was used to "
7147 "move a PhysicalMedia into the System/StorageLibrary.") ]
7148 uint64 ImportCount;
7149
7150 [Counter, Description (
7151 "The number of times that the LimitedAccessPort was used to "
7152 "move a PhysicalMedia out of the System/StorageLibrary.") ]
7153 uint64 ExportCount;
7154
7155 [Description (
7156 "An enumeration expressing whether the Port is used for "
7157 "import into the Library/System which scopes and names it "
7158 "(value=1), export from the Library/System (value=2), or "
7159 "both (value=3)."),
7160 ValueMap {"0", "1", "2", "3"},
7161 Values {"Unknown", "Import", "Export", "Both Import and Export"} ]
7162 karl 1.2 uint16 Direction;
7163 };
7164
7165
7166 // ===================================================================
7167 // InterLibraryPort
7168 // ===================================================================
7169 [Version ("2.6.0"), Description (
7170 "InterLibraryPorts represent hardware that transports Physical"
7171 "Media between connected StorageLibraries. The LibraryExchange "
7172 "association identifies the connected Libraries, by identifying "
7173 "the connected InterLibraryPorts.") ]
7174 class CIM_InterLibraryPort : CIM_MediaTransferDevice {
7175
7176 [Description (
7177 "Date and time that the Port was last accessed by its "
7178 "System/StorageLibrary. This value may be different "
7179 "than that specified for the Port(s) to which this Inter"
7180 "LibraryPort is connected. Connected Ports are identified "
7181 "using the LibraryExchange association.") ]
7182 datetime LastAccessed;
7183 karl 1.2
7184 [Description (
7185 "The number of times that the InterLibraryPort was used to "
7186 "move a PhysicalMedia into the System/StorageLibrary."),
7187 Counter ]
7188 uint64 ImportCount;
7189
7190 [Description (
7191 "The number of times that the InterLibraryPort was used to "
7192 "move a PhysicalMedia out of the System/StorageLibrary."),
7193 Counter ]
7194 uint64 ExportCount;
7195
7196 [Description (
7197 "An enumeration expressing whether the Port is used for "
7198 "import into the Library/System which scopes and names it "
7199 "(value=1), export from the Library/System (value=2), or "
7200 "both (value=3)."),
7201 ValueMap {"0", "1", "2", "3"},
7202 Values {"Unknown", "Import", "Export", "Both Import and Export"} ]
7203 uint16 Direction;
7204 karl 1.2 };
7205
7206
7207 // ===================================================================
7208 // LibraryExchange
7209 // ===================================================================
7210 [Association, Version ("2.6.0"), Description (
7211 "LibraryExchange indicates that two StorageLibraries are "
7212 "connected through their InterLibraryPorts.") ]
7213 class CIM_LibraryExchange : CIM_Dependency {
7214
7215 [Override ("Antecedent"),
7216 Description ("The InterLibraryPort of one StorageLibrary.") ]
7217 CIM_InterLibraryPort REF Antecedent;
7218
7219 [Override ("Dependent"),
7220 Description ("The InterLibraryPort of the connected Library.") ]
7221 CIM_InterLibraryPort REF Dependent;
7222
7223 [Description (
7224 "Enumeration indicating whether the Antecedent (value=1), "
7225 karl 1.2 "Dependent (value=2), or neither Library (value=3) currently "
7226 "has access to the Port."),
7227 ValueMap {"0", "1", "2", "3"},
7228 Values {"Unknown", "Antecedent", "Dependent", "Neither"} ]
7229 uint16 CurrentlyAccessingPort;
7230 };
7231
7232
7233 // ===================================================================
7234 // LabelReader
7235 // ===================================================================
7236 [Version ("2.6.0"), Description (
7237 "LabelReaders represent hardware capable of scanning or reading "
7238 "a physical label or the NonVolatileMemory on a PhysicalMedia. "
7239 "Examples of labels include barcode and OCR tags.") ]
7240 class CIM_LabelReader : CIM_LogicalDevice {
7241
7242 [Description (
7243 "An array of enumerated integers describing the formats of "
7244 "the labels that can be read or scanned by the LabelReader. "
7245 "The values specified for this property correspond to "
7246 karl 1.2 "those defined for CIM_PhysicalMedia.LabelFormats."),
7247 ValueMap {"0", "1", "2", "3", "4", "5"},
7248 Values {"Barcode", "Radio Frequency Identification",
7249 "OCR (Optical Character Recognition)",
7250 "MICR (Magnetic Ink Character Recognition)",
7251 "7 Character Barcode", "9 Character Barcode"},
7252 ModelCorrespondence {"CIM_PhysicalMedia.LabelFormats"} ]
7253 uint16 SupportedFormats[];
7254
7255 [Description (
7256 "The technology used by the LabelReader. One entry of the "
7257 "Values array requires some explanation - \"Memory Reader\". "
7258 "The latter describes the ability to access memory in a Physical"
7259 "Media's packaging (for example, memory on an AIT tape). The "
7260 "existence of this Memory is indicated by the MemoryWithMedia "
7261 "association on the physical side, or by AssociatedMemory on "
7262 "the logical side."),
7263 ValueMap {"0", "1", "2", "3", "4", "5", "6"},
7264 Values {"Unknown", "Other", "Laser", "Infrared", "RF",
7265 "Camera", "Memory Reader"} ]
7266 uint16 Technology;
7267 karl 1.2 };
7268
7269
7270 // ===================================================================
7271 // AssociatedLabelReader
7272 // ===================================================================
7273 [Association, Version ("2.6.0"), Description (
7274 "A LogicalDevice may use or require one or more LabelReaders, to "
7275 "scan barcodes or otherwise identify entities. This relationship "
7276 "is described by the AssociatedLabelReader dependency. ") ]
7277 class CIM_AssociatedLabelReader : CIM_Dependency {
7278
7279 [Override ("Antecedent"),
7280 Description ("The LabelReader.") ]
7281 CIM_LabelReader REF Antecedent;
7282
7283 [Override ("Dependent"), Description (
7284 "The Device that is dependent on the Reader Device.") ]
7285 CIM_LogicalDevice REF Dependent;
7286 };
7287
7288 karl 1.2
7289 // ===================================================================
7290 // PickerLabelReader
7291 // ===================================================================
7292 [Association, Version ("2.6.0"), Description (
7293 "PickerLabelReader is used to indicate that one or more Label"
7294 "Readers works in conjunction with PickerElements, to identify "
7295 "PhysicalMedia as they are being picked/placed.") ]
7296 class CIM_PickerLabelReader : CIM_AssociatedLabelReader {
7297
7298 [Override ("Dependent"), Description (
7299 "The PickerElement that is dependent on the Reader Device.") ]
7300 CIM_PickerElement REF Dependent;
7301 };
7302
7303
7304 // ===================================================================
7305 // AccessLabelReader
7306 // ===================================================================
7307 [Association, Version ("2.6.0"), Description (
7308 "AccessLabelReader is used to indicate that one or more Label"
7309 karl 1.2 "Readers works in conjunction with MediaAccessDevices, "
7310 "to identify PhysicalMedia before read/write.") ]
7311 class CIM_AccessLabelReader : CIM_AssociatedLabelReader {
7312
7313 [Override ("Dependent"), Description (
7314 "The MediaAccessDevice that is dependent on the Reader "
7315 "Device.") ]
7316 CIM_MediaAccessDevice REF Dependent;
7317 };
7318
7319
7320 // ===================================================================
7321 // UML Page 11 - StorageExtent and Memory
7322 // ===================================================================
7323 // ===================================================================
7324 // StorageExtent
7325 // ===================================================================
7326 [Version ("2.6.0"), Description (
7327 "StorageExtent describes the capabilities and management of "
7328 "the various media that exist to store data and allow data "
7329 "retrieval. This superclass could be used to represent the "
7330 karl 1.2 "various components of RAID (Hardware or Software) or as a "
7331 "raw logical extent on top of physical media.") ]
7332 class CIM_StorageExtent : CIM_LogicalDevice {
7333
7334 [Description ("Type of data organization used."),
7335 ValueMap {"0", "1", "2", "3", "4"},
7336 Values {"Other", "Unknown", "Fixed Block", "Variable Block",
7337 "Count Key Data"} ]
7338 uint16 DataOrganization;
7339
7340 [Description (
7341 "A free form string describing the media and/or its use."),
7342 MappingStrings {
7343 "MIB.IETF|HOST-RESOURCES-MIB.hrStorageDescr"} ]
7344 string Purpose;
7345
7346 [Description (
7347 "Access describes whether the media is readable (value=1), "
7348 "writeable (value=2), or both (value=3). \"Unknown\" (0) "
7349 "and \"Write Once\" (4) can also be defined."),
7350 ValueMap {"0", "1", "2", "3", "4"},
7351 karl 1.2 Values {"Unknown", "Readable", "Writeable",
7352 "Read/Write Supported", "Write Once"} ]
7353 uint16 Access;
7354
7355 [Description (
7356 "ErrorMethodology is a free-form string describing "
7357 "the type of error detection and correction supported "
7358 "by this StorageExtent.") ]
7359 string ErrorMethodology;
7360
7361 [Description (
7362 "Size in bytes of the blocks which form this StorageExtent. "
7363 "If variable block size, then the maximum block size in bytes "
7364 "should be specified. If the block size is unknown or if a "
7365 "block concept is not valid (for example, for AggregateExtents, "
7366 "Memory or LogicalDisks), enter a 1."),
7367 Units ("Bytes"),
7368 MappingStrings {"MIF.DMTF|Host Storage|001.4",
7369 "MIB.IETF|HOST-RESOURCES-MIB.hrStorageAllocationUnits,"
7370 "MIF.DMTF|Storage Devices|001.5"} ]
7371 uint64 BlockSize;
7372 karl 1.2
7373 [Description (
7374 "Total number of logically contiguous blocks, of size Block"
7375 "Size, which form this Extent. The total size of the Extent "
7376 "can be calculated by multiplying BlockSize by NumberOfBlocks. "
7377 "If the BlockSize is 1, this property is the total size of the "
7378 "Extent."),
7379 MappingStrings {"MIF.DMTF|Host Storage|001.5",
7380 "MIB.IETF|HOST-RESOURCES-MIB.hrStorageSize"} ]
7381 uint64 NumberOfBlocks;
7382
7383 [Description (
7384 "The maximum number of blocks, of size BlockSize, which are "
7385 "available for consumption when layering StorageExtents "
7386 "using the BasedOn association. This property only has meaning "
7387 "when this StorageExtent is an Antecedent reference in a "
7388 "BasedOn relationship. For example, a StorageExtent could be "
7389 "composed of 120 blocks. However, the Extent itself may use 20 "
7390 "blocks for redundancy data. If another StorageExtent is "
7391 "BasedOn this Extent, only 100 blocks would be available to it. "
7392 "This information ('100 blocks is available for consumption') "
7393 karl 1.2 "is indicated in the ConsumableBlocks property.") ]
7394 uint64 ConsumableBlocks;
7395
7396 [Description (
7397 "True indicates that the underlying StorageExtent(s) "
7398 "participate in a StorageRedundancyGroup.") ]
7399 boolean IsBasedOnUnderlyingRedundancy;
7400
7401 [Description (
7402 "Boolean set to TRUE if the Storage is sequentially accessed "
7403 "by a MediaAccessDevice. A TapePartition is an example of a "
7404 "sequentially accessed StorageExtent. StorageVolumes, Disk"
7405 "Partitions and LogicalDisks represent randomly accessed "
7406 "Extents.") ]
7407 boolean SequentialAccess;
7408 };
7409
7410
7411 // ===================================================================
7412 // ResidesOnExtent
7413 // ===================================================================
7414 karl 1.2 [Association, Version ("2.6.0"), Description (
7415 "An association between a FileSystem and the StorageExtent "
7416 "where it is located. Typically, a FileSystem ResidesOn "
7417 "a LogicalDisk.") ]
7418 class CIM_ResidesOnExtent : CIM_Dependency {
7419
7420 [Override ("Antecedent"), Description ("The StorageExtent.") ]
7421 CIM_StorageExtent REF Antecedent;
7422
7423 [Override ("Dependent"), Description (
7424 "The FileSystem that is located on the StorageExtent.") ]
7425 CIM_FileSystem REF Dependent;
7426 };
7427
7428
7429 // ===================================================================
7430 // BasedOn
7431 // ===================================================================
7432 [Association, Version ("2.6.0"), Description (
7433 "BasedOn is an association describing how StorageExtents can "
7434 "be assembled from lower level Extents. For example, "
7435 karl 1.2 "ProtectedSpaceExtents are parts of PhysicalExtents, while "
7436 "VolumeSets are assembled from one or more Physical or "
7437 "ProtectedSpaceExtents. As another example, CacheMemory "
7438 "can be defined independently and realized in a PhysicalElement "
7439 "or can be 'based on' Volatile or NonVolatileStorageExtents.") ]
7440 class CIM_BasedOn : CIM_Dependency {
7441
7442 [Override ("Antecedent"), Description (
7443 "The lower level StorageExtent.") ]
7444 CIM_StorageExtent REF Antecedent;
7445
7446 [Override ("Dependent"), Description (
7447 "The higher level StorageExtent.") ]
7448 CIM_StorageExtent REF Dependent;
7449
7450 [Description (
7451 "StartingAddress indicates where in lower level storage, "
7452 "the higher level Extent begins.") ]
7453 uint64 StartingAddress;
7454
7455 [Description (
7456 karl 1.2 "EndingAddress indicates where in lower level storage, "
7457 "the higher level Extent ends. This property is useful when "
7458 "mapping non-contiguous Extents into a higher level grouping.") ]
7459 uint64 EndingAddress;
7460
7461 [Description (
7462 "If there is an order to the BasedOn associations that "
7463 "describe how a higher level StorageExtent is assembled, the "
7464 "OrderIndex property indicates this. When an order exists, "
7465 "the instances of BasedOn with the same Dependent value "
7466 "(i.e., the same higher level Extent) should place unique "
7467 "values in the OrderIndex property. The lowest value implies "
7468 "the first member of the collection of lower level Extents, "
7469 "and increasing values imply successive members of the "
7470 "collection. If there is no ordered relationship, a value "
7471 "of zero should be specified. An example of the use of this "
7472 "property is to define a RAID-0 striped array of 3 disks. "
7473 "The resultant RAID array is a StorageExtent that is "
7474 "dependent on (BasedOn) the StorageExtents that describe "
7475 "each of the 3 disks. The OrderIndex of each BasedOn "
7476 "association from the disk Extents to the RAID array could "
7477 karl 1.2 "be specified as 1, 2 and 3 to indicate the order in which "
7478 "the disk Extents are used to access the RAID data.") ]
7479 uint16 OrderIndex;
7480 };
7481
7482
7483 // ===================================================================
7484 // MediaPresent
7485 // ===================================================================
7486 [Association, Version ("2.6.0"), Description (
7487 "Where a StorageExtent must be accessed through a MediaAccess"
7488 "Device, this relationship is described by the MediaPresent "
7489 "association."),
7490 MappingStrings {"MIF.DMTF|Storage Devices|001.8"} ]
7491 class CIM_MediaPresent : CIM_Dependency {
7492
7493 [Override ("Antecedent"),
7494 Description ("The MediaAccessDevice.") ]
7495 CIM_MediaAccessDevice REF Antecedent;
7496
7497 [Override ("Dependent"), Description (
7498 karl 1.2 "The StorageExtent accessed using the MediaAccessDevice.") ]
7499 CIM_StorageExtent REF Dependent;
7500
7501 [Description (
7502 "Boolean indicating that the accessed StorageExtent is "
7503 "fixed in the MediaAccessDevice and can not be ejected.") ]
7504 boolean FixedMedia;
7505 };
7506
7507
7508 // ===================================================================
7509 // StorageError
7510 // ===================================================================
7511 [Version ("2.6.0"), Description (
7512 "StorageError defines blocks of media or memory space that are "
7513 "mapped 'out of use' due to errors. The Key of the class is "
7514 "the StartingAddress of the bytes in error.") ]
7515 class CIM_StorageError : CIM_ManagedElement {
7516
7517 [Propagated("CIM_StorageExtent.SystemCreationClassName"),
7518 Key, MaxLen (256),
7519 karl 1.2 Description ("The scoping System's CreationClassName.") ]
7520 string SystemCreationClassName;
7521
7522 [Propagated("CIM_StorageExtent.SystemName"),
7523 Key, MaxLen (256),
7524 Description ("The scoping System's Name.") ]
7525 string SystemName;
7526
7527 [Propagated("CIM_StorageExtent.CreationClassName"),
7528 Key, MaxLen (256),
7529 Description ("The scoping StorageExtent's CreationClassName.") ]
7530 string DeviceCreationClassName;
7531
7532 [Propagated("CIM_StorageExtent.DeviceID"),
7533 Key, MaxLen (64),
7534 Description ("The scoping StorageExtent's DeviceID.") ]
7535 string DeviceID;
7536
7537 [Key,
7538 Description ("The starting address of the bytes in error.") ]
7539 uint64 StartingAddress;
7540 karl 1.2
7541 [Description ("The ending address of the bytes in error.") ]
7542 uint64 EndingAddress;
7543 };
7544
7545
7546 // ===================================================================
7547 // StorageDefect
7548 // ===================================================================
7549 [Association, Aggregation, Version ("2.6.0"), Description (
7550 "The StorageDefect aggregation collects the StorageErrors for "
7551 "a StorageExtent.") ]
7552 class CIM_StorageDefect {
7553
7554 [Key, Aggregate, Min (1), Max (1), Description (
7555 "The Extent reference defines the StorageExtent on which the "
7556 "errors occurred.") ]
7557 CIM_StorageExtent REF Extent;
7558
7559 [Key, Weak, Description (
7560 "Error references the Error object, defining the starting "
7561 karl 1.2 "and ending addresses that are 'mapped out' of the Storage"
7562 "Extent.") ]
7563 CIM_StorageError REF Error;
7564 };
7565
7566
7567 // ===================================================================
7568 // PhysicalExtent
7569 // ===================================================================
7570 [Version ("2.6.0"), Description (
7571 "A PhysicalExtent is used to model an SCC RAID "
7572 "implementation. It defines the consecutive addressable "
7573 "block addresses on a single storage device, that are "
7574 "treated as a single StorageExtent and that are in the "
7575 "same StorageRedundancyGroup. An alternate possibility, "
7576 "if automatic configuration is used, is to instantiate or "
7577 "extend the AggregatePExtent class.") ]
7578 class CIM_PhysicalExtent : CIM_StorageExtent {
7579
7580 // Override is used to define the MappingString qualifier
7581 [Override ("BlockSize"),
7582 karl 1.2 MappingStrings {"MIF.DMTF|Physical Extent|001.4"} ]
7583 uint64 BlockSize;
7584
7585 // Override is used to define the MappingString qualifier
7586 [Override ("NumberOfBlocks"),
7587 MappingStrings {"MIF.DMTF|Physical Extent|001.3"} ]
7588 uint64 NumberOfBlocks;
7589
7590 [Description (
7591 "Number of bytes of user data to skip before "
7592 "starting the check data interleave."),
7593 Units ("Bytes"),
7594 MappingStrings {"MIF.DMTF|Physical Extent|001.6"} ]
7595 uint64 UnitsBeforeCheckDataInterleave;
7596
7597 [Description (
7598 "Number of bytes to be reserved for check data."),
7599 Units ("Bytes"),
7600 MappingStrings {"MIF.DMTF|Physical Extent|001.7"} ]
7601 uint64 UnitsOfCheckData;
7602
7603 karl 1.2 [Description (
7604 "Number of bytes to be reserved for user data."),
7605 Units ("Bytes"),
7606 MappingStrings {"MIF.DMTF|Physical Extent|001.8"} ]
7607 uint64 UnitsOfUserData;
7608 };
7609
7610
7611 // ===================================================================
7612 // ProtectedSpaceExtent
7613 // ===================================================================
7614 [Version ("2.6.0"), Description (
7615 "A ProtectedSpaceExtent is used to model an SCC RAID "
7616 "implementation. ProtectedSpaceExtent defines addressable logical "
7617 "block addresses, treated as a single Extent, located on one or "
7618 "more PhysicalExtents. ProtectedSpaceExtents exclude any logical "
7619 "blocks mapped as check data and contain user data stripe depth "
7620 "mapping information. An alternate possibility, if automatic "
7621 "configuration is used, is to instantiate or extend the Aggregate"
7622 "PSExtent class.") ]
7623 class CIM_ProtectedSpaceExtent : CIM_StorageExtent {
7624 karl 1.2
7625 // Override is used to define the MappingString qualifier
7626 [Override ("BlockSize"),
7627 MappingStrings {"MIF.DMTF|Protected Space Extent|001.4"} ]
7628 uint64 BlockSize;
7629
7630 [Override ("NumberOfBlocks"),
7631 Description (
7632 "The number of user data blocks contained in this Extent."),
7633 MappingStrings {"MIF.DMTF|Protected Space Extent|001.3"} ]
7634 uint64 NumberOfBlocks;
7635
7636 [Description (
7637 "For a ProtectedSpaceExtent that is allocated to a VolumeSet, "
7638 "(i.e. is named in a CIM_VolumeSetBasedOnPSExtent "
7639 "association), this property is the number of user data bytes "
7640 "placed on this ProtectedSpaceExtent before moving on to the "
7641 "next ProtectedSpaceExtent in the VolumeSet. Otherwise, this "
7642 "ProtectedSpaceExtent is considered to be unallocated and "
7643 "this property shall be set to zero (0h.)"),
7644 Units ("Bytes"),
7645 karl 1.2 MappingStrings {"MIF.DMTF|Protected Space Extent|001.6"} ]
7646 uint64 UserDataStripeDepth;
7647 };
7648
7649
7650 // ===================================================================
7651 // PSExtentBasedOnPExtent
7652 // ===================================================================
7653 [Association, Version ("2.6.0"), Description (
7654 "ProtectedSpaceExtents are BasedOn a PhysicalExtent. This "
7655 "relationship is made explicit in this association.") ]
7656 class CIM_PSExtentBasedOnPExtent : CIM_BasedOn {
7657
7658 [Override ("Antecedent"), Description (
7659 "The PhysicalExtent.") ]
7660 CIM_PhysicalExtent REF Antecedent;
7661
7662 [Override ("Dependent"), Description (
7663 "The ProtectedSpaceExtent which is built on the Physical"
7664 "Extent.") ]
7665 CIM_ProtectedSpaceExtent REF Dependent;
7666 karl 1.2
7667 [Override ("StartingAddress"), Description (
7668 "The starting logical block address of the PhysicalExtent "
7669 "from which this ProtectedSpaceExtent is derived."),
7670 MappingStrings {"MIF.DMTF|Protected Space Extent|001.2"} ]
7671 uint64 StartingAddress;
7672 };
7673
7674
7675 // ===================================================================
7676 // StorageVolume
7677 // ===================================================================
7678 [Version ("2.6.0"), Description (
7679 "A StorageVolume is an Extent that is presented to the Operating"
7680 "System (for example, by a hardware RAID cabinet), to a File"
7681 "System (for example, by a software volume manager) or to another "
7682 "entity. StorageVolumes do NOT participate in StorageRedundancy"
7683 "Groups. They are directly Realized in hardware or are the end "
7684 "result of assembling lower level Extents.") ]
7685 class CIM_StorageVolume : CIM_StorageExtent {
7686 };
7687 karl 1.2
7688
7689 // ===================================================================
7690 // VolumeSet
7691 // ===================================================================
7692 [Version ("2.6.0"), Description (
7693 "A VolumeSet is used to model an SCC RAID implementation. "
7694 "VolumeSets represent a contiguous range of logical blocks "
7695 "presented to the operating environment. VolumeSets may overlap. "
7696 "However, the underlying PhysicalExtents within the overlap "
7697 "shall not contain any check data. They are BasedOn one or more "
7698 "ProtectedSpaceExtents. These BasedOn associations should be "
7699 "instantiated or subclassed as needed.") ]
7700 class CIM_VolumeSet : CIM_StorageVolume {
7701
7702 // Override is used to define the MappingString qualifier
7703 [Override ("NumberOfBlocks"),
7704 MappingStrings {"MIF.DMTF|Volume Set|001.3"} ]
7705 uint64 NumberOfBlocks;
7706
7707 [Description (
7708 karl 1.2 "Number of contiguous ProtectedSpaceExtents counted "
7709 "before looping back to the first ProtectedSpaceExtent "
7710 "of the current stripe. It is the number of Extents forming "
7711 "the user data stripe."),
7712 MappingStrings {"MIF.DMTF|Volume Set|001.4"} ]
7713 uint64 PSExtentStripeLength;
7714
7715 [Description (
7716 "Number of ProtectedSpaceExtents to stripe as a collective "
7717 "set. In SCC, this value is defined as the number of stripes "
7718 "to count before continuing to map into the next contiguous "
7719 "set of Extents, beyond the current stripe."),
7720 MappingStrings {"MIF.DMTF|Volume Set|001.5"} ]
7721 uint64 PSExtentInterleaveDepth;
7722
7723 [Description (
7724 "VolumeSets in SCC have additional status information "
7725 "beyond that captured in the Availability and StatusInfo "
7726 "properties, inherited from ManagedSystemElement. This "
7727 "additional information (for example, \"Protection Disabled\", "
7728 "value=9) is captured in the VolumeStatus property."),
7729 karl 1.2 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
7730 "11", "12", "13", "14"},
7731 Values {"Other", "Unknown", "None/Not Applicable", "Broken",
7732 "Data Lost", "Dynamic Reconfig", "Exposed",
7733 "Fractionally Exposed", "Partially Exposed",
7734 "Protection Disabled", "Readying", "Rebuild",
7735 "Recalculate", "Spare in Use", "Verify In Progress"} ]
7736 uint16 VolumeStatus;
7737 };
7738
7739
7740 // ===================================================================
7741 // VolumeSetBasedOnPSExtent
7742 // ===================================================================
7743 [Association, Version ("2.6.0"), Description (
7744 "VolumeSets are BasedOn on one or more ProtectedSpaceExtents. "
7745 "This relationship is made explicit in this association.") ]
7746 class CIM_VolumeSetBasedOnPSExtent : CIM_BasedOn {
7747
7748 [Override ("Antecedent"), Min (1),
7749 Description ("The ProtectedSpaceExtent.") ]
7750 karl 1.2 CIM_ProtectedSpaceExtent REF Antecedent;
7751
7752 [Override ("Dependent"), Description (
7753 "The VolumeSet which is built on the ProtectedSpaceExtent.") ]
7754 CIM_VolumeSet REF Dependent;
7755
7756 [Description (
7757 "True if logical blocks in the ProtectedSpaceExtent are mapped "
7758 "in decrementing order. This property corresponds to the INCDEC "
7759 "value in the SCC-2 Volume Set PS_Extent Descriptor.") ]
7760 boolean LBAsMappedByDecrementing;
7761
7762 [Description (
7763 "True if the logical block mapping algorithm includes check "
7764 "data bytes. This property corresponds to the NOCHKSKIP "
7765 "attribute in the SCC-2 Volume Set PS_Extent Descriptor.") ]
7766 boolean LBAMappingIncludesCheckData;
7767 };
7768
7769
7770 // ===================================================================
7771 karl 1.2 // MediaPartition
7772 // ===================================================================
7773 [Version ("2.6.0"), Description (
7774 "A MediaPartition is a presentation of a contiguous range "
7775 "of logical blocks and has identifying data written on/to it. "
7776 "It may include a signature written by the OS or by "
7777 "an application. This class is a common superclass for Disk and "
7778 "TapePartions. Partitions are directly realized by Physical"
7779 "Media (indicated by the RealizesExtent association) or built "
7780 "on StorageVolumes (indicated by the BasedOn association.") ]
7781 class CIM_MediaPartition : CIM_StorageExtent {
7782
7783 [Description (
7784 "Boolean indicating that the Partition is labeled as "
7785 "bootable. (Note that this does not mean that an Operating"
7786 "System is actually loaded on the Partition.) With the advent "
7787 "of bootable Tape and other bootable media, this property is "
7788 "included in the higher level MediaPartition class, rather "
7789 "than in a subclass such as DiskPartition.") ]
7790 boolean Bootable;
7791
7792 karl 1.2 [Description (
7793 "Boolean indicating that the Partition is available and "
7794 "may be allocated for use.") ]
7795 boolean Allocatable;
7796
7797 [Description (
7798 "An identifying string written to the Partition. Additional "
7799 "information related to this 'Signature' may be found in the "
7800 "properties, SignatureState and SignatureAlgorithm."),
7801 ModelCorrespondence {"CIM_MediaPartition.SignatureState",
7802 "CIM_MediaPartition.SignatureAlgorithm"} ]
7803 string Signature;
7804
7805 [Description (
7806 "A free-form string describing the algorithm used to "
7807 "define the Partition Signature. The value of this property "
7808 "is dependent on the Signature's State. "),
7809 ModelCorrespondence {"CIM_MediaPartition.Signature",
7810 "CIM_MediaPartition.SignatureState"} ]
7811 string SignatureAlgorithm;
7812
7813 karl 1.2 [Description (
7814 "An enumeration describing the state of the Partition's "
7815 "identifying Signature string. Information such as "
7816 "\"Uninitialized\" (value=2), or \"Assigned by Owning "
7817 "Application\" (value=5) are possible entries. "),
7818 ValueMap {"0", "1", "2", "3", "4", "5"},
7819 Values {"Unknown", "Unimplemented", "Uninitialized",
7820 "Calculated by Operating System",
7821 "Calculated by a Media Manager",
7822 "Assigned by Owning Application"},
7823 ModelCorrespondence {"CIM_MediaPartition.Signature",
7824 "CIM_MediaPartition.SignatureAlgorithm"} ]
7825 string SignatureState;
7826
7827 [Description (
7828 "Boolean indicating that the Partition can be grown/extended "
7829 "without reformatting.") ]
7830 boolean Extendable;
7831 };
7832
7833
7834 karl 1.2 // ===================================================================
7835 // DiskPartition
7836 // ===================================================================
7837 [Version ("2.6.0"), Description (
7838 "A DiskPartition is a presentation of a contiguous range "
7839 "of logical blocks that is identifiable by the Operating"
7840 "System via the Partition's type and subtype fields. Disk"
7841 "Partitions should be directly realized by PhysicalMedia "
7842 "(indicated by the RealizesDiskPartition association) or built "
7843 "on StorageVolumes (indicated by the PartitionBasedOnVolume "
7844 "association.") ]
7845 class CIM_DiskPartition : CIM_MediaPartition {
7846
7847 [Description (
7848 "Boolean indicating that the DiskPartition is labelled as "
7849 "the primary partition for a ComputerSystem.") ]
7850 boolean PrimaryPartition;
7851
7852 [Description ("The type of Partition."),
7853 ValueMap {"0", "1", "2", "3"},
7854 Values {"Unknown", "Primary", "Extended", "Logical"} ]
7855 karl 1.2 uint16 PartitionType;
7856
7857 [Description (
7858 "The 'sub' type of a primary, extended, or logical Partition. "
7859 "The list of possible values corresponds to the decimal "
7860 "representation of the typical values in the Partition record."),
7861 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
7862 "10", "11", "12", "14", "15", "16", "17", "18",
7863 "20", "22", "23", "27", "28", "33", "35", "36",
7864 "38", "49", "51", "52", "53", "54", "55", "60",
7865 "64", "65", "66", "67", "80", "81", "82", "83",
7866 "84", "85", "86", "97", "99", "100", "101", "102",
7867 "103", "104", "105", "113", "115", "116", "117",
7868 "118", "119", "120", "121", "128", "129", "130",
7869 "131", "132", "134", "135", "147", "148", "161",
7870 "163", "164", "165", "166", "177", "179", "180",
7871 "182", "183", "184", "193", "196", "198", "199",
7872 "216", "219", "225", "227", "228", "229", "230",
7873 "239", "240", "241", "242", "243", "244", "246",
7874 "254", "255", "65535"},
7875 Values {"Empty | Microsoft", "DOS 12-bit FAT",
7876 karl 1.2 "XENIX root", "XENIX usr", "DOS 16-bit FAT",
7877 "DOS Extended", "DOS 16-bit FAT (> 32MB)",
7878 "OS/2 HPFS | Win NTFS | QNX Ver 2 | Adv UNIX",
7879 "AIX Boot | OS /2 | Dell (Array) | Commodore DOS",
7880 "AIX Data, Coherent", "OS/2 Boot Manager",
7881 "32-bit FAT", "32-bit FAT", "Microsoft 16-bit FAT",
7882 "Microsoft DOS Extended", "OPUS | OS/2 2.0",
7883 "OS/2 (MOSS) Inactive Type 1",
7884 "Compaq Diagnostics Partition | Microsoft",
7885 "OS/2 (MOSS) Inactive Type 4",
7886 "OS/2 (MOSS) Inactive Type 6",
7887 "OS/2 (MOSS) Inactive Type 7",
7888 "OS/2 (MOSS) Inactive Type B",
7889 "OS/2 (MOSS) Inactive Type C", "Microsoft",
7890 "Microsoft", "Microsoft", "Microsoft", "Microsoft",
7891 "Microsoft", "Microsoft", "OS/2 Logical Volume Manager",
7892 "Microsoft", "OS/2 JFS Log", "PowerQuest",
7893 "VENIX 80286 | Series/1 Disk", "Personal RISC Boot",
7894 "Veritas", "Veritas", "OnTrack Disk Manager Read Only DOS",
7895 "OnTrack Disk Manager Read/Write DOS",
7896 "CPM | Microport System V/386 | OnTrack Disk Mgr | Microsoft",
7897 karl 1.2 "OnTrack Disk Manager", "OnTrack Disk Manager Non-DOS",
7898 "Micro House EZ-Drive Non-DOS",
7899 "Golden Bow Vfeature | Microsoft",
7900 "Storage Dimensions SpeedStor | Microsoft",
7901 "UNIX - AT&T System V/386 | SCO UNIX",
7902 "Novell NetWare | Speedstore", "Novell NetWare",
7903 "Novell NetWare", "Novell", "Novell", "Novell",
7904 "Microsoft", "Microsoft", "Microsoft", "PC/IX IBM",
7905 "Microsoft", "QNX POSIX", "QNX POSIX (Secondary)",
7906 "QNX POSIX (Secondary)",
7907 "Minix (<=1.4a) | Linux | Microsoft",
7908 "Minix (>=1.4b) | Microsoft", "Linux Swap | Prime",
7909 "Linux Native | Apple", "System Hibernation for APM",
7910 "Microsoft", "HPFS FT mirror", "Amoeba | Microsoft",
7911 "Amoeba BBT | Microsoft", "Microsoft", "Microsoft",
7912 "Microsoft", "BSD/386", "Microsoft", "Microsoft",
7913 "Microsoft", "Microsoft", "Microsoft",
7914 "BSDI fs | Microsoft", "BSDI Swap | Microsoft",
7915 "Microsoft", "Microsoft", "Microsoft",
7916 "Syrinx | HPFS FT Disabled Mirror", "CP/M 86",
7917 "Digital Research CPM-86 | Concurrent DOS | OUTRIGGER",
7918 karl 1.2 "SpeedStor 12-bit FAT Extended",
7919 "DOS Read-Only | Storage Dimensions",
7920 "SpeedStor 16-bit FAT Extended", "Microsoft",
7921 "Microsoft", "Intel", "OS/2 Raw Data",
7922 "Storage Dimensions", "DOS (Secondary)", "Microsoft",
7923 "SpeedStor Large | Storage Dimensions", "Microsoft",
7924 "Lan Step | SpeedStor | IBM PS/2 IML",
7925 "Bad Block Tables", "Unknown"} ]
7926 uint16 PartitionSubtype;
7927 };
7928
7929
7930 // ===================================================================
7931 // DiskPartitionBasedOnVolume
7932 // ===================================================================
7933 [Association, Version ("2.6.0"), Description (
7934 "DiskPartitions should be BasedOn a single StorageVolume (for "
7935 "example, exposed by a hardware RAID cabinet), an SCC VolumeSet, "
7936 "or realized directly in PhysicalMedia. The first two "
7937 "relationships are made explicit in this association. The latter "
7938 "is conveyed by the RealizesDiskPartition association.") ]
7939 karl 1.2 class CIM_DiskPartitionBasedOnVolume : CIM_BasedOn {
7940
7941 [Override ("Antecedent"), Max (1),
7942 Description ("The StorageVolume.") ]
7943 CIM_StorageVolume REF Antecedent;
7944
7945 [Override ("Dependent"), Description (
7946 "The DiskPartition which is built on the Volume.") ]
7947 CIM_DiskPartition REF Dependent;
7948 };
7949
7950
7951 // ===================================================================
7952 // TapePartition
7953 // ===================================================================
7954 [Version ("2.6.0"), Description (
7955 "Capabilities and management of a TapePartition StorageExtent. "
7956 "Note that if a PhysicalTape is not partitioned, only a "
7957 "generic StorageExtent that represents the entire Tape should "
7958 "be instantiated. TapePartitions may be BasedOn other "
7959 "StorageExtents or directly Realized on a PhysicalTape.") ]
7960 karl 1.2 class CIM_TapePartition : CIM_MediaPartition {
7961
7962 [Description (
7963 "Number of blocks that are currently unused/not written on "
7964 "the Partition. When this number is multiplied by the "
7965 "BlockSize, inherited from StorageExtent, the total number "
7966 "of bytes available for writing can be computed."),
7967 Gauge ]
7968 uint64 UnusedBlocks;
7969 };
7970
7971
7972 // ===================================================================
7973 // TapePartitionOnSurface
7974 // ===================================================================
7975 [Association, Version ("2.6.0"), Description (
7976 "TapePartitionOnSurface represents the ability to have one or "
7977 "more TapePartitions on each surface of a PhysicalTape. The "
7978 "individual surfaces are represented as instances of "
7979 "CIM_StorageExtent.") ]
7980 class CIM_TapePartitionOnSurface : CIM_BasedOn {
7981 karl 1.2
7982 [Override ("Antecedent"), Max (1),
7983 Description (
7984 "The StorageExtent that represents the Tape's surface.") ]
7985 CIM_StorageExtent REF Antecedent;
7986
7987 [Override ("Dependent"), Description (
7988 "The TapePartition which is built on the Extent.") ]
7989 CIM_TapePartition REF Dependent;
7990 };
7991
7992
7993 // ===================================================================
7994 // LogicalDisk
7995 // ===================================================================
7996 [Version ("2.6.0"), Description (
7997 "A LogicalDisk is a presentation of a contiguous range of "
7998 "logical blocks that is identifiable by a FileSystem via the "
7999 "Disk's DeviceId (key) field. For example in a Windows "
8000 "environment, the DeviceID field would contain a drive letter. "
8001 "In a Unix environment, it would contain the access path; and in "
8002 karl 1.2 "a NetWare environment, DeviceID would contain the volume name. "
8003 "LogicalDisks are typically built on a DiskPartition or Storage"
8004 "Volume (for example, exposed by a software volume manager) "
8005 "using the LogicalDiskBasedOnPartition or LogicalDiskBasedOn"
8006 "Volume associations. However, it can be based on other "
8007 "StorageExtents, like CIM_Memory, in the case of a RAM disk. "
8008 "The latter is described using the LogicalDiskBasedOnExtent "
8009 "relationship. (Indeed, the BasedOnExtent association is the "
8010 "superclass for the BasedOnPartition and BasedOnVolume "
8011 "relationships.)") ]
8012 class CIM_LogicalDisk : CIM_StorageExtent {
8013 };
8014
8015
8016 // ===================================================================
8017 // LogicalDiskBasedOnExtent
8018 // ===================================================================
8019 [Association, Version ("2.6.0"), Description (
8020 "LogicalDisks can be BasedOn a single StorageVolume, Memory "
8021 "(in the case of a RAM Disk), a DiskPartition or other "
8022 "StorageExtent. These relationships are made explicit in this "
8023 karl 1.2 "association. Subclasses of the association, LogicalDiskBasedOn"
8024 "Partition and LogicalDiskBasedOnVolume, detail the 'typical' "
8025 "semantics.") ]
8026 class CIM_LogicalDiskBasedOnExtent : CIM_BasedOn {
8027
8028 [Override ("Antecedent"), Max (1),
8029 Description ("The StorageExtent.") ]
8030 CIM_StorageExtent REF Antecedent;
8031
8032 [Override ("Dependent"), Description (
8033 "The LogicalDisk which is built on the StorageExtent.") ]
8034 CIM_LogicalDisk REF Dependent;
8035 };
8036
8037
8038 // ===================================================================
8039 // LogicalDiskBasedOnVolume
8040 // ===================================================================
8041 [Association, Version ("2.6.0"), Description (
8042 "LogicalDisks can be BasedOn a single Volume (for example, "
8043 "exposed by a software volume manager), or be BasedOn a Disk"
8044 karl 1.2 "Partition directly. The former relationship is made explicit "
8045 "in this association.") ]
8046 class CIM_LogicalDiskBasedOnVolume : CIM_LogicalDiskBasedOnExtent {
8047
8048 [Override ("Antecedent"), Max (1),
8049 Description ("The StorageVolume.") ]
8050 CIM_StorageVolume REF Antecedent;
8051 };
8052
8053
8054 // ===================================================================
8055 // LogicalDiskBasedOnVolumeSet
8056 // ===================================================================
8057 [Association, Version ("2.6.0"), Description (
8058 "LogicalDisks can be BasedOn a VolumeSet. This association is "
8059 "an optimization where software RAID doesn't exist and the "
8060 "LogicalDisk is built right on top of a VolumeSet presented by "
8061 "an SCC cabinet. However, this would be better modeled by a "
8062 "DiskPartition BasedOn the VolumeSet (described using the "
8063 "DiskPartitionBasedOnVolume association) and then basing the "
8064 "LogicalDisk on the DiskPartition (using the LogicalDisk"
8065 karl 1.2 "BasedOnPartition association).") ]
8066 class CIM_LogicalDiskBasedOnVolumeSet : CIM_LogicalDiskBasedOnVolume {
8067
8068 [Override ("Antecedent"), Max (1),
8069 Description ("The VolumeSet.") ]
8070 CIM_VolumeSet REF Antecedent;
8071 };
8072
8073
8074 // ===================================================================
8075 // LogicalDiskBasedOnPartition
8076 // ===================================================================
8077 [Association, Version ("2.6.0"), Description (
8078 "LogicalDisks can be BasedOn a DiskPartition. For example, a "
8079 "personal computer's C: drive may be located on a Partition on "
8080 "local PhysicalMedia. In this association of LogicalDisks to "
8081 "Partitions, note that the cardinality of the Antecedent, Disk"
8082 "Partition, is Max (1). This dictates that a LogicalDisk can not "
8083 "span more than one Partition. However, there are cases where "
8084 "this is true. When it occurs, the LogicalDisk is really based "
8085 "on some kind of RAID configuration (for example, a mirror or "
8086 karl 1.2 "stripe set). In these scenarios, the LogicalDisk is more "
8087 "correctly BasedOn a StorageVolume. To prevent incorrectly using "
8088 "the LogicalDiskBasedOnPartition association, the Max (1) "
8089 "qualifier was put on the Antecedent reference to the "
8090 "DiskPartition.") ]
8091 class CIM_LogicalDiskBasedOnPartition : CIM_LogicalDiskBasedOnExtent {
8092
8093 [Override ("Antecedent"), Max (1),
8094 Description ("The DiskPartition.") ]
8095 CIM_DiskPartition REF Antecedent;
8096 };
8097
8098
8099 // ===================================================================
8100 // AggregatePExtent
8101 // ===================================================================
8102 [Version ("2.6.0"), Description (
8103 "An AggregatePExtent is used to model an SCC RAID "
8104 "implementation. AggregatePExtents provide summary information "
8105 "about the addressable logical blocks which are in the same "
8106 "StorageRedundancyGroup and reside on the same storage device. "
8107 karl 1.2 "This is an alternative grouping for PhysicalExtents, when only "
8108 "summary information is needed or when automatic configuration "
8109 "is used.") ]
8110 class CIM_AggregatePExtent : CIM_StorageExtent {
8111
8112 [Override ("NumberOfBlocks"),
8113 Description (
8114 "Total number of blocks (including the check data blocks) "
8115 "contained in this AggregatePExtent. The block size (an "
8116 "inherited property) should be set to the same value as for "
8117 "the MediaAccessDevice associated with this Extent."),
8118 MappingStrings {"MIF.DMTF|Aggregate Physical Extent|001.2"} ]
8119 uint64 NumberOfBlocks;
8120
8121 [Description (
8122 "The number of blocks contained in this AggregatePExtent "
8123 "to be used as check data. If this AggregatePExtent is "
8124 "available, then this value shall be zero."),
8125 MappingStrings {"MIF.DMTF|Aggregate Physical Extent|001.3"} ]
8126 uint64 BlocksOfCheckData;
8127 };
8128 karl 1.2
8129
8130 // ===================================================================
8131 // AggregatePSExtent
8132 // ===================================================================
8133 [Version ("2.6.0"), Description (
8134 "An AggregatePSExtent is used to model an SCC RAID "
8135 "implementation. AggregatePSExtents define the number of "
8136 "addressable logical blocks on a single storage device, "
8137 "excluding any logical blocks mapped as check data. "
8138 "This is an alternative grouping for ProtectedSpaceExtents, "
8139 "when only summary information is needed or when automatic "
8140 "configuration is used.") ]
8141 class CIM_AggregatePSExtent : CIM_StorageExtent {
8142
8143 [Override ("NumberOfBlocks"), Description (
8144 "Total number of user data blocks that are contained in this "
8145 "Extent."),
8146 MappingStrings {
8147 "MIF.DMTF|Aggregate Protected Space Extent|001.2"} ]
8148 uint64 NumberOfBlocks;
8149 karl 1.2 };
8150
8151
8152 // ===================================================================
8153 // AggregatePSExtentBasedOnPExtent
8154 // ===================================================================
8155 [Association, Version ("2.6.0"), Description (
8156 "AggregatePSExtents are BasedOn a single PhysicalExtent. This "
8157 "relationship is made explicit in this association.") ]
8158 class CIM_AggregatePSExtentBasedOnPExtent : CIM_BasedOn {
8159
8160 [Override ("Antecedent"), Max (1),
8161 Description ("The PhysicalExtent.") ]
8162 CIM_PhysicalExtent REF Antecedent;
8163
8164 [Override ("Dependent"), Description (
8165 "The AggregatePSExtent which is built on the "
8166 "PhysicalExtent.") ]
8167 CIM_AggregatePSExtent REF Dependent;
8168 };
8169
8170 karl 1.2
8171 // ===================================================================
8172 // AggregatePSExtentBasedOnAggregatePExtent
8173 // ===================================================================
8174 [Association, Version ("2.6.0"), Description (
8175 "AggregatePSExtents are BasedOn a single AggregatePExtent. This "
8176 "relationship is made explicit in this association.") ]
8177 class CIM_AggregatePSExtentBasedOnAggregatePExtent : CIM_BasedOn {
8178
8179 [Override ("Antecedent"), Max (1),
8180 Description ("The AggregatePExtent.") ]
8181 CIM_AggregatePExtent REF Antecedent;
8182
8183 [Override ("Dependent"), Description (
8184 "The AggregatePSExtent which is built on the Aggregate"
8185 "PExtent.") ]
8186 CIM_AggregatePSExtent REF Dependent;
8187 };
8188
8189
8190 // ===================================================================
8191 karl 1.2 // Snapshot
8192 // ===================================================================
8193 [Version ("2.6.0"), Description (
8194 "The Snapshot class is an optional construct. It can be "
8195 "used to represent an Extent that contains a full copy of "
8196 "another Extent, or the changes to that Extent when performing "
8197 "a delta-based (delta before or delta after) copy. \n"
8198 "Snapshot's definition in CIM is not equivalent to the act "
8199 "of creating a volume or file-based snapshot, or a point in "
8200 "time copy. It is at a much lower level and represents the "
8201 "use of storage to hold a copied image of an Extent, or to hold "
8202 "changes to an Extent. Use of the Snapshot object when making "
8203 "a full copy is only recommended if the purpose is to describe "
8204 "the existence of a copy. (This use will be very infrequent.) "
8205 "The problem with describing an Extent solely as a 'snapshot' "
8206 "is that when the snapshot/copy is broken, the object must be "
8207 "destroyed. Typically, this object still holds valid data, and "
8208 "would have to be reinstantiated. If the 'full copy' object "
8209 "is to be treated as a StorageVolume or more general Extent, "
8210 "then it should be modeled as such from the beginning - "
8211 "i.e., not as an instance of Snapshot but as an instance of a "
8212 karl 1.2 "generic StorageExtent or StorageVolume. In this case, the "
8213 "Synchronized association would be used to describe that one "
8214 "StorageExtent is synchronized with another. \n"
8215 "When describing a delta-based snapshot/point in time copy, "
8216 "the Snapshot object represents the store holding the before/after "
8217 "image changes to the original Extent. For example, when doing a "
8218 "'delta before' Snapshot, the resultant target would be modeled "
8219 "as a StorageExtent that is BasedOn the original Extent and the "
8220 "instance of Snapshot (that holds the changes to the original "
8221 "Extent).") ]
8222 class CIM_Snapshot : CIM_StorageExtent {
8223
8224 [Description ("True indicates that the snapshot is synced.") ]
8225 boolean IsSynced;
8226
8227 [Description (
8228 "The time stamp indicating when the sync occurred.") ]
8229 datetime SyncTime;
8230 };
8231
8232
8233 karl 1.2 // ===================================================================
8234 // SnapshotOfExtent
8235 // ===================================================================
8236 [Association, Version ("2.6.0"), Description (
8237 "SnapshotOfExtent is an association between an Extent and "
8238 "its Snapshot. This relationship is made explicit in this "
8239 "association.") ]
8240 class CIM_SnapshotOfExtent : CIM_Dependency {
8241
8242 [Override ("Antecedent"), Max (1),
8243 Description ("The StorageExtent.") ]
8244 CIM_StorageExtent REF Antecedent;
8245
8246 [Override ("Dependent"),
8247 Description ("The Snapshot.") ]
8248 CIM_Snapshot REF Dependent;
8249
8250 [Description ("The type of snapshot."),
8251 ValueMap {"0", "1", "2", "3", "4"},
8252 Values {"Other", "Unknown", "Copy", "Before Delta",
8253 "After Delta"} ]
8254 karl 1.2 uint16 SnapshotType;
8255 };
8256
8257
8258 // ===================================================================
8259 // Memory
8260 // ===================================================================
8261 [Version ("2.6.0"), Description (
8262 "Capabilities and management of Memory-related LogicalDevices.") ]
8263 class CIM_Memory : CIM_StorageExtent {
8264
8265 [Override ("ErrorMethodology"),
8266 Description (
8267 "ErrorMethodology for Memory is a string property that "
8268 "indicates whether parity or CRC algorithms, ECC or other "
8269 "mechanisms are used. Details on the algorithm can also "
8270 "be supplied."),
8271 MappingStrings {"MIF.DMTF|Physical Memory Array|001.7"} ]
8272 string ErrorMethodology;
8273
8274 [Description (
8275 karl 1.2 "The beginning address, referenced by an application or "
8276 "operating system and mapped by a memory controller, for "
8277 "this Memory object. The starting address is specified in "
8278 "KBytes."),
8279 Units ("KiloBytes"),
8280 MappingStrings {"MIF.DMTF|Memory Array Mapped Addresses|001.3",
8281 "MIF.DMTF|Memory Device Mapped Addresses|001.4"} ]
8282 uint64 StartingAddress;
8283
8284 [Description (
8285 "The ending address, referenced by an application or "
8286 "operating system and mapped by a memory controller, for "
8287 "this Memory object. The ending address is specified in "
8288 "KBytes."),
8289 Units ("KiloBytes"),
8290 MappingStrings {"MIF.DMTF|Memory Array Mapped Addresses|001.4",
8291 "MIF.DMTF|Memory Device Mapped Addresses|001.5"} ]
8292 uint64 EndingAddress;
8293
8294 [Description (
8295 "An integer enumeration describing the type of error that "
8296 karl 1.2 "occurred most recently. For example, single (value=6) or "
8297 "double bit errors (7) can be specified using this property. "
8298 "The values, 12-14, are undefined in the CIM Schema since in "
8299 "DMI, they mix the semantics of the type of error and whether "
8300 "it was correctable or not. The latter is indicated in the "
8301 "property, CorrectableError."),
8302 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
8303 "11", "12", "13", "14"},
8304 Values {"Other", "Unknown", "OK", "Bad Read", "Parity Error",
8305 "Single-Bit Error", "Double-Bit Error", "Multi-Bit Error",
8306 "Nibble Error", "Checksum Error", "CRC Error", "Undefined",
8307 "Undefined", "Undefined"},
8308 MappingStrings {"MIF.DMTF|Memory Device|005",
8309 "MIF.DMTF|Physical Memory Array|001.8"},
8310 ModelCorrespondence {"CIM_Memory.OtherErrorDescription"} ]
8311 uint16 ErrorInfo;
8312
8313 [Description (
8314 "Free form string providing more information if the Error"
8315 "Type property is set to 1, \"Other\". If not set to 1, this "
8316 "string has no meaning."),
8317 karl 1.2 ModelCorrespondence {"CIM_Memory.ErrorInfo"} ]
8318 string OtherErrorDescription;
8319
8320 [Description (
8321 "Boolean indicating that the most recent error was "
8322 "correctable. If the ErrorInfo property is equal to 3, "
8323 "\"OK\", then this property has no meaning."),
8324 MappingStrings {"MIF.DMTF|Memory Device|005",
8325 "MIF.DMTF|Physical Memory Array|001.8"} ]
8326 boolean CorrectableError;
8327
8328 [Description (
8329 "The time that the last memory error occurred. The type of "
8330 "error is described by the ErrorInfo property. If the Error"
8331 "Info property is equal to 3, \"OK\", then this property has "
8332 "no meaning.") ]
8333 datetime ErrorTime;
8334
8335 [Description (
8336 "An integer enumeration indicating the memory access "
8337 "operation that caused the last error. The type of error is "
8338 karl 1.2 "described by the ErrorInfo property. If the ErrorInfo "
8339 "property is equal to 3, \"OK\", then this property "
8340 "has no meaning."),
8341 ValueMap {"1", "2", "3", "4", "5"},
8342 Values {"Other", "Unknown", "Read", "Write", "Partial Write"},
8343 MappingStrings {"MIF.DMTF|Memory Device|005",
8344 "MIF.DMTF|Physical Memory Array|001.10"} ]
8345 uint16 ErrorAccess;
8346
8347 [Description (
8348 "The size of the data transfer in bits that caused the last "
8349 "error. 0 indicates no error. If the ErrorInfo property "
8350 "is equal to 3, \"OK\", then this property should be set "
8351 "to 0."),
8352 Units ("Bits"),
8353 MappingStrings {"MIF.DMTF|Memory Device|005",
8354 "MIF.DMTF|Physical Memory Array|001.11"} ]
8355 uint32 ErrorTransferSize;
8356
8357 [OctetString, Description (
8358 "Data captured during the last erroneous mebmory access. "
8359 karl 1.2 "The data occupies the first n octets of the array necessary "
8360 "to hold the number of bits specified by the ErrorTransferSize "
8361 "property. If ErrorTransferSize is 0, then this property "
8362 "has no meaning."),
8363 ArrayType ("Indexed"),
8364 MappingStrings {"MIF.DMTF|Memory Device|005",
8365 "MIF.DMTF|Physical Memory Array|001.12"} ]
8366 uint8 ErrorData[64];
8367
8368 [Description (
8369 "The ordering for data stored in the ErrorData property. "
8370 "\"Least Significant Byte First\" (value=1) or "
8371 "\"Most Significant Byte First\" (2) can be specified. If "
8372 "ErrorTransferSize is 0, then this property has no meaning."),
8373 ValueMap {"0", "1", "2"},
8374 Values {"Unknown", "Least Significant Byte First",
8375 "Most Significant Byte First"} ]
8376 uint16 ErrorDataOrder;
8377
8378 [Description (
8379 "Specifies the address of the last memory error. The type "
8380 karl 1.2 "of error is described by the ErrorInfo property. "
8381 "If the ErrorInfo property is equal to 3, \"OK\", then this "
8382 "property has no meaning."),
8383 MappingStrings {"MIF.DMTF|Memory Device|005",
8384 "MIF.DMTF|Memory Device|005",
8385 "MIF.DMTF|Physical Memory Array|001.14"} ]
8386 uint64 ErrorAddress;
8387
8388 [Description (
8389 "Boolean indicating whether the address information in "
8390 "the property, ErrorAddress, is a system-level address (TRUE) "
8391 "or a physical address (FALSE). If the ErrorInfo property is "
8392 "equal to 3, \"OK\", then this property has no meaning.") ]
8393 boolean SystemLevelAddress;
8394
8395 [Description (
8396 "Specifies the range, in bytes, to which the last error can be "
8397 "resolved. For example, if error addresses are resolved to bit "
8398 "11 (ie, on a typical page basis), then errors can be "
8399 "resolved to 4K boundaries and this property is set to 4000. "
8400 "If the ErrorInfo property is equal to 3, \"OK\", then this "
8401 karl 1.2 "property has no meaning."),
8402 Units ("Bytes"),
8403 MappingStrings {"MIF.DMTF|Memory Device|005",
8404 "MIF.DMTF|Physical Memory Array|001.15"} ]
8405 uint64 ErrorResolution;
8406
8407 [OctetString, Description (
8408 "An array of octets holding additional error information. "
8409 "An example is ECC Syndrome or the return of the check bits "
8410 "if a CRC-based ErrorMethodology is used. In the latter case, "
8411 "if a single bit error is recognized and the CRC algorithm "
8412 "is known, it is possible to determine the exact bit that "
8413 "failed. This type of data (ECC Syndrome, Check Bit or "
8414 "Parity Bit data, or other vendor supplied information) is "
8415 "included in this field. If the ErrorInfo property is "
8416 "equal to 3, \"OK\", then AdditionalErrorData has no meaning."),
8417 MappingStrings {"MIF.DMTF|Memory Device|005",
8418 "MIF.DMTF|Physical Memory Array|001.13"} ]
8419 uint8 AdditionalErrorData[64];
8420 };
8421
8422 karl 1.2
8423 // ===================================================================
8424 // AssociatedMemory
8425 // ===================================================================
8426 [Association, Version ("2.6.0"), Description (
8427 "LogicalDevices may have Memory installed on them or "
8428 "otherwise associated with them - such as CacheMemory. "
8429 "This is made explicit in this association.") ]
8430 class CIM_AssociatedMemory : CIM_Dependency {
8431
8432 [Override ("Antecedent"), Description (
8433 "Memory installed on or associated with a Device.") ]
8434 CIM_Memory REF Antecedent;
8435
8436 [Override ("Dependent"), Description (
8437 "The LogicalDevice.") ]
8438 CIM_LogicalDevice REF Dependent;
8439 };
8440
8441
8442 // ===================================================================
8443 karl 1.2 // ComputerSystemMemory
8444 // ===================================================================
8445 [Association, Aggregation, Version ("2.6.0"), Description (
8446 "Association indicating that memory is installed and required "
8447 "for the UnitaryComputerSystem to operate. At least one "
8448 "Memory StorageExtent is required. Note that this relationship "
8449 "inherits from the SystemDevice association, and therefore, "
8450 "the Memory StorageExtent is weak to the aggregating Unitary"
8451 "ComputerSystem.") ]
8452 class CIM_ComputerSystemMemory : CIM_SystemDevice {
8453
8454 [Override ("GroupComponent"), Aggregate,
8455 Description ("The UnitaryComputerSystem.") ]
8456 CIM_UnitaryComputerSystem REF GroupComponent;
8457
8458 [Override ("PartComponent"), Description (
8459 "The Memory StorageExtent which is part of the "
8460 "UnitaryComputerSystem.") ]
8461 CIM_Memory REF PartComponent;
8462 };
8463
8464 karl 1.2
8465 // ===================================================================
8466 // AssociatedProcessorMemory
8467 // ===================================================================
8468 [Association, Version ("2.6.0"), Description (
8469 "Associates the Processor and system Memory, or a Processor's "
8470 "Cache. ") ]
8471 class CIM_AssociatedProcessorMemory : CIM_AssociatedMemory {
8472
8473 [Override ("Dependent"),
8474 Description (
8475 "The Processor that accesses the Memory or uses the Cache.") ]
8476 CIM_Processor REF Dependent;
8477
8478 [Description (
8479 "Speed of the bus, in MHertz, between the Processor and "
8480 "Memory. "),
8481 Units ("MegaHertz") ]
8482 uint32 BusSpeed;
8483 };
8484
8485 karl 1.2
8486 // ===================================================================
8487 // NonVolatileStorage
8488 // ===================================================================
8489 [Version ("2.6.0"), Description (
8490 "Capabilities and management of NV Storage. Non-volatile memory "
8491 "natively includes flash and ROM storage. In addition, NV memory "
8492 "can be BasedOn VolatileStorage, if the volatile memory is backed "
8493 "by a Battery. This scenario would be completely described by an "
8494 "instance of the AssociatedBattery relationship, referencing the "
8495 "NonVolatileStorage as the Dependent and the Battery as the "
8496 "Antecedent, and an instance of the BasedOn relationship, "
8497 "referencing the NonVolatileStorage as the Dependent and the "
8498 "VolatileStorage as the Antecedent.") ]
8499 class CIM_NonVolatileStorage : CIM_Memory {
8500
8501 [Description ("Indicating that the NV storage is writeable.") ]
8502 boolean IsWriteable;
8503
8504 [Description (
8505 "Boolean indicating that at least some portion of the "
8506 karl 1.2 "NonVolatileStorage is writeable by applications.") ]
8507 boolean ApplicationWriteable;
8508
8509 [Description (
8510 "When at least some portion of the NonVolatileStorage is "
8511 "writeable (ApplicationWriteable property = TRUE), StartAddress"
8512 "forApplcationWrite indicates the starting address for "
8513 "application data. If the ApplicationWriteable property is "
8514 "FALSE, this property is undefined."),
8515 ModelCorrespondence {
8516 "CIM_NonVolatileStorage.ApplicationWriteable"} ]
8517 uint64 StartAddressForApplicationWrite;
8518
8519 [Description (
8520 "When at least some portion of the NonVolatileStorage is "
8521 "writeable (ApplicationWriteable property = TRUE), Application"
8522 "WritableSize indicates the number of bits available for "
8523 "application data. If the ApplicationWriteable property is "
8524 "FALSE, this property is undefined."),
8525 Units ("Bits"),
8526 ModelCorrespondence {
8527 karl 1.2 "CIM_NonVolatileStorage.ApplicationWriteable"} ]
8528 uint64 ApplicationWriteableSize;
8529 };
8530
8531
8532 // ===================================================================
8533 // BIOSLoadedInNV
8534 // ===================================================================
8535 [Association, Version ("2.6.0"), Description (
8536 "A link between BIOSElement and NonVolatileStorage where "
8537 "the BIOS is loaded.") ]
8538 class CIM_BIOSLoadedInNV : CIM_Dependency {
8539
8540 [Override ("Antecedent"),
8541 Description ("The non-volatile storage.") ]
8542 CIM_NonVolatileStorage REF Antecedent;
8543
8544 [Override ("Dependent"),
8545 Description ("The BIOS stored in the NonVolatile Extent.") ]
8546 CIM_BIOSElement REF Dependent;
8547
8548 karl 1.2 [Description (
8549 "The starting address where the BIOS is located in "
8550 "non-volatile storage.") ]
8551 uint64 StartingAddress;
8552
8553 [Description (
8554 "The ending address where the BIOS is located in "
8555 "non-volatile storage.") ]
8556 uint64 EndingAddress;
8557 };
8558
8559
8560 // ===================================================================
8561 // VolatileStorage
8562 // ===================================================================
8563 [Version ("2.6.0"), Description (
8564 "Capabilities and management of Volatile Storage.") ]
8565 class CIM_VolatileStorage : CIM_Memory {
8566
8567 [Description (
8568 "Indicates whether this Memory can be cached or not."),
8569 karl 1.2 MappingStrings {"MIF.DMTF|System Resource Memory Info|002"} ]
8570 boolean Cacheable;
8571
8572 [Description (
8573 "An enumeration indicating the cache type that is "
8574 "compatible with this Memory. For example, 4 indicates "
8575 "write-through cache. If the Cacheable property is "
8576 "set to false, then this property does not have meaning and "
8577 "should be set to 5, \"Not Applicable\"."),
8578 ValueMap {"1", "2", "3", "4", "5"},
8579 Values {"Other", "Unknown", "Write-Back", "Write-Through",
8580 "Not Applicable"},
8581 MappingStrings {"MIF.DMTF|System Resource Memory Info|002"} ]
8582 uint16 CacheType;
8583 };
8584
8585
8586 // ===================================================================
8587 // CacheMemory
8588 // ===================================================================
8589 [Version ("2.6.0"), Description (
8590 karl 1.2 "Capabilities and management of Cache Memory. Cache memory is "
8591 "dedicated or allocated RAM that a Processor searches first "
8592 "for data, before going to 'regular' memory. CacheMemory is "
8593 "used to speed up the delivery of data to a Processor. It is "
8594 "usually described by its closeness to the Processor (for "
8595 "example, Primary or Secondary Cache). \n"
8596 "If a DiskDrive includes RAM allocated for holding the disk's "
8597 "most recently read and/or adjacent data (in order to speed "
8598 "up retrieval), this also would be modeled as CacheMemory. "
8599 "Note that CacheMemory is NOT operating system or application "
8600 "level buffers but actual RAM allocated for caching data for "
8601 "a Processor, from a hard disk, etc.") ]
8602 class CIM_CacheMemory : CIM_Memory {
8603
8604 [Description (
8605 "Defines whether this is the Primary (value=3), Secondary "
8606 "(value=4) or Tertiary (value=5) Cache. Also, \"Other\" (1), "
8607 "\"Unknown\" (2) and \"Not Applicable\" (6) can be defined."),
8608 ValueMap {"1", "2", "3", "4", "5", "6"},
8609 Values {"Other", "Unknown", "Primary", "Secondary", "Tertiary",
8610 "Not Applicable"},
8611 karl 1.2 MappingStrings {"MIF.DMTF|System Cache|006"} ]
8612 uint16 Level;
8613
8614 [Description (
8615 "Defines whether this is write-back (value=3) or write-through "
8616 "(value=4) Cache, or whether this information \"Varies with "
8617 "Address\" (5) or is defined individually for each I/O (6). "
8618 "Also, \"Other\" (1) and \"Unknown\" (2) can be specified."),
8619 ValueMap {"1", "2", "3", "4", "5", "6"},
8620 Values {"Other", "Unknown", "Write Back", "Write Through",
8621 "Varies with Address", "Determination Per I/O"},
8622 MappingStrings {"MIF.DMTF|System Cache|006"} ]
8623 uint16 WritePolicy;
8624
8625 [Description (
8626 "Defines whether this is for instruction caching (value=3), "
8627 "data caching (value=4) or both (value=5, \"Unified\"). "
8628 "Also, \"Other\" (1) and \"Unknown\" (2) can be defined."),
8629 ValueMap {"1", "2", "3", "4", "5"},
8630 Values {"Other", "Unknown", "Instruction", "Data", "Unified"},
8631 MappingStrings {"MIF.DMTF|System Cache|006"} ]
8632 karl 1.2 uint16 CacheType;
8633
8634 [Description (
8635 "Size, in bytes, of a single cache bucket or line."),
8636 Units ("Bytes"),
8637 MappingStrings {"MIF.DMTF|System Cache|006"} ]
8638 uint32 LineSize;
8639
8640 [Description (
8641 "An integer enumeration describing the algorithm to "
8642 "determine which cache lines or buckets should be re-used."),
8643 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8"},
8644 Values {"Other", "Unknown", "Least Recently Used (LRU)",
8645 "First In First Out (FIFO)", "Last In First Out (LIFO)",
8646 "Least Frequently Used (LFU)",
8647 "Most Frequently Used (MFU)",
8648 "Data Dependent Multiple Algorithms"},
8649 MappingStrings {"MIF.DMTF|System Cache|006"} ]
8650 uint16 ReplacementPolicy;
8651
8652 [Description (
8653 karl 1.2 "Policy that shall be employed by the Cache for handling "
8654 "read requests. For example, \"Read\", \"Read-Ahead\" or "
8655 "both can be specified using the values, 3, 4 or 5, "
8656 "respectively. If the read policy is determined individually "
8657 "(ie, for each request), then the value 6 (\"Determination "
8658 "per I/O\") should be specified. \"Other\" (1) and "
8659 "\"Unknown\" (2) are also valid values."),
8660 ValueMap {"1", "2", "3", "4", "5", "6"},
8661 Values {"Other", "Unknown", "Read", "Read-Ahead",
8662 "Read and Read-Ahead", "Determination Per I/O"},
8663 MappingStrings {"MIF.DMTF|System Cache|006"} ]
8664 uint16 ReadPolicy;
8665
8666 [Description (
8667 "Maximum amount of time, in seconds, dirty lines or "
8668 "buckets may remain in the Cache before they are flushed. "
8669 "A value of zero indicated that a cache flush is not "
8670 "controlled by a flushing timer."),
8671 Units ("Seconds"),
8672 MappingStrings {"MIF.DMTF|System Cache|006"} ]
8673 uint32 FlushTimer;
8674 karl 1.2
8675 [Description (
8676 "An integer enumeration defining the system cache "
8677 "associativity. For example, 6 indicates a fully associative "
8678 "cache."),
8679 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8"},
8680 Values {"Other", "Unknown", "Direct Mapped",
8681 "2-way Set-Associative",
8682 "4-way Set-Associative", "Fully Associative",
8683 "8-way Set-Associative", "16-way Set-Associative"},
8684 MappingStrings {"MIF.DMTF|System Cache|006"} ]
8685 uint16 Associativity;
8686 };
8687
8688
8689 // ===================================================================
8690 // UML Page 12 - Services and Printing
8691 // ===================================================================
8692 // ===================================================================
8693 // Printer
8694 // ===================================================================
8695 karl 1.2 [Version ("2.6.0"), Description (
8696 "Capabilities and management of the Printer LogicalDevice.") ]
8697 class CIM_Printer : CIM_LogicalDevice {
8698
8699 [Description (
8700 "Status information for a Printer, beyond that specified "
8701 "in the LogicalDevice Availability property. Values include "
8702 "\"Idle\" (3) and an indication that the Device is currently "
8703 "printing (4)."),
8704 ValueMap {"1", "2", "3", "4", "5", "6", "7"},
8705 Values {"Other", "Unknown", "Idle", "Printing", "Warmup",
8706 "Stopped Printing", "Offline"},
8707 MappingStrings {"MIB.IETF|Printer-MIB.hrPrinterStatus"} ]
8708 uint16 PrinterStatus;
8709
8710 [Description ("Printer error information."),
8711 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
8712 "10", "11"},
8713 Values {"Unknown", "Other", "No Error", "Low Paper",
8714 "No Paper", "Low Toner",
8715 "No Toner", "Door Open", "Jammed", "Offline",
8716 karl 1.2 "Service Requested", "Output Bin Full"},
8717 ModelCorrespondence {"CIM_Printer.ErrorInformation"},
8718 MappingStrings {
8719 "MIB.IETF|Printer-MIB.hrPrinterDetectedErrorState"} ]
8720 uint16 DetectedErrorState;
8721
8722 [Description (
8723 "An array providing supplemental information for the "
8724 "current error state, indicated in DetectedErrorState."),
8725 ModelCorrespondence {"CIM_Printer.DetectedErrorState"} ]
8726 string ErrorInformation[];
8727
8728 [Description (
8729 "An integer array indicating the types of paper supported."),
8730 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
8731 "11", "12", "13", "14", "15", "16", "17", "18", "19", "20",
8732 "21", "22", "23", "24", "25", "26", "27", "28", "29", "30",
8733 "31", "32", "33", "34", "35", "36", "37", "38", "39", "40",
8734 "41", "42", "43", "44", "45", "46", "47", "48", "49", "50",
8735 "51", "52", "53", "54", "55", "56", "57", "58", "59", "60",
8736 "61", "62", "63", "64", "65", "66", "67", "68", "69", "70",
8737 karl 1.2 "71", "72", "73", "74", "75"},
8738 Values {"Unknown", "Other", "A", "B", "C", "D", "E",
8739 "Letter", "Legal", "NA-10x13-Envelope", "NA-9x12-Envelope",
8740 "NA-Number-10-Envelope", "NA-7x9-Envelope",
8741 "NA-9x11-Envelope", "NA-10x14-Envelope",
8742 "NA-Number-9-Envelope", "NA-6x9-Envelope",
8743 "NA-10x15-Envelope", "A0", "A1", "A2", "A3", "A4", "A5",
8744 "A6", "A7", "A8", "A9" "A10", "B0", "B1", "B2", "B3", "B4",
8745 "B5", "B6", "B7", "B8", "B9", "B10", "C0", "C1", "C2" "C3",
8746 "C4", "C5", "C6", "C7", "C8", "ISO-Designated", "JIS B0",
8747 "JIS B1", "JIS B2", "JIS B3", "JIS B4", "JIS B5", "JIS B6",
8748 "JIS B7", "JIS B8", "JIS B9", "JIS B10",
8749 "NA-Letter", "NA-Legal", "B4-Envelope", "B5-Envelope",
8750 "C3-Envelope", "C4-Envelope", "C5-Envelope", "C6-Envelope",
8751 "Designated-Long-Envelope", "Monarch-Envelope",
8752 "Executive", "Folio", "Invoice", "Ledger", "Quarto"} ]
8753 uint16 PaperSizesSupported[];
8754
8755 [Description (
8756 "An array of free-form strings specifying the types of "
8757 "paper that are currently available on the Printer. Each "
8758 karl 1.2 "string should be expressed in the form specified by "
8759 "ISO/IEC 10175 Document Printing Application (DPA) which "
8760 "is also summarized in Appendix C of RFC 1759 (Printer MIB). "
8761 "Examples of valid strings are \"iso-a4-colored\" and "
8762 "\"na-10x14-envelope\". By definition a paper size that "
8763 "is available and listed in PaperTypesAvailable should "
8764 "also appear in the PaperSizesSupported property."),
8765 ArrayType ("Indexed"),
8766 ModelCorrespondence {"CIM_PrintJob.RequiredPaperType",
8767 "CIM_PrintService.PaperTypesAvailable"},
8768 MappingStrings {"MIB.IETF|Printer-MIB.prtInputMediaName"} ]
8769 string PaperTypesAvailable[];
8770
8771 [Description (
8772 "Specifies the paper type that the Printer will use if a "
8773 "PrintJob does not specify a particular type. The string "
8774 "should be expressed in the form specified by ISO/IEC "
8775 "10175 Document Printing Application (DPA) which is also "
8776 "summarized in Appendix C of RFC 1759 (Printer MIB)."),
8777 ModelCorrespondence {"CIM_Printer.PaperTypesAvailable"} ]
8778 string DefaultPaperType;
8779 karl 1.2
8780 [Description (
8781 "Specifies the paper type that the Printer is currently "
8782 "using. The string should be expressed in the form specified "
8783 "by ISO/IEC 10175 Document Printing Application (DPA) which "
8784 "is also summarized in Appendix C of RFC 1759 (Printer MIB)."),
8785 ModelCorrespondence {"CIM_Printer.PaperTypesAvailable"} ]
8786 string CurrentPaperType;
8787
8788 [Description (
8789 "An array indicating the print languages natively supported."),
8790 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
8791 "11", "12", "13", "14", "15", "16", "17", "18", "19",
8792 "20", "21", "22", "23", "24", "25", "26", "27", "28",
8793 "29", "30", "31", "32", "33", "34", "35", "36", "37",
8794 "38", "39", "40", "41", "42", "43", "44", "45", "46", "47"},
8795 Values {"Other", "Unknown", "PCL", "HPGL", "PJL", "PS",
8796 "PSPrinter", "IPDS", "PPDS", "EscapeP", "Epson", "DDIF",
8797 "Interpress", "ISO6429", "Line Data", "MODCA", "REGIS",
8798 "SCS", "SPDL", "TEK4014", "PDS", "IGP", "CodeV", "DSCDSE",
8799 "WPS", "LN03", "CCITT", "QUIC", "CPAP", "DecPPL",
8800 karl 1.2 "Simple Text", "NPAP", "DOC", "imPress", "Pinwriter",
8801 "NPDL", "NEC201PL", "Automatic", "Pages", "LIPS", "TIFF",
8802 "Diagnostic", "CaPSL", "EXCL", "LCDS", "XES", "MIME"},
8803 MappingStrings {"MIB.IETF|Printer-MIB.prtInterpreterLangFamily"},
8804 ModelCorrespondence {"CIM_Printer.MimeTypesSupported",
8805 "CIM_PrintJob.Language",
8806 "CIM_PrintService.LanguagesSupported"} ]
8807 uint16 LanguagesSupported[];
8808
8809 [Description (
8810 "An array of free-form strings providing more detailed "
8811 "explanations of any mime types that are supported by "
8812 "the Printer. If data is provided for this property, then "
8813 "the value 47, \"Mime\", should be included in the Languages"
8814 "Supported property."),
8815 ModelCorrespondence {"CIM_Printer.LanguagesSupported",
8816 "CIM_PrintJob.MimeTypes",
8817 "CIM_PrintService.MimeTypesSupported"} ]
8818 string MimeTypesSupported[];
8819
8820 [Description (
8821 karl 1.2 "Indicates the current printer language being used. A "
8822 "language that is being used by the Printer should also be "
8823 "listed in LanguagesSupported."),
8824 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
8825 "11", "12", "13", "14", "15", "16", "17", "18", "19",
8826 "20", "21", "22", "23", "24", "25", "26", "27", "28",
8827 "29", "30", "31", "32", "33", "34", "35", "36", "37",
8828 "38", "39", "40", "41", "42", "43", "44", "45", "46",
8829 "47"},
8830 Values {"Other", "Unknown", "PCL", "HPGL", "PJL", "PS",
8831 "PSPrinter", "IPDS", "PPDS", "EscapeP", "Epson", "DDIF",
8832 "Interpress", "ISO6429", "Line Data", "MODCA", "REGIS",
8833 "SCS", "SPDL", "TEK4014", "PDS", "IGP", "CodeV", "DSCDSE",
8834 "WPS", "LN03", "CCITT", "QUIC", "CPAP", "DecPPL",
8835 "Simple Text", "NPAP", "DOC", "imPress", "Pinwriter",
8836 "NPDL", "NEC201PL", "Automatic", "Pages", "LIPS", "TIFF",
8837 "Diagnostic", "CaPSL", "EXCL", "LCDS", "XES", "MIME"},
8838 ModelCorrespondence {"CIM_Printer.LanguagesSupported",
8839 "CIM_Printer.CurrentMimeType"} ]
8840 uint16 CurrentLanguage;
8841
8842 karl 1.2 [Description (
8843 "Specifies the mime type currently being used by the "
8844 "Printer if the CurrentLanguage is set to indicate a "
8845 "mime type is in use (value = 47)."),
8846 ModelCorrespondence {"CIM_Printer.CurrentLanguage"} ]
8847 string CurrentMimeType;
8848
8849 [Description (
8850 "Indicates the default printer language. A language that "
8851 "is used as a default by the Printer should also be listed "
8852 "in LanguagesSupported."),
8853 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
8854 "11", "12", "13", "14", "15", "16", "17", "18", "19",
8855 "20", "21", "22", "23", "24", "25", "26", "27", "28",
8856 "29", "30", "31", "32", "33", "34", "35", "36", "37",
8857 "38", "39", "40", "41", "42", "43", "44", "45", "46",
8858 "47"},
8859 Values {"Other", "Unknown", "PCL", "HPGL", "PJL", "PS",
8860 "PSPrinter", "IPDS", "PPDS", "EscapeP", "Epson", "DDIF",
8861 "Interpress", "ISO6429", "Line Data", "MODCA", "REGIS",
8862 "SCS", "SPDL", "TEK4014", "PDS", "IGP", "CodeV", "DSCDSE",
8863 karl 1.2 "WPS", "LN03", "CCITT", "QUIC", "CPAP", "DecPPL",
8864 "Simple Text", "NPAP", "DOC", "imPress", "Pinwriter",
8865 "NPDL", "NEC201PL", "Automatic", "Pages", "LIPS", "TIFF",
8866 "Diagnostic", "CaPSL", "EXCL", "LCDS", "XES", "MIME"},
8867 ModelCorrespondence {"CIM_Printer.LanguagesSupported",
8868 "CIM_Printer.DefaultMimeType"} ]
8869 uint16 DefaultLanguage;
8870
8871 [Description (
8872 "Specifies the default mime type used by the Printer if the "
8873 "DefaultLanguage is set to indicate a mime type is in use "
8874 "(value=47)."),
8875 ModelCorrespondence {"CIM_Printer.DefaultLanguage"} ]
8876 string DefaultMimeType;
8877
8878 [Description (
8879 "Printer jobs processed since last reset. These jobs may be "
8880 "processed from one or more PrintQueues."),
8881 Counter ]
8882 uint32 JobCountSinceLastReset;
8883
8884 karl 1.2 [Description ("Time of last reset of the Printer Device.") ]
8885 datetime TimeOfLastReset;
8886
8887 [Description (
8888 "An array of integers indicating Printer capabilities. "
8889 "Information such as \"Duplex Printing\" (value=3) or "
8890 "\"Transparency Printing\" (7) is specified in this "
8891 "property."),
8892 ArrayType ("Indexed"),
8893 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
8894 "11", "12", "13", "14", "15", "16", "17", "18", "19", "20",
8895 "21"},
8896 Values {"Unknown", "Other", "Color Printing",
8897 "Duplex Printing", "Copies", "Collation", "Stapling",
8898 "Transparency Printing", "Punch", "Cover", "Bind",
8899 "Black and White Printing", "One Sided",
8900 "Two Sided Long Edge", "Two Sided Short Edge",
8901 "Portrait", "Landscape", "Reverse Portrait",
8902 "Reverse Landscape", "Quality High", "Quality Normal",
8903 "Quality Low"},
8904 ModelCorrespondence {"CIM_Printer.CapabilityDescriptions",
8905 karl 1.2 "CIM_PrintJob.Finishing",
8906 "CIM_PrintService.Capabilities"} ]
8907 uint16 Capabilities[];
8908
8909 [Description (
8910 "An array of free-form strings providing more detailed "
8911 "explanations for any of the Printer features indicated in "
8912 "the Capabilities array. Note, each entry of this array "
8913 "is related to the entry in the Capabilities array that "
8914 "is located at the same index."),
8915 ArrayType ("Indexed"),
8916 ModelCorrespondence {"CIM_Printer.Capabilities"} ]
8917 string CapabilityDescriptions[];
8918
8919 [Description (
8920 "Specifies which finishings and other capabilities of "
8921 "the Printer will be used by default. An entry in Default"
8922 "Capabilities should also be listed in the Capabilities "
8923 "array."),
8924 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
8925 "11", "12", "13", "14", "15", "16", "17", "18", "19", "20",
8926 karl 1.2 "21"},
8927 Values {"Unknown", "Other", "Color Printing",
8928 "Duplex Printing", "Copies", "Collation", "Stapling",
8929 "Transparency Printing", "Punch", "Cover", "Bind",
8930 "Black and White Printing", "One Sided",
8931 "Two Sided Long Edge", "Two Sided Short Edge",
8932 "Portrait", "Landscape", "Reverse Portrait",
8933 "Reverse Landscape", "Quality High", "Quality Normal",
8934 "Quality Low"},
8935 ModelCorrespondence {"CIM_Printer.Capabilities"} ]
8936 uint16 DefaultCapabilities[];
8937
8938 [Description (
8939 "Specifies which finishings and other capabilities of "
8940 "the Printer are currently being used. An entry in this "
8941 "property should also be listed in the Capabilities array."),
8942 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
8943 "11", "12", "13", "14", "15", "16", "17", "18", "19", "20",
8944 "21"},
8945 Values {"Unknown", "Other", "Color Printing",
8946 "Duplex Printing", "Copies", "Collation", "Stapling",
8947 karl 1.2 "Transparency Printing", "Punch", "Cover", "Bind",
8948 "Black and White Printing", "One Sided",
8949 "Two Sided Long Edge", "Two Sided Short Edge",
8950 "Portrait", "Landscape", "Reverse Portrait",
8951 "Reverse Landscape", "Quality High", "Quality Normal",
8952 "Quality Low"},
8953 ModelCorrespondence {"CIM_Printer.Capabilities"} ]
8954 uint16 CurrentCapabilities[];
8955
8956 [Description (
8957 "The maximum number of copies that can be produced by "
8958 "the Printer from a single Job."),
8959 ModelCorrespondence {"CIM_PrintJob.Copies"} ]
8960 uint32 MaxCopies;
8961
8962 [Description (
8963 "The number of copies that will be produced for a "
8964 "single Job unless otherwise specified.") ]
8965 uint32 DefaultCopies;
8966
8967 [Description (
8968 karl 1.2 "The maximum number of print-stream pages that the "
8969 "Printer can render onto a single media sheet."),
8970 ModelCorrespondence {"CIM_PrintJob.NumberUp"} ]
8971 uint32 MaxNumberUp;
8972
8973 [Description (
8974 "The number of print-stream pages that the Printer will "
8975 "render onto a single media sheet unless a Job specifies "
8976 "otherwise.") ]
8977 uint32 DefaultNumberUp;
8978
8979 [Description (
8980 "Printer's horizontal resolution in Pixels per Inch."),
8981 Units ("Pixels per Inch"),
8982 ModelCorrespondence {"CIM_PrintJob.HorizontalResolution"} ]
8983 uint32 HorizontalResolution;
8984
8985 [Description (
8986 "Printer's vertical resolution in Pixels per Inch."),
8987 Units ("Pixels per Inch"),
8988 ModelCorrespondence {"CIM_PrintJob.HorizontalResolution"} ]
8989 karl 1.2 uint32 VerticalResolution;
8990
8991 [Description (
8992 "Identifies the available character sets for the output "
8993 "of text related to managing the Printer. Strings "
8994 "provided in this property should conform to the "
8995 "semantics and syntax specified by section 4.1.2 "
8996 "(\"Charset parameter\") in RFC 2046 (MIME Part 2) and "
8997 "contained in the IANA character-set registry. Examples "
8998 "include \"utf-8\", \"us-ascii\" and \"iso-8859-1\"."),
8999 ArrayType ("Indexed"),
9000 ModelCorrespondence {"CIM_PrintJob.CharSet"},
9001 MappingStrings {
9002 "MIB.IETF|Printer-MIB.prtLocalizationCharacterSet"} ]
9003 string CharSetsSupported[];
9004
9005 [Description (
9006 "Specifies the current character set being used for "
9007 "the output of text relating to management of the "
9008 "Printer. The character set described by this property "
9009 "should also be listed in CharsetsSupported. The string "
9010 karl 1.2 "specified by this property should conform to the "
9011 "semantics and syntax specified by section 4.1.2 "
9012 "(\"Charset parameter\") in RFC 2046 (MIME Part 2) and "
9013 "contained in the IANA character-set registry. Examples "
9014 "include \"utf-8\", \"us-ascii\" and \"iso-8859-1\"."),
9015 ModelCorrespondence {"CIM_Printer.CharSetsSupported"} ]
9016 string CurrentCharSet;
9017
9018 [Description (
9019 "Identifies the available languages for strings used by "
9020 "the Printer for the output of management information. "
9021 "The strings should conform to RFC 1766, for example "
9022 "\"en\" is used for English."),
9023 ArrayType ("Indexed"),
9024 MappingStrings {
9025 "MIB.IETF|Printer-MIB.prtLocalizationLanguage"},
9026 ModelCorrespondence {"CIM_PrintJob.NaturalLanguage"} ]
9027 string NaturalLanguagesSupported[];
9028
9029 [Description (
9030 "Identifies the current language being used by the "
9031 karl 1.2 "Printer for management. The language listed in the "
9032 "CurrentNaturalLanguage property should also be listed "
9033 "in NaturalLanguagesSupported."),
9034 ModelCorrespondence {"CIM_Printer.NaturalLanguagesSupported"} ]
9035 string CurrentNaturalLanguage;
9036
9037 [Description (
9038 "Specifies the largest Job (as a byte stream) that the "
9039 "Printer will accept in units of Kbytes. A value of zero "
9040 "indicates that no limit has been set."),
9041 Units ("KiloBytes"),
9042 ModelCorrespondence {"CIM_PrintJob.JobSize"} ]
9043 uint32 MaxSizeSupported;
9044
9045 [Description (
9046 "Describes all of the job sheets that are available on "
9047 "the Printer. This can also be used to describe the banner "
9048 "that a Printer might provide at the beginning of each Job, "
9049 "or can describe other user specified options."),
9050 ModelCorrespondence {"CIM_PrintJob.RequiredJobSheets"} ]
9051 string AvailableJobSheets[];
9052 karl 1.2
9053 [Description (
9054 "Specifies the marking technology used by the Printer."),
9055 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9",
9056 "10", "11", "12", "13", "14", "15", "16", "17",
9057 "18", "19", "20", "21", "22", "23", "24", "25",
9058 "26", "27"},
9059 Values {"Other", "Unknown", "Electrophotographic LED",
9060 "Electrophotographic Laser",
9061 "Electrophotographic Other",
9062 "Impact Moving Head Dot Matrix 9pin",
9063 "Impact Moving Head Dot Matrix 24pin",
9064 "Impact Moving Head Dot Matrix Other",
9065 "Impact Moving Head Fully Formed",
9066 "Impact Band", "Impact Other", "Inkjet Aqueous",
9067 "Inkjet Solid", "Inkjet Other", "Pen",
9068 "Thermal Transfer", "Thermal Sensitive",
9069 "Thermal Diffusion", "Thermal Other",
9070 "Electroerosion", "Electrostatic",
9071 "Photographic Microfiche",
9072 "Photographic Imagesetter", "Photographic Other",
9073 karl 1.2 "Ion Deposition", "eBeam", "Typesetter"},
9074 MappingStrings {"MIB.IETF|Printer-MIB.prtMarkerMarkTech"} ]
9075 uint16 MarkingTechnology;
9076 };
9077
9078
9079 // ===================================================================
9080 // PrintQueue
9081 // ===================================================================
9082 [Version ("2.6.0"), Description (
9083 "Capabilities and management of a Printer Queue. A PrintQueue "
9084 "holds PrintJobs - which are placed on the Queue by a Print"
9085 "Service. Jobs can move from Queue to Queue.") ]
9086 class CIM_PrintQueue : CIM_JobDestination {
9087
9088 [Description (
9089 "Indicates that Jobs on the Queue will be passed to a "
9090 "Printer. When FALSE, a Job will remain on the Queue and "
9091 "will not be passed to a Printer for output.") ]
9092 boolean QueueEnabled;
9093
9094 karl 1.2 [Description (
9095 "When FALSE, no PrintService can place PrintJobs on the "
9096 "PrintQueue. The ability of an individual PrintService "
9097 "to place a Job on the Queue can be specified using the "
9098 "QueueAcceptingFromService property in the QueueForPrint"
9099 "Service association.") ]
9100 boolean QueueAccepting;
9101
9102 [Description ("The current number of Jobs on the Queue."),
9103 Gauge ]
9104 uint32 NumberOnQueue;
9105
9106 [Description (
9107 "Gives Queue-specific status information, beyond the "
9108 "ManagedSystemElement.Status property. This may be used to "
9109 "provide further qualification as to the status of the "
9110 "Queue or to indicate a secondary condition (e.g. spool "
9111 "area is full)."),
9112 ValueMap {"0", "1", "2", "3"},
9113 Values {"Other", "Unknown", "No Additional Status",
9114 "QueueSpoolAreaFull"} ]
9115 karl 1.2 uint16 QueueStatus;
9116
9117 [Description (
9118 "Provides a textual explanation for the status of the Queue. "
9119 "The settings of both QueueStatus and the Status property "
9120 "inherited from ManagedSystemElement may be described by "
9121 "QueueStatusInfo. For example, if \"Stopping\" is the value "
9122 "assigned to Status, then this property may contain an "
9123 "explanation as to why the Queue is being stopped.") ]
9124 string QueueStatusInfo;
9125
9126 [Description (
9127 "Specifies the largest possible Job (in terms of a single "
9128 "byte stream) that may be submitted to this Queue. A value "
9129 "of zero indicates that no limit has been set. Units "
9130 "are Kbytes."),
9131 Units ("KiloBytes"),
9132 ModelCorrespondence {"CIM_PrintJob.JobSize"} ]
9133 uint32 MaxJobSize;
9134
9135 [Description (
9136 karl 1.2 "Specifies the priority that will be assigned to a new Job "
9137 "being submitted to this Queue, if the Job does not "
9138 "explicitly specify a priority. The range of valid priorities "
9139 "and the interpretation of priorities may be determined from "
9140 "the JobPriorityHigh and JobPriorityLow properties."),
9141 ModelCorrespondence {"CIM_PrintQueue.JobPriorityHigh",
9142 "CIM_PrintQueue.JobPriorityLow"} ]
9143 uint32 DefaultJobPriority;
9144
9145 [Description (
9146 "Specifies the numeric value that is used to represent the "
9147 "highest priority Jobs that are submitted to this Queue. The "
9148 "range of numeric values for priority may be inversed, e.g. "
9149 "a high priority job is represented by a low integer value. "
9150 "This is indicated by JobPriorityLow being greater than "
9151 "JobPriorityHigh. If both values (PriorityLow and Priority"
9152 "High) are assigned to zero, then the Queue does not support "
9153 "Job priorities."),
9154 ModelCorrespondence {"CIM_PrintQueue.JobPriorityLow",
9155 "CIM_Job.Priority"} ]
9156 uint32 JobPriorityHigh;
9157 karl 1.2
9158 [Description (
9159 "Specifies the numeric value that is used to represent the "
9160 "lowest priority Jobs that are submitted to this Queue. The "
9161 "range of numeric values for priority may be inversed, e.g. "
9162 "a low priority job is represented by a high integer value. "
9163 "This is indicated by JobPriorityLow being greater than "
9164 "JobPriorityHigh. If both values (PriorityLow and PriorityHigh) "
9165 "are assigned to zero, then the Queue does not support "
9166 "Job priorities."),
9167 ModelCorrespondence {"CIM_PrintQueue.JobPriorityHigh",
9168 "CIM_Job.Priority"} ]
9169 uint32 JobPriorityLow;
9170
9171 [Description (
9172 "Specifies the job sheets that are supported by this Queue. "
9173 "Typically the job sheets provided by a Queue will be the "
9174 "union or aggregation of those provided by all the Printers "
9175 "that it supports. However, a system administrator may choose "
9176 "to restrict access to some job sheets on a particular Queue. "
9177 "A Queue might also support additional job sheets through the "
9178 karl 1.2 "use of a filter that adds a banner or some other page when a "
9179 "Job is taken from the Queue."),
9180 ModelCorrespondence {"CIM_PrintJob.RequiredJobSheets"} ]
9181 string AvailableJobSheets[];
9182 };
9183
9184
9185 // ===================================================================
9186 // PrintJob
9187 // ===================================================================
9188 [Version ("2.6.0"), Description (
9189 "Description of a print request that is either waiting on a "
9190 "Queue for a Printer to become available, in the process of "
9191 "being output on a Printer, or that has previously been "
9192 "printed on a Printer. PrintJobs are weak to their current "
9193 "Queue, or to the last Queue that held them.") ]
9194 class CIM_PrintJob : CIM_Job {
9195
9196 [Propagated ("CIM_PrintQueue.SystemCreationClassName"),
9197 Key, MaxLen (256),
9198 Description ("The scoping System's CreationClassName.") ]
9199 karl 1.2 string SystemCreationClassName;
9200
9201 [Propagated ("CIM_PrintQueue.SystemName"),
9202 Key, MaxLen (256),
9203 Description ("The scoping System's Name.") ]
9204 string SystemName;
9205
9206 [Propagated ("CIM_PrintQueue.CreationClassName"),
9207 Key, MaxLen (256),
9208 Description ("The scoping Queue's CreationClassName.") ]
9209 string QueueCreationClassName;
9210
9211 [Propagated ("CIM_PrintQueue.Name"),
9212 Key, MaxLen (256),
9213 Description ("The scoping Queue's Name.") ]
9214 string QueueName;
9215
9216 [Override("JobStatus"),
9217 Description (
9218 "The inherited JobStatus is used to provide additional "
9219 "information about the status of a PrintJob beyond that "
9220 karl 1.2 "enumerated by PrintJobStatus."),
9221 ModelCorrespondence {"CIM_PrintJob.PrintJobStatus"} ]
9222 string JobStatus;
9223
9224 [Key, Description (
9225 "Uniquely identifies this Job within its scoping Queue.") ]
9226 string JobID;
9227
9228 [Description (
9229 "Provides additional textual descriptions of how this "
9230 "Job should be scheduled.") ]
9231 string SchedulingInformation;
9232
9233 [Description (
9234 "Specifies the size of the PrintJob (as a byte stream) in "
9235 "units of Kbytes."),
9236 Units ("KiloBytes"),
9237 ModelCorrespondence {"CIM_Printer.MaxSizeSupported",
9238 "CIM_PrintQueue.MaxJobSize"} ]
9239 uint32 JobSize;
9240
9241 karl 1.2 [Description (
9242 "Specifies the print language used by this Job."),
9243 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
9244 "11", "12", "13", "14", "15", "16", "17", "18", "19",
9245 "20", "21", "22", "23", "24", "25", "26", "27", "28",
9246 "29", "30", "31", "32", "33", "34", "35", "36", "37",
9247 "38", "39", "40", "41", "42", "43", "44", "45", "46",
9248 "47"},
9249 Values {"Other", "Unknown", "PCL", "HPGL", "PJL", "PS",
9250 "PSPrinter", "IPDS", "PPDS", "EscapeP", "Epson", "DDIF",
9251 "Interpress", "ISO6429", "Line Data", "MODCA", "REGIS",
9252 "SCS", "SPDL", "TEK4014", "PDS", "IGP", "CodeV", "DSCDSE",
9253 "WPS", "LN03", "CCITT", "QUIC", "CPAP", "DecPPL",
9254 "Simple Text", "NPAP", "DOC", "imPress", "Pinwriter",
9255 "NPDL", "NEC201PL", "Automatic", "Pages", "LIPS", "TIFF",
9256 "Diagnostic", "CaPSL", "EXCL", "LCDS", "XES", "MIME"},
9257 ArrayType ("Indexed"),
9258 MappingStrings {"MIB.IETF|Printer-MIB.prtInterpreterLangFamily"},
9259 ModelCorrespondence {"CIM_Printer.LanguagesSupported",
9260 "CIM_PrintService.LanguagesSupported",
9261 "CIM_PrintJob.MimeTypes"} ]
9262 karl 1.2 uint16 Language;
9263
9264 [Description (
9265 "Specifies the mime types used by the PrintJob if "
9266 "Language is set to indicate a mime type is in use (value=47)."),
9267 ModelCorrespondence {"CIM_PrintJob.Language",
9268 "CIM_Printer.MimeTypesSupported",
9269 "CIM_PrintService.MimeTypesSupported"} ]
9270 string MimeTypes[];
9271
9272 [Description (
9273 "A string specifying the type of paper that is required by "
9274 "this PrintJob. Each string should be expressed in the form "
9275 "specified by ISO/IEC 10175 Document Printing Application (DPA) "
9276 "which is also summarized in Appendix C of RFC 1759 (Printer "
9277 "MIB). Examples of valid strings are \"iso-a4-colored\" and "
9278 "\"na-10x14-envelope\"."),
9279 ModelCorrespondence {"CIM_Printer.PaperTypesAvailable",
9280 "CIM_PrintService.PaperTypesAvailable"} ]
9281 string RequiredPaperType;
9282
9283 karl 1.2 [Description (
9284 "An array of integers indicating the type of finishing "
9285 "required by this Job. It is equivalent to the Capabilities "
9286 "property provided by the Printer."),
9287 ArrayType ("Indexed"),
9288 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
9289 "11", "12", "13", "14", "15", "16", "17", "18", "19", "20",
9290 "21"},
9291 Values {"Unknown", "Other", "Color Printing",
9292 "Duplex Printing", "Copies", "Collation", "Stapling",
9293 "Transparency Printing", "Punch", "Cover", "Bind",
9294 "Black and White Printing", "One Sided",
9295 "Two Sided Long Edge", "Two Sided Short Edge",
9296 "Portrait", "Landscape", "Reverse Portrait",
9297 "Reverse Landscape", "Quality High", "Quality Normal",
9298 "Quality Low"},
9299 ModelCorrespondence {"CIM_Printer.Capabilities",
9300 "CIM_PrintService.Capabilities"} ]
9301 uint16 Finishing[];
9302
9303 [Description (
9304 karl 1.2 "The number of physical copies of the output that will be "
9305 "produced from this Job."),
9306 ModelCorrespondence {"CIM_Printer.MaxCopies"} ]
9307 uint32 Copies;
9308
9309 [Description (
9310 "The horizontal resolution in Pixels per Inch for the Job."),
9311 Units ("Pixels per Inch"),
9312 ModelCorrespondence {"CIM_Printer.HorizontalResolution"} ]
9313 uint32 HorizontalResolution;
9314
9315 [Description (
9316 "The vertical resolution in Pixels per Inch for the Job."),
9317 Units ("Pixels per Inch"),
9318 ModelCorrespondence {"CIM_Printer.VerticalResolution"} ]
9319 uint32 VerticalResolution;
9320
9321 [Description (
9322 "Specifies the character set and encoding method that "
9323 "should be used by the Printer for the management of "
9324 "this Job. The strings should conform to the semantics and "
9325 karl 1.2 "syntax specified by section 4.1.2 (\"Charset parameter\") "
9326 "in RFC 2046 (MIME Part 2) and contained in the IANA "
9327 "character-set registry. Examples include \"utf-8\", "
9328 "\"us-ascii\" and \"iso-8859-1\"."),
9329 ModelCorrespondence {"CIM_Printer.CharSetsSupported"} ]
9330 string CharSet;
9331
9332 [Description (
9333 "Identifies the language that should be used by the Printer "
9334 "for the management of this Job. The specified value should "
9335 "conform to RFC 1766. For example, \"en\" is used for "
9336 "English."),
9337 ModelCorrespondence {"CIM_Printer.NaturalLanguagesSupported"} ]
9338 string NaturalLanguage;
9339
9340 [Description (
9341 "The number of print-stream pages that should be rendered "
9342 "onto a single media sheet when the Printer outputs this "
9343 "PrintJob."),
9344 ModelCorrespondence {"CIM_Printer.MaxNumberUp"} ]
9345 uint32 NumberUp;
9346 karl 1.2
9347 [Description (
9348 "Describes the current state of this Job with respect "
9349 "to the PrintQueue and the Printer. Additional information "
9350 "may be specified in JobStatus."),
9351 ValueMap {"1", "2", "3", "4", "5", "6", "7"},
9352 Values {"Other", "Unknown", "Pending", "Blocked",
9353 "Complete", "Completed With Error", "Printing"},
9354 ModelCorrespondence {"CIM_PrintJob.TimeCompleted",
9355 "CIM_PrintJob.JobStatus"} ]
9356 uint16 PrintJobStatus;
9357
9358 [Description (
9359 "Time when this Job was completed. This value is only "
9360 "valid if the PrintJobStatus has been assigned to "
9361 "\"Complete\" (value=5) or \"Completed With Error\" "
9362 "(value=6)."),
9363 ModelCorrespondence {"CIM_PrintJob.PrintJobStatus"} ]
9364 datetime TimeCompleted;
9365
9366 [Description (
9367 karl 1.2 "Describes the job sheets that should be used when this "
9368 "Job is output on the Printer."),
9369 ModelCorrespondence {"CIM_Printer.AvailableJobSheets"} ]
9370 string RequiredJobSheets[];
9371
9372 [Description (
9373 "Provides additional information, beyond Job Owner "
9374 "inherited from CIM_Job, to identify the origins of the "
9375 "PrintJob. This property could include information such as "
9376 "the System, application or Process that created the Job.") ]
9377 string JobOrigination;
9378 };
9379
9380
9381 // ===================================================================
9382 // PrintSAP
9383 // ===================================================================
9384 [Version ("2.6.0"), Description (
9385 "The ServiceAccessPoint for a printing Service.") ]
9386 class CIM_PrintSAP : CIM_ServiceAccessPoint {
9387
9388 karl 1.2 [Description (
9389 "Specifies the print procotols that this AccessPoint uses. "
9390 "Note that each entry of this array is related to the entry in "
9391 "the PrintProtocolInfo array that is located at the same "
9392 "index."),
9393 ArrayType ("Indexed"),
9394 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7"},
9395 Values {"Unknown", "Other", "SMB", "BSD", "SYSV", "HPNP", "IPP",
9396 "Local"},
9397 ModelCorrespondence {"CIM_PrintSAP.PrintProtocolInfo"} ]
9398 uint16 PrintProtocol[];
9399
9400 [Description (
9401 "Provides clarifying or additional information about the "
9402 "protocols supported by this AccessPoint. Note, each entry "
9403 "of this array is related to the entry in the PrintProtocol "
9404 "array that is located at the same index."),
9405 ArrayType ("Indexed"),
9406 ModelCorrespondence {"CIM_PrintSAP.PrintProtocol"} ]
9407 string PrintProtocolInfo[];
9408 };
9409 karl 1.2
9410
9411 // ===================================================================
9412 // PrintService
9413 // ===================================================================
9414 [Version ("2.6.0"), Description (
9415 "The Service that provides support for printing. The basic "
9416 "assumption of the Printing Model is that a PrintService accepts "
9417 "a PrintJob for processing, via its PrintSAP. The Job is then "
9418 "placed on a PrintQueue (indicated by the QueueForPrintService "
9419 "association). Printers take Jobs from Queues (indicated by the "
9420 "PrinterServicingQueue association).") ]
9421 class CIM_PrintService : CIM_Service {
9422
9423 [Description (
9424 "An array of free-form strings specifying the types of "
9425 "paper that may be used by Jobs that are submitted to this "
9426 "PrintService. This may be different than the paper types that "
9427 "are installed on the Printer, because the PrintService may "
9428 "include support for manually making other types available or "
9429 "only a subset of paper types may be exported via this Service. "
9430 karl 1.2 "Each string should be expressed in the form specified by "
9431 "ISO/IEC 10175 Document Printing Application (DPA) which is "
9432 "also summarized in Appendix C of RFC 1759 (Printer MIB). "
9433 "Examples of valid strings are \"iso-a4-colored\" and "
9434 "\"na-10x14-envelope\"."),
9435 ModelCorrespondence {"CIM_Printer.PaperTypesAvailable",
9436 "CIM_PrintJob.RequiredPaperType"} ]
9437 string PaperTypesAvailable[];
9438
9439 [Description (
9440 "An array indicating the print languages supported by the "
9441 "PrintService. A PrintService may support more languages "
9442 "than those available on the underlying Printer through the "
9443 "use of filters. An administrator may also choose to prevent "
9444 "some languages from being exported by the PrintService."),
9445 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
9446 "11", "12", "13", "14", "15", "16", "17", "18", "19",
9447 "20", "21", "22", "23", "24", "25", "26", "27", "28",
9448 "29", "30", "31", "32", "33", "34", "35", "36", "37",
9449 "38", "39", "40", "41", "42", "43", "44", "45", "46",
9450 "47"},
9451 karl 1.2 Values {"Other", "Unknown", "PCL", "HPGL", "PJL", "PS",
9452 "PSPrinter", "IPDS", "PPDS", "EscapeP", "Epson", "DDIF",
9453 "Interpress", "ISO6429", "Line Data", "MODCA", "REGIS",
9454 "SCS", "SPDL", "TEK4014", "PDS", "IGP", "CodeV", "DSCDSE",
9455 "WPS", "LN03", "CCITT", "QUIC", "CPAP", "DecPPL",
9456 "Simple Text", "NPAP", "DOC", "imPress", "Pinwriter",
9457 "NPDL", "NEC201PL", "Automatic", "Pages", "LIPS", "TIFF",
9458 "Diagnostic", "CaPSL", "EXCL", "LCDS", "XES", "MIME"},
9459 ArrayType ("Indexed"),
9460 MappingStrings {"MIB.IETF|Printer-MIB.prtInterpreterLangFamily"},
9461 ModelCorrespondence {"CIM_Printer.LanguagesSupported",
9462 "CIM_PrintJob.Language",
9463 "CIM_PrintService.MimeTypesSupported"} ]
9464 uint16 LanguagesSupported[];
9465
9466 [Description (
9467 "An array of free-form strings providing more detailed "
9468 "explanations for any mime types that are supported by "
9469 "the PrintService. Support for mime types is indicated "
9470 "by specifying a value of 47 in the LanguagesSupported array."),
9471 ModelCorrespondence {"CIM_Printer.MimeTypesSupported",
9472 karl 1.2 "CIM_PrintJob.MimeTypes",
9473 "CIM_PrintService.LanguagesSupported"} ]
9474 string MimeTypesSupported[];
9475
9476 [Description (
9477 "An array of integers indicating the capabilities supported "
9478 "by this service. Information such as \"Duplex Printing\" "
9479 "(value=3) or \"Transparency Printing\" (7) is specified in "
9480 "this property."),
9481 ArrayType ("Indexed"),
9482 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
9483 "11", "12", "13", "14", "15", "16", "17", "18", "19",
9484 "20", "21"},
9485 Values {"Unknown", "Other", "Color Printing", "Duplex Printing",
9486 "Copies", "Collation", "Stapling", "Transparency Printing",
9487 "Punch", "Cover", "Bind", "Black and White Printing",
9488 "One Sided", "Two Sided Long Edge", "Two Sided Short Edge",
9489 "Portrait", "Landscape", "Reverse Portrait",
9490 "Reverse Landscape", "Quality High", "Quality Normal",
9491 "Quality Low"},
9492 ModelCorrespondence {"CIM_Printer.Capabilities",
9493 karl 1.2 "CIM_PrintJob.Finishing",
9494 "CIM_PrintService.CapabilityDescriptions"} ]
9495 uint16 Capabilities[];
9496
9497 [Description (
9498 "An array of free-form strings providing more detailed "
9499 "explanations for any of the Printer features indicated in "
9500 "the Capabilities array. Note, each entry of this array "
9501 "is related to the entry in the Capabilities array that "
9502 "is located at the same index."),
9503 ArrayType ("Indexed"),
9504 ModelCorrespondence {"CIM_PrintService.Capabilities"} ]
9505 string CapabilityDescriptions[];
9506
9507 [Description (
9508 "Describes the filters that are available within this Print"
9509 "Service. For example, a PrintService may be able to convert "
9510 "a Job submitted in one page description language to another, "
9511 "so that it can be passed to an available Printer.") ]
9512 string AvailableFilters[];
9513 };
9514 karl 1.2
9515
9516 // ===================================================================
9517 // PrinterServicingQueue
9518 // ===================================================================
9519 [Association, Version ("2.6.0"), Description (
9520 "This association indicates that a Printer can be passed "
9521 "PrintJobs from a particular Queue.") ]
9522 class CIM_PrinterServicingQueue : CIM_Dependency {
9523
9524 [Override ("Antecedent"), Description (
9525 "A destination Printer for Jobs enqueued on the Dependent "
9526 "Queue.") ]
9527 CIM_Printer REF Antecedent;
9528
9529 [Override ("Dependent"), Description (
9530 "A Queue that is providing Jobs to the Printer.") ]
9531 CIM_PrintQueue REF Dependent;
9532 };
9533
9534
9535 karl 1.2 // ===================================================================
9536 // PrinterServicingJob
9537 // ===================================================================
9538 [Association, Version ("2.6.0"), Description (
9539 "This association indicates that a Printer is currently "
9540 "servicing a particular PrintJob.") ]
9541 class CIM_PrinterServicingJob : CIM_Dependency {
9542
9543 [Override ("Antecedent"),
9544 Description ("The destination Printer for a PrintJob.") ]
9545 CIM_Printer REF Antecedent;
9546
9547 [Override ("Dependent"), Description ("The PrintJob.") ]
9548 CIM_PrintJob REF Dependent;
9549 };
9550
9551
9552 // ===================================================================
9553 // PrintJobFile
9554 // ===================================================================
9555 [Association, Aggregation, Version ("2.6.0"), Description (
9556 karl 1.2 "This association indicates which files are associated with "
9557 "a PrintJob.") ]
9558 class CIM_PrintJobFile : CIM_Component {
9559
9560 [Override ("GroupComponent"), Aggregate,
9561 Description ("The PrintJob that is based on one or more Files.") ]
9562 CIM_PrintJob REF GroupComponent;
9563
9564 [Override ("PartComponent"),
9565 Description ("The File(s) that make up a PrintJob.") ]
9566 CIM_DataFile REF PartComponent;
9567 };
9568
9569
9570 // ===================================================================
9571 // QueueForPrintService
9572 // ===================================================================
9573 [Association, Version ("2.6.0"), Description (
9574 "This association indicates that a PrintService utilizes a "
9575 "particular PrintQueue.") ]
9576 class CIM_QueueForPrintService : CIM_Dependency {
9577 karl 1.2
9578 [Override ("Antecedent"),
9579 Description ("The PrintQueue that the Service utilizes.") ]
9580 CIM_PrintQueue REF Antecedent;
9581
9582 [Override ("Dependent"),
9583 Description ("The PrintService that puts Jobs on the Queue.") ]
9584 CIM_PrintService REF Dependent;
9585
9586 [Description (
9587 "Indicates that the PrintService can accept Jobs and "
9588 "place them on the Queue.") ]
9589 boolean QueueAcceptingFromService;
9590 };
9591
9592
9593 // ===================================================================
9594 // QueueForwardsToPrintSAP
9595 // ===================================================================
9596 [Association, Version ("2.6.0"), Description (
9597 "This association indicates that the Jobs from a PrintQueue "
9598 karl 1.2 "can be sent to the referenced PrintSAP, to be handled by the "
9599 "SAP's backing PrintService.") ]
9600 class CIM_QueueForwardsToPrintSAP : CIM_Dependency {
9601
9602 [Override ("Antecedent"),
9603 Description ("The PrintSAP for the PrintService.") ]
9604 CIM_PrintSAP REF Antecedent;
9605
9606 [Override ("Dependent"),
9607 Description ("The PrintQueue that forwards Jobs to the SAP.") ]
9608 CIM_PrintQueue REF Dependent;
9609 };
9610
9611
9612 // ===================================================================
9613 // OwningPrintQueue
9614 // ===================================================================
9615 [Association, Version ("2.6.0"), Description (
9616 "This association indicates which Queue holds a PrintJob and "
9617 "where the Job is located within that Queue. A Job may remain on "
9618 "its final Queue once it has been printed with a PrintJobStatus "
9619 karl 1.2 "of \"Complete\" or \"Completed With Error\".") ]
9620 class CIM_OwningPrintQueue : CIM_JobDestinationJobs {
9621
9622 [Override ("Antecedent"), Min (1), Max (1),
9623 Description ("The PrintQueue on which the Job is held.") ]
9624 CIM_PrintQueue REF Antecedent;
9625
9626 [Override ("Dependent"), Weak,
9627 Description ("The PrintJob.") ]
9628 CIM_PrintJob REF Dependent;
9629
9630 [Description (
9631 "The position of the PrintJob on the Queue. The top of the "
9632 "Queue is indicated by a value of 1 with higher values being "
9633 "used to represent Jobs that are further away from the top of "
9634 "the Queue. A QueuePosition of zero indicate that the Job has "
9635 "completed (either with or without error).") ]
9636 uint32 QueuePosition;
9637 };
9638
9639
9640 karl 1.2 // ===================================================================
9641 // CIM_OOBAlertService
9642 // ===================================================================
9643 [Version ("2.6.0"), Description (
9644 "This Service is implemented by a LogicalDevice (e.g. a "
9645 "NetworkAdapter or Modem) that is capable of sending alert "
9646 "messages to a remote destination. The alert messages reflect "
9647 "the state of one or more ManagedSystemElements. The Elements "
9648 "for which alert messages are forwarded, are defined by "
9649 "enumerating the ProvidesServiceToElement association for the "
9650 "Service. Out of Band (OOB) refers to the mechanisms in use when "
9651 "normal OS-based management mechanisms are not possible. This "
9652 "occurs when the OS is down or not functioning properly.") ]
9653 class CIM_OOBAlertService : CIM_Service {
9654
9655 [Description (
9656 "The type of the alert destination. For example, the alert "
9657 "may be received by an application listening on a UDP Port on "
9658 "a remote destination, or could be sent to a pager (values "
9659 "4 or 2, respectively)."),
9660 ValueMap {"0", "1", "2", "3", "4"},
9661 karl 1.2 Values {"Unknown", "Other", "Pager", "TCP Port", "UDP Port"},
9662 ModelCorrespondence {
9663 "CIM_OOBAlertService.OtherDestinationTypeDescription"} ]
9664 uint16 DestinationType;
9665
9666 [Description (
9667 "The description of the alert DestinationType. This is used "
9668 "when the DestinationType is set to \"Other\" (value=1)."),
9669 ModelCorrespondence {"CIM_OOBAlertService.DestinationType"} ]
9670 string OtherDestinationTypeDescription;
9671
9672 [Description (
9673 "The address where this Service sends the alerts. The "
9674 "format of this address depends on the DestinationType. For "
9675 "example, if the DestinationType is a UDP Port (value=4), "
9676 "then this property contains a string identifying the IP "
9677 "address of the Port (for example, 111.222.333.444:4567). "
9678 "If DestinationType is a pager (value=2), then the "
9679 "address is a Pager number (for example, 18002257654).") ]
9680 string DestinationAddress;
9681
9682 karl 1.2 [Description (
9683 "The format of the Alert Message sent by the Service."),
9684 ValueMap {"0", "1", "2", "3", "4", "5"},
9685 Values {"Unknown", "Other", "Numeric", "AlphaNumeric",
9686 "Free Form Text", "Platform Event Trap"},
9687 ModelCorrespondence {
9688 "CIM_OOBAlertService.OtherMessageFormatDescription"} ]
9689 uint16 MessageFormat;
9690
9691 [Description (
9692 "The description of the format of the alert message used "
9693 "by the Service when the AlertMessageFormat property is "
9694 "set to \"Other\" (value=1)."),
9695 ModelCorrespondence {"CIM_OOBAlertService.MessageFormat"} ]
9696 string OtherMessageFormatDescription;
9697
9698 [Description (
9699 "If the AlertService only uses a fixed message to send "
9700 "an alert, then this flag should be set to TRUE.") ]
9701 boolean OnlySendsFixedMessage;
9702
9703 karl 1.2 [Description (
9704 "The AlertService may require some fixed data to send as "
9705 "part of the message. This may include things like the "
9706 "address or name of the System. This string contains the "
9707 "complete message when the property, OnlySendsFixedMessage, "
9708 "is set to TRUE.") ]
9709 string FixedPartOfMessage;
9710
9711 [Description (
9712 "If the destination is capable of sending an acknowledgement "
9713 "to the alert, then this flag is set to TRUE. The format of "
9714 "the acknowledgement is determined by the DestinationType "
9715 "and the MessageFormat.") ]
9716 boolean DestinationIsAckCapable;
9717
9718 [Description (
9719 "The AlertService may retry and send an alert more than "
9720 "once. The RetryCount identifies how often the operation will "
9721 "be repeated. If DestinationIsAckCapable is set to TRUE, then "
9722 "the retry will only be done if an Ack is not received. "
9723 "Otherwise, the retries are done unconditionally.") ]
9724 karl 1.2 uint16 RetryCount;
9725
9726 [Description (
9727 "The interval between each successive retry, in seconds. "
9728 "If DestinationIsAckCapable is set to TRUE, then this "
9729 "interval is used as a timeout interval, before the next "
9730 "retry is done."),
9731 Units ("Seconds") ]
9732 uint16 RetryInterval;
9733
9734 [Read, Description (
9735 "If the OOB Alerting service is capable of sending Presence "
9736 "heart beat messages") ]
9737 boolean PresenceHeartbeatCapable;
9738
9739 [Description (
9740 "When set to true causes the OOBAlertService to send Presence"
9741 "heart beat messages"),
9742 ModelCorrespondence {
9743 "CIM_OOBAlertService.PresenceHeartbeatCapable"} ]
9744 boolean EnablePresenceHeartbeats;
9745 karl 1.2 };
9746
9747
9748 // ===================================================================
9749 // WakeUpService
9750 // ===================================================================
9751 [Version ("2.6.0"), Description (
9752 "WakeUpService allows a UnitaryComputerSystem to be woken up "
9753 "from a low power sleep state. This Service is implemented "
9754 "by a LogicalDevice (e.g. NetworkAdapter or Modem) that is "
9755 "capable of receiving wakeup messages, and notifying the "
9756 "System.") ]
9757 class CIM_WakeUpService : CIM_Service {
9758
9759 [Description ("The Type of the WakeUp Service."),
9760 ValueMap {"0", "1", "2", "3", "4"},
9761 Values {"Unknown", "Other", "Wake On LAN - Magic Packet",
9762 "Wake on LAN - Packet Filtering", "Wake On Ring"},
9763 ModelCorrespondence {
9764 "CIM_WakeUpServcice.OtherWakeUpTypeDescription"} ]
9765 uint16 WakeUpType;
9766 karl 1.2
9767 [Description (
9768 "A description of the type of WakeUpService used when "
9769 "WakeUpType is set to \"Other\" (value=1)."),
9770 ModelCorrespondence {"CIM_WakeUpService.WakeUpType"} ]
9771 string OtherWakeUpTypeDescription;
9772
9773 [Description (
9774 "The filter type on the packets/messages that trigger "
9775 "the WakeUpService. This field is only used when the WakeUp"
9776 "Type is set to \"Wake On LAN - Packet Filtering\" (value"
9777 "=3)."),
9778 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7"},
9779 Values {"Unknown", "Other", "ARP Broadcast",
9780 "Neighbor Discovery Multicast",
9781 "IP Packet with Directed MAC Address",
9782 "IPX Diagnostic Responder", "NBT Name Query",
9783 "Binary Match"},
9784 ModelCorrespondence {
9785 "CIM_WakeUpService.OtherFilterTypeDescription"} ]
9786 uint16 FilterType;
9787 karl 1.2
9788 [OctetString, Description (
9789 "The binary data that is used to compare the contents "
9790 "of the received packet. This is used when the FilterType is "
9791 "set to \"Binary Match\" (value=7). This could also be used "
9792 "when the FilterType is set to \"Other\" (value=1).") ]
9793 uint8 FilterData[];
9794
9795 [Description (
9796 "The description of the format of the FilterType used by "
9797 "the Service when the FilterType is set to \"Other\" "
9798 "(value=1)."),
9799 ModelCorrespondence {"CIM_WakeUpService.FilterType"} ]
9800 string OtherFilterTypeDescription;
9801 };
9802
9803
9804 // ===================================================================
9805 // OOBAlertServiceOnModem
9806 // ===================================================================
9807 [Association, Version ("2.6.0"), Description (
9808 karl 1.2 "OOBAlertServiceOnModem defines where the out of band alerting "
9809 "Service is implemented. The Service can either employ a Modem "
9810 "or NetworkAdapter to send alerts.") ]
9811 class CIM_OOBAlertServiceOnModem : CIM_DeviceServiceImplementation {
9812
9813 [Override ("Antecedent"), Max (1),
9814 Description ("The Modem which implements the alerting Service.") ]
9815 CIM_Modem REF Antecedent;
9816
9817 [Override ("Dependent"),
9818 Description ("The alerting Service provided on the Modem.") ]
9819 CIM_OOBAlertService REF Dependent;
9820 };
9821
9822
9823 // ===================================================================
9824 // WakeUpServiceOnModem
9825 // ===================================================================
9826 [Association, Version ("2.6.0"), Description (
9827 "WakeUpServiceOnModem defines where the WakeUpService is "
9828 "implemented. The Service can either employ a Modem or "
9829 karl 1.2 "NetworkAdapter to receive a wakeup signal.") ]
9830 class CIM_WakeUpServiceOnModem : CIM_DeviceServiceImplementation {
9831
9832 [Override ("Antecedent"), Max (1),
9833 Description ("The Modem which implements the WakeUpService.") ]
9834 CIM_Modem REF Antecedent;
9835
9836 [Override ("Dependent"),
9837 Description ("The wakeup Service provided on the Modem.") ]
9838 CIM_WakeUpService REF Dependent;
9839 };
9840
9841
9842 // ===================================================================
9843 // OOBAlertServiceOnNetworkAdapter
9844 // ===================================================================
9845 [Association, Version ("2.6.0"), Description (
9846 "OOBAlertServiceOnNetworkAdapter defines where the out of band "
9847 "alerting Service is implemented. Currently, the Service can "
9848 "either employ a Modem or a NetworkAdapter to send alerts.") ]
9849 class CIM_OOBAlertServiceOnNetworkAdapter :
9850 karl 1.2 CIM_DeviceServiceImplementation {
9851
9852 [Override ("Antecedent"), Max (1), Description (
9853 "The NetworkAdapter which implements the Service.") ]
9854 CIM_NetworkAdapter REF Antecedent;
9855
9856 [Override ("Dependent"), Description (
9857 "The alerting Service provided on the NetworkAdapter.") ]
9858 CIM_OOBAlertService REF Dependent;
9859 };
9860
9861
9862 // ===================================================================
9863 // WakeUpServiceOnNetworkAdapter
9864 // ===================================================================
9865 [Association, Version ("2.6.0"), Description (
9866 "WakeUpServiceOnNetworkAdapter defines where the WakeUpService "
9867 "is implemented. Currently, the Service can either employ a Modem "
9868 "or a NetworkAdapter for wakeup.") ]
9869 class CIM_WakeUpServiceOnNetworkAdapter :
9870 CIM_DeviceServiceImplementation {
9871 karl 1.2
9872 [Override ("Antecedent"), Max (1), Description (
9873 "The NetworkAdapter which implements the Service.") ]
9874 CIM_NetworkAdapter REF Antecedent;
9875
9876 [Override ("Dependent"), Description (
9877 "The wakeup Service provided on the NetworkAdapter.") ]
9878 CIM_WakeUpService REF Dependent;
9879 };
9880
9881
9882 // ==================================================================
9883 // FibreProtocolService
9884 // ==================================================================
9885 [Version ("2.6.0"), Description (
9886 "FibreProtocolService abstracts and allows the management of "
9887 "the Alias, Management, Time, Security, Directory (Naming) and "
9888 "other services and functions available in a Fibre Channel "
9889 "network. This class will be further defined in a later "
9890 "release of CIM.") ]
9891 class CIM_FibreProtocolService : CIM_Service {
9892 karl 1.2 };
9893
9894
9895 // ===================================================================
9896 // UML Page 13 - Redundancy & Grouping
9897 // ===================================================================
9898 // ===================================================================
9899 // RedundancyGroup
9900 // ===================================================================
9901 [Version ("2.6.0"), Description (
9902 "A class derived from LogicalElement that is a special "
9903 "collection of ManagedSystemElements. This collection indicates "
9904 "that the aggregated components together provide redundancy. "
9905 "All elements aggregated in a RedundancyGroup should be "
9906 "instantiations of the same object class.") ]
9907 class CIM_RedundancyGroup : CIM_LogicalElement {
9908
9909 [Key, MaxLen (256), Description (
9910 "CreationClassName indicates the name of the class or "
9911 "the subclass used in the creation of an instance. When "
9912 "used with the other key properties of this class, this "
9913 karl 1.2 "property allows all instances of this class and its "
9914 "subclasses to be uniquely identified.") ]
9915 string CreationClassName;
9916
9917 [Override("Name"),
9918 Key, MaxLen (256), Description (
9919 "The RedundancyGroup Name serves as the key for the "
9920 "Group's instance in an enterprise environment.") ]
9921 string Name;
9922
9923 [Description (
9924 "RedundancyStatus provides information on the state of the "
9925 "RedundancyGroup. \"Fully Redundant\" (value=2) means that "
9926 "all of the configured redundancy is still available; "
9927 "\"Degraded Redundancy\" (3) means that some failures have "
9928 "been experienced but some reduced amount of redundancy is "
9929 "still available; \"Redundancy Lost\" (4) means that a "
9930 "sufficient number of failures have been experienced such "
9931 "that no redundancy is available and the next failure "
9932 "experienced will cause overall failure. Also, the values, "
9933 "\"Other\" (1) and \"Unknown\" (0), are defined."),
9934 karl 1.2 ValueMap {"0", "1", "2", "3", "4"},
9935 Values {"Unknown", "Other", "Fully Redundant",
9936 "Degraded Redundancy", "Redundancy Lost"} ]
9937 uint16 RedundancyStatus;
9938 };
9939
9940
9941 // ===================================================================
9942 // RedundancyComponent
9943 // ===================================================================
9944 [Association, Aggregation, Version ("2.6.0"), Description (
9945 "A RedundancyGroup aggregates Managed System Elements and "
9946 "indicates that these elements, taken together, provide "
9947 "redundancy. All elements aggregated in a RedundancyGroup "
9948 "should be instantiations of the same object class.") ]
9949 class CIM_RedundancyComponent : CIM_Component {
9950
9951 [Override ("GroupComponent"), Aggregate,
9952 Description (
9953 "The RedundancyComponent association indicates that "
9954 "'this set of fans' or 'these physical extents' participate "
9955 karl 1.2 "in a single RedundancyGroup.") ]
9956 CIM_RedundancyGroup REF GroupComponent;
9957 };
9958
9959
9960 // ===================================================================
9961 // SpareGroup
9962 // ===================================================================
9963 [Version ("2.6.0"), Description (
9964 "A class derived from RedundancyGroup indicating that one or "
9965 "more of the aggregated elements can be spared. (The actual "
9966 "Spares are defined using the ActsAsSpare association.) An "
9967 "example is the use of redundant NICs in a ComputerSystem - "
9968 "where one NIC is primary and the other is Spare. The 'primary' "
9969 "NIC would be a member of the SpareGroup (associated using the "
9970 "RedundancyComponent class) and the 'other' NIC would be "
9971 "associated using the ActsAsSpare relationship.") ]
9972 class CIM_SpareGroup : CIM_RedundancyGroup {
9973
9974 [Description (
9975 "This method is forces a failover from one ManagedSystemElement "
9976 karl 1.2 "to another. There are two parameters to the Failover method, "
9977 "FailoverFrom and FailoverTo. The FailoverFrom parameter is a "
9978 "reference to the primary ManagedSystemElement that will become "
9979 "inactive after the method. This Element should be associated "
9980 "with the SpareGroup through the RedundancyComponent "
9981 "relationship. The FailoverTo parameter is a reference to the "
9982 "ManagedSystemElement that will take over for the primary. "
9983 "This Element should be associated with the SpareGroup through "
9984 "the ActsAsSpare association. Once the failover has occurred, "
9985 "the SpareGroup and the RedundancyComponent and ActsAsSpare "
9986 "associations will be updated with current status. For "
9987 "example, the ActsAsSpare association that contained the "
9988 "FailoverTo Element will be deleted and a new Redundancy"
9989 "Component association instantiated in its place. The method "
9990 "should return 0 if successful, 1 if the request is not "
9991 "supported, and some other value if any other error occurred. "
9992 "In a subclass, the set of possible return codes could be "
9993 "specified, using a ValueMap qualifier on the method. The "
9994 "strings to which the ValueMap contents are 'translated' may "
9995 "also be specified in the subclass as a Values array "
9996 "qualifier.") ]
9997 karl 1.2 uint32 Failover(
9998
9999 [IN] CIM_ManagedSystemElement REF FailoverFrom,
10000
10001 [IN] CIM_ManagedSystemElement REF FailoverTo);
10002 };
10003
10004
10005 // ===================================================================
10006 // ActsAsSpare
10007 // ===================================================================
10008 [Association, Version ("2.6.0"), Description (
10009 "The ActsAsSpare association indicates which elements can spare "
10010 "or replace the other aggregated elements. The fact that a "
10011 "spare can operate in \"hot standby\" mode is specified on an "
10012 "element by element basis.") ]
10013 class CIM_ActsAsSpare {
10014
10015 [Key, Description ("The SpareGroup") ]
10016 CIM_SpareGroup REF Group;
10017
10018 karl 1.2 [Key, Description (
10019 "A ManagedSystemElement acting as a spare and participating "
10020 "in the SpareGroup.") ]
10021 CIM_ManagedSystemElement REF Spare;
10022
10023 [Description (
10024 "HotStandby is a boolean indicating that the spare is "
10025 "operating as a hot standby.") ]
10026 boolean HotStandby;
10027 };
10028
10029
10030 // ===================================================================
10031 // StorageRedundancyGroup
10032 // ===================================================================
10033 [Version ("2.6.0"), Description (
10034 "A class derived from RedundancyGroup containing mass "
10035 "storage-related redundancy information. StorageRedundancy"
10036 "Groups are used to protect user data. They are made up of one "
10037 "or more PhysicalExtents, or one or more AggregatePExtents. "
10038 "StorageRedundancyGroups may overlap. However, the "
10039 karl 1.2 "underlying Extents within the overlap should not contain "
10040 "any check data.") ]
10041 class CIM_StorageRedundancyGroup : CIM_RedundancyGroup {
10042
10043 [Description (
10044 "The TypeOfAlgorithm specifies the algorithm used for data "
10045 "redundancy and reconstruction. For example, \"P+Q\" (value"
10046 "=5) or \"P+S\" (7) may be specified. The value of 0, is "
10047 "defined as \"None\" to indicate that data redundancy is not "
10048 "active. An inactive redundancy should only be instantiated "
10049 "if data striping or concatenation are active. These are "
10050 "indicated by the IsStriped or IsConcatentated boolean "
10051 "properties of this RedundancyGroup."),
10052 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7"},
10053 Values {"None", "Other", "Unknown", "Copy", "XOR", "P+Q",
10054 "S", "P+S"},
10055 MappingStrings {"MIF.DMTF|Redundancy Group|001.2"} ]
10056 uint16 TypeOfAlgorithm;
10057
10058 [Description (
10059 "StorageRedundancy provides additional information on the "
10060 karl 1.2 "state of the RedundancyGroup, beyond the RedundancyStatus "
10061 "property. Information like \"Reconfig In Progress\" (value"
10062 "=1) or \"Redundancy Disabled\" can be specified using "
10063 "this property."),
10064 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8"},
10065 Values {"No Additional Status", "Reconfig In Progress",
10066 "Data Lost", "Not Currently Configured",
10067 "Protected Rebuild", "Redundancy Disabled",
10068 "Unprotected Rebuild", "Recalculating", "Verifying"} ]
10069 uint16 StorageRedundancy;
10070
10071 [Description (
10072 "True indicates that the data is striped across the various "
10073 "StorageExtents in the Group.") ]
10074 boolean IsStriped;
10075
10076 [Description (
10077 "True indicates that the data is concatenated across the "
10078 "various StorageExtents in the Group.") ]
10079 boolean IsConcatenated;
10080 };
10081 karl 1.2
10082
10083 // ===================================================================
10084 // ExtraCapacityGroup
10085 // ===================================================================
10086 [Version ("2.6.0"), Description (
10087 "A class derived from RedundancyGroup indicating that the "
10088 "aggregated elements have more capacity or capability than is "
10089 "needed. An example of this type of redundancy is the "
10090 "installation of N+1 power supplies or fans in a system.") ]
10091 class CIM_ExtraCapacityGroup : CIM_RedundancyGroup {
10092
10093 [Description (
10094 "MinNumberNeeded indicates the smallest number of elements "
10095 "that must be operational in order to have redundancy. "
10096 "For example, in an N+1 redundancy relationship, "
10097 "the MinNumberNeeded property should be set equal to N.") ]
10098 uint32 MinNumberNeeded;
10099
10100 [Description (
10101 "Boolean indicating whether load balancing is supported by "
10102 karl 1.2 "the ExtraCapacityGroup.") ]
10103 boolean LoadBalancedGroup;
10104 };
10105
10106
10107 // ===================================================================
10108 // NetworkAdapterRedundancyComponent
10109 // ===================================================================
10110 [Association, Aggregation, Version ("2.6.0"), Description (
10111 "CIM_NetworkAdapterRedundancyComponent indicates the role that "
10112 "a NetworkAdapter plays in a ExtraCapacityGroup, providing "
10113 "load balancing.") ]
10114 class CIM_NetworkAdapterRedundancyComponent : CIM_RedundancyComponent {
10115
10116 [Override("GroupComponent"), Aggregate,
10117 Description (
10118 "The RedundancyGroup representing a set of load balanced "
10119 "NetworkAdapters.") ]
10120 CIM_ExtraCapacityGroup REF GroupComponent;
10121
10122 [Override("PartComponent"),
10123 karl 1.2 Description (
10124 "The Network Adapter(s) belonging to the RedundancyGroup.") ]
10125 CIM_NetworkAdapter REF PartComponent;
10126
10127 [Description (
10128 "Indicates the scope of load balancing for the NetworkAdapters "
10129 "involved in the RedundancyGroup. Load balancing may be "
10130 "restricted to transmitting data only (value=1), "
10131 "receiving data only (value=2), or used for both transmit "
10132 "and receive (value=3)."),
10133 ValueMap {"0", "1", "2", "3"},
10134 Values {"Unknown", "Load Balancing - Transmit Only",
10135 "Load Balancing - Receive Only", "Full Load Balancing"} ]
10136 uint16 ScopeOfBalancing;
10137
10138 [Description (
10139 "Boolean indicating whether the Network Adapter is an original "
10140 "primary adapter (value=1), a preferred primary adapter (2), "
10141 "or both (3). Values of \"Unknown\" and \"Not Applicable\" may "
10142 "also be specified."),
10143 ValueMap {"0", "1", "2", "3", "4"},
10144 karl 1.2 Values {"Unknown", "Original Primary", "Preferred Primary",
10145 "Both", "Not Applicable"} ]
10146 uint16 PrimaryAdapter;
10147 };
10148
10149
10150 // ===================================================================
10151 // NetworkVirtualAdapter
10152 // ===================================================================
10153 [Association, Version ("2.6.0"), Description (
10154 "NetworkVirtualAdapter describes that an instance of Network"
10155 "Adapter is actually the result of several Adapters "
10156 "participating in a load balanced RedundancyGroup.") ]
10157 class CIM_NetworkVirtualAdapter : CIM_LogicalIdentity {
10158
10159 [Override ("SystemElement"),
10160 Description ("The 'virtual' NetworkAdapter.") ]
10161 CIM_NetworkAdapter REF SystemElement;
10162
10163 [Override ("SameElement"),
10164 Description (
10165 karl 1.2 "The ExtraCapacity RedundancyGroup that describes the load "
10166 "balancing. The result of the load balancing is the 'virtual' "
10167 "Adapter.") ]
10168 CIM_ExtraCapacityGroup REF SameElement;
10169 };
10170
10171
10172 // ===================================================================
10173 // ExtentRedundancyComponent
10174 // ===================================================================
10175 [Association, Aggregation, Version ("2.6.0"), Description (
10176 "Describes the StorageExtents participating in a Storage"
10177 "RedundancyGroup.") ]
10178 class CIM_ExtentRedundancyComponent : CIM_RedundancyComponent {
10179
10180 [Override ("GroupComponent"), Aggregate,
10181 Description ("The StorageRedundancyGroup.") ]
10182 CIM_StorageRedundancyGroup REF GroupComponent;
10183
10184 [Override ("PartComponent"), Description (
10185 "The StorageExtent participating in the RedundancyGroup.") ]
10186 karl 1.2 CIM_StorageExtent REF PartComponent;
10187 };
10188
10189
10190 // ===================================================================
10191 // PExtentRedundancyComponent
10192 // ===================================================================
10193 [Association, Aggregation, Version ("2.6.0"), Description (
10194 "Describes the PhysicalExtents participating in a Storage"
10195 "RedundancyGroup.") ]
10196 class CIM_PExtentRedundancyComponent : CIM_ExtentRedundancyComponent {
10197
10198 [Override ("GroupComponent"), Aggregate,
10199 Description ("The StorageRedundancyGroup.") ]
10200 CIM_StorageRedundancyGroup REF GroupComponent;
10201
10202 [Override ("PartComponent"), Description (
10203 "The PhysicalExtent participating in the RedundancyGroup.") ]
10204 CIM_PhysicalExtent REF PartComponent;
10205 };
10206
10207 karl 1.2
10208 // ===================================================================
10209 // AggregateRedundancyComponent
10210 // ===================================================================
10211 [Association, Aggregation, Version ("2.6.0"), Description (
10212 "Describes the AggregatePExtent in a StorageRedundancyGroup.") ]
10213 class CIM_AggregateRedundancyComponent : CIM_ExtentRedundancyComponent {
10214
10215 [Override ("GroupComponent"), Aggregate,
10216 Description ("The StorageRedundancyGroup.") ]
10217 CIM_StorageRedundancyGroup REF GroupComponent;
10218
10219 [Override ("PartComponent"), Description (
10220 "The AggregatePExtent participating in the RedundancyGroup.") ]
10221 CIM_AggregatePExtent REF PartComponent;
10222 };
10223
10224
10225 // ==============================================================
10226 // DiskGroup
10227 // ==============================================================
10228 karl 1.2 [Version ("2.6.0"), Description (
10229 "A DiskGroup is a named collection of DiskDrives and the "
10230 "StorageExtent(s) accessed via those Drives. The "
10231 "collection is used to limit the BasedOn relationships of "
10232 "the Extents in the DiskGroup. Extents in the Group can NOT "
10233 "be BasedOn storage accessed from Drives outside of the "
10234 "Group. For example, a SoftwareVolume created 'within the "
10235 "DiskGroup' is restricted to be completely accessed using "
10236 "Drives in the Group. Actions such as 'replicate' or "
10237 "'migrate' on an Extent must operate within the scope of "
10238 "the Extents present in the DiskGroup.") ]
10239 class CIM_DiskGroup : CIM_CollectionOfMSEs {
10240
10241 [Override ("CollectionID"), Key]
10242 string CollectionID;
10243 };
10244
10245
10246 // ===================================================================
10247 // DriveInDiskGroup
10248 // ===================================================================
10249 karl 1.2 [Association, Aggregation, Version ("2.6.0"), Description (
10250 "CIM_DriveInDiskGroup defines the DiskDrive(s) that participate "
10251 "in the Group.") ]
10252 class CIM_DriveInDiskGroup : CIM_CollectedMSEs {
10253
10254 [Override ("Collection"), Aggregate, Max (1),
10255 Description (
10256 "The DiskGroup. A Drive is a member of at most one "
10257 "DiskGroup.") ]
10258 CIM_DiskGroup REF Collection;
10259
10260 [Override ("Member"), Description (
10261 "The DiskDrive in the Group.") ]
10262 CIM_DiskDrive REF Member;
10263 };
10264
10265
10266 // ===================================================================
10267 // ExtentInDiskGroup
10268 // ===================================================================
10269 [Association, Aggregation, Version ("2.6.0"), Description (
10270 karl 1.2 "CIM_ExtentInDiskGroup defines the StorageExtent(s) that are "
10271 "located within and restricted by the Group.") ]
10272 class CIM_ExtentInDiskGroup : CIM_CollectedMSEs {
10273
10274 [Override ("Collection"), Aggregate, Max (1),
10275 Description (
10276 "The DiskGroup. An Extent is defined within at most one "
10277 "DiskGroup.") ]
10278 CIM_DiskGroup REF Collection;
10279
10280 [Override ("Member"), Description (
10281 "The StorageExtent restricted by and participating in the "
10282 "Group.") ]
10283 CIM_StorageExtent REF Member;
10284 };
10285
10286
10287 // ===================================================================
10288 // GroupInDiskGroup
10289 // ===================================================================
10290 [Association, Aggregation, Version ("2.6.0"), Description (
10291 karl 1.2 "CIM_GroupInDiskGroup describes that a DiskGroup may be "
10292 "divided into smaller named Collections.") ]
10293 class CIM_GroupInDiskGroup : CIM_CollectedCollections {
10294
10295 [Override ("Collection"), Aggregate, Max (1),
10296 Description (
10297 "The DiskGroup that is subsetted into smaller "
10298 "Collections.") ]
10299 CIM_DiskGroup REF Collection;
10300
10301 [Override ("CollectionInCollection"), Description (
10302 "The DiskGroup that is a subset of the larger Group.") ]
10303 CIM_DiskGroup REF CollectionInCollection;
10304 };
10305
10306
10307 // ===================================================================
10308 // UML Page 14 - Settings & Logs
10309 // ===================================================================
10310 // ===================================================================
10311 // MonitorResolution
10312 karl 1.2 // ===================================================================
10313 [Version ("2.6.0"), Description (
10314 "MonitorResolution describes the relationship between "
10315 "horizontal and vertical resolutions, refresh rate and scan "
10316 "mode for a DesktopMonitor. The actual resolutions, etc. that "
10317 "are in use, are the values specified in the VideoController "
10318 "object.") ]
10319 class CIM_MonitorResolution : CIM_Setting {
10320
10321 [Override ("SettingID"),
10322 Key, MaxLen (256),
10323 Description (
10324 "The inherited SettingID serves as part of the key for a "
10325 "MonitorResolution instance.") ]
10326 string SettingID;
10327
10328 [Description ("Monitor's horizontal resolution in Pixels."),
10329 Units ("Pixels"),
10330 ModelCorrespondence {
10331 "CIM_VideoController.CurrentHorizontalResolution"},
10332 MappingStrings {"MIF.DMTF|Monitor Resolutions|002.2"} ]
10333 karl 1.2 uint32 HorizontalResolution;
10334
10335 [Description ("Monitor's vertical resolution in Pixels."),
10336 Units ("Pixels"),
10337 ModelCorrespondence {
10338 "CIM_VideoController.CurrentVerticalResolution"},
10339 MappingStrings {"MIF.DMTF|Monitor Resolutions|002.3"} ]
10340 uint32 VerticalResolution;
10341
10342 [Description (
10343 "Monitor's refresh rate in Hertz. If a range of rates is "
10344 "supported, use the MinRefreshRate and MaxRefreshRate "
10345 "properties, and set RefreshRate (this property) to 0."),
10346 Units ("Hertz"),
10347 ModelCorrespondence {
10348 "CIM_VideoController.CurrentRefreshRate"},
10349 MappingStrings {"MIF.DMTF|Monitor Resolutions|002.4"} ]
10350 uint32 RefreshRate;
10351
10352 [Description (
10353 "Monitor's minimum refresh rate in Hertz, when a range of "
10354 karl 1.2 "rates is supported at the specified resolutions."),
10355 Units ("Hertz"),
10356 ModelCorrespondence {
10357 "CIM_VideoController.MinRefreshRate"},
10358 MappingStrings {"MIF.DMTF|Monitor Resolutions|002.6"} ]
10359 uint32 MinRefreshRate;
10360
10361 [Description (
10362 "Monitor's maximum refresh rate in Hertz, when a range of "
10363 "rates is supported at the specified resolutions."),
10364 Units ("Hertz"),
10365 ModelCorrespondence {
10366 "CIM_VideoController.MaxRefreshRate"},
10367 MappingStrings {"MIF.DMTF|Monitor Resolutions|002.7"} ]
10368 uint32 MaxRefreshRate;
10369
10370 [Description (
10371 "Integer indicating whether the monitor operates in "
10372 "interlaced (value=5) or non-interlaced (4) mode."),
10373 ValueMap {"1", "2", "3", "4", "5"},
10374 Values {"Other", "Unknown", "Not Supported",
10375 karl 1.2 "Non-Interlaced Operation", "Interlaced Operation"},
10376 ModelCorrespondence {
10377 "CIM_VideoController.CurrentScanMode"},
10378 MappingStrings {"MIF.DMTF|Monitor Resolutions|002.5"} ]
10379 uint16 ScanMode;
10380 };
10381
10382
10383 // ===================================================================
10384 // MonitorSetting
10385 // ===================================================================
10386 [Association, Version ("2.6.0"), Description (
10387 "MonitorSetting associates the MonitorResolution Setting object "
10388 "with the DesktopMonitor to which it applies.") ]
10389 class CIM_MonitorSetting : CIM_ElementSetting {
10390
10391 [Override ("Element"), Description (
10392 "The DesktopMonitor.") ]
10393 CIM_DesktopMonitor REF Element;
10394
10395 [Override ("Setting"), Description (
10396 karl 1.2 "The MonitorResolution associated with the DesktopMonitor.") ]
10397 CIM_MonitorResolution REF Setting;
10398 };
10399
10400
10401 // ===================================================================
10402 // VideoControllerResolution
10403 // ===================================================================
10404 [Version ("2.6.0"), Description (
10405 "VideoControllerResolution describes the various video modes "
10406 "that a VideoController can support. Video modes are defined by "
10407 "the possible horizontal and vertical resolutions, refresh "
10408 "rate, scan mode and number of colors settings supported by a "
10409 "Controller. The actual resolutions, etc. that are in use, are "
10410 "the values specified in the VideoController object.") ]
10411 class CIM_VideoControllerResolution : CIM_Setting {
10412
10413 [Override ("SettingID"),
10414 Key, MaxLen (256), Description (
10415 "The inherited SettingID serves as part of the key for a "
10416 "VideoControllerResolution instance.") ]
10417 karl 1.2 string SettingID;
10418
10419 [Description ("Controller's horizontal resolution in Pixels."),
10420 Units ("Pixels"),
10421 ModelCorrespondence {
10422 "CIM_VideoController.CurrentHorizontalResolution"},
10423 MappingStrings {"MIF.DMTF|Monitor Resolutions|002.2"} ]
10424 uint32 HorizontalResolution;
10425
10426 [Description ("Controller's vertical resolution in Pixels."),
10427 Units ("Pixels"),
10428 ModelCorrespondence {
10429 "CIM_VideoController.CurrentVerticalResolution"},
10430 MappingStrings {"MIF.DMTF|Monitor Resolutions|002.3"} ]
10431 uint32 VerticalResolution;
10432
10433 [Description (
10434 "Refresh rate in Hertz. If a range of rates is supported, use "
10435 "the MinRefreshRate and MaxRefreshRate properties, and set "
10436 "RefreshRate (this property) to 0."),
10437 Units ("Hertz"),
10438 karl 1.2 ModelCorrespondence {"CIM_VideoController.CurrentRefreshRate"},
10439 MappingStrings {"MIF.DMTF|Monitor Resolutions|002.4"} ]
10440 uint32 RefreshRate;
10441
10442 [Description (
10443 "Minimum refresh rate in Hertz, when a range of rates is "
10444 "supported at the specified resolutions."),
10445 Units ("Hertz"),
10446 ModelCorrespondence {"CIM_VideoController.MinRefreshRate"},
10447 MappingStrings {"MIF.DMTF|Monitor Resolutions|002.6"} ]
10448 uint32 MinRefreshRate;
10449
10450 [Description (
10451 "Maximum refresh rate in Hertz, when a range of rates is "
10452 "supported at the specified resolutions."),
10453 Units ("Hertz"),
10454 ModelCorrespondence {"CIM_VideoController.MaxRefreshRate"},
10455 MappingStrings {"MIF.DMTF|Monitor Resolutions|002.7"} ]
10456 uint32 MaxRefreshRate;
10457
10458 [Description (
10459 karl 1.2 "Integer indicating whether the Controller operates in "
10460 "interlaced (value=5) or non-interlaced (4) mode."),
10461 ValueMap {"1", "2", "3", "4", "5"},
10462 Values {"Other", "Unknown", "Not Supported",
10463 "Non-Interlaced Operation", "Interlaced Operation"},
10464 ModelCorrespondence {"CIM_VideoController.CurrentScanMode"},
10465 MappingStrings {"MIF.DMTF|Monitor Resolutions|002.5"} ]
10466 uint16 ScanMode;
10467
10468 [Description (
10469 "Number of colors supported at the current resolutions."),
10470 ModelCorrespondence {
10471 "CIM_VideoController.CurrentNumberOfColors"} ]
10472 uint64 NumberOfColors;
10473 };
10474
10475
10476 // ===================================================================
10477 // VideoSetting
10478 // ===================================================================
10479 [Association, Version ("2.6.0"), Description (
10480 karl 1.2 "VideoSetting associates the VideoControllerResolution Setting "
10481 "with the Controller(s) to which it applies.") ]
10482 class CIM_VideoSetting : CIM_ElementSetting {
10483
10484 [Override ("Element"),
10485 Description ("The VideoController.") ]
10486 CIM_VideoController REF Element;
10487
10488 [Override ("Setting"),
10489 Description (
10490 "The resolutions, refresh rates, scan mode and number of colors "
10491 "that can be set for the Controller.") ]
10492 CIM_VideoControllerResolution REF Setting;
10493 };
10494
10495
10496 // ===================================================================
10497 // MessageLog
10498 // ===================================================================
10499 [Version ("2.6.0"), Description (
10500 "MessageLog represents any type of event, error or informational "
10501 karl 1.2 "register or chronicle. The object describes the existence of "
10502 "the log and its characteristics. Several methods are defined "
10503 "for retrieving, writing and deleting log entries, and "
10504 "maintaining the log.") ]
10505 class CIM_MessageLog : CIM_LogicalElement {
10506
10507 [Key, MaxLen (256),
10508 Description (
10509 "CreationClassName indicates the name of the class or "
10510 "the subclass used in the creation of an instance. When "
10511 "used with the other key properties of this class, this "
10512 "property allows all instances of this class and its "
10513 "subclasses to be uniquely identified.") ]
10514 string CreationClassName;
10515
10516 [Override ("Name"),
10517 Key, MaxLen (256),
10518 Description (
10519 "The inherited Name serves as part of the key (a unique "
10520 "identifier) for the MessageLog instance.") ]
10521 string Name;
10522 karl 1.2
10523 [Description (
10524 "An array of integers indicating the Log capabilities. "
10525 "Information such as \"Write Record Supported\" (value="
10526 "2) or \"Variable Length Records Supported\" (8) is "
10527 "specified in this property."),
10528 ArrayType ("Indexed"),
10529 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"},
10530 Values {"Unknown", "Other", "Write Record Supported",
10531 "Delete Record Supported",
10532 "Can Move Backward in Log", "Freeze Log Supported",
10533 "Clear Log Supported",
10534 "Supports Addressing by Ordinal Record Number",
10535 "Variable Length Records Supported",
10536 "Variable Formats for Records",
10537 "Can Flag Records for Overwrite"},
10538 ModelCorrespondence {
10539 "CIM_MessageLog.CapabilitiesDescriptions"} ]
10540 uint16 Capabilities[];
10541
10542 [Description (
10543 karl 1.2 "An array of free-form strings providing more detailed "
10544 "explanations for any of the Log features indicated in "
10545 "the Capabilities array. Note, each entry of this array "
10546 "is related to the entry in the Capabilities array that "
10547 "is located at the same index."),
10548 ArrayType ("Indexed"),
10549 ModelCorrespondence {"CIM_MessageLog.Capabilities"} ]
10550 string CapabilitiesDescriptions[];
10551
10552 [Description (
10553 "The maximum size, in bytes, to which the Log can grow. "
10554 "If there is no maximum, then MaxLogSize should be set "
10555 "to 0."),
10556 Units ("Bytes") ]
10557 uint64 MaxLogSize;
10558
10559 [Description (
10560 "The size of the Log header, in bytes, if one is "
10561 "present. If there is no Log header, then this property "
10562 "should be set to 0. Headers may include general "
10563 "information about the Log such as the current number of "
10564 karl 1.2 "records, time of last update, or a pointer to the location "
10565 "of the first Log entry. Note that this property is NOT the "
10566 "size of the header for an individual Log entry. The latter "
10567 "is described by the property, SizeOfRecordHeader."),
10568 Units ("Bytes") ]
10569 uint64 SizeOfHeader;
10570
10571 [Description (
10572 "If the SizeOfHeader property is non-zero, this property "
10573 "describes the structure and format of the Log header. It "
10574 "is a free-form string. If the SizeOfHeader property is 0, "
10575 "then the information in this property is undefined.") ]
10576 string HeaderFormat;
10577
10578 [Description (
10579 "Maximum size, in bytes, to which an individual Log "
10580 "entry (record) can grow - if the Capabilities array "
10581 "includes a value of 7 (\"Variable Length Records "
10582 "Supported\"). If the Capabilities array does not "
10583 "include a 7, then the Log only supports fixed length "
10584 "entries. The size of these entries is described by "
10585 karl 1.2 "this property."),
10586 Units ("Bytes") ]
10587 uint64 MaxRecordSize;
10588
10589 [Description (
10590 "The size of the header for the Log's individual entries, "
10591 "in bytes, if record headers are defined. If there are no "
10592 "record headers, then this property should be set to 0. "
10593 "Record headers may include information such as the type of "
10594 "the Log entry, the date/time that the entry was last "
10595 "updated, or a pointer to the start of optional data. Note "
10596 "that this property defines the header size for individual "
10597 "records in the Log, while the SizeOfHeader property "
10598 "describes the Log's overall header, typically located at "
10599 "the start of the MessageLog."),
10600 Units ("Bytes") ]
10601 uint64 SizeOfRecordHeader;
10602
10603 [Description (
10604 "If the SizeOfRecordHeader property is non-zero, this "
10605 "property describes the structure and format of the "
10606 karl 1.2 "record headers. It is a free-form string. If the "
10607 "SizeOfRecordHeader property is 0, then the information "
10608 "in this property is undefined.") ]
10609 string RecordHeaderFormat;
10610
10611 [Description (
10612 "Maximum number of records that can be captured in "
10613 "the Log. If undefined, a value of zero should be "
10614 "specified. Note that when the Capabilities array "
10615 "indicates that variable length records are supported "
10616 "(value=7), then it is possible that this maximum may "
10617 "not be achieved.") ]
10618 uint64 MaxNumberOfRecords;
10619
10620 [Description (
10621 "Current number of entries (records) in the Log."),
10622 Gauge ]
10623 uint64 CurrentNumberOfRecords;
10624
10625 [Description (
10626 "An enumeration describing the behavior of the Log, when "
10627 karl 1.2 "it becomes full or near full. For example, the Log may "
10628 "wrap (value=2) or may simply stop recording entries (value"
10629 "=7). \n\n"
10630 "Some of the property's possible values need further "
10631 "explanation:\n"
10632 "3=\"Clear When Near Full\" indicates that all of the Log's "
10633 "entries will be deleted when a specified record capacity is "
10634 "reached. The capacity is specified in percentage, using the "
10635 "property, PercentageNearFull. 'Near Full' may be less than "
10636 "100% if the Log takes time to clear, and a position should "
10637 "always be available for new records. \n"
10638 "4=\"Overwrite Outdated When Needed\" describes that Log "
10639 "entries (timestamped later than the date/time specified in "
10640 "the property, TimeWhenOutdated) can be overwritten. \n"
10641 "5=\"Remove Outdated Records\" specifies that records "
10642 "(timestamped later than the date/time specified in the "
10643 "property, TimeWhenOutdated) are logically and/or physically "
10644 "removed from the Log. \n"
10645 "6=\"Overwrite Specific Records\" indicates that specially "
10646 "flagged records may be overwritten. This property only makes "
10647 "sense when the Capabilities array includes a value of 10, "
10648 karl 1.2 "\"Can Flag Records for Overwrite\"."),
10649 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7"},
10650 Values {"Unknown", "Other", "Wraps When Full",
10651 "Clear When Near Full",
10652 "Overwrite Outdated When Needed",
10653 "Remove Outdated Records",
10654 "Overwrite Specific Records",
10655 "Never Overwrite"},
10656 ModelCorrespondence {"CIM_MessageLog.OtherPolicyDescription",
10657 "CIM_MessageLog.TimeWhenOutdated",
10658 "CIM_MessageLog.PercentageNearFull"} ]
10659 uint16 OverwritePolicy;
10660
10661 [Description (
10662 "When the OverwritePolicy specifies a value of 1 "
10663 "(\"Other\"), the Log's behavior can be explained "
10664 "using this property. If OverwritePolicy is not 1, "
10665 "then this property's contents are undefined."),
10666 ModelCorrespondence {"CIM_MessageLog.OverwritePolicy"} ]
10667 string OtherPolicyDescription;
10668
10669 karl 1.2 [Description (
10670 "If the OverwritePolicy is based on 'outdated' records "
10671 "(values 4 or 5), this property defines when a Log entry "
10672 "is considered to be outdated - either by time interval or "
10673 "at a specific date and time."),
10674 ModelCorrespondence {"CIM_MessageLog.OverwritePolicy"} ]
10675 datetime TimeWhenOutdated;
10676
10677 [Description (
10678 "If the OverwritePolicy is based on clearing records "
10679 "when the Log is near full (value=3), this property defines "
10680 "the record capacity (in percentage) that is considered to "
10681 "be 'near full'."),
10682 Units ("Percent"),
10683 ModelCorrespondence {"CIM_MessageLog.OverwritePolicy"} ]
10684 uint8 PercentageNearFull;
10685
10686 [Description (
10687 "An enumeration describing the last change to the "
10688 "MessageLog."),
10689 ValueMap {"0", "1", "2", "3", "4"},
10690 karl 1.2 Values {"Unknown", "Add", "Delete", "Modify", "Log Cleared"} ]
10691 uint16 LastChange;
10692
10693 [Description (
10694 "When a change is made to the Log, the date/time of "
10695 "that modification is captured. This property could be "
10696 "used to event against any update to the MessageLog.") ]
10697 datetime TimeOfLastChange;
10698
10699 [Description (
10700 "When a change is made to the Log, the record number that "
10701 "was modified is captured.") ]
10702 uint64 RecordLastChanged;
10703
10704 [Description (
10705 "Boolean indicating that the Log is currently frozen and "
10706 "modifications are not allowed.") ]
10707 boolean IsFrozen;
10708
10709 [Description (
10710 "An enumeration describing the character set used to record "
10711 karl 1.2 "data in the individual Log entries. For example, the "
10712 "Log records may contain ASCII data (value=2), or be raw octet "
10713 "strings (value=10)."),
10714 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
10715 "10", "11"},
10716 Values {"Unknown", "Other", "ASCII", "Unicode", "ISO2022",
10717 "ISO8859", "Extended UNIX Code", "UTF-8", "UCS-2",
10718 "Bitmapped Data", "OctetString",
10719 "Defined by Individual Records"} ]
10720 uint16 CharacterSet;
10721
10722 [Description (
10723 "Requests that the MessageLog be cleared of all entries. "
10724 "The return value should be 0 if the request was successfully "
10725 "executed, 1 if the request is not supported and some other "
10726 "value if an error occurred. If the request is not supported, "
10727 "check the Capabilities array that a value of 6 (\"Clear Log "
10728 "Supported\") is specified. \n\n"
10729 "Note: In a subclass, the set of possible return codes could "
10730 "be described using a ValueMap qualifier on the method. The "
10731 "strings to which the ValueMap contents are 'translated' may "
10732 karl 1.2 "also be specified in the subclass as a Values array "
10733 "qualifier.") ]
10734 uint32 ClearLog();
10735
10736 [Description (
10737 "Requests that an iteration of the MessageLog be established "
10738 "and that the iterator be set to the first entry in the Log. "
10739 "An identifier for the iterator is returned as an output "
10740 "parameter of the method. \n"
10741 "\n"
10742 "Regarding iteration, you have 2 choices: 1) Embed iteration "
10743 "data in the method call, and allow implementations to track/"
10744 "store this data manually; or, 2) Iterate using a separate "
10745 "object (for example, class ActiveIterator) as an iteration "
10746 "agent. The first approach is used here for interoperability. "
10747 "The second requires an instance of the Iterator object for "
10748 "EACH iteration in progress. 2's functionality could be "
10749 "implemented underneath 1. \n"
10750 "\n"
10751 "The return value from PositionToFirstRecord should be 0 if "
10752 "the request was successfully executed, 1 if the request is "
10753 karl 1.2 "not supported and some other value if an error occurred. In "
10754 "a subclass, the set of possible return codes could be "
10755 "specified, using a ValueMap qualifier on the method. The "
10756 "strings to which the ValueMap contents are 'translated' may "
10757 "also be specified in the subclass as a Values array "
10758 "qualifier.") ]
10759 uint32 PositionToFirstRecord (
10760
10761 [IN (false), OUT] string IterationIdentifier);
10762
10763 [Description (
10764 "Requests that the Log's iteration identifier be advanced or "
10765 "retreated a specific number of records, or set to the "
10766 "entry at a specified numeric location. These two different "
10767 "behaviors are accomplished using the input parameters of the "
10768 "method. Advancing or retreating is achieved by setting the "
10769 "MoveAbsolute boolean to FALSE, and then specifying the number "
10770 "of entries to advance or retreat as positive or negative values "
10771 "in the RecordNumber parameter. Moving to a specific record "
10772 "number is accomplished by setting the MoveAbsolute input "
10773 "parameter to TRUE, and then placing the record number into "
10774 karl 1.2 "the RecordNumber parameter. This can only be done if the "
10775 "Capabilities array includes a value of 7, \"Supports "
10776 "Addressing by Ordinal Record Number\". \n"
10777 "\n"
10778 "After the method completes and if ordinal record numbers are "
10779 "supported (the Capabilities array includes a 7), the current "
10780 "record number is returned in the RecordNumber output parameter. "
10781 "Otherwise, the value of the parameter is undefined. \n"
10782 "\n"
10783 "IterationIdentifier is defined as an Input/Output method "
10784 "parameter to allow the Log to embed state information in "
10785 "the Identifier and potentially let the identifier be "
10786 "maintained by the using application. \n"
10787 "\n"
10788 "The return value from PositionAtRecord should be 0 if "
10789 "the request was successfully executed, 1 if the request is "
10790 "not supported and some other value if an error occurred. If "
10791 "the request is not supported, check the Capabilities array "
10792 "regarding support for ordinal record number addressing and "
10793 "backward movement in the Log (values 7 and 4, respectively). \n"
10794 "\n"
10795 karl 1.2 "Note: In a subclass, the set of possible return codes could "
10796 "be described using a ValueMap qualifier on the method. The "
10797 "strings to which the ValueMap contents are 'translated' may "
10798 "also be specified in the subclass as a Values array "
10799 "qualifier.") ]
10800 uint32 PositionAtRecord (
10801
10802 [IN, OUT] string IterationIdentifier,
10803
10804 [IN, Description ("Advancing or retreating the IterationIdentifier "
10805 "is achieved by setting the MoveAbsolute boolean to FALSE, "
10806 "and specifying the number of entries to advance or retreat "
10807 "as positive or negative values in the RecordNumber "
10808 "parameter. Moving to a specific record number is "
10809 "accomplished by setting the MoveAbsolute parameter to TRUE, "
10810 "and placing the record number into the RecordNumber "
10811 "parameter.") ]
10812 boolean MoveAbsolute,
10813
10814 [IN, OUT] sint64 RecordNumber);
10815
10816 karl 1.2 [Description (
10817 "Requests that the record indicated by the IterationIdentifier "
10818 "be retrieved from the MessageLog. After retrieval, the "
10819 "IterationIdentifier may be advanced to the next record by "
10820 "setting the PositionToNext input parameter to TRUE. Two output "
10821 "parameters are defined for the method - RecordData which holds "
10822 "the contents of the Log entry (as an array of bytes that can "
10823 "be recast to an appropriate format), and RecordNumber which "
10824 "returns the current record number addressed via the Iteration"
10825 "Identifier. The RecordNumber parameter is only defined/valid "
10826 "when the Capabilities array indicates that ordinal record "
10827 "number addressing is supported (a value of 7). \n"
10828 "\n"
10829 "IterationIdentifier is defined as an Input/Output method "
10830 "parameter to allow the Log to embed state information in "
10831 "the Identifier and potentially let the identifier be "
10832 "maintained by the using application. \n"
10833 "\n"
10834 "The return value from GetRecord should be 0 if the request "
10835 "was successfully executed, 1 if the request is not supported, "
10836 "and some other value if an error occurred. In a subclass, the "
10837 karl 1.2 "set of possible return codes could be specified, using a "
10838 "ValueMap qualifier on the method. The strings to which the "
10839 "ValueMap contents are 'translated' may also be specified in "
10840 "the subclass as a Values array qualifier.") ]
10841 uint32 GetRecord (
10842
10843 [IN, OUT] string IterationIdentifier,
10844
10845 [IN, Description ("Boolean indicating that the Iteration"
10846 "Identifier should be advanced to the next record, after "
10847 "retrieving the current Log entry.") ]
10848 boolean PositionToNext,
10849
10850 [IN (false), OUT] uint64 RecordNumber,
10851
10852 [IN (false), OUT] uint8 RecordData[]);
10853
10854 [Description (
10855 "Requests that the record indicated by the IterationIdentifier "
10856 "be deleted from the MessageLog. After deletion, the Iteration"
10857 "Identifier may be advanced to the next record by setting the "
10858 karl 1.2 "PositionToNext input parameter to TRUE. If set to FALSE, then "
10859 "the IterationIdentifier will be positioned at the previous "
10860 "record. Two output parameters are defined for the method - "
10861 "RecordData which holds the contents of the deleted Log entry "
10862 "(as an array of bytes that can be recast to an appropriate "
10863 "format or discarded), and RecordNumber which returns the "
10864 "current record number addressed via the IterationIdentifier. "
10865 "The RecordNumber parameter is only defined/valid when the "
10866 "Capabilities array indicates that ordinal record number "
10867 "addressing is supported (a value of 7). \n"
10868 "\n"
10869 "IterationIdentifier is defined as an Input/Output method "
10870 "parameter to allow the Log to embed state information in "
10871 "the Identifier and potentially let the identifier be "
10872 "maintained by the using application. \n"
10873 "\n"
10874 "The return value from DeleteRecord should be 0 if the request "
10875 "was successfully executed, 1 if the request is not supported, "
10876 "and some other value if an error occurred. If the request is "
10877 "not supported, check the Capabilities array that a value of 3 "
10878 "(\"Delete Record Supported\") is specified. \n"
10879 karl 1.2 "\n"
10880 "Note: In a subclass, the set of possible return codes could "
10881 "be described using a ValueMap qualifier on the method. The "
10882 "strings to which the ValueMap contents are 'translated' may "
10883 "also be specified in the subclass as a Values array "
10884 "qualifier.") ]
10885 uint32 DeleteRecord (
10886
10887 [IN, OUT] string IterationIdentifier,
10888
10889 [IN, Description ("Boolean that when set to TRUE requests the "
10890 "IterationIdentifier to be advanced to the next record, "
10891 "after the current entry is deleted. If set to FALSE, "
10892 "IterationIdentifier is set to the previous record.") ]
10893 boolean PositionToNext,
10894
10895 [IN (false), OUT] uint64 RecordNumber,
10896
10897 [IN (false), OUT] uint8 RecordData[]);
10898
10899 [Description (
10900 karl 1.2 "Requests that a record be inserted at the Log position "
10901 "indicated by the IterationIdentifier. The entry's data is "
10902 "provided in the RecordData input parameter. After insertion, "
10903 "the IterationIdentifier may be advanced to the next record "
10904 "by setting the PositionToNext input parameter to TRUE. "
10905 "The output parameter, RecordNumber, returns the current "
10906 "record number addressed via the IterationIdentifier. This "
10907 "parameter is only defined/valid when the Capabilities array "
10908 "indicates that ordinal record number addressing is supported "
10909 "(a value of 7). \n"
10910 "\n"
10911 "IterationIdentifier is defined as an Input/Output method "
10912 "parameter to allow the Log to embed state information in "
10913 "the Identifier and potentially let the identifier be "
10914 "maintained by the using application. \n"
10915 "\n"
10916 "The return value from WriteRecord should be 0 if the request "
10917 "was successfully executed, 1 if the request is not supported, "
10918 "and some other value if an error occurred. If the request is "
10919 "not supported, check the Capabilities array that a value of 2 "
10920 "(\"Write Record Supported\") is specified. \n"
10921 karl 1.2 "\n"
10922 "Note: In a subclass, the set of possible return codes could "
10923 "be described using a ValueMap qualifier on the method. The "
10924 "strings to which the ValueMap contents are 'translated' may "
10925 "also be specified in the subclass as a Values array "
10926 "qualifier.") ]
10927 uint32 WriteRecord (
10928
10929 [IN, OUT] string IterationIdentifier,
10930
10931 [IN, Description ("Boolean indicating that the Iteration"
10932 "Identifier should be advanced to the next record, after "
10933 "writing the Log entry.") ]
10934 boolean PositionToNext,
10935
10936 [IN] uint8 RecordData[],
10937
10938 [IN (false), OUT] uint64 RecordNumber);
10939
10940 [Description (
10941 "Requests that an iteration of the Log, identified by the "
10942 karl 1.2 "IterationIdentifier input parameter, be stopped. The "
10943 "return value from CancelIteration should be 0 if the "
10944 "request was successfully executed, 1 if the request is "
10945 "not supported and some other value if an error occurred. In "
10946 "a subclass, the set of possible return codes could be "
10947 "specified, using a ValueMap qualifier on the method. The "
10948 "strings to which the ValueMap contents are 'translated' "
10949 "may also be specified in the subclass as a Values array "
10950 "qualifier.") ]
10951 uint32 CancelIteration (
10952
10953 [IN] string IterationIdentifier);
10954
10955 [Description (
10956 "Requests that the MessageLog be placed in a frozen state "
10957 "(\"Freeze\" input parameter = TRUE) or 'unfrozen' (= FALSE). "
10958 "If frozen, modifications to the Log will not be allowed. "
10959 "If successful, the Log's IsFrozen boolean property will "
10960 "be updated to reflect the desired state. \n\n"
10961 "The method's return code should be 0 if the request was "
10962 "successfully executed, 1 if the request is not supported "
10963 karl 1.2 "and some other value if an error occurred. If the request "
10964 "is not supported, check the Capabilities array that a value "
10965 "of 5 (\"Freeze Log Supported\") is specified. \n\n"
10966 "Note: In a subclass, the set of possible return codes could "
10967 "be described using a ValueMap qualifier on the method. The "
10968 "strings to which the ValueMap contents are 'translated' may "
10969 "also be specified in the subclass as a Values array "
10970 "qualifier.") ]
10971 uint32 FreezeLog(
10972
10973 [IN] boolean Freeze);
10974
10975 [Description (
10976 "Requests that the record indicated by the IterationIdentifier "
10977 "be flagged as overwriteable. This method is only supported "
10978 "when the Capabilities array includes a value of 10, \"Can Flag "
10979 "Records for Overwrite\". After updating the entry, the "
10980 "IterationIdentifier may be advanced to the next record by "
10981 "setting the PositionToNext input parameter to TRUE. One output "
10982 "parameter is defined for the method RecordNumber. It returns "
10983 "the current record number addressed via the Iteration"
10984 karl 1.2 "Identifier. This parameter is only defined/valid when the "
10985 "Capabilities array indicates that ordinal record number "
10986 "addressing is supported (a value of 7). \n"
10987 "\n"
10988 "IterationIdentifier is defined as an Input/Output method "
10989 "parameter to allow the Log to embed state information in "
10990 "the Identifier and potentially let the identifier be "
10991 "maintained by the using application. \n"
10992 "\n"
10993 "The return value from FlagRecordForOverwrite should be 0 if "
10994 "the request was successfully executed, 1 if the request is not "
10995 "supported, and some other value if an error occurred. In a "
10996 "subclass, the set of possible return codes could be specified, "
10997 "using a ValueMap qualifier on the method. The strings to which "
10998 "the ValueMap contents are 'translated' may also be specified "
10999 "in the subclass as a Values array qualifier.") ]
11000 uint32 FlagRecordForOverwrite (
11001
11002 [IN, OUT] string IterationIdentifier,
11003
11004 [IN, Description ("Boolean indicating that the Iteration"
11005 karl 1.2 "Identifier should be advanced to the next record, after "
11006 "updating the current Log entry.") ]
11007 boolean PositionToNext,
11008
11009 [IN (false), OUT] uint64 RecordNumber);
11010 };
11011
11012
11013 // ===================================================================
11014 // LogRecord
11015 // ===================================================================
11016 [Version ("2.6.0"), Description (
11017 "The LogRecord object can describe the definitional format for "
11018 "entries in a MessageLog, or can be used to instantiate the "
11019 "actual records in the Log. The latter approach provides a "
11020 "great deal more semantic definition and management control over "
11021 "the individual entries in a MessageLog, than do the record "
11022 "manipulation methods of the Log class. It is recommended that "
11023 "the data in individual Log entries be modeled using subclasses "
11024 "of LogRecord, to avoid the creation of LogRecords with one "
11025 "property (such as RecordData) without semantics. \n"
11026 karl 1.2 "Definitional formats for LogRecords could be specified by "
11027 "establishing a naming convention for the RecordID and Message"
11028 "Timestamp key properties.") ]
11029 class CIM_LogRecord : CIM_ManagedElement {
11030
11031 [Propagated("CIM_MessageLog.CreationClassName"),
11032 Key, MaxLen (256),
11033 Description ("The scoping Log's CreationClassName.") ]
11034 string LogCreationClassName;
11035
11036 [Propagated("CIM_MessageLog.Name"),
11037 Key, MaxLen (256),
11038 Description ("The scoping Log's Name.") ]
11039 string LogName;
11040
11041 [Key, MaxLen (256),
11042 Description (
11043 "CreationClassName indicates the name of the class or "
11044 "the subclass used in the creation of an instance. When "
11045 "used with the other key properties of this class, this "
11046 "property allows all instances of this class and its "
11047 karl 1.2 "subclasses to be uniquely identified.") ]
11048 string CreationClassName;
11049
11050 [Key, MaxLen (256),
11051 Description (
11052 "RecordID, with the MessageTimestamp property, serve to "
11053 "uniquely identify the LogRecord within a MessageLog. Note "
11054 "that this property is different than the RecordNumber "
11055 "parameters of the MessageLog methods. The latter are ordinal "
11056 "values only, useful to track position when iterating through "
11057 "a Log. On the other hand, RecordID is truly an identifier "
11058 "for an instance of LogRecord. It may be set to the record's "
11059 "ordinal position, but this is not required.") ]
11060 string RecordID;
11061
11062 [Key, Description (
11063 "A LogRecord's key structure includes a timestamp for "
11064 "the entry.") ]
11065 datetime MessageTimestamp;
11066
11067 [Description (
11068 karl 1.2 "A free-form string describing the LogRecord's data "
11069 "structure.") ]
11070 string DataFormat;
11071 };
11072
11073
11074 // ===================================================================
11075 // RecordInLog
11076 // ===================================================================
11077 [Association, Aggregation, Version ("2.6.0"), Description (
11078 "RecordInLog describes the aggregation or location of Log "
11079 "entries within a MessageLog.") ]
11080 class CIM_RecordInLog {
11081
11082 [Key, Aggregate, Min (1), Max (1),
11083 Description ("The Message Log.") ]
11084 CIM_MessageLog REF MessageLog;
11085
11086 [Key, Weak, Description (
11087 "The Log entry contained within the MessageLog.") ]
11088 CIM_LogRecord REF LogRecord;
11089 karl 1.2 };
11090
11091
11092 // ===================================================================
11093 // LogInDeviceFile
11094 // ===================================================================
11095 [Association, Version ("2.6.0"), Description (
11096 "MessageLogs can reside in data files, on specially allocated "
11097 "storage areas such as disks or memory, or output as raw I/O "
11098 "streams. In fact, a single Log may use each of these mechanisms "
11099 "to output or capture its contents. The LogInDeviceFile "
11100 "association describes a Log outputting to a raw I/O stream "
11101 "DeviceFile - for example, a serial port on a UNIX system.") ]
11102 class CIM_LogInDeviceFile : CIM_Dependency {
11103
11104 [Override ("Antecedent"), Description (
11105 "The I/O stream DeviceFile.") ]
11106 CIM_DeviceFile REF Antecedent;
11107
11108 [Override ("Dependent"),
11109 Description ("The MessageLog outputting to the DeviceFile.") ]
11110 karl 1.2 CIM_MessageLog REF Dependent;
11111 };
11112
11113
11114 // ===================================================================
11115 // LogInDataFile
11116 // ===================================================================
11117 [Association, Version ("2.6.0"), Description (
11118 "MessageLogs can reside in data files, on specially allocated "
11119 "storage areas such as disks or memory, or output as raw I/O "
11120 "streams. In fact, a single Log may use each of these mechanisms "
11121 "to output or capture its contents. The LogInDataFile "
11122 "association describes a Log stored as a DataFile.") ]
11123 class CIM_LogInDataFile : CIM_Dependency {
11124
11125 [Override ("Antecedent"), Description (
11126 "The DataFile.") ]
11127 CIM_DataFile REF Antecedent;
11128
11129 [Override ("Dependent"),
11130 Description ("The MessageLog residing in the DataFile.") ]
11131 karl 1.2 CIM_MessageLog REF Dependent;
11132 };
11133
11134
11135 // ===================================================================
11136 // LogInStorage
11137 // ===================================================================
11138 [Association, Version ("2.6.0"), Description (
11139 "MessageLogs can reside in data files, on specially allocated "
11140 "storage areas such as disks or memory, or output as raw I/O "
11141 "streams. In fact, a single Log may use each of these mechanisms "
11142 "to output or capture its contents. The LogInStorage "
11143 "association describes a Log located in a specially allocated "
11144 "portion of a StorageExtent. The offset of the Log, within "
11145 "the Extent, is defined using a property of the association, "
11146 "StartingOffset.") ]
11147 class CIM_LogInStorage : CIM_Dependency {
11148
11149 [Override ("Antecedent"), Description ("The StorageExtent.") ]
11150 CIM_StorageExtent REF Antecedent;
11151
11152 karl 1.2 [Override ("Dependent"),
11153 Description ("The MessageLog located within the Extent.") ]
11154 CIM_MessageLog REF Dependent;
11155
11156 [Description (
11157 "StartingOffset indicates where in the Extent that the Log "
11158 "begins.") ]
11159 uint64 StartingOffset;
11160 };
11161
11162
11163 // ===================================================================
11164 // UseOfMessageLog
11165 // ===================================================================
11166 [Association, Version ("2.6.0"), Description (
11167 "ManagedSystemElements may record their event, error or "
11168 "informational data within MessageLogs. The use of a Log to "
11169 "hold a ManagedSystemElement's data is described by this "
11170 "association. The type of Element data captured by the Log "
11171 "can be specified using the RecordedData string property.") ]
11172 class CIM_UseOfMessageLog : CIM_Dependency {
11173 karl 1.2
11174 [Override ("Antecedent"), Description ("The MessageLog.") ]
11175 CIM_MessageLog REF Antecedent;
11176
11177 [Override ("Dependent"), Description (
11178 "The ManagedSystemElement whose information is recorded in "
11179 "the MessageLog.") ]
11180 CIM_ManagedSystemElement REF Dependent;
11181
11182 [Description (
11183 "A free-form string describing the use of the Log by the "
11184 "ManagedSystemElement.") ]
11185 string RecordedData;
11186 };
11187
11188
11189 // ===================================================================
11190 // end of file
11191 // ===================================================================
|