1 karl 1.1 // ===================================================================
2 // Title: Devices MOF specification 2.5
3 // Filename: CIM_Device25.mof
4 // Version: 2.5
5 // Date: 12/19/2000
6 // Release: 0
7 // Description: The object classes below are listed in an order that
8 // avoids forward references. Required objects, defined
9 // by other working groups, are omitted.
10 // ==================================================================
11 // Author: DMTF System and Devices Working Group
12 // Editor: Michael A. Thatcher
13 // ==================================================================
14 // Date: 04/14/1998 - Version 2.0
15 // 06/23/1998 - V2.0 Errata
16 // - CR222, References to the "Resource" component in
17 // CIM_ComputerSystemResource association and its
18 // subclasses incorrect - Should be PartComponent
19 // - CR225, Antecedent reference should be CIM_CurrentSensor
20 // in the AssociatedSupplyCurrentSensor relationship
21 // - CR226, Add ArrayType("Indexed") and update descriptions
22 karl 1.1 // for CIM_NetworkAdapter.NetworkAddresses and its
23 // overrides
24 // - CR227, UninterruptablePowerSupply should be
25 // Uninterruptible
26 // - CR235, Format for specifying propagated value uses
27 // period, not colon
28 // 09/29/1998 - Version 2.1
29 // - CR236, Add ModelCorrespondence qualifier to properties
30 // of CIM_MonitorResolution
31 // - CR243, Add AutoSense and MaxSpeed properties to
32 // CIM_NetworkAdapter
33 // - CR244a, Extend the enumeration of CIM_Processor.Family,
34 // Add a new Processor property, OtherFamilyDescription
35 // - CR245, Add CIM_AllocatedDMA association
36 // - CR254, Add CIM_DeviceErrorCounts object and related
37 // association, CIM_ErrorCountersForDevice
38 // - CR259, Add DesiredSpeed property and SetSpeed method
39 // to CIM_Fan
40 // - CR261a, Add two properties to CIM_Battery, ExpectedLife
41 // and MaxRechargeTime
42 // - CR265, Address "cleaning" related to a CIM_Media
43 karl 1.1 // AccessDevice
44 // - CR266, Add CIM_AlarmDevice and association
45 // - CR274, Remove repetition of the Values array from
46 // property Descriptions
47 // - CR275, Update DMI Master.MIF mappings
48 // - CR288a, Add AssociatedProcessorMemory relationship
49 // - CR292, Add ModelCorrespondence to 'linked' properties
50 // - CR294, Remove key-qualifier from 'StartingAddress' in
51 // CIM_BIOSLoadedInNV
52 // 10/14/1998 - Version 2.1.1
53 // - Missed CR271a, Add Stepping property to CIM_Processor
54 // 06/11/1999 - Version 2.2
55 // - CR297, Add Sparc processors to the enum, Processor.Family
56 // - CR308a, Create DeviceIdentity relationship
57 // - CR316, Add OrderIndex to BasedOn
58 // - CR318c, Add processors to the enum, Processor.Family
59 // - CR325, Load balancing (Add LoadBalancedGroup boolean to
60 // ExtraCapacityGroup, Create new NetworkAdapter
61 // RedundancyComponent and NetworkVirtualAdapter
62 // associations)
63 // - CR326, Add properties, LoadedOnDevice and UpgradeableOn
64 karl 1.1 // Device to DeviceSoftware
65 // - CR327b, Update the PCIController class and add new
66 // subclasses, PCIDevice and PCIBridge
67 // - CR328, New MappingStrings, Descriptions and properties in
68 // SCSIController and SCSIInterface
69 // - CR329a, Add to the MediaAccessDevice Capabilities array,
70 // (enum) / Also, add a MediaIsLocked property and
71 // LockMedia method / Create subclass, DVDDevice
72 // - CR330a, Add properties and methods to AlarmDevice
73 // - CR331, Create IDE, PCMCIA and InfraredController
74 // subclasses of Controller / Add to the enum for
75 // Controller.ProtocolSupported
76 // - CR332, Add PartitionType and PartitionSubtype properties
77 // to DiskPartition / Update class Description
78 // - CR333a, Extensions to and clarifications of StorageExtent
79 // - CR334, Clarify the StorageRedundancyGroup.TypeOfAlgorithm
80 // enum and add properties to the class / Create an
81 // ExtentRedundancyComponent association
82 // - CR335a, Updates to the Printer object
83 // - CR336, New Printer-related classes and associations
84 // - CR341, Create new Modem classes, properties and
85 karl 1.1 // associations
86 // - CR342, Create OOBAlert and WakeUpServices and
87 // associations to NetworkAdapter
88 // - CR343, Create new NetworkAdapter classes, properties
89 // and associations
90 // - CR344, Changes to POTSModem and movement of some
91 // properties up to CIM_Modem
92 // - CR345b, Changes to Sensor and its subclasses
93 // - CR346, Add WatchDog object
94 // - CR347, Add a UniqueID property to Processor
95 // - CR348, Create AGPVideoController and AGPSoftware
96 // Feature classes
97 // - CR351, Add TimeOfDeviceReset to ControlledBy
98 // - CR355a, Use Values-ValueMap qualifiers in DeviceError
99 // Counts.ResetCounter and AlarmDevice.SetUrgency /
100 // Update the method descriptions indicating that
101 // Values-ValueMap qualifiers can be defined for
102 // return codes
103 // - CR356a, Keys on all associations either explicitly or
104 // via inheritance
105 // - CR357, Remove company references
106 karl 1.1 // - CR360, Add VendorID to ConnectionBasedModem
107 // - CR366, Clarify the Description for ResidesOnExtent
108 // - CR372, Create LogicalPort and PortOnDevice
109 // - CR373, Define the USB Model
110 // - CR375, Update descriptions and enumerations / Add new
111 // classes - SuppliesPower, VideoControllerResolution,
112 // VideoSetting / Create new properties - IRQ.Hardware,
113 // Security in MediaAccessDevice, ParallelController and
114 // SerialController, VideoController.CurrentNumberOf
115 // Colors, ScreenHeight and Width in DesktopMonitor,
116 // NetworkAdapter.FullDuplex, Processor.CPUStatus,
117 // MemoryMappedIO.MappedResource and 3 'storage is
118 // writeable' properties in NonVolatileStorage
119 // - CR377, Add "video processor" to Processor.Family
120 // - CR379a, Update the DMI MappingStrings
121 // - CR380a, Define the Fibre Channel Adapter and Port models
122 // - CR381, Update MediaAccessDevice's enumerations and add new
123 // properties - LastCleaned, MaxAccessTime,
124 // UncompressedDataRate, LoadTime, UnloadTime / Create
125 // MediaPresent.FixedMedia / Update StorageExtent's
126 // enumerations and add a SequentialAccess property /
127 karl 1.1 // Create TapeDrive.MaxRewindTime
128 // - CR382, Create a DiskGroup class and its supporting
129 // associations
130 // - CR384, Update Processor.UpgradeMethod / Create an
131 // ESCONController
132 // - CR393a, Define the Tape Library Device Model
133 // - CR394, Update Descriptions / Add VolumeSet.VolumeStatus
134 // and properties to VolumeSetBasedOnPSExtent (from
135 // CR333a)
136 // - CR399, Remove SubmitsRequest from CR336
137 // - CR405, Add Counter and Gauge qualifiers as appropriate
138 // - CR406, Update PartitionSubtype enumeration from CR332
139 // - CR407, Add DoorAccessToPhysicalElement and Changer.
140 // AuditInProgress
141 // - CR408, Update the Description for StorageExtent.
142 // ConsumableBlocks (from CR333a)
143 // - CR410, Updates to the Fibre Channel Model submitted in
144 // CR380a
145 // - CR414, Add "Mouse-Optical Sensor" to PointingDevice.
146 // PointingType
147 // - CR415, Remove OrderOfQueue from QueueForPrintService
148 karl 1.1 // (added in CR336)
149 // - CR417a, Add "N/A" to CacheMemory.Level
150 // - CR418a, Add to the enum for CacheMemory.Read and Write
151 // Policy / Update Descriptions related to Storage
152 // Volume (from CR333a) / Change the association,
153 // LogicalDiskBasedOnSoftwareVolume (CR333a) to
154 // LogicalDiskBasedOnVolume
155 // - CR420, Miscellaneous syntax and semantic issues
156 // - CR421, Defer including some properties of Unimodem from
157 // CR341
158 // 07/06/1999 - Version 2.2.1
159 // - CR422, Cut & paste errors (Remove Association qualifier
160 // from LabelReader, MediaAccess and PickerStatInfo;
161 // Add Association qualifier to CIM_VideoSetting)
162 // - CR423, Locale should be specified as en_US
163 // - CR424, Add CIM_ to the class name for PCIDevice and
164 // PCIBridge / Add Overrides to xxxInDiskGroup
165 // aggregations / Update the Descriptions for Cache
166 // Memory Read and WritePolicy
167 // - CR425, Update the DMI MappingStrings using the June
168 // release of the master.mif
169 karl 1.1 // 07/27/1999 - Version 2.2.2
170 // - CR428, Remove underscores from two properties of
171 // PCIDevice
172 // Date 02/18/2000 - Version 2.3
173 // - CR429 Modify Description of UserDataStripeDepth in
174 // CIM_ProtectedSpaceExtent
175 // - CR431 Update MappingStrings
176 // - CR432 Create subclasses of MemoryMappedIO
177 // - CR433 Add new properties and enums from Master.MIF and new
178 // ModelCorrespondences
179 // - CR436 Add a place holder for SSA Controller
180 // - CR438 Change Intel Processor types to meet Intel legal requirements
181 // in CIM_Processor.Family
182 // - CR445e Modify the SpareGroup class to add a Failover method
183 // - CR449 Add Itanium processors to CIM_Processor.Family
184 // - CR452a Updates to FibrePort
185 // - CR457 Miscellaneous StorageExtent and MediaAccessDevice
186 // clarifications
187 // - CR460a Add Counter, OctetString and Gauge qualifiers
188 // - CR461 Subclass from CIM_ManagedElement StorageError
189 // - CR463b Define the necessary classes and associations to
190 karl 1.1 // support Message Logs
191 // - CR471 Recommended qualifier for CIM_NumericSensor.CurrentReading
192 // - CR474 Add Processor types to CIM_Processor.Family
193 // - CR475 Add Processor types to CIM_Processor.Family
194 // Date 06/09/2000 - Version 2.4
195 // - CR479 Miscellaneous Device Model Additions to the Storage and
196 // StorageLibrary Classes
197 // 1. Add a new property, CellLocation, to the PickerElement class.
198 // 2. Add to the enumeration for LabelReader.SupportedFormats.
199 // 3. Add a new property, Extendable, to TapePartition
200 // 4. Add a new property, Direction, to BOTH LimitedAccessPort
201 // and InterLibraryPort
202 // 5. Add six new properties to MediaAccessDevice.
203 // 6. Define a new association, AssociatedLabelReader
204 // 7. Update the subclassing of PickerLabelReader and AccessLabelReader
205 // to use the association defined in #6.
206 // 8. Update the description for LimitedAccessPort.
207 // - CR486, Further updates to the Storage and Storage Library Models
208 // 1. Add seek and recovered R/W stats to the class, MediaAccessStatInfo
209 // 2. Due to the changes in #1, must update the ResetCounters method
210 // in MediaAccessStatInfo.
211 karl 1.1 // 3. Create a new superclass of TapePartition and DiskPartition,
212 // MediaPartition
213 // 4. Change the subclassing of TapePartition and DiskPartition from
214 // CIM_StorageExtent to CIM_MediaPartition.
215 // 5. Remove the Bootable boolean from DiskPartition since it is now
216 // found in the MediaPartition superclass.
217 // - CR494, Add to the enumerations in CIM_CacheMemory.Associativity
218 // Date 07/14/00 - Version 2.4
219 // - CR513a, Move Extendable Boolean up to the MediaPartition superclass
220 // - CR519 ERRATA CIM 2.3: correct ValueMap syntax errors in CIM_Processor.Family
221 // Date 12/01/2000 Version 2.5
222 // - CR527 Add AMD Duron processors to CIM_Processor.Family
223 // - CR528 Add Socket 423 and Socket A (Socket 462) enumerations to
224 // CIM_Processor.UpgradeMethod
225 // - CR530 Modify the enumerations in CIM_Processor.Family (Device MOF)
226 // - CR531 Add Transmeta Crusoe processors's names in CIM_Processor.Family
227 // - CR534 Update MappingStrings Qualifiers to stay in sync with updates to the MASTER.MIF.
228 // - CR535 Add "Service Processor" to CIM_Watchdog.MonitoredEntity and
229 // CIM_Watchdog.MonitoredEntityOnLastExpiration enumeration.
230 //
231 // ===================================================================
232 karl 1.1
233
234 // ===================================================================
235 // Generic Pragmas
236 // ===================================================================
237 #pragma locale ("en_US")
238
239
240 // ===================================================================
241 // DeviceConnection
242 // ===================================================================
243 [Association,
244 Description (
245 "The DeviceConnection relationship indicates that two or more "
246 "Device are connected together.")
247 ]
248 class CIM_DeviceConnection : CIM_Dependency
249 {
250 [Override ("Antecedent"),
251 Description ("A LogicalDevice.")
252 ]
253 karl 1.1 CIM_LogicalDevice REF Antecedent;
254 [Override ("Dependent"),
255 Description (
256 "A second LogicalDevice connected to the Antecedent Device.")
257 ]
258 CIM_LogicalDevice REF Dependent;
259 [Description (
260 "When several bus and/or connection speeds are possible, the "
261 "NegotiatedSpeed property defines the one in use between the "
262 "Devices. Speed is specified in bits per second. If "
263 "connection or bus speeds are not negotiated, or if this "
264 "information is not available/important to Device management, "
265 "the property should be set to 0."),
266 Units ("Bits per Second"),
267 MappingStrings {"MIF.DMTF|Bus Port Association|001.2"}
268 ]
269 uint64 NegotiatedSpeed;
270 [Description (
271 "When several bus and/or connection data widths are possible, "
272 "the NegotiatedDataWidth property defines the one in use "
273 "between the Devices. Data width is specified in bits. If "
274 karl 1.1 "data width is not negotiated, or if this information is not "
275 "available/important to Device management, the property should "
276 "be set to 0."),
277 Units ("Bits"),
278 MappingStrings {"MIF.DMTF|Bus Port Association|001.3"}
279 ]
280 uint32 NegotiatedDataWidth;
281 };
282
283 // ===================================================================
284 // DeviceIdentity
285 // ===================================================================
286 [Association,
287 Description (
288 "CIM_DeviceIdentity indicates that two LogicalDevices "
289 "represent different aspects of the same underlying entity. "
290 "This association refines the CIM_LogicalIdentity superclass "
291 "by restricting it to the Device level and defining its use in "
292 "well understood scenarios. One of these scenarios is to "
293 "represent that a Device is both a 'bus' entity and a "
294 "'functional' entity. For example, a Device could be both a PCI "
295 karl 1.1 "Device (or a USB Device), as well as a CIM_Keyboard. The other "
296 "scenario is where a Device plays multiple functional roles "
297 "that can not be distinguished by their hardware realization "
298 "alone. For example, a Fibre Channel adapter might have aspects "
299 "of both a NetworkAdapter and a SCSIController.")
300 ]
301 class CIM_DeviceIdentity: CIM_LogicalIdentity
302 {
303 [Override ("SystemElement"),
304 Description (
305 "SystemElement represents one aspect of the Device.")
306 ]
307 CIM_LogicalDevice ref SystemElement;
308 [Override ("SameElement"),
309 Description (
310 "SameElement represents an alternate aspect of "
311 "the System entity.")
312 ]
313 CIM_LogicalDevice ref SameElement;
314 };
315
316 karl 1.1 // ===================================================================
317 // SystemResource
318 // ===================================================================
319 [Abstract,
320 Description (
321 "An entity managed by BIOS and/or an OperatingSystem which is "
322 "available for use by software and/or LogicalDevices. Examples "
323 "of Resources in the x86 environment are IRQs, DMA channels and "
324 "memory mapped I/O.")
325 ]
326 class CIM_SystemResource : CIM_LogicalElement
327 {
328 [Description (
329 "Boolean indicating whether the Resource can be shared.")
330 ]
331 boolean Shareable;
332 };
333
334 // ===================================================================
335 // IRQ
336 // ===================================================================
337 karl 1.1 [Description ("Personal computer architecture IRQ.")]
338 class CIM_IRQ : CIM_SystemResource
339 {
340 [Propagated("CIM_ComputerSystem.CreationClassName"),
341 Key, MaxLen (256),
342 Description ("The scoping ComputerSystem's CreationClassName.")
343 ]
344 string CSCreationClassName;
345 [Propagated("CIM_ComputerSystem.Name"),
346 Key, MaxLen (256),
347 Description ("The scoping ComputerSystem's Name.")
348 ]
349 string CSName;
350 [Key, MaxLen (256),
351 Description (
352 "CreationClassName indicates the name of the class or "
353 "the subclass used in the creation of an instance. When "
354 "used with the other key properties of this class, this "
355 "property allows all instances of this class and its "
356 "subclasses to be uniquely identified.")
357 ]
358 karl 1.1 string CreationClassName;
359 [Key,
360 Description ("A part of the object's key value, IRQ Number."),
361 MappingStrings {"MIF.DMTF|IRQ|002.1"}
362 ]
363 uint32 IRQNumber;
364 [Description ("Availability of the IRQ."),
365 ValueMap {"1", "2", "3", "4", "5"},
366 Values {"Other", "Unknown", "Available",
367 "In Use/Not Available",
368 "In Use and Available/Shareable"},
369 MappingStrings {"MIF.DMTF|IRQ|002.2"}
370 ]
371 uint16 Availability;
372 [Description (
373 "IRQ trigger type indicating whether edge (value=4) "
374 "or level triggered (value=3) interrupts occur. Also, "
375 "\"Other\" (1) and \"Unknown\" (2) may be defined."),
376 ValueMap {"1", "2", "3", "4"},
377 Values {"Other", "Unknown", "Level", "Edge"},
378 MappingStrings {"MIF.DMTF|IRQ|002.3",
379 karl 1.1 "MIF.DMTF|System Resource IRQ Info|001.2"}
380 ]
381 uint16 TriggerType;
382 [Description (
383 "IRQ trigger level indicating whether the interrupt is "
384 "triggered by the hardware signal going high (value=4) "
385 "or low (value=3). Also, \"Other\" (1) and "
386 "\"Unknown\" (2) may be defined."),
387 ValueMap {"1", "2", "3", "4"},
388 Values {"Other", "Unknown", "Active Low", "Active High"},
389 MappingStrings {"MIF.DMTF|System Resource IRQ Info|001.3"}
390 ]
391 uint16 TriggerLevel;
392 [Override ("Shareable"),
393 // Override is used to define the MappingString qualifier
394 Description (
395 "Boolean indicating whether the IRQ can be shared."),
396 MappingStrings {"MIF.DMTF|IRQ|002.4"}
397 ]
398 boolean Shareable;
399 [Description (
400 karl 1.1 "The Hardware property indicates whether the interrupt "
401 "is hardware or software based. (If TRUE, the interrupt is "
402 "hardware based.) On a personal computer, a hardware IRQ "
403 "is a physical wire to a programmable interrupt "
404 "controller (PIC) chip, through which the CPU can be "
405 "notified of time critical events. Some IRQ lines are "
406 "reserved for standard Devices such as the keyboard, floppy "
407 "disk drives, and the system clock. A software interrupt "
408 "is a programmatic mechanism to allow an application to "
409 "get the attention of the Processor.")
410 ]
411 boolean Hardware;
412 };
413
414 // ===================================================================
415 // MemoryMappedIO
416 // ===================================================================
417 [Description (
418 "Personal Computer architecture Memory Mapped I/O. This class "
419 "addresses both memory and port I/O resources. The property, "
420 "MappedResource, defines whether memory or I/O is mapped (and "
421 karl 1.1 "for I/O whether the mapping is to a memory or a port space).")
422 ]
423 class CIM_MemoryMappedIO : CIM_SystemResource
424 {
425 [Propagated("CIM_ComputerSystem.CreationClassName"),
426 Key, MaxLen (256),
427 Description ("The scoping ComputerSystem's CreationClassName.")
428 ]
429 string CSCreationClassName;
430 [Propagated("CIM_ComputerSystem.Name"),
431 Key, MaxLen (256),
432 Description ("The scoping ComputerSystem's Name.")
433 ]
434 string CSName;
435 [Key, MaxLen (256),
436 Description (
437 "CreationClassName indicates the name of the class or "
438 "the subclass used in the creation of an instance. When "
439 "used with the other key properties of this class, this "
440 "property allows all instances of this class and its "
441 "subclasses to be uniquely identified.")
442 karl 1.1 ]
443 string CreationClassName;
444 [Key, Description (
445 "A part of the object's key value, the starting address of "
446 "memory mapped I/O."),
447 MappingStrings {"MIF.DMTF|Memory Mapped I/O|001.1"}
448 ]
449 uint64 StartingAddress;
450 [Description ("Ending address of memory mapped I/O."),
451 MappingStrings {"MIF.DMTF|Memory Mapped I/O|001.2"}
452 ]
453 uint64 EndingAddress;
454 [Description (
455 "Type of memory mapped I/O. MappedResource defines whether "
456 "memory or I/O is mapped, and for I/O, whether the mapping "
457 "is to a memory or a port space."),
458 Values {"Other", "Mapped Memory", "I/O Mapped to Memory Space",
459 "I/O Mapped to Port Space"}
460 ]
461 uint16 MappedResource;
462 };
463 karl 1.1
464 // ===================================================================
465 // MemoryResource
466 // ===================================================================
467
468 [Description (
469 "Since the MemoryMappedIO class applies to memory AND port "
470 "resources, there is the potential for key conflict. For example, "
471 "both a memory resource and a port resource may be located at "
472 "address 0. Since StartingAddress is the distinguishing key of "
473 "MemoryMappedIO, two instances would be created with the same key. "
474 "This is prevented by defining memory and port resource subclasses "
475 "of MemoryMappedIO, and allowing the CreationClassName key property "
476 "to distinguish between them and force uniqueness in their keys.")
477 ]
478 class CIM_MemoryResource : CIM_MemoryMappedIO
479 {
480 };
481
482 // ===================================================================
483 // PortResource
484 karl 1.1 // ===================================================================
485
486 [Description (
487 "Since the MemoryMappedIO class applies to memory AND port "
488 "resources, there is the potential for key conflict. For example, "
489 "both a memory resource and a port resource may be located at "
490 "address 0. Since StartingAddress is the distinguishing key of "
491 "MemoryMappedIO, two instances would be created with the same key. "
492 "This is prevented by defining memory and port resource subclasses "
493 "of MemoryMappedIO, and allowing the CreationClassName key property "
494 "to distinguish between them and force uniqueness in their keys.")
495 ]
496 class CIM_PortResource : CIM_MemoryMappedIO
497 {
498 };
499
500 // ===================================================================
501 // DMA
502 // ===================================================================
503 [Description ("Personal computer architecture DMA.")]
504 class CIM_DMA : CIM_SystemResource
505 karl 1.1 {
506 [Propagated("CIM_ComputerSystem.CreationClassName"),
507 Key, MaxLen (256),
508 Description ("The scoping ComputerSystem's CreationClassName.")
509 ]
510 string CSCreationClassName;
511 [Propagated("CIM_ComputerSystem.Name"),
512 Key, MaxLen (256),
513 Description ("The scoping ComputerSystem's Name.")
514 ]
515 string CSName;
516 [Key, MaxLen (256),
517 Description (
518 "CreationClassName indicates the name of the class or "
519 "the subclass used in the creation of an instance. When "
520 "used with the other key properties of this class, this "
521 "property allows all instances of this class and its "
522 "subclasses to be uniquely identified.")
523 ]
524 string CreationClassName;
525 [Key, Description (
526 karl 1.1 "A part of the object's key value, the DMA Channel number."),
527 MappingStrings {"MIF.DMTF|DMA|001.1"}
528 ]
529 uint32 DMAChannel;
530 [Description ("Availability of the DMA."),
531 ValueMap {"1", "2", "3", "4", "5"},
532 Values {"Other", "Unknown", "Available",
533 "In Use/Not Available",
534 "In Use and Available/Shareable"},
535 MappingStrings {"MIF.DMTF|DMA|001.2"}
536 ]
537 uint16 Availability;
538 [Description (
539 "Indication that the DMA Channel supports burst mode."),
540 MappingStrings {"MIF.DMTF|DMA|001.3"}
541 ]
542 boolean BurstMode;
543 [Description (
544 "An array indicating all the transfer widths (in bits) "
545 "supported by this DMA Channel. Permissible values "
546 "are 8, 16, 32, 64 or 128 bits. If unknown, enter 0."),
547 karl 1.1 Units ("Bits"),
548 ValueMap {"0", "8", "16", "32", "64", "128"},
549 MappingStrings {"MIF.DMTF|System Resource DMA Info|001.2"}
550 ]
551 uint16 TransferWidths[];
552 [Description (
553 "An integer indicating the DMA Channel address size in "
554 "bits. Permissible values are 8, 16, 32 or 64 bits. "
555 "If unknown, enter 0."),
556 Units ("Bits"),
557 ValueMap {"0", "8", "16", "32", "64"},
558 MappingStrings {"MIF.DMTF|System Resource DMA Info|001.3"}
559 ]
560 uint16 AddressSize;
561 [Description (
562 "The maximum number of bytes that can be transferred by this "
563 "DMA Channel. If unknown, enter 0."),
564 Units ("Bytes"),
565 MappingStrings {"MIF.DMTF|System Resource DMA Info|001.4"}
566 ]
567 uint32 MaxTransferSize;
568 karl 1.1 [Description (
569 "Indicates whether DMA may execute in 'count by byte' mode "
570 "(value=4) or not (value=3). Also, \"Other\" (1) and "
571 "\"Unknown\" (2) may be defined."),
572 ValueMap {"1", "2", "3", "4"},
573 Values {"Other", "Unknown",
574 "Not execute in 'count by byte' mode",
575 "Execute in 'count by byte' mode"},
576 MappingStrings {"MIF.DMTF|System Resource DMA Info|001.7"}
577 ]
578 uint16 ByteMode;
579 [Description (
580 "Indicates whether DMA may execute in 'count by word' mode "
581 "(value=4) or not (value=3). Also, \"Other\" (1) and "
582 "\"Unknown\" (2) may be defined."),
583 ValueMap {"1", "2", "3", "4"},
584 Values {"Other", "Unknown",
585 "Not execute in 'count by word' mode",
586 "Execute in 'count by word' mode"},
587 MappingStrings {"MIF.DMTF|System Resource DMA Info|001.8"}
588 ]
589 karl 1.1 uint16 WordMode;
590 [Description (
591 "DMA channel timing. For example, \"Type A\" (value "
592 "=4) or \"Type F\" (6) could be specified."),
593 ValueMap {"1", "2", "3", "4", "5", "6"},
594 Values {"Other", "Unknown", "ISA Compatible", "Type A",
595 "Type B", "Type F"},
596 MappingStrings {"MIF.DMTF|System Resource DMA Info|001.9"}
597 ]
598 uint16 ChannelTiming;
599 [Description (
600 "Indicates whether C type (burst) timing is supported "
601 "(value=5) or not (value=4). Also, \"Other\" (1), "
602 "\"Unknown\" (2) and \"ISA Compatible\" (3) are defined."),
603 ValueMap {"1", "2", "3", "4", "5"},
604 Values {"Other", "Unknown", "ISA Compatible", "Not Supported",
605 "Supported"},
606 MappingStrings {"MIF.DMTF|System Resource DMA Info|001.10"}
607 ]
608 uint16 TypeCTiming;
609 };
610 karl 1.1
611 // ===================================================================
612 // ComputerSystemResource
613 // ===================================================================
614 [Association, Aggregation,
615 Description (
616 "An association between a ComputerSystem and the System"
617 "Resources available on it.")
618 ]
619 class CIM_ComputerSystemResource : CIM_SystemComponent
620 {
621 [Override ("GroupComponent"), Aggregate,
622 Description ("The ComputerSystem."),
623 Min (1), Max (1)
624 ]
625 CIM_ComputerSystem REF GroupComponent;
626 [Override ("PartComponent"),
627 Description ("A SystemResource of the ComputerSystem.")
628 ]
629 CIM_SystemResource REF PartComponent;
630 };
631 karl 1.1
632 // ===================================================================
633 // ComputerSystemIRQ
634 // ===================================================================
635 [Association, Aggregation,
636 Description (
637 "An association between a ComputerSystem and the IRQs "
638 "available on it.")
639 ]
640 class CIM_ComputerSystemIRQ : CIM_ComputerSystemResource
641 {
642 [Override ("PartComponent"),
643 Description ("An IRQ of the ComputerSystem."),
644 Weak
645 ]
646 CIM_IRQ REF PartComponent;
647 };
648
649 // ===================================================================
650 // ComputerSystemMappedIO
651 // ===================================================================
652 karl 1.1 [Association, Aggregation,
653 Description (
654 "An association between a ComputerSystem and the Memory Mapped "
655 "I/O ports available on it.")
656 ]
657 class CIM_ComputerSystemMappedIO : CIM_ComputerSystemResource
658 {
659 [Override ("PartComponent"),
660 Description (
661 "A memory mapped I/O port of the ComputerSystem."),
662 Weak
663 ]
664 CIM_MemoryMappedIO REF PartComponent;
665 };
666
667 // ===================================================================
668 // ComputerSystemDMA
669 // ===================================================================
670 [Association, Aggregation,
671 Description (
672 "An association between a ComputerSystem and the DMA channels "
673 karl 1.1 "available on it.")
674 ]
675 class CIM_ComputerSystemDMA : CIM_ComputerSystemResource
676 {
677 [Override ("PartComponent"),
678 Description ("A DMA channel of the ComputerSystem."),
679 Weak
680 ]
681 CIM_DMA REF PartComponent;
682 };
683
684 // ===================================================================
685 // AllocatedResource
686 // ===================================================================
687 [Association,
688 Description (
689 "An association between LogicalDevices and SystemResources, "
690 "indicating that the Resource is assigned to the Device.")
691 ]
692 class CIM_AllocatedResource : CIM_Dependency
693 {
694 karl 1.1 [Override ("Antecedent"),
695 Description ("The Resource.")
696 ]
697 CIM_SystemResource REF Antecedent;
698 [Override ("Dependent"),
699 Description (
700 "The LogicalDevice to which the Resource is assigned.")
701 ]
702 CIM_LogicalDevice REF Dependent;
703 };
704
705 // ===================================================================
706 // AllocatedDMA
707 // ===================================================================
708 [Association,
709 Description (
710 "An association between a LogicalDevice and a DMA System"
711 "Resource indicating that the DMA Channel is assigned to the "
712 "Device.")
713 ]
714 class CIM_AllocatedDMA : CIM_AllocatedResource
715 karl 1.1 {
716 [Override ("Antecedent"),
717 Description ("The DMA Channel.")
718 ]
719 CIM_DMA REF Antecedent;
720 [Description (
721 "Boolean indicating whether the LogicalDevice can act as a "
722 "bus master on the DMA Channel."),
723 MappingStrings {"MIF.DMTF|System Resource DMA Info|001.6"}
724 ]
725 boolean BusMaster;
726 };
727
728 // ===================================================================
729 // DeviceServiceImplementation
730 // ===================================================================
731 [Association,
732 Description (
733 "An association between a Service and how it is implemented. "
734 "The cardinality of this association is many-to-many. "
735 "A Service may be provided by more than one Logical"
736 karl 1.1 "Device, operating in conjunction. And, any Device may "
737 "provide more than one Service. When multiple Devices are "
738 "associated with a single Service, it is assumed that these "
739 "elements operate in conjunction to provide the Service. If "
740 "different implementations of a Service exist, each of these "
741 "implementations would result in individual instantiations "
742 "of the Service object. These individual instantiations "
743 "would then have associations to the unique implementations.")
744 ]
745 class CIM_DeviceServiceImplementation : CIM_Dependency
746 {
747 [Override ("Antecedent"),
748 Description ("The LogicalDevice.")
749 ]
750 CIM_LogicalDevice REF Antecedent;
751 [Override ("Dependent"),
752 Description ("The Service implemented using the LogicalDevice.")
753 ]
754 CIM_Service REF Dependent;
755 };
756
757 karl 1.1 // ===================================================================
758 // DeviceSAPImplementation
759 // ===================================================================
760 [Association,
761 Description (
762 "An association between a ServiceAccessPoint and how "
763 "it is implemented. The cardinality of this association "
764 "is many-to-many. A SAP may be provided by more "
765 "than one LogicalDevice, operating in conjunction. And, any "
766 "Device may provide more than one ServiceAccessPoint. "
767 "When many LogicalDevices are associated with a single "
768 "SAP, it is assumed that these elements operate in "
769 "conjunction to provide the AccessPoint. If different "
770 "implementations of a SAP exist, each of these implementations "
771 "would result in individual instantiations of the "
772 "ServiceAccessPoint object. These individual instantiations "
773 "would then have associations to the unique implementations.")
774 ]
775 class CIM_DeviceSAPImplementation : CIM_Dependency
776 {
777 [Override ("Antecedent"),
778 karl 1.1 Description ("The LogicalDevice.")
779 ]
780 CIM_LogicalDevice REF Antecedent;
781 [Override ("Dependent"),
782 Description (
783 "The ServiceAccessPoint implemented using the LogicalDevice.")
784 ]
785 CIM_ServiceAccessPoint REF Dependent;
786 };
787
788 // ==================================================================
789 // DeviceErrorCounts
790 // ==================================================================
791 [Description (
792 "DeviceErrorCounts is a statistical class containing error-"
793 "related counters for a LogicalDevice. The types of errors "
794 "are as defined by CCITT (Rec X.733) and ISO (IEC 10164-4).")
795 ]
796 class CIM_DeviceErrorCounts : CIM_StatisticalInformation
797 {
798 [Propagated ("CIM_LogicalDevice.SystemCreationClassName"),
799 karl 1.1 Key, MaxLen (256),
800 Description ("The scoping System's CreationClassName. ")
801 ]
802 string SystemCreationClassName;
803 [Propagated ("CIM_LogicalDevice.SystemName"),
804 Key, MaxLen (256),
805 Description ("The scoping System's Name. ")
806 ]
807 string SystemName;
808 [Propagated ("CIM_LogicalDevice.CreationClassName"),
809 Key, MaxLen (256),
810 Description ("The scoping Device's CreationClassName. ")
811 ]
812 string DeviceCreationClassName;
813 [Propagated ("CIM_LogicalDevice.DeviceID"),
814 Key, MaxLen (64),
815 Description ("The scoping Device's ID. ")
816 ]
817 string DeviceID;
818 [Override ("Name"),
819 Key, MaxLen (256),
820 karl 1.1 Description (
821 "The inherited Name serves as part of the key for the "
822 "DeviceErrorCounts instance. The object is scoped by "
823 "the LogicalDevice to which the statistics apply. ")
824 ]
825 string Name;
826 [Description ("Count of the indeterminate errors. "),
827 Counter
828 ]
829 uint64 IndeterminateErrorCount;
830 [Description ("Count of the critical errors. "),
831 MappingStrings {"MIF.DMTF|Operational State|006"},
832 Counter
833 ]
834 uint64 CriticalErrorCount;
835 [Description ("Count of the major errors. "),
836 MappingStrings {"MIF.DMTF|Operational State|006"},
837 Counter
838 ]
839 uint64 MajorErrorCount;
840 [Description ("Count of the minor errors. "),
841 karl 1.1 Counter
842 ]
843 uint64 MinorErrorCount;
844 [Description ("Count of the warnings. "),
845 MappingStrings {"MIF.DMTF|Operational State|006"},
846 Counter
847 ]
848 uint64 WarningCount;
849 [Description (
850 "Method to reset the error and warning counters. The method "
851 "takes one parameter as input - an integer indicating which "
852 "counter to reset. For this input parameter, 0 indicates all, "
853 "1 indicates a reset of the indeterminate error counter, "
854 "2 the critical error counter, 3 the major error counter, "
855 "4 the minor error counter and 5 the warning counter. The "
856 "method returns 0 if successful, 1 if not supported, and any "
857 "other value if an error occurred. A method is specified so "
858 "that the LogicalDevice's instrumentation, which tabulates "
859 "the errors and warnings, can also reset its internal "
860 "processing and counters.\n"
861 "In a subclass, the set of possible return codes could be "
862 karl 1.1 "specified, using a ValueMap qualifier on the method. The "
863 "strings to which the ValueMap contents are 'translated' "
864 "may also be specified in the subclass as a Values "
865 "array qualifier.")
866 ]
867 uint32 ResetCounter ([IN, Values {"All",
868 "Indeterminate Error Counter", "Critical Error Counter",
869 "Major Error Counter", "Minor Error Counter",
870 "Warning Counter"}] uint16 SelectedCounter);
871 };
872
873 // ==================================================================
874 // ErrorCountersForDevice
875 // ==================================================================
876 [Association,
877 Description (
878 "ErrorCountersForDevice relates the DeviceErrorCounts class "
879 "to the LogicalDevice to which it applies. ")
880 ]
881 class CIM_ErrorCountersForDevice : CIM_Statistics
882 {
883 karl 1.1 [Override ("Stats"),
884 Description (
885 "The statistical object - in this case, the error counter "
886 "class. "),
887 Weak
888 ]
889 CIM_DeviceErrorCounts REF Stats;
890 [Override ("Element"),
891 Description ("The Device to which the error counters apply. "),
892 Min(1), Max(1)
893 ]
894 CIM_LogicalDevice REF Element;
895 };
896
897 // ===================================================================
898 // VideoBIOSFeature
899 // ===================================================================
900 [Description (
901 "VideoBIOSFeature represents the capabilities of the low-level "
902 "software that is used to bring up, configure and use a "
903 "ComputerSystem's VideoController and Display.")
904 karl 1.1 ]
905 class CIM_VideoBIOSFeature : CIM_SoftwareFeature
906 {
907 [Description (
908 "An array of integers that specify the features supported by "
909 "the VideoBIOS. For example, one could indicate support for "
910 "VESA power management (value=6) or video BIOS shadowing (8). "
911 "The value, 3, is not valid in the CIM Schema since in DMI it "
912 "represents that no BIOS Features are supported. In this "
913 "case, the object should not be instantiated."),
914 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9"},
915 Values {"Other", "Unknown", "Undefined", "Standard Video BIOS",
916 "VESA BIOS Extensions Supported",
917 "VESA Power Management Supported",
918 "VESA Display Data Channel Supported",
919 "Video BIOS Shadowing Allowed", "Video BIOS Upgradeable"},
920 ArrayType ("Indexed"),
921 MappingStrings {"MIF.DMTF|Video BIOS Characteristic|001.3"},
922 ModelCorrespondence {
923 "CIM_VideoBIOSFeature.CharacteristicDescriptions"}
924 ]
925 karl 1.1 uint16 Characteristics[];
926 [Description (
927 "An array of free-form strings providing more detailed "
928 "explanations for any of the VideoBIOS features indicated in "
929 "the Characteristics array. Note, each entry of this array "
930 "is related to the entry in the Characteristics array that "
931 "is located at the same index."),
932 ArrayType ("Indexed"),
933 MappingStrings {"MIF.DMTF|Video BIOS Characteristic|001.4"},
934 ModelCorrespondence {"CIM_VideoBIOSFeature.Characteristics"}
935 ]
936 string CharacteristicDescriptions[];
937 };
938
939 // ===================================================================
940 // VideoBIOSElement
941 // ===================================================================
942 [Description (
943 "VideoBIOSElement represents the low-level software that is "
944 "loaded into non-volatile storage and used to bring up, "
945 "configure and access a ComputerSystem's VideoController and "
946 karl 1.1 "Display.")
947 ]
948 class CIM_VideoBIOSElement : CIM_SoftwareElement
949 {
950 [Override ("Version"),
951 MappingStrings {"MIF.DMTF|Video BIOS|001.3"}
952 ]
953 string Version;
954 [Override ("Manufacturer"),
955 MappingStrings {"MIF.DMTF|Video BIOS|001.2"}
956 ]
957 string Manufacturer;
958 [Description (
959 "If true, indicates that the Video BIOS is shadowed."),
960 MappingStrings {"MIF.DMTF|Video BIOS|001.5"}
961 ]
962 boolean IsShadowed;
963 [Description (
964 "Date that this BIOS was released."),
965 MappingStrings {"MIF.DMTF|Video BIOS|001.4"}
966 ]
967 karl 1.1 datetime ReleaseDate;
968 };
969
970 // ===================================================================
971 // VideoBIOSFeatureVideoBIOSElements
972 // ===================================================================
973 [Association,
974 Aggregation,
975 Description (
976 "A link between VideoBIOSFeature and its aggregated "
977 "VideoBIOSElements.")
978 ]
979 class CIM_VideoBIOSFeatureVideoBIOSElements : CIM_SoftwareFeatureSoftwareElements
980 {
981 [Override ("GroupComponent"), Aggregate,
982 Description ("The VideoBIOSFeature.")
983 ]
984 CIM_VideoBIOSFeature REF GroupComponent;
985 [Override ("PartComponent"),
986 Description (
987 "The VideoBIOSElement that implements the capabilities "
988 karl 1.1 "described by VideoBIOSFeature.")
989 ]
990 CIM_VideoBIOSElement REF PartComponent;
991 };
992
993 // ===================================================================
994 // DeviceSoftware
995 // ===================================================================
996 [Association,
997 Description (
998 "The DeviceSoftware relationship identifies any software that "
999 "is associated with a Device - such as drivers, configuration "
1000 "or application software, or firmware.")
1001 ]
1002 class CIM_DeviceSoftware : CIM_Dependency
1003 {
1004 [Override ("Antecedent"),
1005 Description ("The SoftwareElement.")
1006 ]
1007 CIM_SoftwareElement REF Antecedent;
1008 [Override ("Dependent"),
1009 karl 1.1 Description (
1010 "The LogicalDevice that requires or uses the software.")
1011 ]
1012 CIM_LogicalDevice REF Dependent;
1013 [Description (
1014 "An enumerated integer to indicate the role this software "
1015 "plays in regards to its associated Device. For example, this "
1016 "software could be instrumentation (value=5) or firmware (6)."),
1017 Values {"Unknown", "Other", "Driver", "Configuration Software",
1018 "Application Software", "Instrumentation", "Firmware",
1019 "BIOS", "Boot ROM"},
1020 ModelCorrespondence {"CIM_DeviceSoftware.PurposeDescription"},
1021 MappingStrings {"MIF.DMTF|SubComponent Software|001.2"}
1022 ]
1023 uint16 Purpose;
1024 [Description (
1025 "A free-form string to provide more information for "
1026 "the Purpose property, e.g. \"Application Software\"."),
1027 ModelCorrespondence {"CIM_DeviceSoftware.Purpose"}
1028 ]
1029 string PurposeDescription;
1030 karl 1.1 [Description (
1031 "Boolean indicating that the software is 'burned into' or "
1032 "otherwise located on the hardware of the LogicalDevice.")
1033 ]
1034 boolean LoadedOnDevice;
1035 [Description (
1036 "Boolean indicating whether the software is upgradeable, "
1037 "when it is LoadedOnDevice. Software that is loaded as "
1038 "part of the OperatingSystem is typically changeable and "
1039 "upgradeable. However, when DeviceSoftware is burned into "
1040 "EEPROM or a chip that Realizes the LogicalDevice, then "
1041 "it may not be upgradeable. This property indicates the "
1042 "ability to update and upgrade DeviceSoftware.")
1043 ]
1044 boolean UpgradeableOnDevice;
1045 };
1046
1047 // ===================================================================
1048 // RedundancyGroup
1049 // ===================================================================
1050 [Description (
1051 karl 1.1 "A class derived from LogicalElement that is a special "
1052 "collection of ManagedSystemElements. This collection indicates "
1053 "that the aggregated components together provide redundancy. "
1054 "All elements aggregated in a RedundancyGroup should be "
1055 "instantiations of the same object class.")
1056 ]
1057 class CIM_RedundancyGroup : CIM_LogicalElement
1058 {
1059 [Key, MaxLen (256),
1060 Description (
1061 "CreationClassName indicates the name of the class or "
1062 "the subclass used in the creation of an instance. When "
1063 "used with the other key properties of this class, this "
1064 "property allows all instances of this class and its "
1065 "subclasses to be uniquely identified.")
1066 ]
1067 string CreationClassName;
1068 [Override("Name"),
1069 Key, MaxLen (256),
1070 Description (
1071 "The RedundancyGroup Name serves as the key for the "
1072 karl 1.1 "Group's instance in an enterprise environment.")
1073 ]
1074 string Name;
1075 [Description (
1076 "RedundancyStatus provides information on the state of the "
1077 "RedundancyGroup. \"Fully Redundant\" (value=2) means that "
1078 "all of the configured redundancy is still available; "
1079 "\"Degraded Redundancy\" (3) means that some failures have "
1080 "been experienced but some reduced amount of redundancy is "
1081 "still available; \"Redundancy Lost\" (4) means that a "
1082 "sufficient number of failures have been experienced such "
1083 "that no redundancy is available and the next failure "
1084 "experienced will cause overall failure. Also, the values, "
1085 "\"Other\" (1) and \"Unknown\" (0), are defined."),
1086 Values {"Unknown", "Other", "Fully Redundant",
1087 "Degraded Redundancy", "Redundancy Lost"}
1088 ]
1089 uint16 RedundancyStatus;
1090 };
1091
1092 // ===================================================================
1093 karl 1.1 // RedundancyComponent
1094 // ===================================================================
1095 [Association,
1096 Aggregation,
1097 Description (
1098 "A RedundancyGroup aggregates Managed System Elements and "
1099 "indicates that these elements, taken together, provide "
1100 "redundancy. All elements aggregated in a RedundancyGroup "
1101 "should be instantiations of the same object class.")
1102 ]
1103 class CIM_RedundancyComponent : CIM_Component
1104 {
1105 [Override ("GroupComponent"),
1106 Aggregate,
1107 Description (
1108 "The RedundancyComponent association indicates that "
1109 "'this set of fans' or 'these physical extents' participate "
1110 "in a single RedundancyGroup.")
1111 ]
1112 CIM_RedundancyGroup REF GroupComponent;
1113 };
1114 karl 1.1
1115 // ===================================================================
1116 // SpareGroup
1117 // ===================================================================
1118 [Description (
1119 "A class derived from RedundancyGroup indicating that one or "
1120 "more of the aggregated elements can be spared. (The actual "
1121 "Spares are defined using the ActsAsSpare association.) An "
1122 "example is the use of redundant NICs in a ComputerSystem - "
1123 "where one NIC is primary and the other is Spare. The 'primary' "
1124 "NIC would be a member of the SpareGroup (associated using the "
1125 "RedundancyComponent class) and the 'other' NIC would be "
1126 "associated using the ActsAsSpare relationship.")
1127 ]
1128 class CIM_SpareGroup : CIM_RedundancyGroup
1129 {
1130 [Description (
1131 "This method is forces a failover from one ManagedSystemElement "
1132 "to another. There are two parameters to the Failover method,"
1133 "FailoverFrom and FailoverTo. The FailoverFrom parameter is a "
1134 "reference to the primary ManagedSystemElement that will become "
1135 karl 1.1 "inactive after the method. This Element should be associated with the "
1136 "SpareGroup through the RedundancyComponent relationship. The Failover"
1137 "To parameter is a reference to the ManagedSystemElement that will take "
1138 "over for the primary. This Element should be associated with the "
1139 "SpareGroup through the ActsAsSpare association. Once the failover has "
1140 "occurred, the SpareGroup and the RedundancyComponent and ActsAsSpare "
1141 "associations will be updated with current status. For example, "
1142 "the ActsAsSpare association that contained the FailoverTo Element will "
1143 "be deleted and a new RedundancyComponent association instantiated in "
1144 "its place. The method should return 0 if successful, 1 if the request "
1145 "is not supported, and some other value if any other error occurred. In "
1146 "a subclass, the set of possible return codes could be specified, using "
1147 "a ValueMap qualifier on the method. The strings to which the ValueMap "
1148 "contents are 'translated' may also be specified in the subclass as a "
1149 "Values array qualifier.") ]
1150 uint32 Failover([IN] CIM_ManagedSystemElement REF FailoverFrom,
1151 [IN] CIM_ManagedSystemElement REF FailoverTo);
1152 };
1153
1154 // ===================================================================
1155 // ActsAsSpare
1156 karl 1.1 // ===================================================================
1157 [Association,
1158 Description (
1159 "The ActsAsSpare association indicates which elements can spare "
1160 "or replace the other aggregated elements. The fact that a "
1161 "spare can operate in \"hot standby\" mode is specified on an "
1162 "element by element basis.")
1163 ]
1164 class CIM_ActsAsSpare
1165 {
1166 [Key, Description ("The SpareGroup")
1167 ]
1168 CIM_SpareGroup REF Group;
1169 [Key, Description (
1170 "A ManagedSystemElement acting as a spare and participating "
1171 "in the SpareGroup.")
1172 ]
1173 CIM_ManagedSystemElement REF Spare;
1174 [Description (
1175 "HotStandby is a boolean indicating that the spare is "
1176 "operating as a hot standby.")
1177 karl 1.1 ]
1178 boolean HotStandby;
1179 };
1180
1181 // ===================================================================
1182 // StorageRedundancyGroup
1183 // ===================================================================
1184 [Description (
1185 "A class derived from RedundancyGroup containing mass "
1186 "storage-related redundancy information. StorageRedundancy"
1187 "Groups are used to protect user data. They are made up of one "
1188 "or more PhysicalExtents, or one or more AggregatePExtents. "
1189 "StorageRedundancyGroups may overlap. However, the "
1190 "underlying Extents within the overlap should not contain "
1191 "any check data.")
1192 ]
1193 class CIM_StorageRedundancyGroup : CIM_RedundancyGroup
1194 {
1195 [Description (
1196 "The TypeOfAlgorithm specifies the algorithm used for data "
1197 "redundancy and reconstruction. For example, \"P+Q\" (value"
1198 karl 1.1 "=5) or \"P+S\" (7) may be specified. The value of 0, is "
1199 "defined as \"None\" to indicate that data redundancy is not "
1200 "active. An inactive redundancy should only be instantiated "
1201 "if data striping or concatenation are active. These are "
1202 "indicated by the IsStriped or IsConcatentated boolean "
1203 "properties of this RedundancyGroup."),
1204 Values {"None", "Other", "Unknown", "Copy", "XOR", "P+Q",
1205 "S", "P+S"},
1206 MappingStrings {"MIF.DMTF|Redundancy Group|001.2"}
1207 ]
1208 uint16 TypeOfAlgorithm;
1209 [Description (
1210 "StorageRedundancy provides additional information on the "
1211 "state of the RedundancyGroup, beyond the RedundancyStatus "
1212 "property. Information like \"Reconfig In Progress\" (value"
1213 "=1) or \"Redundancy Disabled\" can be specified using "
1214 "this property."),
1215 Values {"No Additional Status", "Reconfig In Progress",
1216 "Data Lost", "Not Currently Configured",
1217 "Protected Rebuild", "Redundancy Disabled",
1218 "Unprotected Rebuild", "Recalculating", "Verifying"}
1219 karl 1.1 ]
1220 uint16 StorageRedundancy;
1221 [Description (
1222 "True indicates that the data is striped across the various "
1223 "StorageExtents in the Group.")
1224 ]
1225 boolean IsStriped;
1226 [Description (
1227 "True indicates that the data is concatenated across the "
1228 "various StorageExtents in the Group.")
1229 ]
1230 boolean IsConcatenated;
1231 };
1232
1233 // ===================================================================
1234 // ExtraCapacityGroup
1235 // ===================================================================
1236 [Description (
1237 "A class derived from RedundancyGroup indicating that the "
1238 "aggregated elements have more capacity or capability than is "
1239 "needed. An example of this type of redundancy is the "
1240 karl 1.1 "installation of N+1 power supplies or fans in a system.")
1241 ]
1242 class CIM_ExtraCapacityGroup : CIM_RedundancyGroup
1243 {
1244 [Description (
1245 "MinNumberNeeded indicates the smallest number of elements "
1246 "that must be operational in order to have redundancy. "
1247 "For example, in an N+1 redundancy relationship, "
1248 "the MinNumberNeeded property should be set equal to N.")
1249 ]
1250 uint32 MinNumberNeeded;
1251 [Description (
1252 "Boolean indicating whether load balancing is supported by "
1253 "the ExtraCapacityGroup.")
1254 ]
1255 boolean LoadBalancedGroup;
1256 };
1257
1258 // ===================================================================
1259 // LogicalPort
1260 // ===================================================================
1261 karl 1.1 [Description (
1262 "The abstraction of a port or connection point of a Device. "
1263 "This object should be instantiated when the Port has "
1264 "independent management characteristics from the Device that "
1265 "includes it. Examples are a Fibre Channel Port and a USB Port. "
1266 "This class would not be instantiated for an Ethernet Port which "
1267 "is not managed independently of the EthernetAdapter.")
1268 ]
1269 class CIM_LogicalPort : CIM_LogicalDevice
1270 {
1271 [Description ("The speed of the Port in Bits per Second."),
1272 Units ("Bits per Second")
1273 ]
1274 uint64 Speed;
1275 [Description (
1276 "The max speed of the Port in Bits per Second."),
1277 Units ("Bits per Second")
1278 ]
1279 uint64 MaxSpeed;
1280 };
1281
1282 karl 1.1 // ===================================================================
1283 // PortOnDevice
1284 // ===================================================================
1285 [Association,
1286 Description (
1287 "PortOnDevice associates a Port or connection point with its "
1288 "Device.")
1289 ]
1290 class CIM_PortOnDevice : CIM_Dependency
1291 {
1292 [Override ("Antecedent"),
1293 Description ("The Device that includes the Port.")
1294 ]
1295 CIM_LogicalDevice REF Antecedent;
1296 [Override ("Dependent"),
1297 Description ("The Port on the Device.")
1298 ]
1299 CIM_LogicalPort REF Dependent;
1300 };
1301
1302 // ===================================================================
1303 karl 1.1 // Printer
1304 // ===================================================================
1305 [Description (
1306 "Capabilities and management of the Printer LogicalDevice.")
1307 ]
1308 class CIM_Printer : CIM_LogicalDevice
1309 {
1310 [Description (
1311 "Status information for a Printer, beyond that specified "
1312 "in the LogicalDevice Availability property. Values include "
1313 "\"Idle\" (3) and an indication that the Device is currently "
1314 "printing (4)."),
1315 ValueMap {"1", "2", "3", "4", "5", "6", "7"},
1316 Values {"Other", "Unknown", "Idle", "Printing", "Warmup",
1317 "Stopped Printing", "Offline"},
1318 MappingStrings {"MIB.IETF|Printer-MIB.hrPrinterStatus"}
1319 ]
1320 uint16 PrinterStatus;
1321 [Description ("Printer error information."),
1322 Values {"Unknown", "Other", "No Error", "Low Paper",
1323 "No Paper", "Low Toner",
1324 karl 1.1 "No Toner", "Door Open", "Jammed", "Offline",
1325 "Service Requested", "Output Bin Full"},
1326 ModelCorrespondence {"CIM_Printer.ErrorInformation"},
1327 MappingStrings {
1328 "MIB.IETF|Printer-MIB.hrPrinterDetectedErrorState"}
1329 ]
1330 uint16 DetectedErrorState;
1331 [Description (
1332 "An array providing supplemental information for the "
1333 "current error state, indicated in DetectedErrorState."),
1334 ModelCorrespondence {"CIM_Printer.DetectedErrorState"}
1335 ]
1336 string ErrorInformation[];
1337 [Description (
1338 "An integer array indicating the types of paper supported."),
1339 Values {"Unknown", "Other", "A", "B", "C", "D", "E",
1340 "Letter", "Legal", "NA-10x13-Envelope", "NA-9x12-Envelope",
1341 "NA-Number-10-Envelope", "NA-7x9-Envelope",
1342 "NA-9x11-Envelope", "NA-10x14-Envelope",
1343 "NA-Number-9-Envelope", "NA-6x9-Envelope",
1344 "NA-10x15-Envelope", "A0", "A1", "A2", "A3", "A4", "A5",
1345 karl 1.1 "A6", "A7", "A8", "A9" "A10", "B0", "B1", "B2", "B3", "B4",
1346 "B5", "B6", "B7", "B8", "B9", "B10", "C0", "C1", "C2" "C3",
1347 "C4", "C5", "C6", "C7", "C8", "ISO-Designated", "JIS B0",
1348 "JIS B1", "JIS B2", "JIS B3", "JIS B4", "JIS B5", "JIS B6",
1349 "JIS B7", "JIS B8", "JIS B9", "JIS B10",
1350 "NA-Letter", "NA-Legal", "B4-Envelope", "B5-Envelope",
1351 "C3-Envelope", "C4-Envelope", "C5-Envelope", "C6-Envelope",
1352 "Designated-Long-Envelope", "Monarch-Envelope",
1353 "Executive", "Folio", "Invoice", "Ledger", "Quarto"}
1354 ]
1355 uint16 PaperSizesSupported[];
1356 [Description (
1357 "An array of free-form strings specifying the types of "
1358 "paper that are currently available on the Printer. Each "
1359 "string should be expressed in the form specified by "
1360 "ISO/IEC 10175 Document Printing Application (DPA) which "
1361 "is also summarized in Appendix C of RFC 1759 (Printer MIB). "
1362 "Examples of valid strings are \"iso-a4-colored\" and "
1363 "\"na-10x14-envelope\". By definition a paper size that "
1364 "is available and listed in PaperTypesAvailable should "
1365 "also appear in the PaperSizesSupported property."),
1366 karl 1.1 ArrayType ("Indexed"),
1367 ModelCorrespondence {"CIM_PrintJob.RequiredPaperType",
1368 "CIM_PrintService.PaperTypesAvailable"},
1369 MappingStrings {"MIB.IETF|Printer-MIB.prtInputMediaName"}
1370 ]
1371 string PaperTypesAvailable[];
1372 [Description (
1373 "Specifies the paper type that the Printer will use if a "
1374 "PrintJob does not specify a particular type. The string "
1375 "should be expressed in the form specified by ISO/IEC "
1376 "10175 Document Printing Application (DPA) which is also "
1377 "summarized in Appendix C of RFC 1759 (Printer MIB)."),
1378 ModelCorrespondence {"CIM_Printer.PaperTypesAvailable"}
1379 ]
1380 string DefaultPaperType;
1381 [Description (
1382 "Specifies the paper type that the Printer is currently "
1383 "using. The string should be expressed in the form specified "
1384 "by ISO/IEC 10175 Document Printing Application (DPA) which "
1385 "is also summarized in Appendix C of RFC 1759 (Printer MIB)."),
1386 ModelCorrespondence {"CIM_Printer.PaperTypesAvailable"}
1387 karl 1.1 ]
1388 string CurrentPaperType;
1389 [Description (
1390 "An array indicating the print languages natively supported."),
1391 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
1392 "11", "12", "13", "14", "15", "16", "17", "18", "19",
1393 "20", "21", "22", "23", "24", "25", "26", "27", "28",
1394 "29", "30", "31", "32", "33", "34", "35", "36", "37",
1395 "38", "39", "40", "41", "42", "43", "44", "45", "46", "47"},
1396 Values {"Other", "Unknown", "PCL", "HPGL", "PJL", "PS",
1397 "PSPrinter", "IPDS", "PPDS", "EscapeP", "Epson", "DDIF",
1398 "Interpress", "ISO6429", "Line Data", "MODCA", "REGIS",
1399 "SCS", "SPDL", "TEK4014", "PDS", "IGP", "CodeV", "DSCDSE",
1400 "WPS", "LN03", "CCITT", "QUIC", "CPAP", "DecPPL",
1401 "Simple Text", "NPAP", "DOC", "imPress", "Pinwriter",
1402 "NPDL", "NEC201PL", "Automatic", "Pages", "LIPS", "TIFF",
1403 "Diagnostic", "CaPSL", "EXCL", "LCDS", "XES", "MIME"},
1404 MappingStrings {"MIB.IETF|Printer-MIB.prtInterpreterLangFamily"},
1405 ModelCorrespondence {"CIM_Printer.MimeTypesSupported",
1406 "CIM_PrintJob.Language",
1407 "CIM_PrintService.LanguagesSupported"}
1408 karl 1.1 ]
1409 uint16 LanguagesSupported[];
1410 [Description (
1411 "An array of free-form strings providing more detailed "
1412 "explanations of any mime types that are supported by "
1413 "the Printer. If data is provided for this property, then "
1414 "the value 47, \"Mime\", should be included in the Languages"
1415 "Supported property."),
1416 ModelCorrespondence {"CIM_Printer.LanguagesSupported",
1417 "CIM_PrintJob.MimeTypes",
1418 "CIM_PrintService.MimeTypesSupported"}
1419 ]
1420 string MimeTypesSupported[];
1421 [Description (
1422 "Indicates the current printer language being used. A "
1423 "language that is being used by the Printer should also be "
1424 "listed in LanguagesSupported."),
1425 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
1426 "11", "12", "13", "14", "15", "16", "17", "18", "19",
1427 "20", "21", "22", "23", "24", "25", "26", "27", "28",
1428 "29", "30", "31", "32", "33", "34", "35", "36", "37",
1429 karl 1.1 "38", "39", "40", "41", "42", "43", "44", "45", "46", "47"},
1430 Values {"Other", "Unknown", "PCL", "HPGL", "PJL", "PS",
1431 "PSPrinter", "IPDS", "PPDS", "EscapeP", "Epson", "DDIF",
1432 "Interpress", "ISO6429", "Line Data", "MODCA", "REGIS",
1433 "SCS", "SPDL", "TEK4014", "PDS", "IGP", "CodeV", "DSCDSE",
1434 "WPS", "LN03", "CCITT", "QUIC", "CPAP", "DecPPL",
1435 "Simple Text", "NPAP", "DOC", "imPress", "Pinwriter",
1436 "NPDL", "NEC201PL", "Automatic", "Pages", "LIPS", "TIFF",
1437 "Diagnostic", "CaPSL", "EXCL", "LCDS", "XES", "MIME"},
1438 ModelCorrespondence {"CIM_Printer.LanguagesSupported",
1439 "CIM_Printer.CurrentMimeType"}
1440 ]
1441 uint16 CurrentLanguage;
1442 [Description (
1443 "Specifies the mime type currently being used by the "
1444 "Printer if the CurrentLanguage is set to indicate a "
1445 "mime type is in use (value = 47)."),
1446 ModelCorrespondence {"CIM_Printer.CurrentLanguage"}
1447 ]
1448 string CurrentMimeType;
1449 [Description (
1450 karl 1.1 "Indicates the default printer language. A language that "
1451 "is used as a default by the Printer should also be listed "
1452 "in LanguagesSupported."),
1453 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
1454 "11", "12", "13", "14", "15", "16", "17", "18", "19",
1455 "20", "21", "22", "23", "24", "25", "26", "27", "28",
1456 "29", "30", "31", "32", "33", "34", "35", "36", "37",
1457 "38", "39", "40", "41", "42", "43", "44", "45", "46", "47"},
1458 Values {"Other", "Unknown", "PCL", "HPGL", "PJL", "PS",
1459 "PSPrinter", "IPDS", "PPDS", "EscapeP", "Epson", "DDIF",
1460 "Interpress", "ISO6429", "Line Data", "MODCA", "REGIS",
1461 "SCS", "SPDL", "TEK4014", "PDS", "IGP", "CodeV", "DSCDSE",
1462 "WPS", "LN03", "CCITT", "QUIC", "CPAP", "DecPPL",
1463 "Simple Text", "NPAP", "DOC", "imPress", "Pinwriter",
1464 "NPDL", "NEC201PL", "Automatic", "Pages", "LIPS", "TIFF",
1465 "Diagnostic", "CaPSL", "EXCL", "LCDS", "XES", "MIME"},
1466 ModelCorrespondence {"CIM_Printer.LanguagesSupported",
1467 "CIM_Printer.DefaultMimeType"}
1468 ]
1469 uint16 DefaultLanguage;
1470 [Description (
1471 karl 1.1 "Specifies the default mime type used by the Printer if the "
1472 "DefaultLanguage is set to indicate a mime type is in use "
1473 "(value=47)."),
1474 ModelCorrespondence {"CIM_Printer.DefaultLanguage"}
1475 ]
1476 string DefaultMimeType;
1477 [Description (
1478 "Printer jobs processed since last reset. These jobs may be "
1479 "processed from one or more PrintQueues."),
1480 Counter
1481 ]
1482 uint32 JobCountSinceLastReset;
1483 [Description ("Time of last reset of the Printer Device.")]
1484 datetime TimeOfLastReset;
1485 [Description (
1486 "An array of integers indicating Printer capabilities. "
1487 "Information such as \"Duplex Printing\" (value=3) or "
1488 "\"Transparency Printing\" (7) is specified in this "
1489 "property."),
1490 ArrayType ("Indexed"),
1491 Values {"Unknown", "Other", "Color Printing",
1492 karl 1.1 "Duplex Printing", "Copies", "Collation", "Stapling",
1493 "Transparency Printing", "Punch", "Cover", "Bind",
1494 "Black and White Printing", "One Sided",
1495 "Two Sided Long Edge", "Two Sided Short Edge",
1496 "Portrait", "Landscape", "Reverse Portrait",
1497 "Reverse Landscape", "Quality High", "Quality Normal",
1498 "Quality Low"},
1499 ModelCorrespondence {"CIM_Printer.CapabilityDescriptions",
1500 "CIM_PrintJob.Finishing",
1501 "CIM_PrintService.Capabilities"}
1502 ]
1503 uint16 Capabilities[];
1504 [Description (
1505 "An array of free-form strings providing more detailed "
1506 "explanations for any of the Printer features indicated in "
1507 "the Capabilities array. Note, each entry of this array "
1508 "is related to the entry in the Capabilities array that "
1509 "is located at the same index."),
1510 ArrayType ("Indexed"),
1511 ModelCorrespondence {"CIM_Printer.Capabilities"}
1512 ]
1513 karl 1.1 string CapabilityDescriptions[];
1514 [Description (
1515 "Specifies which finishings and other capabilities of "
1516 "the Printer will be used by default. An entry in Default"
1517 "Capabilities should also be listed in the Capabilities "
1518 "array."),
1519 Values {"Unknown", "Other", "Color Printing",
1520 "Duplex Printing", "Copies", "Collation", "Stapling",
1521 "Transparency Printing", "Punch", "Cover", "Bind",
1522 "Black and White Printing", "One Sided",
1523 "Two Sided Long Edge", "Two Sided Short Edge",
1524 "Portrait", "Landscape", "Reverse Portrait",
1525 "Reverse Landscape", "Quality High", "Quality Normal",
1526 "Quality Low"},
1527 ModelCorrespondence {"CIM_Printer.Capabilities"}
1528 ]
1529 uint16 DefaultCapabilities[];
1530 [Description (
1531 "Specifies which finishings and other capabilities of "
1532 "the Printer are currently being used. An entry in this "
1533 "property should also be listed in the Capabilities array."),
1534 karl 1.1 Values {"Unknown", "Other", "Color Printing",
1535 "Duplex Printing", "Copies", "Collation", "Stapling",
1536 "Transparency Printing", "Punch", "Cover", "Bind",
1537 "Black and White Printing", "One Sided",
1538 "Two Sided Long Edge", "Two Sided Short Edge",
1539 "Portrait", "Landscape", "Reverse Portrait",
1540 "Reverse Landscape", "Quality High", "Quality Normal",
1541 "Quality Low"},
1542 ModelCorrespondence {"CIM_Printer.Capabilities"}
1543 ]
1544 uint16 CurrentCapabilities[];
1545 [Description (
1546 "The maximum number of copies that can be produced by "
1547 "the Printer from a single Job."),
1548 ModelCorrespondence {"CIM_PrintJob.Copies"}
1549 ]
1550 uint32 MaxCopies;
1551 [Description (
1552 "The number of copies that will be produced for a "
1553 "single Job unless otherwise specified.")
1554 ]
1555 karl 1.1 uint32 DefaultCopies;
1556 [Description (
1557 "The maximum number of print-stream pages that the "
1558 "Printer can render onto a single media sheet."),
1559 ModelCorrespondence {"CIM_PrintJob.NumberUp"}
1560 ]
1561 uint32 MaxNumberUp;
1562 [Description (
1563 "The number of print-stream pages that the Printer will "
1564 "render onto a single media sheet unless a Job specifies "
1565 "otherwise.")
1566 ]
1567 uint32 DefaultNumberUp;
1568 [Description (
1569 "Printer's horizontal resolution in Pixels per Inch."),
1570 Units ("Pixels per Inch"),
1571 ModelCorrespondence {"CIM_PrintJob.HorizontalResolution"}
1572 ]
1573 uint32 HorizontalResolution;
1574 [Description (
1575 "Printer's vertical resolution in Pixels per Inch."),
1576 karl 1.1 Units ("Pixels per Inch"),
1577 ModelCorrespondence {"CIM_PrintJob.HorizontalResolution"}
1578 ]
1579 uint32 VerticalResolution;
1580 [Description (
1581 "Identifies the available character sets for the output "
1582 "of text related to managing the Printer. Strings "
1583 "provided in this property should conform to the "
1584 "semantics and syntax specified by section 4.1.2 "
1585 "(\"Charset parameter\") in RFC 2046 (MIME Part 2) and "
1586 "contained in the IANA character-set registry. Examples "
1587 "include \"utf-8\", \"us-ascii\" and \"iso-8859-1\"."),
1588 ArrayType ("Indexed"),
1589 ModelCorrespondence {"CIM_PrintJob.CharSet"},
1590 MappingStrings {
1591 "MIB.IETF|Printer-MIB.prtLocalizationCharacterSet"}
1592 ]
1593 string CharSetsSupported[];
1594 [Description (
1595 "Specifies the current character set being used for "
1596 "the output of text relating to management of the "
1597 karl 1.1 "Printer. The character set described by this property "
1598 "should also be listed in CharsetsSupported. The string "
1599 "specified by this property should conform to the "
1600 "semantics and syntax specified by section 4.1.2 "
1601 "(\"Charset parameter\") in RFC 2046 (MIME Part 2) and "
1602 "contained in the IANA character-set registry. Examples "
1603 "include \"utf-8\", \"us-ascii\" and \"iso-8859-1\"."),
1604 ModelCorrespondence {"CIM_Printer.CharSetsSupported"}
1605 ]
1606 string CurrentCharSet;
1607 [Description (
1608 "Identifies the available languages for strings used by "
1609 "the Printer for the output of management information. "
1610 "The strings should conform to RFC 1766, for example "
1611 "\"en\" is used for English."),
1612 ArrayType ("Indexed"),
1613 MappingStrings {
1614 "MIB.IETF|Printer-MIB.prtLocalizationLanguage"},
1615 ModelCorrespondence {"CIM_PrintJob.NaturalLanguage"}
1616 ]
1617 string NaturalLanguagesSupported[];
1618 karl 1.1 [Description (
1619 "Identifies the current language being used by the "
1620 "Printer for management. The language listed in the "
1621 "CurrentNaturalLanguage property should also be listed "
1622 "in NaturalLanguagesSupported."),
1623 ModelCorrespondence {"CIM_Printer.NaturalLanguagesSupported"}
1624 ]
1625 string CurrentNaturalLanguage;
1626 [Description (
1627 "Specifies the largest Job (as a byte stream) that the "
1628 "Printer will accept in units of Kbytes. A value of zero "
1629 "indicates that no limit has been set."),
1630 Units ("KiloBytes"),
1631 ModelCorrespondence {"CIM_PrintJob.JobSize"}
1632 ]
1633 uint32 MaxSizeSupported;
1634 [Description (
1635 "Describes all of the job sheets that are available on "
1636 "the Printer. This can also be used to describe the banner "
1637 "that a Printer might provide at the beginning of each Job, "
1638 "or can describe other user specified options."),
1639 karl 1.1 ModelCorrespondence {"CIM_PrintJob.RequiredJobSheets"}
1640 ]
1641 string AvailableJobSheets[];
1642 [Description (
1643 "Specifies the marking technology used by the Printer."),
1644 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9",
1645 "10", "11", "12", "13", "14", "15", "16", "17",
1646 "18", "19", "20", "21", "22", "23", "24", "25",
1647 "26", "27"},
1648 Values {"Other", "Unknown", "Electrophotographic LED",
1649 "Electrophotographic Laser",
1650 "Electrophotographic Other",
1651 "Impact Moving Head Dot Matrix 9pin",
1652 "Impact Moving Head Dot Matrix 24pin",
1653 "Impact Moving Head Dot Matrix Other",
1654 "Impact Moving Head Fully Formed",
1655 "Impact Band", "Impact Other", "Inkjet Aqueous",
1656 "Inkjet Solid", "Inkjet Other", "Pen",
1657 "Thermal Transfer", "Thermal Sensitive",
1658 "Thermal Diffusion", "Thermal Other",
1659 "Electroerosion", "Electrostatic",
1660 karl 1.1 "Photographic Microfiche",
1661 "Photographic Imagesetter", "Photographic Other",
1662 "Ion Deposition", "eBeam", "Typesetter"},
1663 MappingStrings {"MIB.IETF|Printer-MIB.prtMarkerMarkTech"}
1664 ]
1665 uint16 MarkingTechnology;
1666 };
1667
1668 // ===================================================================
1669 // PrintQueue
1670 // ===================================================================
1671 [Description (
1672 "Capabilities and management of a Printer Queue. A PrintQueue "
1673 "holds PrintJobs - which are placed on the Queue by a Print"
1674 "Service. Jobs can move from Queue to Queue.")
1675 ]
1676 class CIM_PrintQueue : CIM_JobDestination
1677 {
1678 [Description (
1679 "Indicates that Jobs on the Queue will be passed to a "
1680 "Printer. When FALSE, a Job will remain on the Queue and "
1681 karl 1.1 "will not be passed to a Printer for output.")
1682 ]
1683 boolean QueueEnabled;
1684 [Description (
1685 "When FALSE, no PrintService can place PrintJobs on the "
1686 "PrintQueue. The ability of an individual PrintService "
1687 "to place a Job on the Queue can be specified using the "
1688 "QueueAcceptingFromService property in the QueueForPrint"
1689 "Service association.")
1690 ]
1691 boolean QueueAccepting;
1692 [Description ("The current number of Jobs on the Queue."),
1693 Gauge
1694 ]
1695 uint32 NumberOnQueue;
1696 [Description (
1697 "Gives Queue-specific status information, beyond the "
1698 "ManagedSystemElement.Status property. This may be used to "
1699 "provide further qualification as to the status of the "
1700 "Queue or to indicate a secondary condition (e.g. spool "
1701 "area is full)."),
1702 karl 1.1 Values {"Other", "Unknown", "No Additional Status",
1703 "QueueSpoolAreaFull"}
1704 ]
1705 uint16 QueueStatus;
1706 [Description (
1707 "Provides a textual explanation for the status of the Queue. "
1708 "The settings of both QueueStatus and the Status property "
1709 "inherited from ManagedSystemElement may be described by "
1710 "QueueStatusInfo. For example, if \"Stopping\" is the value "
1711 "assigned to Status, then this property may contain an "
1712 "explanation as to why the Queue is being stopped.")
1713 ]
1714 string QueueStatusInfo;
1715 [Description (
1716 "Specifies the largest possible Job (in terms of a single "
1717 "byte stream) that may be submitted to this Queue. A value "
1718 "of zero indicates that no limit has been set. Units "
1719 "are Kbytes."),
1720 Units ("KiloBytes"),
1721 ModelCorrespondence {"CIM_PrintJob.JobSize"}
1722 ]
1723 karl 1.1 uint32 MaxJobSize;
1724 [Description (
1725 "Specifies the priority that will be assigned to a new Job "
1726 "being submitted to this Queue, if the Job does not "
1727 "explicitly specify a priority. The range of valid priorities "
1728 "and the interpretation of priorities may be determined from "
1729 "the JobPriorityHigh and JobPriorityLow properties."),
1730 ModelCorrespondence {"CIM_PrintQueue.JobPriorityHigh",
1731 "CIM_PrintQueue.JobPriorityLow"}
1732 ]
1733 uint32 DefaultJobPriority;
1734 [Description (
1735 "Specifies the numeric value that is used to represent the "
1736 "highest priority Jobs that are submitted to this Queue. The "
1737 "range of numeric values for priority may be inversed, e.g. "
1738 "a high priority job is represented by a low integer value. "
1739 "This is indicated by JobPriorityLow being greater than "
1740 "JobPriorityHigh. If both values (PriorityLow and Priority"
1741 "High) are assigned to zero, then the Queue does not support "
1742 "Job priorities."),
1743 ModelCorrespondence {"CIM_PrintQueue.JobPriorityLow",
1744 karl 1.1 "CIM_Job.Priority"}
1745 ]
1746 uint32 JobPriorityHigh;
1747 [Description (
1748 "Specifies the numeric value that is used to represent the "
1749 "lowest priority Jobs that are submitted to this Queue. The "
1750 "range of numeric values for priority may be inversed, e.g. "
1751 "a low priority job is represented by a high integer value. "
1752 "This is indicated by JobPriorityLow being greater than "
1753 "JobPriorityHigh. If both values (PriorityLow and PriorityHigh) "
1754 "are assigned to zero, then the Queue does not support "
1755 "Job priorities."),
1756 ModelCorrespondence {"CIM_PrintQueue.JobPriorityHigh",
1757 "CIM_Job.Priority"}
1758 ]
1759 uint32 JobPriorityLow;
1760 [Description (
1761 "Specifies the job sheets that are supported by this Queue. "
1762 "Typically the job sheets provided by a Queue will be the "
1763 "union or aggregation of those provided by all the Printers "
1764 "that it supports. However, a system administrator may choose "
1765 karl 1.1 "to restrict access to some job sheets on a particular Queue. "
1766 "A Queue might also support additional job sheets through the "
1767 "use of a filter that adds a banner or some other page when a "
1768 "Job is taken from the Queue."),
1769 ModelCorrespondence {"CIM_PrintJob.RequiredJobSheets"}
1770 ]
1771 string AvailableJobSheets[];
1772 };
1773
1774 // ===================================================================
1775 // PrintJob
1776 // ===================================================================
1777 [Description (
1778 "Description of a print request that is either waiting on a "
1779 "Queue for a Printer to become available, in the process of "
1780 "being output on a Printer, or that has previously been "
1781 "printed on a Printer. PrintJobs are weak to their current "
1782 "Queue, or to the last Queue that held them.")
1783 ]
1784 class CIM_PrintJob : CIM_Job
1785 {
1786 karl 1.1 [Propagated ("CIM_PrintQueue.SystemCreationClassName"), Key,
1787 Description ("The scoping System's CreationClassName."),
1788 MaxLen (256)
1789 ]
1790 string SystemCreationClassName;
1791 [Propagated ("CIM_PrintQueue.SystemName"), Key,
1792 Description ("The scoping System's Name."),
1793 MaxLen (256)
1794 ]
1795 string SystemName;
1796 [Propagated ("CIM_PrintQueue.CreationClassName"), Key,
1797 Description ("The scoping Queue's CreationClassName."),
1798 MaxLen (256)
1799 ]
1800 string QueueCreationClassName;
1801 [Propagated ("CIM_PrintQueue.Name"), Key,
1802 Description ("The scoping Queue's Name."),
1803 MaxLen (256)
1804 ]
1805 string QueueName;
1806 [Description (
1807 karl 1.1 "Uniquely identifies this Job within its scoping Queue."),
1808 Key
1809 ]
1810 string JobID;
1811 [Description (
1812 "Provides additional textual descriptions of how this "
1813 "Job should be scheduled.")
1814 ]
1815 string SchedulingInformation;
1816 [Description (
1817 "Specifies the size of the PrintJob (as a byte stream) in "
1818 "units of Kbytes."),
1819 Units ("KiloBytes"),
1820 ModelCorrespondence {"CIM_Printer.MaxSizeSupported",
1821 "CIM_PrintQueue.MaxJobSize"}
1822 ]
1823 uint32 JobSize;
1824 [Description (
1825 "Specifies the print language used by this Job."),
1826 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
1827 "11", "12", "13", "14", "15", "16", "17", "18", "19",
1828 karl 1.1 "20", "21", "22", "23", "24", "25", "26", "27", "28",
1829 "29", "30", "31", "32", "33", "34", "35", "36", "37",
1830 "38", "39", "40", "41", "42", "43", "44", "45", "46", "47"},
1831 Values {"Other", "Unknown", "PCL", "HPGL", "PJL", "PS",
1832 "PSPrinter", "IPDS", "PPDS", "EscapeP", "Epson", "DDIF",
1833 "Interpress", "ISO6429", "Line Data", "MODCA", "REGIS",
1834 "SCS", "SPDL", "TEK4014", "PDS", "IGP", "CodeV", "DSCDSE",
1835 "WPS", "LN03", "CCITT", "QUIC", "CPAP", "DecPPL",
1836 "Simple Text", "NPAP", "DOC", "imPress", "Pinwriter",
1837 "NPDL", "NEC201PL", "Automatic", "Pages", "LIPS", "TIFF",
1838 "Diagnostic", "CaPSL", "EXCL", "LCDS", "XES", "MIME"},
1839 ArrayType ("Indexed"),
1840 MappingStrings {"MIB.IETF|Printer-MIB.prtInterpreterLangFamily"},
1841 ModelCorrespondence {"CIM_Printer.LanguagesSupported",
1842 "CIM_PrintService.LanguagesSupported",
1843 "CIM_PrintJob.MimeTypes"}
1844 ]
1845 uint16 Language;
1846 [Description (
1847 "Specifies the mime types used by the PrintJob if "
1848 "Language is set to indicate a mime type is in use (value=47)."),
1849 karl 1.1 ModelCorrespondence {"CIM_PrintJob.Language",
1850 "CIM_Printer.MimeTypesSupported",
1851 "CIM_PrintService.MimeTypesSupported"}
1852 ]
1853 string MimeTypes[];
1854 [Description (
1855 "A string specifying the type of paper that is required by "
1856 "this PrintJob. Each string should be expressed in the form "
1857 "specified by ISO/IEC 10175 Document Printing Application (DPA) "
1858 "which is also summarized in Appendix C of RFC 1759 (Printer "
1859 "MIB). Examples of valid strings are \"iso-a4-colored\" and "
1860 "\"na-10x14-envelope\"."),
1861 ModelCorrespondence {"CIM_Printer.PaperTypesAvailable",
1862 "CIM_PrintService.PaperTypesAvailable"}
1863 ]
1864 string RequiredPaperType;
1865 [Description (
1866 "An array of integers indicating the type of finishing "
1867 "required by this Job. It is equivalent to the Capabilities "
1868 "property provided by the Printer."),
1869 ArrayType ("Indexed"),
1870 karl 1.1 Values {"Unknown", "Other", "Color Printing",
1871 "Duplex Printing", "Copies", "Collation", "Stapling",
1872 "Transparency Printing", "Punch", "Cover", "Bind",
1873 "Black and White Printing", "One Sided",
1874 "Two Sided Long Edge", "Two Sided Short Edge",
1875 "Portrait", "Landscape", "Reverse Portrait",
1876 "Reverse Landscape", "Quality High", "Quality Normal",
1877 "Quality Low"},
1878 ModelCorrespondence {"CIM_Printer.Capabilities",
1879 "CIM_PrintService.Capabilities"}
1880 ]
1881 uint16 Finishing[];
1882 [Description (
1883 "The number of physical copies of the output that will be "
1884 "produced from this Job."),
1885 ModelCorrespondence {"CIM_Printer.MaxCopies"}
1886 ]
1887 uint32 Copies;
1888 [Description (
1889 "The horizontal resolution in Pixels per Inch for the Job."),
1890 Units ("Pixels per Inch"),
1891 karl 1.1 ModelCorrespondence {"CIM_Printer.HorizontalResolution"}
1892 ]
1893 uint32 HorizontalResolution;
1894 [Description (
1895 "The vertical resolution in Pixels per Inch for the Job."),
1896 Units ("Pixels per Inch"),
1897 ModelCorrespondence {"CIM_Printer.VerticalResolution"}
1898 ]
1899 uint32 VerticalResolution;
1900 [Description (
1901 "Specifies the character set and encoding method that "
1902 "should be used by the Printer for the management of "
1903 "this Job. The strings should conform to the semantics and "
1904 "syntax specified by section 4.1.2 (\"Charset parameter\") "
1905 "in RFC 2046 (MIME Part 2) and contained in the IANA "
1906 "character-set registry. Examples include \"utf-8\", "
1907 "\"us-ascii\" and \"iso-8859-1\"."),
1908 ModelCorrespondence {"CIM_Printer.CharSetsSupported"}
1909 ]
1910 string CharSet;
1911 [Description (
1912 karl 1.1 "Identifies the language that should be used by the Printer "
1913 "for the management of this Job. The specified value should "
1914 "conform to RFC 1766. For example, \"en\" is used for "
1915 "English."),
1916 ModelCorrespondence {"CIM_Printer.NaturalLanguagesSupported"}
1917 ]
1918 string NaturalLanguage;
1919 [Description (
1920 "The number of print-stream pages that should be rendered "
1921 "onto a single media sheet when the Printer outputs this "
1922 "PrintJob."),
1923 ModelCorrespondence {"CIM_Printer.MaxNumberUp"}
1924 ]
1925 uint32 NumberUp;
1926 [Override("JobStatus"),
1927 Description (
1928 "The inherited JobStatus is used to provide additional "
1929 "information about the status of a PrintJob beyond that "
1930 "enumerated by PrintJobStatus."),
1931 ModelCorrespondence {"CIM_PrintJob.PrintJobStatus"}
1932 ]
1933 karl 1.1 string JobStatus;
1934 [Description (
1935 "Describes the current state of this Job with respect "
1936 "to the PrintQueue and the Printer. Additional information "
1937 "may be specified in JobStatus."),
1938 ValueMap {"1", "2", "3", "4", "5", "6", "7"},
1939 Values {"Other", "Unknown", "Pending", "Blocked",
1940 "Complete", "Completed With Error", "Printing"},
1941 ModelCorrespondence {"CIM_PrintJob.TimeCompleted",
1942 "CIM_PrintJob.JobStatus"}
1943 ]
1944 uint16 PrintJobStatus;
1945 [Description (
1946 "Time when this Job was completed. This value is only "
1947 "valid if the PrintJobStatus has been assigned to "
1948 "\"Complete\" (value=5) or \"Completed With Error\" "
1949 "(value=6)."),
1950 ModelCorrespondence {"CIM_PrintJob.PrintJobStatus"}
1951 ]
1952 datetime TimeCompleted;
1953 [Description (
1954 karl 1.1 "Describes the job sheets that should be used when this "
1955 "Job is output on the Printer."),
1956 ModelCorrespondence {"CIM_Printer.AvailableJobSheets"}
1957 ]
1958 string RequiredJobSheets[];
1959 [Description (
1960 "Provides additional information, beyond Job Owner "
1961 "inherited from CIM_Job, to identify the origins of the "
1962 "PrintJob. This property could include information such as "
1963 "the System, application or Process that created the Job.")
1964 ]
1965 string JobOrigination;
1966 };
1967
1968 // ===================================================================
1969 // PrintSAP
1970 // ===================================================================
1971 [Description ("The ServiceAccessPoint for a printing Service.") ]
1972 class CIM_PrintSAP : CIM_ServiceAccessPoint
1973 {
1974 [Description (
1975 karl 1.1 "Specifies the print procotols that this AccessPoint uses. "
1976 "Note that each entry of this array is related to the entry in "
1977 "the PrintProtocolInfo array that is located at the same "
1978 "index."),
1979 ArrayType ("Indexed"),
1980 Values {"Unknown", "Other", "SMB", "BSD", "SYSV","HPNP", "IPP",
1981 "Local"},
1982 ModelCorrespondence {"CIM_PrintSAP.PrintProtocolInfo"}
1983 ]
1984 uint16 PrintProtocol[];
1985 [Description (
1986 "Provides clarifying or additional information about the "
1987 "protocols supported by this AccessPoint. Note, each entry "
1988 "of this array is related to the entry in the PrintProtocol "
1989 "array that is located at the same index."),
1990 ArrayType ("Indexed"),
1991 ModelCorrespondence {"CIM_PrintSAP.PrintProtocol"}
1992 ]
1993 string PrintProtocolInfo[];
1994 };
1995
1996 karl 1.1 // ===================================================================
1997 // PrintService
1998 // ===================================================================
1999 [Description (
2000 "The Service that provides support for printing. The basic "
2001 "assumption of the Printing Model is that a PrintService accepts "
2002 "a PrintJob for processing, via its PrintSAP. The Job is then "
2003 "placed on a PrintQueue (indicated by the QueueForPrintService "
2004 "association). Printers take Jobs from Queues (indicated by the "
2005 "PrinterServicingQueue association).")
2006 ]
2007 class CIM_PrintService : CIM_Service
2008 {
2009 [Description (
2010 "An array of free-form strings specifying the types of "
2011 "paper that may be used by Jobs that are submitted to this "
2012 "PrintService. This may be different than the paper types that "
2013 "are installed on the Printer, because the PrintService may "
2014 "include support for manually making other types available or "
2015 "only a subset of paper types may be exported via this Service. "
2016 "Each string should be expressed in the form specified by "
2017 karl 1.1 "ISO/IEC 10175 Document Printing Application (DPA) which is "
2018 "also summarized in Appendix C of RFC 1759 (Printer MIB). "
2019 "Examples of valid strings are \"iso-a4-colored\" and "
2020 "\"na-10x14-envelope\"."),
2021 ModelCorrespondence {"CIM_Printer.PaperTypesAvailable",
2022 "CIM_PrintJob.RequiredPaperType"}
2023 ]
2024 string PaperTypesAvailable[];
2025 [Description (
2026 "An array indicating the print languages supported by the "
2027 "PrintService. A PrintService may support more languages "
2028 "than those available on the underlying Printer through the "
2029 "use of filters. An administrator may also choose to prevent "
2030 "some languages from being exported by the PrintService."),
2031 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
2032 "11", "12", "13", "14", "15", "16", "17", "18", "19",
2033 "20", "21", "22", "23", "24", "25", "26", "27", "28",
2034 "29", "30", "31", "32", "33", "34", "35", "36", "37",
2035 "38", "39", "40", "41", "42", "43", "44", "45", "46", "47"},
2036 Values {"Other", "Unknown", "PCL", "HPGL", "PJL", "PS",
2037 "PSPrinter", "IPDS", "PPDS", "EscapeP", "Epson", "DDIF",
2038 karl 1.1 "Interpress", "ISO6429", "Line Data", "MODCA", "REGIS",
2039 "SCS", "SPDL", "TEK4014", "PDS", "IGP", "CodeV", "DSCDSE",
2040 "WPS", "LN03", "CCITT", "QUIC", "CPAP", "DecPPL",
2041 "Simple Text", "NPAP", "DOC", "imPress", "Pinwriter",
2042 "NPDL", "NEC201PL", "Automatic", "Pages", "LIPS", "TIFF",
2043 "Diagnostic", "CaPSL", "EXCL", "LCDS", "XES", "MIME"},
2044 ArrayType ("Indexed"),
2045 MappingStrings {"MIB.IETF|Printer-MIB.prtInterpreterLangFamily"},
2046 ModelCorrespondence {"CIM_Printer.LanguagesSupported",
2047 "CIM_PrintJob.Language",
2048 "CIM_PrintService.MimeTypesSupported"}
2049 ]
2050 uint16 LanguagesSupported[];
2051 [Description (
2052 "An array of free-form strings providing more detailed "
2053 "explanations for any mime types that are supported by "
2054 "the PrintService. Support for mime types is indicated "
2055 "by specifying a value of 47 in the LanguagesSupported array."),
2056 ModelCorrespondence {"CIM_Printer.MimeTypesSupported",
2057 "CIM_PrintJob.MimeTypes",
2058 "CIM_PrintService.LanguagesSupported"}
2059 karl 1.1 ]
2060 string MimeTypesSupported[];
2061 [Description (
2062 "An array of integers indicating the capabilities supported "
2063 "by this service. Information such as \"Duplex Printing\" "
2064 "(value=3) or \"Transparency Printing\" (7) is specified in "
2065 "this property."),
2066 ArrayType ("Indexed"),
2067 Values {"Unknown", "Other", "Color Printing", "Duplex Printing",
2068 "Copies", "Collation", "Stapling", "Transparency Printing",
2069 "Punch", "Cover", "Bind", "Black and White Printing",
2070 "One Sided", "Two Sided Long Edge", "Two Sided Short Edge",
2071 "Portrait", "Landscape", "Reverse Portrait",
2072 "Reverse Landscape", "Quality High", "Quality Normal",
2073 "Quality Low"},
2074 ModelCorrespondence {"CIM_Printer.Capabilities",
2075 "CIM_PrintJob.Finishing",
2076 "CIM_PrintService.CapabilityDescriptions"}
2077 ]
2078 uint16 Capabilities[];
2079 [Description (
2080 karl 1.1 "An array of free-form strings providing more detailed "
2081 "explanations for any of the Printer features indicated in "
2082 "the Capabilities array. Note, each entry of this array "
2083 "is related to the entry in the Capabilities array that "
2084 "is located at the same index."),
2085 ArrayType ("Indexed"),
2086 ModelCorrespondence {"CIM_PrintService.Capabilities"}
2087 ]
2088 string CapabilityDescriptions[];
2089 [Description (
2090 "Describes the filters that are available within this Print"
2091 "Service. For example, a PrintService may be able to convert "
2092 "a Job submitted in one page description language to another, "
2093 "so that it can be passed to an available Printer.")
2094 ]
2095 string AvailableFilters[];
2096 };
2097
2098 // ===================================================================
2099 // PrinterServicingQueue
2100 // ===================================================================
2101 karl 1.1 [Association,
2102 Description (
2103 "This association indicates that a Printer can be passed "
2104 "PrintJobs from a particular Queue.")
2105 ]
2106 class CIM_PrinterServicingQueue : CIM_Dependency
2107 {
2108 [Override ("Antecedent"),
2109 Description (
2110 "A destination Printer for Jobs enqueued on the Dependent "
2111 "Queue.")
2112 ]
2113 CIM_Printer REF Antecedent;
2114 [Override ("Dependent"),
2115 Description ("A Queue that is providing Jobs to the Printer.")
2116 ]
2117 CIM_PrintQueue REF Dependent;
2118 };
2119
2120 // ===================================================================
2121 // PrinterServicingJob
2122 karl 1.1 // ===================================================================
2123 [Association,
2124 Description (
2125 "This association indicates that a Printer is currently "
2126 "servicing a particular PrintJob.")
2127 ]
2128 class CIM_PrinterServicingJob : CIM_Dependency
2129 {
2130 [Override ("Antecedent"),
2131 Description ("The destination Printer for a PrintJob.")
2132 ]
2133 CIM_Printer REF Antecedent;
2134 [Override ("Dependent"), Description ("The PrintJob.") ]
2135 CIM_PrintJob REF Dependent;
2136 };
2137
2138 // ===================================================================
2139 // PrintJobFile
2140 // ===================================================================
2141 [Association, Aggregation,
2142 Description (
2143 karl 1.1 "This association indicates which files are associated with "
2144 "a PrintJob.")
2145 ]
2146 class CIM_PrintJobFile : CIM_Component
2147 {
2148 [Override ("GroupComponent"),
2149 Description ("The PrintJob that is based on one or more Files.")
2150 ]
2151 CIM_PrintJob REF GroupComponent;
2152 [Override ("PartComponent"),
2153 Description ("The File(s) that make up a PrintJob.")
2154 ]
2155 CIM_DataFile REF PartComponent;
2156 };
2157
2158 // ===================================================================
2159 // QueueForPrintService
2160 // ===================================================================
2161 [Association,
2162 Description (
2163 "This association indicates that a PrintService utilizes a "
2164 karl 1.1 "particular PrintQueue.")
2165 ]
2166 class CIM_QueueForPrintService : CIM_Dependency
2167 {
2168 [Override ("Antecedent"),
2169 Description ("The PrintQueue that the Service utilizes.")
2170 ]
2171 CIM_PrintQueue REF Antecedent;
2172 [Override ("Dependent"),
2173 Description ("The PrintService that puts Jobs on the Queue.")
2174 ]
2175 CIM_PrintService REF Dependent;
2176 [Description (
2177 "Indicates that the PrintService can accept Jobs and "
2178 "place them on the Queue.")
2179 ]
2180 boolean QueueAcceptingFromService;
2181 };
2182
2183 // ===================================================================
2184 // QueueForwardsToPrintSAP
2185 karl 1.1 // ===================================================================
2186 [Association,
2187 Description (
2188 "This association indicates that the Jobs from a PrintQueue "
2189 "can be sent to the referenced PrintSAP, to be handled by the "
2190 "SAP's backing PrintService.")
2191 ]
2192 class CIM_QueueForwardsToPrintSAP : CIM_Dependency
2193 {
2194 [Override ("Antecedent"),
2195 Description ("The PrintSAP for the PrintService.")
2196 ]
2197 CIM_PrintSAP REF Antecedent;
2198 [Override ("Dependent"),
2199 Description ("The PrintQueue that forwards Jobs to the SAP.")
2200 ]
2201 CIM_PrintQueue REF Dependent;
2202 };
2203
2204 // ===================================================================
2205 // OwningPrintQueue
2206 karl 1.1 // ===================================================================
2207 [Association,
2208 Description (
2209 "This association indicates which Queue holds a PrintJob and "
2210 "where the Job is located within that Queue. A Job may remain on "
2211 "its final Queue once it has been printed with a PrintJobStatus "
2212 "of \"Complete\" or \"Completed With Error\".")
2213 ]
2214 class CIM_OwningPrintQueue : CIM_JobDestinationJobs
2215 {
2216 [Override ("Antecedent"),
2217 Description ("The PrintQueue on which the Job is held."),
2218 Min(1), Max(1)
2219 ]
2220 CIM_PrintQueue REF Antecedent;
2221 [Override ("Dependent"),
2222 Description ("The PrintJob."),
2223 Weak
2224 ]
2225 CIM_PrintJob REF Dependent;
2226 [Description (
2227 karl 1.1 "The position of the PrintJob on the Queue. The top of the "
2228 "Queue is indicated by a value of 1 with higher values being "
2229 "used to represent Jobs that are further away from the top of "
2230 "the Queue. A QueuePosition of zero indicate that the Job has "
2231 "completed (either with or without error).")
2232 ]
2233 uint32 QueuePosition;
2234 };
2235
2236 // ===================================================================
2237 // Sensor
2238 // ===================================================================
2239 [Abstract,
2240 Description (
2241 "A Sensor is a hardware device capable of measuring the "
2242 "characteristics of some physical property - for example, the "
2243 "temperature or voltage characteristics of a UnitaryComputer"
2244 "System.")
2245 ]
2246 class CIM_Sensor : CIM_LogicalDevice
2247 {
2248 karl 1.1 [Description (
2249 "The Type of the Sensor, e.g. Voltage or Temperature Sensor. "
2250 "If the type is set to \"Other\", then the OtherSensorType"
2251 "Description can be used to further identify the type, or if "
2252 "the Sensor has numeric readings, then the type of the Sensor "
2253 "can be implicitly determined by the Units. A description of "
2254 "the different Sensor types is as follows: A Temperature Sensor "
2255 "measures the environmental temperature. Voltage and Current "
2256 "Sensors measure electrical voltage and current readings. "
2257 "A Tachometer measures speed/revolutions of a Device. For example, "
2258 "a Fan Device can have an associated Tachometer which measures "
2259 "its speed. A Counter is a general purpose Sensor that measures "
2260 "some numerical property of a Device. A Counter value can be "
2261 "cleared, but it never decreases. A Switch Sensor has states like "
2262 "Open/Close, On/Off, or Up/Down. A Lock has states of Locked/"
2263 "Unlocked. Humidity, Smoke Detection and Air Flow Sensors measure "
2264 "the equivalent environmental characteristics. A Presence Sensor "
2265 "detects the presence of a PhysicalElement."),
2266 Values {"Unknown", "Other", "Temperature", "Voltage", "Current",
2267 "Tachometer", "Counter", "Switch", "Lock", "Humidity",
2268 "Smoke Detection", "Presence", "Air Flow"},
2269 karl 1.1 ModelCorrespondence {"CIM_Sensor.OtherSensorTypeDescription"}
2270 ]
2271 uint16 SensorType;
2272 [MaxLen (128),
2273 Description (
2274 "A string describing the Sensor type - used when the SensorType "
2275 "property is set to \"Other\"."),
2276 ModelCorrespondence {"CIM_Sensor.SensorType"}
2277 ]
2278 string OtherSensorTypeDescription;
2279 [MaxLen (128),
2280 Description (
2281 "PossibleStates enumerates the string outputs of the Sensor. For "
2282 "example, a \"Switch\" Sensor may output the states \"On\", or \"Off\". "
2283 "Another implementation of the Switch may output the states \"Open\", "
2284 "and \"Close\". Another example is a NumericSensor supporting "
2285 "thresholds. This Sensor can report the states like \"Normal\", "
2286 "\"Upper Fatal\", \"Lower Non-Critical\", etc. A NumericSensor that "
2287 "does not publish readings and thresholds, but stores this data "
2288 "internally, can still report its states.")
2289 ]
2290 karl 1.1 string PossibleStates[];
2291 [MaxLen (128),
2292 Description (
2293 "The current state indicated by the Sensor. This is always one of "
2294 "the \"PossibleStates\".")
2295 ]
2296 string CurrentState;
2297 [Description (
2298 "The polling interval that the Sensor hardware or the instrumentation "
2299 "uses to determine the current state of the Sensor."),
2300 Units ("NanoSeconds")
2301 ]
2302 uint64 PollingInterval;
2303 };
2304
2305 // ===================================================================
2306 // AssociatedSensor
2307 // ===================================================================
2308 [Association,
2309 Description (
2310 "Many Devices include Sensors or have Sensors installed "
2311 karl 1.1 "nearby, in order to measure critical input and output "
2312 "properties. This association indicates that relationship.")
2313 ]
2314 class CIM_AssociatedSensor : CIM_Dependency
2315 {
2316 [Override ("Antecedent"),
2317 Description ("The Sensor.")
2318 ]
2319 CIM_Sensor REF Antecedent;
2320 [Override ("Dependent"),
2321 Description (
2322 "The LogicalDevice for which information is measured by "
2323 "the Sensor.")
2324 ]
2325 CIM_LogicalDevice REF Dependent;
2326 };
2327
2328 // ===================================================================
2329 // BinarySensor
2330 // ===================================================================
2331 [Description (
2332 karl 1.1 "A BinarySensor provides a boolean output. Given the addition "
2333 "of the CurrentState and PossibleStates properties to Sensor, "
2334 "the BinarySensor subclass is no longer necessary, but is "
2335 "retained for backward compatibility. A BinarySensor can be "
2336 "created by instantiating a Sensor with two PossibleStates.")
2337 ]
2338 class CIM_BinarySensor : CIM_Sensor
2339 {
2340 [Description ("The current value indicated by the Sensor.")]
2341 boolean CurrentReading;
2342 [Description (
2343 "ExpectedReading indicates the 'normal' value for the Sensor.")
2344 ]
2345 boolean ExpectedReading;
2346 [MaxLen (64),
2347 Description (
2348 "InterpretationOfTrue is a string indicating what a 'True' "
2349 "value from the BinarySensor means. This information could "
2350 "be displayed to a user.")
2351 ]
2352 string InterpretationOfTrue;
2353 karl 1.1 [MaxLen (64),
2354 Description (
2355 "InterpretationOfFalse is a string indicating what a 'False' "
2356 "value from the BinarySensor means. This information could "
2357 "be displayed to a user.")
2358 ]
2359 string InterpretationOfFalse;
2360 };
2361
2362 // ===================================================================
2363 // MultiStateSensor
2364 // ===================================================================
2365 [Description (
2366 "A Multi-StateSensor is a multi-member set of Sensors.")
2367 ]
2368 class CIM_MultiStateSensor : CIM_Sensor
2369 {
2370 };
2371
2372 // ===================================================================
2373 // CollectionOfSensors
2374 karl 1.1 // ===================================================================
2375 [Association,
2376 Aggregation,
2377 Description (
2378 "The CollectionOfSensors association indicates the "
2379 "Sensors that make up a MultiStateSensor.")
2380 ]
2381 class CIM_CollectionOfSensors : CIM_Component
2382 {
2383 [Override ("GroupComponent"),
2384 Aggregate,
2385 Description ("The MultiStateSensor."),
2386 Max (1)
2387 ]
2388 CIM_MultiStateSensor REF GroupComponent;
2389 [Override ("PartComponent"),
2390 Description (
2391 "A Sensor that is part of the MultiStateSensor."),
2392 Min (2)
2393 ]
2394 CIM_Sensor REF PartComponent;
2395 karl 1.1 };
2396
2397 // ===================================================================
2398 // DiscreteSensor
2399 // ===================================================================
2400 [Description (
2401 "A DiscreteSensor has a set of legal string values, "
2402 "that it can report. These values are enumerated in the "
2403 "Sensor's PossibleValues property. A DiscreteSensor will "
2404 "always have a 'current reading' that corresponds to one of "
2405 "the enumerated values.\n"
2406 "Given the addition of the CurrentState and PossibleStates "
2407 "properties to Sensor, the DiscreteSensor subclass is no longer "
2408 "necessary, but is retained for backward compatibility. "
2409 "Information in the CurrentReading and PossibleValues properties "
2410 "will typically have the same values and semantics as for the "
2411 "CurrentState and PossibleStates properties, inherited from "
2412 "Sensor.")
2413 ]
2414 class CIM_DiscreteSensor : CIM_Sensor
2415 {
2416 karl 1.1 [MaxLen (64),
2417 Description ("The current value indicated by the Sensor.")]
2418 string CurrentReading;
2419 [MaxLen (64),
2420 Description (
2421 "PossibleValues enumerates the string outputs that can be "
2422 "reported by the DiscreteSensor.")
2423 ]
2424 string PossibleValues[];
2425 [MaxLen (64),
2426 Description (
2427 "AcceptableValues details which of the PossibleValues strings "
2428 "are considered 'acceptable' (ie, 'not an error').")
2429 ]
2430 string AcceptableValues[];
2431 };
2432
2433 // ===================================================================
2434 // NumericSensor
2435 // ===================================================================
2436 [Description (
2437 karl 1.1 "A Numeric Sensor is capable of returning numeric readings "
2438 "and optionally supports thresholds settings.")
2439 ]
2440 class CIM_NumericSensor : CIM_Sensor
2441 {
2442 [Description (
2443 "The base unit of the values returned by this Sensor. All "
2444 "the values returned by this Sensor are represented in the units "
2445 "obtained by (BaseUnits * 10 raised to the power of the Unit"
2446 "Modifier). For example, if BaseUnits is Volts and the Unit"
2447 "Modifier is -6, then the units of the values returned are "
2448 "MicroVolts. However, if the RateUnits property is set to a "
2449 "value other than \"None\", then the units are further qualified "
2450 "as rate units. In the above example, if RateUnits is set to "
2451 "\"Per Second\", then the values returned by the Sensor "
2452 "are in MicroVolts/Second. The units apply to all numeric "
2453 "properties of the Sensor, unless explicitly overridden by the "
2454 "Units qualifier."),
2455 Values {"Unknown", "Other", "Degrees C", "Degrees F", "Degrees K",
2456 "Volts", "Amps", "Watts", "Joules", "Coulombs", "VA", "Nits",
2457 "Lumens", "Lux", "Candelas", "kPa", "PSI", "Newtons", "CFM",
2458 karl 1.1 "RPM", "Hertz", "Seconds", "Minutes", "Hours", "Days", "Weeks",
2459 "Mils", "Inches", "Feet", "Cubic Inches", "Cubic Feet",
2460 "Meters", "Cubic Centimeters", "Cubic Meters", "Liters",
2461 "Fluid Ounces", "Radians", "Steradians", "Revolutions",
2462 "Cycles", "Gravities", "Ounces", "Pounds", "Foot-Pounds",
2463 "Ounce-Inches", "Gauss", "Gilberts", "Henries", "Farads",
2464 "Ohms", "Siemens", "Moles", "Becquerels",
2465 "PPM (parts/million)", "Decibels", "DbA", "DbC",
2466 "Grays", "Sieverts", "Color Temperature Degrees K", "Bits",
2467 "Bytes", "Words (data)", "DoubleWords", "QuadWords",
2468 "Percentage"},
2469 ModelCorrespondence {"CIM_NumericSensor.UnitModifier",
2470 "CIM_NumericSensor.RateUnits"}
2471 ]
2472 uint16 BaseUnits;
2473 [Description (
2474 "The unit multiplier for the values returned by this Sensor. All "
2475 "the values returned by this Sensor are represented in the units "
2476 "obtained by (BaseUnits * 10 raised to the power of the Unit"
2477 "Modifier). For example, if BaseUnits is Volts and the Unit"
2478 "Modifier is -6, then the units of the values returned are Micro"
2479 karl 1.1 "Volts. However, if the RateUnits property is set to a value other "
2480 "than \"None\", then the units are further qualified as rate units. "
2481 "In the above example, if RateUnits is set to \"Per Second\", then "
2482 "the values returned by the Sensor are in MicroVolts/Second. The "
2483 "units apply to all numeric properties of the Sensor, unless "
2484 "explicitly overridden by the Units qualifier."),
2485 ModelCorrespondence {"CIM_NumericSensor.BaseUnits",
2486 "CIM_NumericSensor.RateUnits"}
2487 ]
2488 sint32 UnitModifier;
2489 [Description (
2490 "Specifies if the units returned by this Sensor are rate units. "
2491 "All the values returned by this Sensor are represented in the "
2492 "units obtained by (BaseUnits * 10 raised to the power of the Unit"
2493 "Modifier). This is true unless this property (RateUnits) has a "
2494 "value different than \"None\". For example, if BaseUnits is "
2495 "Volts and the UnitModifier is -6, then the units of the values "
2496 "returned are MicroVolts. But, if the RateUnits property is set "
2497 "to a value other than \"None\", then the units are further "
2498 "qualified as rate units. In the above example, if RateUnits is "
2499 "set to \"Per Second\", then the values returned by the Sensor are "
2500 karl 1.1 "in MicroVolts/Second. The units apply to all numeric properties "
2501 "of the Sensor, unless explicitly overridden by the Units "
2502 "qualifier. Any implementation of CurrentReading should be qualified "
2503 "with either a Counter or a Gauge qualifier, depending on the "
2504 "characteristics of the sensor being modeled."),
2505 Values {"None", "Per MicroSecond", "Per MilliSecond", "Per Second",
2506 "Per Minute", "Per Hour", "Per Day", "Per Week", "Per Month",
2507 "Per Year"},
2508 ModelCorrespondence {"CIM_NumericSensor.UnitModifier",
2509 "CIM_NumericSensor.BaseUnits"}
2510 ]
2511 uint16 RateUnits;
2512 [Description ("The current value indicated by the Sensor.")]
2513 sint32 CurrentReading;
2514 [Description (
2515 "NominalReading indicates the 'normal' or expected value "
2516 "for the NumericSensor.")
2517 ]
2518 sint32 NominalReading;
2519 [Description (
2520 "NormalMax provides guidance for the user as to the "
2521 karl 1.1 "normal maximum range for the NumericSensor.")
2522 ]
2523 sint32 NormalMax;
2524 [Description (
2525 "NormalMin provides guidance for the user as to the "
2526 "normal minimum range for the NumericSensor.")
2527 ]
2528 sint32 NormalMin;
2529 [Description (
2530 "MaxReadable indicates the largest value of the measured "
2531 "property that can be read by the NumericSensor.")
2532 ]
2533 sint32 MaxReadable;
2534 [Description (
2535 "MinReadable indicates the smallest value of the measured "
2536 "property that can be read by the NumericSensor.")
2537 ]
2538 sint32 MinReadable;
2539 [Description (
2540 "Resolution indicates the ability of the Sensor to resolve "
2541 "differences in the measured property. This value may vary "
2542 karl 1.1 "depending on whether the Device is linear over its dynamic "
2543 "range.")
2544 ]
2545 uint32 Resolution;
2546 [Description (
2547 "Indicates the tolerance of the Sensor for the measured "
2548 "property. Tolerance, along with Resolution and Accuracy, "
2549 "is used to calculate the actual value of the measured "
2550 "physical property. Tolerance may vary depending on "
2551 "whether the Device is linear over its dynamic range.")
2552 ]
2553 sint32 Tolerance;
2554 [Description (
2555 "Indicates the accuracy of the Sensor for the measured "
2556 "property. Its value is recorded as plus/minus hundredths "
2557 "of a percent. Accuracy, along with Resolution and Tolerance, "
2558 "is used to calculate the actual value of the measured "
2559 "physical property. Accuracy may vary depending on whether "
2560 "the Device is linear over its dynamic range."),
2561 Units ("Hundredths of Percent")
2562 ]
2563 karl 1.1 sint32 Accuracy;
2564 [Description (
2565 "Indicates that the Sensor is linear over its dynamic range.")
2566 ]
2567 boolean IsLinear;
2568 [Description (
2569 "Indicates the margin built around the thresholds. This margin "
2570 "prevents unnecessary state changes when the Sensor reading may "
2571 "fluctuate very close to its thresholds. This could be due to "
2572 "the Sensor's tolerance/accuracy/resolution or due to "
2573 "environmental factors. Once a threshold is crossed, the state of "
2574 "the Sensor should change. However, the state should not "
2575 "fluctuate between the old and new states unless the Sensor's "
2576 "change in the reading exceeds the hysteresis value.")
2577 ]
2578 uint32 Hysteresis;
2579 [Description (
2580 "The Sensor's threshold values specify the ranges (min and max "
2581 "values) for determining whether the Sensor is operating under "
2582 "Normal, NonCritical, Critical or Fatal conditions. If Current"
2583 "Reading is between LowerThresholdNonCritical and UpperThreshold"
2584 karl 1.1 "NonCritical, then the Sensor is reporting a normal value. "
2585 "If CurrentReading is between LowerThresholdNonCritical and Lower"
2586 "ThresholdCritical, then the CurrentState is NonCritical.")
2587 ]
2588 sint32 LowerThresholdNonCritical;
2589 [Description (
2590 "The Sensor's threshold values specify the ranges (min and max "
2591 "values) for determining whether the Sensor is operating under "
2592 "Normal, NonCritical, Critical or Fatal conditions. If the Current"
2593 "Reading is between LowerThresholdNonCritical and UpperThreshold"
2594 "NonCritical, then the Sensor is reporting a normal value. "
2595 "If the CurrentReading is between UpperThresholdNonCritical and "
2596 "UpperThresholdCritical, then the CurrentState is NonCritical.")
2597 ]
2598 sint32 UpperThresholdNonCritical;
2599 [Description (
2600 "The Sensor's threshold values specify the ranges (min and max "
2601 "values) for determining whether the Sensor is operating under "
2602 "Normal, NonCritical, Critical or Fatal conditions. If the Current"
2603 "Reading is between LowerThresholdCritical and LowerThreshold"
2604 "Fatal, then the CurrentState is Critical.")
2605 karl 1.1 ]
2606 sint32 LowerThresholdCritical;
2607 [Description (
2608 "The Sensor's threshold values specify the ranges (min and max "
2609 "values) for determining whether the Sensor is operating under "
2610 "Normal, NonCritical, Critical or Fatal conditions. If the Current"
2611 "Reading is between UpperThresholdCritical and UpperThreshold"
2612 "Fatal, then the CurrentState is Critical.")
2613 ]
2614 sint32 UpperThresholdCritical;
2615 [Description (
2616 "The Sensor's threshold values specify the ranges (min and max "
2617 "values) for determining whether the Sensor is operating under "
2618 "Normal, NonCritical, Critical or Fatal conditions. If the Current"
2619 "Reading is below LowerThresholdFatal, then the CurrentState is "
2620 "Fatal.")
2621 ]
2622 sint32 LowerThresholdFatal;
2623 [Description (
2624 "The Sensor's threshold values specify the ranges (min and max "
2625 "values) for determining whether the Sensor is operating under "
2626 karl 1.1 "Normal, NonCritical, Critical or Fatal conditions. If the Current"
2627 "Reading is above UpperThresholdFatal, then the CurrentState is "
2628 "Fatal.")
2629 ]
2630 sint32 UpperThresholdFatal;
2631 [Description (
2632 "An array representing the thresholds supported by this Sensor."),
2633 Values {"LowerThresholdNonCritical", "UpperThresholdNonCritical",
2634 "LowerThresholdCritical", "UpperThresholdCritical",
2635 "LowerThresholdFatal", "UpperThresholdFatal"}
2636 ]
2637 uint16 SupportedThresholds[];
2638 [Description (
2639 "An array representing the thresholds that are currently enabled "
2640 "for this Sensor."),
2641 Values {"LowerThresholdNonCritical", "UpperThresholdNonCritical",
2642 "LowerThresholdCritical", "UpperThresholdCritical",
2643 "LowerThresholdFatal", "UpperThresholdFatal"}
2644 ]
2645 uint16 EnabledThresholds[];
2646 [Description (
2647 karl 1.1 "An array representing the writable thresholds supported by "
2648 "Sensor."),
2649 Values {"LowerThresholdNonCritical", "UpperThresholdNonCritical",
2650 "LowerThresholdCritical", "UpperThresholdCritical",
2651 "LowerThresholdFatal", "UpperThresholdFatal"}
2652 ]
2653 uint16 SettableThresholds[];
2654 [Description (
2655 "This method resets the values of the thresholds to hardware "
2656 "defaults. This method returns 0 if successful, 1 if "
2657 "unsupported and any other value if an error occurred. "
2658 "In a subclass, the set of possible return codes could be "
2659 "specified, using a ValueMap qualifier on the method. The "
2660 "strings to which the ValueMap contents are 'translated' "
2661 "may also be specified in the subclass as a Values "
2662 "array qualifier.")
2663 ]
2664 uint32 RestoreDefaultThresholds();
2665 [Description (
2666 "For a non-linear Sensor, the resolution, accuracy, tolerance "
2667 "and hysteresis vary as the current reading moves. This method "
2668 karl 1.1 "can be used to get these factors for a given reading. It "
2669 "returns 0 if successful, 1 if unsupported, and any other "
2670 "value if an error occurred. In a subclass, the set of "
2671 "possible return codes could be specified, using a ValueMap "
2672 "qualifier on the method. The strings to which the ValueMap "
2673 "contents are 'translated' may also be specified in the "
2674 "subclass as a Values array qualifier.")
2675 ]
2676 uint32 GetNonLinearFactors([IN]sint32 SensorReading,
2677 [OUT]sint32 Accuracy, [OUT]uint32 Resolution,
2678 [OUT]sint32 Tolerance, [OUT]uint32 Hysteresis);
2679 };
2680
2681 // ===================================================================
2682 // TemperatureSensor
2683 // ===================================================================
2684 [Description (
2685 "This class exists for backward compatibility to earlier "
2686 "CIM Schema definitions. With additions to Sensor and Numeric"
2687 "Sensor in V2.2, it is no longer necessary. A TempertatureSensor "
2688 "can be defined by setting the SensorType property, inherited "
2689 karl 1.1 "from Sensor, to 2 (\"Temperature\"). Other properties of this "
2690 "class are hard-coded to constant values to correspond to "
2691 "definitions in the Sensor hierarchy.")
2692 ]
2693 class CIM_TemperatureSensor : CIM_NumericSensor
2694 {
2695 [Override("SensorType") ]
2696 uint16 SensorType = 2;
2697 [Override("BaseUnits") ]
2698 uint16 BaseUnits = 2;
2699 [Override("UnitModifier") ]
2700 sint32 UnitModifier = -1;
2701 [Override("RateUnits") ]
2702 uint16 RateUnits = 0;
2703 [Override ("CurrentReading"),
2704 // Override is used to define the MappingString qualifier
2705 MappingStrings {"MIF.DMTF|Temperature Probe|002.5"}
2706 ]
2707 sint32 CurrentReading;
2708 [Override ("NominalReading"),
2709 MappingStrings {"MIF.DMTF|Temperature Probe|002.6"}
2710 karl 1.1 ]
2711 sint32 NominalReading;
2712 [Override ("NormalMax"),
2713 MappingStrings {"MIF.DMTF|Temperature Probe|002.7"}
2714 ]
2715 sint32 NormalMax;
2716 [Override ("NormalMin"),
2717 MappingStrings {"MIF.DMTF|Temperature Probe|002.8"}
2718 ]
2719 sint32 NormalMin;
2720 [Override ("MaxReadable"),
2721 MappingStrings {"MIF.DMTF|Temperature Probe|002.9"}
2722 ]
2723 sint32 MaxReadable;
2724 [Override ("MinReadable"),
2725 MappingStrings {"MIF.DMTF|Temperature Probe|002.10"}
2726 ]
2727 sint32 MinReadable;
2728 [Override ("Resolution"),
2729 Units ("Hundredths of Degrees C"),
2730 MappingStrings {"MIF.DMTF|Temperature Probe|002.17"}
2731 karl 1.1 ]
2732 uint32 Resolution;
2733 [Override ("Tolerance"),
2734 MappingStrings {"MIF.DMTF|Temperature Probe|002.18"}
2735 ]
2736 sint32 Tolerance;
2737 [Override ("Accuracy"),
2738 MappingStrings {"MIF.DMTF|Temperature Probe|002.19"}
2739 ]
2740 sint32 Accuracy;
2741 [Override ("LowerThresholdNonCritical"),
2742 MappingStrings {"MIF.DMTF|Temperature Probe|002.11"}
2743 ]
2744 sint32 LowerThresholdNonCritical;
2745 [Override ("UpperThresholdNonCritical"),
2746 MappingStrings {"MIF.DMTF|Temperature Probe|002.12"}
2747 ]
2748 sint32 UpperThresholdNonCritical;
2749 [Override ("LowerThresholdCritical"),
2750 MappingStrings {"MIF.DMTF|Temperature Probe|002.13"}
2751 ]
2752 karl 1.1 sint32 LowerThresholdCritical;
2753 [Override ("UpperThresholdCritical"),
2754 MappingStrings {"MIF.DMTF|Temperature Probe|002.14"}
2755 ]
2756 sint32 UpperThresholdCritical;
2757 [Override ("LowerThresholdFatal"),
2758 MappingStrings {"MIF.DMTF|Temperature Probe|002.15"}
2759 ]
2760 sint32 LowerThresholdFatal;
2761 [Override ("UpperThresholdFatal"),
2762 MappingStrings {"MIF.DMTF|Temperature Probe|002.16"}
2763 ]
2764 sint32 UpperThresholdFatal;
2765 };
2766
2767 // ===================================================================
2768 // CurrentSensor
2769 // ===================================================================
2770 [Description (
2771 "This class exists for backward compatibility to earlier "
2772 "CIM Schema definitions. With additions to Sensor and Numeric"
2773 karl 1.1 "Sensor in V2.2, it is no longer necessary. A CurrentSensor can "
2774 "be defined by setting the SensorType property, inherited from "
2775 "Sensor, to 4 (\"Current\"). Other properties of this class are "
2776 "hard-coded to constant values to correspond to definitions in "
2777 "the Sensor hierarchy.")
2778 ]
2779 class CIM_CurrentSensor : CIM_NumericSensor
2780 {
2781 [Override("SensorType") ]
2782 uint16 SensorType = 4;
2783 [Override("BaseUnits") ]
2784 uint16 BaseUnits = 6;
2785 [Override("UnitModifier") ]
2786 sint32 UnitModifier = -3;
2787 [Override("RateUnits") ]
2788 uint16 RateUnits = 0;
2789 [Override ("CurrentReading"),
2790 // Override is used to define the MappingString qualifier
2791 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.5"}
2792 ]
2793 sint32 CurrentReading;
2794 karl 1.1 [Override ("NominalReading"),
2795 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.6"}
2796 ]
2797 sint32 NominalReading;
2798 [Override ("NormalMax"),
2799 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.7"}
2800 ]
2801 sint32 NormalMax;
2802 [Override ("NormalMin"),
2803 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.8"}
2804 ]
2805 sint32 NormalMin;
2806 [Override ("MaxReadable"),
2807 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.9"}
2808 ]
2809 sint32 MaxReadable;
2810 [Override ("MinReadable"),
2811 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.10"}
2812 ]
2813 sint32 MinReadable;
2814 [Override ("Resolution"),
2815 karl 1.1 Units ("Tenths of MilliAmps"),
2816 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.17"}
2817 ]
2818 uint32 Resolution;
2819 [Override ("Tolerance"),
2820 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.18"}
2821 ]
2822 sint32 Tolerance;
2823 [Override ("Accuracy"),
2824 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.19"}
2825 ]
2826 sint32 Accuracy;
2827 [Override ("LowerThresholdNonCritical"),
2828 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.11"}
2829 ]
2830 sint32 LowerThresholdNonCritical;
2831 [Override ("UpperThresholdNonCritical"),
2832 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.12"}
2833 ]
2834 sint32 UpperThresholdNonCritical;
2835 [Override ("LowerThresholdCritical"),
2836 karl 1.1 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.13"}
2837 ]
2838 sint32 LowerThresholdCritical;
2839 [Override ("UpperThresholdCritical"),
2840 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.14"}
2841 ]
2842 sint32 UpperThresholdCritical;
2843 [Override ("LowerThresholdFatal"),
2844 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.15"}
2845 ]
2846 sint32 LowerThresholdFatal;
2847 [Override ("UpperThresholdFatal"),
2848 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.16"}
2849 ]
2850 sint32 UpperThresholdFatal;
2851 };
2852
2853 // ===================================================================
2854 // VoltageSensor
2855 // ===================================================================
2856 [Description (
2857 karl 1.1 "This class exists for backward compatibility to earlier "
2858 "CIM Schema definitions. With additions to Sensor and Numeric"
2859 "Sensor in V2.2, it is no longer necessary. A VoltageSensor can "
2860 "be defined by setting the SensorType property, inherited from "
2861 "Sensor, to 3 (\"Voltage\"). Other properties of this class are "
2862 "hard-coded to constant values to correspond to definitions in "
2863 "the Sensor hierarchy.")
2864 ]
2865 class CIM_VoltageSensor : CIM_NumericSensor
2866 {
2867 [Override("SensorType") ]
2868 uint16 SensorType = 3;
2869 [Override("BaseUnits") ]
2870 uint16 BaseUnits = 5;
2871 [Override("UnitModifier") ]
2872 sint32 UnitModifier = -3;
2873 [Override("RateUnits") ]
2874 uint16 RateUnits = 0;
2875 [Override ("CurrentReading"),
2876 // Override is used to define the MappingString qualifier
2877 MappingStrings {"MIF.DMTF|Voltage Probe|001.5"}
2878 karl 1.1 ]
2879 sint32 CurrentReading;
2880 [Override ("NominalReading"),
2881 MappingStrings {"MIF.DMTF|Voltage Probe|001.6"}
2882 ]
2883 sint32 NominalReading;
2884 [Override ("NormalMax"),
2885 MappingStrings {"MIF.DMTF|Voltage Probe|001.7"}
2886 ]
2887 sint32 NormalMax;
2888 [Override ("NormalMin"),
2889 MappingStrings {"MIF.DMTF|Voltage Probe|001.8"}
2890 ]
2891 sint32 NormalMin;
2892 [Override ("MaxReadable"),
2893 MappingStrings {"MIF.DMTF|Voltage Probe|001.9"}
2894 ]
2895 sint32 MaxReadable;
2896 [Override ("MinReadable"),
2897 MappingStrings {"MIF.DMTF|Voltage Probe|001.10"}
2898 ]
2899 karl 1.1 sint32 MinReadable;
2900 [Override ("Resolution"),
2901 Units ("Tenths of MilliVolts"),
2902 MappingStrings {"MIF.DMTF|Voltage Probe|001.17"}
2903 ]
2904 uint32 Resolution;
2905 [Override ("Tolerance"),
2906 MappingStrings {"MIF.DMTF|Voltage Probe|001.18"}
2907 ]
2908 sint32 Tolerance;
2909 [Override ("Accuracy"),
2910 MappingStrings {"MIF.DMTF|Voltage Probe|001.19"}
2911 ]
2912 sint32 Accuracy;
2913 [Override ("LowerThresholdNonCritical"),
2914 MappingStrings {"MIF.DMTF|Voltage Probe|001.11"}
2915 ]
2916 sint32 LowerThresholdNonCritical;
2917 [Override ("UpperThresholdNonCritical"),
2918 MappingStrings {"MIF.DMTF|Voltage Probe|001.12"}
2919 ]
2920 karl 1.1 sint32 UpperThresholdNonCritical;
2921 [Override ("LowerThresholdCritical"),
2922 MappingStrings {"MIF.DMTF|Voltage Probe|001.13"}
2923 ]
2924 sint32 LowerThresholdCritical;
2925 [Override ("UpperThresholdCritical"),
2926 MappingStrings {"MIF.DMTF|Voltage Probe|001.14"}
2927 ]
2928 sint32 UpperThresholdCritical;
2929 [Override ("LowerThresholdFatal"),
2930 MappingStrings {"MIF.DMTF|Voltage Probe|001.15"}
2931 ]
2932 sint32 LowerThresholdFatal;
2933 [Override ("UpperThresholdFatal"),
2934 MappingStrings {"MIF.DMTF|Voltage Probe|001.16"}
2935 ]
2936 sint32 UpperThresholdFatal;
2937 };
2938
2939 // ===================================================================
2940 // Tachometer
2941 karl 1.1 // ===================================================================
2942 [Description (
2943 "This class exists for backward compatibility to earlier "
2944 "CIM Schema definitions. With additions to Sensor and Numeric"
2945 "Sensor in V2.2, it is no longer necessary. A Tachometer can "
2946 "be defined by setting the SensorType property. inherited from "
2947 "Sensor, to 5 (\"Tachometer\"). Other properties of this class "
2948 "are hard-coded to constant values to correspond to definitions "
2949 "in the Sensor hierarchy.")
2950 ]
2951 class CIM_Tachometer : CIM_NumericSensor
2952 {
2953 [Override("SensorType") ]
2954 uint16 SensorType = 5;
2955 [Override("BaseUnits") ]
2956 uint16 BaseUnits = 38;
2957 [Override("UnitModifier") ]
2958 sint32 UnitModifier = 1;
2959 [Override("RateUnits") ]
2960 uint16 RateUnits = 4;
2961 [Override ("Resolution"),
2962 karl 1.1 Units ("Tenths of Revolutions per Minute")
2963 ]
2964 uint32 Resolution;
2965 };
2966
2967 // ===================================================================
2968 // WatchDog
2969 // ===================================================================
2970 [Description (
2971 "CIM_Watchdog is a timer implemented in system hardware. It "
2972 "allows the hardware to monitor the state of the Operating"
2973 "System, BIOS or a software component installed on the "
2974 "System. If the monitored component fails to re-arm the timer "
2975 "before its expiration, the hardware assumes that the System is "
2976 "in a critical state, and could reset the ComputerSystem. This "
2977 "feature can also be used as an application watchdog timer for "
2978 "a mission-critical application. In this case, the application "
2979 "would assume responsibility for re-arming the timer before "
2980 "expiration.")
2981 ]
2982 class CIM_Watchdog : CIM_LogicalDevice
2983 karl 1.1 {
2984 [Description (
2985 "The entity that is currently being monitored by the WatchDog. "
2986 "This property is used to identify the module that is responsible "
2987 "for re-arming the watchdog at periodic intervals."),
2988 Values {"Unknown", "Other", "Operating System",
2989 "Operating System Boot Process",
2990 "Operating System Shutdown Process",
2991 "Firmware Boot Process", "BIOS Boot Process", "Application",
2992 "Service Processor"}
2993 ]
2994 uint16 MonitoredEntity;
2995 [Description (
2996 "A string describing more textual information about the "
2997 "monitored entity "),
2998 MaxLen (256)
2999 ]
3000 string MonitoredEntityDescription;
3001 [Description (
3002 "The timeout interval used by the watchdog, in MicroSeconds."),
3003 Units ("MicroSeconds")
3004 karl 1.1 ]
3005 uint32 TimeoutInterval;
3006 [Description (
3007 "Resolution of the timer. For example, if this value is 100, "
3008 "then the timer can expire anytime between (TimeoutInterval-"
3009 "100) microseconds or (TimeoutInterval+100) microseconds."),
3010 Units ("MicroSeconds")
3011 ]
3012 uint32 TimerResolution;
3013 [Description ("The time of the last timer expiry.") ]
3014 datetime TimeOfLastExpiration;
3015 [Description (
3016 "Monitored entity at the time of last timer expiry."),
3017 Values {"Unknown", "Other", "Operating System",
3018 "Operating System Boot Process",
3019 "Operating System Shutdown Process",
3020 "Firmware Boot Process", "BIOS Boot Process", "Application",
3021 "Service Processor"}
3022 ]
3023 uint16 MonitoredEntityOnLastExpiration;
3024 [Description (
3025 karl 1.1 "The action that should happen upon the expiry of the watchdog."),
3026 Values {"None - Status Only", "System Reset", "System Power Off",
3027 "System Power Off, then On",
3028 "Generate System NonMaskableInterrupt (NMI)",
3029 "Generate System Management Interrupt (SMI)"}
3030 ]
3031 uint16 ActionOnExpiration;
3032 [Description (
3033 "A method to re-arm the timer. This method is only used if "
3034 "the MonitoredEntity is \"Application\". It returns 0 if "
3035 "successful, 1 if unsupported, and any other value if an "
3036 "error occurred. In a subclass, the set of possible return "
3037 "codes could be specified, using a ValueMap qualifier on "
3038 "the method. The strings to which the ValueMap contents are "
3039 "'translated' may also be specified in the subclass as a "
3040 "Values array qualifier.")
3041 ]
3042 uint32 KeepAlive();
3043 };
3044
3045 // ===================================================================
3046 karl 1.1 // CoolingDevice
3047 // ===================================================================
3048 [Description ("Capabilities and management of CoolingDevices.")]
3049 class CIM_CoolingDevice : CIM_LogicalDevice
3050 {
3051 [Description (
3052 "ActiveCooling is a boolean indicating that the Cooling"
3053 "Device provides active (as opposed to passive) cooling.")
3054 ]
3055 boolean ActiveCooling;
3056 };
3057
3058 // ===================================================================
3059 // Refrigeration
3060 // ===================================================================
3061 [Description (
3062 "Capabilities and management of a Refrigeration CoolingDevice.")
3063 ]
3064 class CIM_Refrigeration : CIM_CoolingDevice
3065 {
3066 };
3067 karl 1.1
3068 // ===================================================================
3069 // HeatPipe
3070 // ===================================================================
3071 [Description (
3072 "Capabilities and management of a HeatPipe CoolingDevice.")
3073 ]
3074 class CIM_HeatPipe : CIM_CoolingDevice
3075 {
3076 };
3077
3078 // ===================================================================
3079 // Fan
3080 // ===================================================================
3081 [Description (
3082 "Capabilities and management of a Fan CoolingDevice.")
3083 ]
3084 class CIM_Fan : CIM_CoolingDevice
3085 {
3086 [Description (
3087 "Indication of whether the fan supports variable speeds.")]
3088 karl 1.1 boolean VariableSpeed;
3089 [Description (
3090 "DesiredSpeed is the currently requested fan speed, "
3091 "defined in Revolutions per Minute, when a variable speed fan "
3092 "is supported (VariableSpeed boolean = TRUE). The current "
3093 "speed is determined via a sensor (CIM_Tachometer) that is "
3094 "associated with the Fan using the CIM_AssociatedSensor "
3095 "relationship."),
3096 Units ("Revolutions per Minute")
3097 ]
3098 uint64 DesiredSpeed;
3099 [Description (
3100 "Requests that the Fan speed be set to the "
3101 "value specified in the method's input parameter. The return "
3102 "value should be 0 if the request was successfully executed, "
3103 "1 if the request is not supported and some other value if an "
3104 "error occurred. In a subclass, the set of possible "
3105 "return codes could be specified, using a ValueMap qualifier "
3106 "on the method. The strings to which the ValueMap contents "
3107 "are 'translated' may also be specified in the "
3108 "subclass as a Values array qualifier.")
3109 karl 1.1 ]
3110 uint32 SetSpeed ([IN] uint64 DesiredSpeed);
3111 };
3112
3113 // ===================================================================
3114 // AssociatedCooling
3115 // ===================================================================
3116 [Association,
3117 Description (
3118 "Many Devices, such as processors or power supplies, require "
3119 "their own cooling devices. This association indicates where "
3120 "fans or other CoolingDevices are specific to a Device, "
3121 "versus providing enclosure or cabinet cooling.")
3122 ]
3123 class CIM_AssociatedCooling : CIM_Dependency
3124 {
3125 [Override ("Antecedent"),
3126 Description ("The CoolingDevice.")
3127 ]
3128 CIM_CoolingDevice REF Antecedent;
3129 [Override ("Dependent"),
3130 karl 1.1 Description ("The LogicalDevice being cooled.")
3131 ]
3132 CIM_LogicalDevice REF Dependent;
3133 };
3134
3135 // ===================================================================
3136 // UserDevice
3137 // ===================================================================
3138 [Abstract,
3139 Description (
3140 "UserDevices are LogicalDevices that allow a ComputerSystem's "
3141 "users to input, view or hear data. It is a superclass from "
3142 "which other classes, such as Keyboard or DesktopMonitor, "
3143 "descend.")
3144 ]
3145 class CIM_UserDevice : CIM_LogicalDevice
3146 {
3147 [Description (
3148 "An indication of whether the Device is locked, preventing "
3149 "user input or output.")
3150 ]
3151 karl 1.1 boolean IsLocked;
3152 };
3153
3154 // ===================================================================
3155 // PointingDevice
3156 // ===================================================================
3157 [Description (
3158 "PointingDevice represents those Devices used to 'point' to "
3159 "regions of a Display.")
3160 ]
3161 class CIM_PointingDevice : CIM_UserDevice
3162 {
3163 [Description ("The type of the pointing device."),
3164 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9"},
3165 Values {"Other", "Unknown", "Mouse", "Track Ball", "Track Point",
3166 "Glide Point", "Touch Pad", "Touch Screen",
3167 "Mouse - Optical Sensor"},
3168 MappingStrings {"MIF.DMTF|Pointing Device|003"}
3169 ]
3170 uint16 PointingType;
3171 [Description (
3172 karl 1.1 "Number of buttons. If the PointingDevice has no buttons, "
3173 "enter 0."),
3174 MappingStrings {"MIF.DMTF|Pointing Device|003"}
3175 ]
3176 uint8 NumberOfButtons;
3177 [Description (
3178 "Integer indicating whether the PointingDevice is configured "
3179 "for right (value=2) or left handed operation (value=3). "
3180 "Also, the values, \"Unknown\" (0) and \"Not Applicable\" (1), "
3181 "can be defined."),
3182 Values {"Unknown", "Not Applicable", "Right Handed Operation",
3183 "Left Handed Operation"}
3184 ]
3185 uint16 Handedness;
3186 [Description (
3187 "Tracking resolution of the PointingDevice in Counts per "
3188 "Inch."),
3189 Units ("Counts per Inch")
3190 ]
3191 uint32 Resolution;
3192 };
3193 karl 1.1
3194 // ===================================================================
3195 // Keyboard
3196 // ===================================================================
3197 [Description (
3198 "Capabilities and management of the Keyboard LogicalDevice.")
3199 ]
3200 class CIM_Keyboard : CIM_UserDevice
3201 {
3202 [Description ("Number of function keys on the Keyboard.")]
3203 uint16 NumberOfFunctionKeys;
3204 [Description (
3205 "A free-form string indicating the format and layout of the "
3206 "Keyboard."),
3207 MappingStrings {"MIF.DMTF|Keyboard|004"}
3208 ]
3209 string Layout;
3210 [Description (
3211 "An integer indicating whether a hardware-level password is "
3212 "enabled at the keyboard (value=4), preventing local input. "
3213 "Other values are: \"Disabled\" (3), \"Not Implemented\" (5), "
3214 karl 1.1 "\"Other\" (1) and \"Unknown\" (2)."),
3215 ValueMap {"1", "2", "3", "4", "5"},
3216 Values {"Other", "Unknown", "Disabled", "Enabled",
3217 "Not Implemented"},
3218 MappingStrings {"MIF.DMTF|System Hardware Security|001.2"}
3219 ]
3220 uint16 Password;
3221 };
3222
3223 // ===================================================================
3224 // Display
3225 // ===================================================================
3226 [Abstract,
3227 Description (
3228 "Display is a superclass for grouping the miscellaneous display "
3229 "devices that exist.")
3230 ]
3231 class CIM_Display : CIM_UserDevice
3232 {
3233 };
3234
3235 karl 1.1 // ===================================================================
3236 // DesktopMonitor
3237 // ===================================================================
3238 [Description (
3239 "Capabilities and management of the DesktopMonitor (CRT) "
3240 "LogicalDevice.")
3241 ]
3242 class CIM_DesktopMonitor : CIM_Display
3243 {
3244 [Description (
3245 "The type of DesktopMonitor or CRT. For example, "
3246 "multiscan color or monochrome monitors (values 2 or 3, "
3247 "respectively) can be indicated in this property."),
3248 Values {"Unknown", "Other", "Multiscan Color",
3249 "Multiscan Monochrome", "Fixed Frequency Color",
3250 "Fixed Frequency Monochrome"}
3251 ]
3252 uint16 DisplayType;
3253 [Description (
3254 "Monitor's bandwidth in MHertz. If unknown, enter 0."),
3255 Units ("MegaHertz")
3256 karl 1.1 ]
3257 uint32 Bandwidth;
3258 [Description (
3259 "The logical height of the Display in screen coordinates.") ]
3260 uint32 ScreenHeight;
3261 [Description (
3262 "The logical width of the Display in screen coordinates.") ]
3263 uint32 ScreenWidth;
3264 };
3265
3266 // ===================================================================
3267 // MonitorResolution
3268 // ===================================================================
3269 [Description (
3270 "MonitorResolution describes the relationship between "
3271 "horizontal and vertical resolutions, refresh rate and scan "
3272 "mode for a DesktopMonitor. The actual resolutions, etc. that "
3273 "are in use, are the values specified in the VideoController "
3274 "object.")
3275 ]
3276 class CIM_MonitorResolution : CIM_Setting
3277 karl 1.1 {
3278 [Override ("SettingID"),
3279 Key, MaxLen (256),
3280 Description (
3281 "The inherited SettingID serves as part of the key for a "
3282 "MonitorResolution instance.")
3283 ]
3284 string SettingID;
3285 [Description ("Monitor's horizontal resolution in Pixels."),
3286 Units ("Pixels"),
3287 ModelCorrespondence {
3288 "CIM_VideoController.CurrentHorizontalResolution"},
3289 MappingStrings {"MIF.DMTF|Monitor Resolutions|002.2"}
3290 ]
3291 uint32 HorizontalResolution;
3292 [Description ("Monitor's vertical resolution in Pixels."),
3293 Units ("Pixels"),
3294 ModelCorrespondence {
3295 "CIM_VideoController.CurrentVerticalResolution"},
3296 MappingStrings {"MIF.DMTF|Monitor Resolutions|002.3"}
3297 ]
3298 karl 1.1 uint32 VerticalResolution;
3299 [Description (
3300 "Monitor's refresh rate in Hertz. If a range of rates is "
3301 "supported, use the MinRefreshRate and MaxRefreshRate "
3302 "properties, and set RefreshRate (this property) to 0."),
3303 Units ("Hertz"),
3304 ModelCorrespondence {
3305 "CIM_VideoController.CurrentRefreshRate"},
3306 MappingStrings {"MIF.DMTF|Monitor Resolutions|002.4"}
3307 ]
3308 uint32 RefreshRate;
3309 [Description (
3310 "Monitor's minimum refresh rate in Hertz, when a range of "
3311 "rates is supported at the specified resolutions."),
3312 Units ("Hertz"),
3313 ModelCorrespondence {
3314 "CIM_VideoController.MinRefreshRate"},
3315 MappingStrings {"MIF.DMTF|Monitor Resolutions|002.6"}
3316 ]
3317 uint32 MinRefreshRate;
3318 [Description (
3319 karl 1.1 "Monitor's maximum refresh rate in Hertz, when a range of "
3320 "rates is supported at the specified resolutions."),
3321 Units ("Hertz"),
3322 ModelCorrespondence {
3323 "CIM_VideoController.MaxRefreshRate"},
3324 MappingStrings {"MIF.DMTF|Monitor Resolutions|002.7"}
3325 ]
3326 uint32 MaxRefreshRate;
3327 [Description (
3328 "Integer indicating whether the monitor operates in "
3329 "interlaced (value=5) or non-interlaced (4) mode."),
3330 ValueMap {"1", "2", "3", "4", "5"},
3331 Values {"Other", "Unknown", "Not Supported",
3332 "Non-Interlaced Operation", "Interlaced Operation"},
3333 ModelCorrespondence {
3334 "CIM_VideoController.CurrentScanMode"},
3335 MappingStrings {"MIF.DMTF|Monitor Resolutions|002.5"}
3336 ]
3337 uint16 ScanMode;
3338 };
3339
3340 karl 1.1 // ===================================================================
3341 // MonitorSetting
3342 // ===================================================================
3343 [Association,
3344 Description (
3345 "MonitorSetting associates the MonitorResolution Setting object "
3346 "with the DesktopMonitor to which it applies.")
3347 ]
3348 class CIM_MonitorSetting : CIM_ElementSetting
3349 {
3350 [Override ("Element"),
3351 Description ("The DesktopMonitor.")
3352 ]
3353 CIM_DesktopMonitor REF Element;
3354 [Override ("Setting"),
3355 Description (
3356 "The MonitorResolution associated with the DesktopMonitor.")
3357 ]
3358 CIM_MonitorResolution REF Setting;
3359 };
3360
3361 karl 1.1 // ===================================================================
3362 // FlatPanel
3363 // ===================================================================
3364 [Description (
3365 "Capabilities and management of the FlatPanel LogicalDevice.")
3366 ]
3367 class CIM_FlatPanel : CIM_Display
3368 {
3369 [Description ("FlatPanel's horizontal resolution in Pixels."),
3370 Units ("Pixels")
3371 ]
3372 uint32 HorizontalResolution;
3373 [Description ("FlatPanel's vertical resolution in Pixels."),
3374 Units ("Pixels")
3375 ]
3376 uint32 VerticalResolution;
3377 [Description (
3378 "A FlatPanel's scan mode indicating either single "
3379 "(value=2) or dual scan (3)."),
3380 Values {"Unknown", "Other", "Single Scan", "Dual Scan"}
3381 ]
3382 karl 1.1 uint16 ScanMode;
3383 [Description (
3384 "An integer enumeration describing the type of flat panel "
3385 "display."),
3386 Values {"Unknown", "Other", "Passive Matrix LCD",
3387 "Active Matrix LCD", "Cholesteric LCD",
3388 "Field Emission Display",
3389 "Electro Luminescent Display", "Gas Plasma", "LED"}
3390 ]
3391 uint16 DisplayType;
3392 [Description (
3393 "A description of the display illumination type. For example, "
3394 "backlit (value=2) or reflective (4) can be specified."),
3395 Values {"Unknown", "Other", "Backlit", "Edgelit", "Reflective"}
3396 ]
3397 uint16 LightSource;
3398 [Description (
3399 "Boolean indicating whether the FlatPanel supports color "
3400 "display.")
3401 ]
3402 boolean SupportsColor;
3403 karl 1.1 };
3404
3405 // ===================================================================
3406 // Scanner
3407 // ===================================================================
3408 [Description (
3409 "Capabilities and management of the Scanner LogicalDevice.")
3410 ]
3411 class CIM_Scanner : CIM_LogicalDevice
3412 {
3413 };
3414
3415 // ===================================================================
3416 // CIM_OOBAlertService
3417 // ===================================================================
3418 [Description (
3419 "This Service is implemented by a LogicalDevice (e.g. a "
3420 "NetworkAdapter or Modem) that is capable of sending alert "
3421 "messages to a remote destination. The alert messages reflect "
3422 "the state of one or more ManagedSystemElements. The Elements "
3423 "for which alert messages are forwarded, are defined by "
3424 karl 1.1 "enumerating the ProvidesServiceToElement association for the "
3425 "Service. Out of Band (OOB) refers to the mechanisms in use when "
3426 "normal OS-based management mechanisms are not possible. This "
3427 "occurs when the OS is down or not functioning properly.")
3428 ]
3429 class CIM_OOBAlertService : CIM_Service
3430 {
3431 [Description (
3432 "The type of the alert destination. For example, the alert "
3433 "may be received by an application listening on a UDP Port on "
3434 "a remote destination, or could be sent to a pager (values "
3435 "4 or 2, respectively)."),
3436 Values {"Unknown", "Other", "Pager", "TCP Port", "UDP Port"},
3437 ModelCorrespondence {
3438 "CIM_OOBAlertService.OtherDestinationTypeDescription"}
3439 ]
3440 uint16 DestinationType;
3441 [Description (
3442 "The description of the alert DestinationType. This is used "
3443 "when the DestinationType is set to \"Other\" (value=1)."),
3444 ModelCorrespondence {"CIM_OOBAlertService.DestinationType"}
3445 karl 1.1 ]
3446 string OtherDestinationTypeDescription;
3447 [Description (
3448 "The address where this Service sends the alerts. The "
3449 "format of this address depends on the DestinationType. For "
3450 "example, if the DestinationType is a UDP Port (value=4), "
3451 "then this property contains a string identifying the IP "
3452 "address of the Port (for example, 111.222.333.444:4567). "
3453 "If DestinationType is a pager (value=2), then the "
3454 "address is a Pager number (for example, 18002257654).")
3455 ]
3456 string DestinationAddress;
3457 [Description (
3458 "The format of the Alert Message sent by the Service."),
3459 Values {"Unknown", "Other", "Numeric", "AlphaNumeric",
3460 "Free Form Text", "Platform Event Trap"},
3461 ModelCorrespondence {
3462 "CIM_OOBAlertService.OtherMessageFormatDescription"}
3463 ]
3464 uint16 MessageFormat;
3465 [Description (
3466 karl 1.1 "The description of the format of the alert message used "
3467 "by the Service when the AlertMessageFormat property is "
3468 "set to \"Other\" (value=1)."),
3469 ModelCorrespondence {"CIM_OOBAlertService.MessageFormat"}
3470 ]
3471 string OtherMessageFormatDescription;
3472 [Description (
3473 "If the AlertService only uses a fixed message to send "
3474 "an alert, then this flag should be set to TRUE.")
3475 ]
3476 boolean OnlySendsFixedMessage;
3477 [Description (
3478 "The AlertService may require some fixed data to send as "
3479 "part of the message. This may include things like the "
3480 "address or name of the System. This string contains the "
3481 "complete message when the property, OnlySendsFixedMessage, "
3482 "is set to TRUE.")
3483 ]
3484 string FixedPartOfMessage;
3485 [Description (
3486 "If the destination is capable of sending an acknowledgement "
3487 karl 1.1 "to the alert, then this flag is set to TRUE. The format of "
3488 "the acknowledgement is determined by the DestinationType "
3489 "and the MessageFormat.")
3490 ]
3491 boolean DestinationIsAckCapable;
3492 [Description (
3493 "The AlertService may retry and send an alert more than "
3494 "once. The RetryCount identifies how often the operation will "
3495 "be repeated. If DestinationIsAckCapable is set to TRUE, then "
3496 "the retry will only be done if an Ack is not received. "
3497 "Otherwise, the retries are done unconditionally.")
3498 ]
3499 uint16 RetryCount;
3500 [Description (
3501 "The interval between each successive retry, in seconds. "
3502 "If DestinationIsAckCapable is set to TRUE, then this "
3503 "interval is used as a timeout interval, before the next "
3504 "retry is done."),
3505 Units ("Seconds")
3506 ]
3507 uint16 RetryInterval;
3508 karl 1.1 };
3509
3510 // ===================================================================
3511 // WakeUpService
3512 // ===================================================================
3513 [Description (
3514 "WakeUpService allows a UnitaryComputerSystem to be woken up "
3515 "from a low power sleep state. This Service is implemented "
3516 "by a LogicalDevice (e.g. NetworkAdapter or Modem) that is "
3517 "capable of receiving wakeup messages, and notifying the "
3518 "System.")
3519 ]
3520 class CIM_WakeUpService : CIM_Service
3521 {
3522 [Description ("The Type of the WakeUp Service."),
3523 Values {"Unknown", "Other", "Wake On LAN - Magic Packet",
3524 "Wake on LAN - Packet Filtering", "Wake On Ring"},
3525 ModelCorrespondence {
3526 "CIM_WakeUpServcice.OtherWakeUpTypeDescription"}
3527 ]
3528 uint16 WakeUpType;
3529 karl 1.1 [Description (
3530 "A description of the type of WakeUpService used when "
3531 "WakeUpType is set to \"Other\" (value=1)."),
3532 ModelCorrespondence {"CIM_WakeUpService.WakeUpType"}
3533 ]
3534 string OtherWakeUpTypeDescription;
3535 [Description (
3536 "The filter type on the packets/messages that trigger "
3537 "the WakeUpService. This field is only used when the WakeUp"
3538 "Type is set to \"Wake On LAN - Packet Filtering\" (value"
3539 "=3)."),
3540 Values {"Unknown", "Other", "ARP Broadcast",
3541 "Neighbor Discovery Multicast",
3542 "IP Packet with Directed MAC Address",
3543 "IPX Diagnostic Responder", "NBT Name Query",
3544 "Binary Match"},
3545 ModelCorrespondence {
3546 "CIM_WakeUpService.OtherFilterTypeDescription"}
3547 ]
3548 uint16 FilterType;
3549 [OctetString, Description (
3550 karl 1.1 "The binary data that is used to compare the contents "
3551 "of the received packet. This is used when the FilterType is "
3552 "set to \"Binary Match\" (value=7). This could also be used "
3553 "when the FilterType is set to \"Other\" (value=1).")
3554 ]
3555 uint8 FilterData[];
3556 [Description (
3557 "The description of the format of the FilterType used by "
3558 "the Service when the FilterType is set to \"Other\" "
3559 "(value=1)."),
3560 ModelCorrespondence {"CIM_WakeUpService.FilterType"}
3561 ]
3562 string OtherFilterTypeDescription;
3563 };
3564
3565 // ===================================================================
3566 // Modem
3567 // ===================================================================
3568 [Abstract,
3569 Description (
3570 "CIM_Modem is the superclass for grouping the numerous types "
3571 karl 1.1 "of Modems.")
3572 ]
3573 class CIM_Modem : CIM_LogicalDevice
3574 {
3575 };
3576
3577 // ===================================================================
3578 // OOBAlertServiceOnModem
3579 // ===================================================================
3580 [Association,
3581 Description (
3582 "OOBAlertServiceOnModem defines where the out of band alerting "
3583 "Service is implemented. The Service can either employ a Modem "
3584 "or NetworkAdapter to send alerts.")
3585 ]
3586 class CIM_OOBAlertServiceOnModem : CIM_DeviceServiceImplementation
3587 {
3588 [Override ("Antecedent"),
3589 Description ("The Modem which implements the alerting Service."),
3590 Max (1)
3591 ]
3592 karl 1.1 CIM_Modem REF Antecedent;
3593 [Override ("Dependent"),
3594 Description ("The alerting Service provided on the Modem.")
3595 ]
3596 CIM_OOBAlertService REF Dependent;
3597 };
3598
3599 // ===================================================================
3600 // WakeUpServiceOnModem
3601 // ===================================================================
3602 [Association,
3603 Description (
3604 "WakeUpServiceOnModem defines where the WakeUpService is "
3605 "implemented. The Service can either employ a Modem or "
3606 "NetworkAdapter to receive a wakeup signal.")
3607 ]
3608 class CIM_WakeUpServiceOnModem : CIM_DeviceServiceImplementation
3609 {
3610 [Override ("Antecedent"),
3611 Description ("The Modem which implements the WakeUpService."),
3612 Max (1)
3613 karl 1.1 ]
3614 CIM_Modem REF Antecedent;
3615 [Override ("Dependent"),
3616 Description ("The wakeup Service provided on the Modem.")
3617 ]
3618 CIM_WakeUpService REF Dependent;
3619 };
3620
3621 // ===================================================================
3622 // ConnectionBasedModem
3623 // ===================================================================
3624 [Abstract,
3625 Description (
3626 "CIM_ConnectionBasedModem is the superclass for grouping the "
3627 "numerous types of connection-based Modems. A CableModem is a "
3628 "type of connection-based Modem.")
3629 ]
3630 class CIM_ConnectionBasedModem : CIM_Modem
3631 {
3632 [Description (
3633 "VendorID information is reported via Modem-specific requests. "
3634 karl 1.1 "For example, for ADSLModem Devices the VendorID is assigned by "
3635 "T1E1.4 according to T1.413, Appendix D. The correct place in "
3636 "the CIM Schema for this information is in PhysicalElement "
3637 "(the Manufacturer property) for hardware and Product (the "
3638 "Vendor property) if the information is related to Product "
3639 "acquisition. This data is also reported here since it is part "
3640 "of the standard output from the Device, and as an "
3641 "optimization.")
3642 ]
3643 string VendorID;
3644 };
3645
3646 // ===================================================================
3647 // DSLModem
3648 // ===================================================================
3649 [Description (
3650 "The DSLModem class represents the superclass for Digital "
3651 "Subscriber Line (DSL) Devices. Properties "
3652 "will be defined in a future release of the model.")
3653 ]
3654 class CIM_DSLModem : CIM_ConnectionBasedModem
3655 karl 1.1 {
3656 };
3657
3658 // ===================================================================
3659 // VDSLModem
3660 // ===================================================================
3661 [Description (
3662 "The VDSLmodem class represents Modems of the DSL type = "
3663 "VDSL, Very high data rate Digital Subscriber Line. Properties "
3664 "will be defined in a future release of the model.")
3665 ]
3666 class CIM_VDSLModem : CIM_DSLModem
3667 {
3668 };
3669
3670 // ===================================================================
3671 // HDSLModem
3672 // ===================================================================
3673 [Description (
3674 "The HDSLModem class represents Modems of the DSL type = "
3675 "HDSL, High data rate Digital Subscribe Line, capable of "
3676 karl 1.1 "delivering T1 or E1 speeds. Properties will be defined in a "
3677 "future release of the model.")
3678
3679 ]
3680 class CIM_HDSLModem : CIM_DSLModem
3681 {
3682 };
3683
3684 // ===================================================================
3685 // SDSLModem
3686 // ===================================================================
3687 [Description (
3688 "The SDSLModem class represents Modems of the DSL type = "
3689 "SDSL, Symmetric Digital Subscriber Line. Properties "
3690 "will be defined in a future release of the model.")
3691 ]
3692 class CIM_SDSLModem : CIM_DSLModem
3693 {
3694 };
3695
3696 // ===================================================================
3697 karl 1.1 // ADSLModem
3698 // ===================================================================
3699 [Description (
3700 "The ADSLModem class represents Modems of the DSL type = ADSL, "
3701 "Asymmetric Digital Subscriber Line.")
3702 ]
3703 class CIM_ADSLModem : CIM_DSLModem
3704 {
3705 [Description (
3706 "Noise Margin of this Modem with respect to its received signal, "
3707 "in tenths of dB."),
3708 Units ("Tenths of Decibels")
3709 ]
3710 uint32 NoiseMargin;
3711 [Gauge, Description (
3712 "Measured difference in the total power transmitted by the peer "
3713 "Modem and the total power received by this Modem. This is "
3714 "measured in tenths of dB."),
3715 Units ("Tenths of Decibels")
3716 ]
3717 uint32 LineAttenuation;
3718 karl 1.1 [Description (
3719 "Status indicates the current state of the connection (line). The "
3720 "property holds a bitmap describing the possible conditions. "
3721 "For example, 1) No Defect - There no defects on the line; "
3722 "2) Loss Of Framing - ATUR failure due to not receiving valid frame; "
3723 "4) Loss Of Signal - ATUR failure due to not receiving signal; "
3724 "8) Loss Of Power - ATUR failure due to loss of power; "
3725 "32) Loss Of Signal Quality - Loss of Signal Quality is declared "
3726 "when the NoiseMargin falls below the minimum NoiseMargin, or the "
3727 "bit-error-rate exceeds 10^-7."),
3728 ValueMap {"1", "2", "4", "8", "32"},
3729 Values {"No Defect", "Loss Of Framing", "Loss Of Signal",
3730 "Loss Of Power", "Loss Of Signal Quality"}
3731 ]
3732 uint32 LineState;
3733 [Gauge, Description (
3734 "Measured total output power (in tenths of dB) transmitted by "
3735 "this Modem."),
3736 Units ("Tenths of Decibels")
3737 ]
3738 uint32 TotalOutputPower;
3739 karl 1.1 [Description (
3740 "Indicates the maximum currently attainable data rate for the Modem. "
3741 "This value will be equal or greater than the current line rate."),
3742 Units ("Bits per Second")
3743 ]
3744 uint32 MaxDataRate;
3745 };
3746
3747 // ===================================================================
3748 // CableModem
3749 // ===================================================================
3750 [Description (
3751 "The CableModem class represents a device for transmission "
3752 "across a cable infrastructure.")
3753 ]
3754 class CIM_CableModem: CIM_ConnectionBasedModem
3755 {
3756 };
3757
3758 // ===================================================================
3759 // CallBasedModem
3760 karl 1.1 // ===================================================================
3761 [Abstract,
3762 Description (
3763 "CIM_CallBasedModem is the superclass for grouping the numerous "
3764 "types of call-based modems. The POTSModem is a type of call-"
3765 "based Modem.")
3766 ]
3767 class CIM_CallBasedModem : CIM_Modem
3768 {
3769 [Description (
3770 "Indicates whether online fallback is enabled, to be negotiated "
3771 "by the Modem.")
3772 ]
3773 boolean FallbackEnabled;
3774 [Description (
3775 "An array enumerating all the compression protocols supported "
3776 "by the Modem."),
3777 Values {"Unknown", "Other", "No Compression", "MNP 5", "V.42bis",
3778 "MNP 3", "MNP 4", "V.58", "PEP", "HST"},
3779 ModelCorrespondence {
3780 "CIM_CallBasedModem.OtherCompressionDescription"}
3781 karl 1.1 ]
3782 uint16 CompressionSupported[];
3783 [Description (
3784 "Description of the compression type when \"Other \" (value=1) "
3785 "is defined in the CompressionSupported array. If there are "
3786 "multiple \"Other\" types, then combine their descriptions into "
3787 "a single string."),
3788 ModelCorrespondence {"CIM_CallBasedModem.CompressionSupported"}
3789 ]
3790 string OtherCompressionDescription;
3791 [Description (
3792 "Describes the current data compression characteristics of the "
3793 "Modem. "),
3794 Values {"Unknown", "Other", "No Compression", "MNP 5", "V.42bis",
3795 "MNP 3", "MNP 4", "V.58", "PEP", "HST"},
3796 ModelCorrespondence {"CIM_CallBasedModem.CompressionSupported",
3797 "CIM_CallBasedModem.OtherCompressionInfoDescription"}
3798 ]
3799 uint16 CompressionInfo;
3800 [Description (
3801 "Description of the current compression type when \"Other\" "
3802 karl 1.1 "(value=1) is specified in the CompressionInfo property."),
3803 ModelCorrespondence {"CIM_CallBasedModem.CompressionInfo"}
3804 ]
3805 string OtherCompressionInfoDescription;
3806 [Description (
3807 "An array enumerating all the modulation protocols supported by "
3808 "the Modem. The beginning entries in the Values qualifier array "
3809 "are mapped from the CIM_POTSModem ModulationScheme property."),
3810 Values {"Unknown", "Other", "Not Supported", "Bell 103",
3811 "Bell 212A", "V.22bis", "V.32", "V.32bis", "V.terbo",
3812 "V.FC", "V.34", "V.34bis", "V.17 (G3 Fax Call)", "V.21",
3813 "V.22", "V.23 Constant Carrier (1200/75)",
3814 "V.23 Switched Carrier (Half Duplex)", "V.26bis",
3815 "V.26ter", "V.27ter (G3 Fax Call)",
3816 "V.29 HD (G3 Fax Call)", "V.34 HD (G3 Fax Call)",
3817 "V.90 Issue 1 (Asymmetric)", "V.90 Issue 2 (Symmetric)",
3818 "V.58", "X2", "K56FLEX", "V.Fast", "PEP", "HST"},
3819 ModelCorrespondence {
3820 "CIM_CallBasedModem.OtherModulationDescription"}
3821 ]
3822 uint16 ModulationSupported[];
3823 karl 1.1 [Description (
3824 "Description of the current modulation type when \"Other\" "
3825 "(value=1) is specified in the ModulationSupported property. "
3826 "If there are multiple \"Other\" types, then combine their "
3827 "descriptions into a single string."),
3828 ModelCorrespondence {"CIM_CallBasedModem.ModulationSupported"}
3829 ]
3830 string OtherModulationDescription;
3831 [Description (
3832 "Describes the current modulation scheme of the Modem."),
3833 Values {"Unknown", "Other", "Not Supported", "Bell 103",
3834 "Bell 212A", "V.22bis", "V.32", "V.32bis", "V.terbo",
3835 "V.FC", "V.34", "V.34bis", "V.17 (G3 Fax Call)", "V.21",
3836 "V.22", "V.23 Constant Carrier (1200/75)",
3837 "V.23 Switched Carrier (Half Duplex)", "V.26bis",
3838 "V.26ter", "V.27ter (G3 Fax Call)",
3839 "V.29 HD (G3 Fax Call)", "V.34 HD (G3 Fax Call)",
3840 "V.90 Issue 1 (Asymmetric)", "V.90 Issue 2 (Symmetric)",
3841 "V.58", "X2", "K56FLEX", "V.Fast", "PEP", "HST"},
3842 ModelCorrespondence {"CIM_CallBasedModem.ModulationSupported",
3843 "CIM_CallBasedModem.OtherSchemeDescription"}
3844 karl 1.1 ]
3845 uint16 ModulationScheme;
3846 [Description (
3847 "Description of the current modulation type when \"Other\" "
3848 "(value=1) is specified in the ModulationScheme property."),
3849 ModelCorrespondence {"CIM_CallBasedModem.ModulationScheme"}
3850 ]
3851 string OtherSchemeDescription;
3852 [Description (
3853 "An array enumerating the error control protocols supported "
3854 "by the Modem. The beginning entries in the Values qualifier "
3855 "array are mapped from the CIM_POTSModem ErrorControlInfo "
3856 "property."),
3857 Values {"Unknown", "Other", "No Error Correction", "MNP 4",
3858 "LAPM", "V.58", "ECP Enhanced Cellular Protocol",
3859 "ETC Enhanced Throughput Cellular", "MNP 1", "MNP 2",
3860 "MNP 3", "MNP10", "PEP", "HST"},
3861 ModelCorrespondence {
3862 "CIM_CallBasedModem.OtherErrorControlDescription"}
3863 ]
3864 uint16 ErrorControlSupported[];
3865 karl 1.1 [Description (
3866 "Description of the error control type when \"Other\" (value="
3867 "1) is specified in the ErrorControlSupported property. If "
3868 "there are multiple \"Other\" types, then combine their "
3869 "descriptions into a single string."),
3870 ModelCorrespondence {
3871 "CIM_CallBasedModem.ErrorControlSupported"}
3872 ]
3873 string OtherErrorControlDescription;
3874 [Description (
3875 "Describes the current error correction characteristics of the "
3876 "Modem."),
3877 Values {"Unknown", "Other", "No Error Correction", "MNP 4",
3878 "LAPM", "V.58", "ECP Enhanced Cellular Protocol",
3879 "ETC Enhanced Throughput Cellular", "MNP 1", "MNP 2",
3880 "MNP 3", "MNP10", "PEP", "HST"},
3881 ModelCorrespondence {"CIM_CallBasedModem.ErrorControlSupported",
3882 "CIM_CallBasedModem.OtherErrorControlInfoDescription"}
3883 ]
3884 uint16 ErrorControlInfo;
3885 [Description (
3886 karl 1.1 "Description of the error control when \"Other\" (value=1) "
3887 "is defined as the value of the ErrorControlInfo property."),
3888 ModelCorrespondence {"CIM_CallBasedModem.ErrorControlInfo"}
3889 ]
3890 string OtherErrorControlInfoDescription;
3891 [Description ("Time of last reset of the Modem.")]
3892 datetime TimeOfLastReset;
3893 [Description (
3894 "The rate at which the receiver and transmitter are or were "
3895 "last cooperating, on a call, before disconnection."),
3896 Units ("Bits per Second")
3897 ]
3898 uint32 CallSpeed;
3899 [Description (
3900 "Status of the Modem. For example, information regarding "
3901 "modem negotiation or whether the modem is connected (values "
3902 "8 and 9, respectively) can be conveyed in this property."),
3903 Values {"Unknown", "Other", "Offline", "On Hook", "Dialing",
3904 "Waiting for Answer", "Ringing", "Modem Detected",
3905 "Negotiating", "Online", "Error"}
3906 ]
3907 karl 1.1 uint16 CallStatus;
3908 [Description (
3909 "Total number of characters sent by the Device on the last "
3910 "or current call. That a call is in-progress is indicated by "
3911 "the CallStatus property."),
3912 Counter
3913 ]
3914 uint32 CharsSent;
3915 [Description (
3916 "Total number of characters received by the Device on the last "
3917 "or current call. That a call is in-progress is indicated by the "
3918 "CallStatus property."),
3919 Counter
3920 ]
3921 uint32 CharsReceived;
3922 [Description (
3923 "Total number of characters lost by the Device on the last or "
3924 "current call. That a call is in-progress is indicated by the "
3925 "CallStatus property."),
3926 Counter
3927 ]
3928 karl 1.1 uint32 CharsLost;
3929 [Description (
3930 "Total number of blocks sent by the Device on the last or "
3931 "current call. That a call is in-progress is indicated by the "
3932 "CallStatus property."),
3933 Counter
3934 ]
3935 uint32 BlocksSent;
3936 [Description (
3937 "Total number of blocks resent by the Device on the last or "
3938 "current call. That a call is in-progress is indicated by the "
3939 "CallStatus property."),
3940 Counter
3941 ]
3942 uint32 BlocksResent;
3943 [Description (
3944 "Total number of blocks received by the Device on the last or "
3945 "current call. That a call is in-progress is indicated by the "
3946 "CallStatus property."),
3947 Counter
3948 ]
3949 karl 1.1 uint32 BlocksReceived;
3950 [Description (
3951 "Total number of block errors seen by the Device on the last "
3952 "or current call. That a call is in-progress is indicated by the "
3953 "CallStatus property."),
3954 Counter
3955 ]
3956 uint32 BlockErrors;
3957 [Description (
3958 "Length of the last or current call. That a call is in-progress "
3959 "is indicated by the CallStatus property. The 'interval' "
3960 "format of the datetime data type should be used for the property "
3961 "value.")
3962 ]
3963 datetime CallLength;
3964 [Description (
3965 "Last or current number dialed to which the statistics apply, or "
3966 "NULL if the call was incoming.")
3967 ]
3968 string NumberDialed;
3969 };
3970 karl 1.1
3971 // ===================================================================
3972 // ISDNModem
3973 // ===================================================================
3974 [Description (
3975 "The ISDNModem class, a kind of call-based Modem. Properties "
3976 "will be defined in a future release of the model.")
3977 ]
3978 class CIM_ISDNModem: CIM_CallBasedModem
3979 {
3980 };
3981
3982
3983 // ===================================================================
3984 // POTSModem
3985 // ===================================================================
3986 [Description (
3987 "The POTSModem class represents a Device that translates "
3988 "binary data into wave modulations for sound based "
3989 "transmission. It connects to the POTS (Plain Old Telephone "
3990 "System) network.")
3991 karl 1.1 ]
3992 class CIM_POTSModem : CIM_CallBasedModem
3993 {
3994 [Description (
3995 "Capabilities of the POTSModem. For example, the Device "
3996 "may support distinctive ring, caller ID, fax, voice, etc."),
3997 ArrayType ("Indexed"),
3998 Values {"Unknown", "Other", "Distinctive Ring", "Caller ID",
3999 "Voice", "Fax Class 1", "Fax Class 2", "WakeOnRing",
4000 "Fax Group 3", "GSM Support", "AMPS Support",
4001 "OOB Alerting", "Worldwide Country Support"},
4002 ModelCorrespondence {"CIM_POTSModem.CapabilityDescriptions"}
4003 ]
4004 uint16 Capabilities[];
4005 [Description (
4006 "An array of free-form strings providing more detailed "
4007 "explanations for any of the POTSModem features indicated "
4008 "in the Capabilities array. Note, each entry of this array "
4009 "is related to the entry in the Capabilities array that "
4010 "is located at the same index."),
4011 ArrayType ("Indexed"),
4012 karl 1.1 ModelCorrespondence {"CIM_POTSModem.Capabilities"}
4013 ]
4014 string CapabilityDescriptions[];
4015 [Description (
4016 "Specifies which capabilities are enabled from the list of "
4017 "ones supported, defined in the Capabilities array."),
4018 Values {"Unknown", "Other", "Distinctive Ring", "Caller ID",
4019 "Voice", "Fax Class 1", "Fax Class 2", "WakeOnRing",
4020 "Fax Group 3", "GSM Support", "AMPS Support",
4021 "OOB Alerting", "Worldwide Country Support"},
4022 ModelCorrespondence {"CIM_POTSModem.Capabilities"}
4023 ]
4024 uint16 EnabledCapabilities[];
4025 [Description (
4026 "Defines the maximum settable communication speed "
4027 "to the COM Port for an external modem. Enter 0 if "
4028 "not applicable."),
4029 Units ("Bits per Second")
4030 ]
4031 uint32 MaxBaudRateToSerialPort;
4032 [Description (
4033 karl 1.1 "Defines the maximum settable communication speed "
4034 "for accessing the phone system."),
4035 Units ("Bits per Second")
4036 ]
4037 uint32 MaxBaudRateToPhone;
4038 [Description (
4039 "Boolean indicating that synchronous, as well as "
4040 "asynchronous, communication is supported.")
4041 ]
4042 boolean SupportsSynchronousConnect;
4043 [Description (
4044 "DialType is an integer indicating whether tone (value=1) or "
4045 "pulse dialing (value=2) is used. \"Unknown\" (0) can also be "
4046 "defined."),
4047 Values {"Unknown", "Tone", "Pulse"}
4048 ]
4049 uint16 DialType;
4050 [Description (
4051 "InactivityTimeout defines the time limit (in seconds) "
4052 "for automatic disconnection of the phone line, if no data "
4053 "is exchanged. A value of 0 indicates that this "
4054 karl 1.1 "feature is present but not enabled."),
4055 Units ("Seconds")
4056 ]
4057 uint32 InactivityTimeout;
4058 [Description (
4059 "Describes the volume level of the audible tones from the "
4060 "Modem. For example, high, medium or low volume can be "
4061 "reported (values 3, 4 or 5, respectively)."),
4062 Values {"Unknown", "Other", "Not Supported", "High",
4063 "Medium", "Low", "Off", "Auto"}
4064 ]
4065 uint16 SpeakerVolumeInfo;
4066 [MaxLen (64), Description (
4067 "CountriesSupported is an array of strings defining the "
4068 "countries in which the POTSModem operates.")
4069 ]
4070 string CountriesSupported[];
4071 [MaxLen (64), Description (
4072 "CountrySelected is a string value defining the country "
4073 "for which the Modem is currently programmed. When multiple "
4074 "countries are supported, this property defines which one "
4075 karl 1.1 "is currently selected for use.")
4076 ]
4077 string CountrySelected;
4078 [Description (
4079 "Number of rings before the Modem answers an incoming call.")
4080 ]
4081 uint8 RingsBeforeAnswer;
4082 [Description (
4083 "MaxNumberOfPasswords specifies the number of passwords "
4084 "definable in the Modem itself. If this feature is not "
4085 "supported, enter 0.")
4086 ]
4087 uint16 MaxNumberOfPasswords;
4088 [MaxLen (24), Description (
4089 "CurrentPasswords is an array containing the currently defined "
4090 "passwords for the Modem. This array may be left blank for "
4091 "security reasons.")
4092 ]
4093 string CurrentPasswords[];
4094 [Description (
4095 "Indication of whether the Modem supports call-back.")]
4096 karl 1.1 boolean SupportsCallback;
4097 [Description (
4098 "AnswerMode defines the current auto-answer/call-back "
4099 "setting for the Modem."),
4100 Values {"Unknown", "Other", "Disabled", "Manual Answer",
4101 "Auto Answer", "Auto Answer with Call-Back"}
4102 ]
4103 uint16 AnswerMode;
4104 [Description (
4105 "The current equalization setting for the Modem."),
4106 Values {"Unknown", "Other", "Long", "Short"}
4107 ]
4108 uint16 Equalization;
4109 [Description ("List of black-listed numbers for the Modem.") ]
4110 string BlackListedNumbers[];
4111 };
4112
4113 // ===================================================================
4114 // Unimodem
4115 // ===================================================================
4116 [Description (
4117 karl 1.1 "Unimodem is a POTSModem that supports the Unimodem 1.0 "
4118 "Specification.")
4119 ]
4120 class CIM_Unimodem : CIM_POTSModem
4121 {
4122 [Description ("Current call setup result code."),
4123 Values {"No Previous Call", "No Dial Tone Detected",
4124 "Reorder Signal Detected, Network Busy",
4125 "Busy Signal Detected", "No Recognized Signal Detected",
4126 "Voice Detected", "Text Telephone Detected",
4127 "Data Answering Signal Detected",
4128 "Data Calling Signal Detected",
4129 "Fax Answering Signal Detected",
4130 "Fax Calling Signal Detected", "V.8bis Signal Detected"}
4131 ]
4132 uint16 CallSetupResultCode;
4133 [Description ("Current multi-media mode of the Unimodem."),
4134 Values {"Data Only", "Fax Only", "Voice Only", "Voice View",
4135 "ASVD V.61", "ASVD V.34Q", "DSVD Multi-Tech", "DSVD 1.2",
4136 "DSVD V.70", "Video Telephony H.324", "Other V.80 Call"}
4137 ]
4138 karl 1.1 uint16 MultiMediaMode;
4139 [Description (
4140 "Current DTE-DCE interface mode of the Unimodem, such as "
4141 "asynchronous, v.80 transparent or framed synchronous modes."),
4142 Values {"Async Data", "V.80 Transparent Synchronous Mode",
4143 "V.80 Framed Synchronous Mode"}
4144 ]
4145 uint16 DTEDCEInterfaceMode;
4146 [Description ("The active transmit modulation scheme."),
4147 Values {"V.17 (G3 Fax Call)", "V.21", "V.22", "V.22bis",
4148 "V.23 Constant Carrier (1200/75)",
4149 "V.23 Switched Carrier (Half Duplex)", "V.26bis",
4150 "V.26ter", "V.27ter (G3 Fax Call)",
4151 "V.29 HD (G3 Fax Call)", "V.32", "V.32bis", "V.34",
4152 "V.34 HD (G3 Fax Call)", "V.90 Issue 1 (Asymmetric)",
4153 "V.90 Issue 2 (Symmetric)", "Reserved (V.58)", "X2",
4154 "K56FLEX", "V.FC", "V.32terbo", "Bell 212A",
4155 "Bell 103", "Reserved for Mfgs"}
4156 ]
4157 uint16 TransmitCarrierNegotiation;
4158 [Description ("The active receive modulation scheme."),
4159 karl 1.1 Values {"V.17 (G3 Fax Call)", "V.21", "V.22", "V.22bis",
4160 "V.23 Constant Carrier (1200/75)",
4161 "V.23 Switched Carrier (Half Duplex)", "V.26bis",
4162 "V.26ter", "V.27ter (G3 Fax Call)",
4163 "V.29 HD (G3 Fax Call)", "V.32", "V.32bis", "V.34",
4164 "V.34 HD (G3 Fax Call)", "V.90 Issue 1 (Asymmetric)",
4165 "V.90 Issue 2 (Symmetric)", "Reserved (V.58)", "X2",
4166 "K56FLEX", "V.FC", "V.32terbo", "Bell 212A",
4167 "Bell 103", "Reserved for Mfgs"}
4168 ]
4169 uint16 ReceiveCarrierNegotiation;
4170 [Description (
4171 "Initial transmit carrier data rate for the current or "
4172 "last call, in bits per second."),
4173 Units ("Bits per Second")
4174 ]
4175 uint32 InitialTransmitCarrierDataRate;
4176 [Description (
4177 "Initial receive carrier data rate for the current or last "
4178 "call, in bits per second."),
4179 Units ("Bits per Second")
4180 karl 1.1 ]
4181 uint32 InitialReceiveCarrierDataRate;
4182 [Description (
4183 "The number of carrier retrains requested during the current "
4184 "or last call."),
4185 Counter
4186 ]
4187 uint8 CarrierRetrainsRequested;
4188 [Description (
4189 "The number of carrier retrains granted during the current "
4190 "or last call."),
4191 Counter
4192 ]
4193 uint8 CarrierRetrainsGranted;
4194 [Description (
4195 "Final transmit carrier data rate of the current or last "
4196 "call, in bits per second."),
4197 Units ("Bits per Second")
4198 ]
4199 uint32 FinalTransmitCarrierDataRate;
4200 [Description (
4201 karl 1.1 "Final receive carrier data rate of the current or last "
4202 "call, in bits per second."),
4203 Units ("Bits per Second")
4204 ]
4205 uint32 FinalReceiveCarrierDataRate;
4206 [Description ("Cause of last call termination."),
4207 Values {"Cause Unidentified", "No Previous Call",
4208 "Call Is Still in Progress", "Call Waiting Signal Detected",
4209 "Delayed", "NMS Initiated Dial Call",
4210 "NMS Initiated Leased Line Restoral", "NMS Initiated Redial",
4211 "NMS Initiated Dial Disconnect", "Power Loss",
4212 "Equipment Failure", "Front Panel Disconnect Requested",
4213 "Front Panel Leased Line Restoral",
4214 "Automatic Leased Line Restoral", "Inactivity Timer Expired",
4215 "cct116 Restoral Request", "cct108 Is Off Inhibits Dial",
4216 "cct108 Turned Off", "No Number Provided", "Blacklisted Number",
4217 "Call Attempts Limit Exceeded", "Extension Phone Off Hook",
4218 "Call Setup Fail Timer Expired", "Incoming Call Detected",
4219 "Loop Current Interrupted", "No Dial Tone", "Voice Detected",
4220 "Reorder Tone", "Sit Tone", "Engaged Tone",
4221 "Long Space Disconnect", "Carrier Lost", "Training Failed",
4222 karl 1.1 "No Modulation in Common", "Retrain Failed",
4223 "Retrain Attempt Count Exceeded", "GSTN Cleardown Received",
4224 "Fax Detected", "In Test Mode",
4225 "Intrusive Self Test Initiated", "Any Key Abort",
4226 "DTE Hangup Command", "DTE Reset Command", "Frame Reject",
4227 "No Error Control Established", "Protocol Violation",
4228 "n400 Exceeded", "Negotiation Failed",
4229 "Disconnect Frame Received", "Sabme Frame Received",
4230 "Loss Of Synchronization"}
4231 ]
4232 uint16 TerminationCause;
4233 [Description (
4234 "Diagnostic Command Specification, Unimodem revision number.")
4235 ]
4236 string UnimodemRevision;
4237 [Gauge, Description (
4238 "Estimated noise level for the last or current call in "
4239 "-dBm. Values are in the range of 0-100."),
4240 Units ("-dBm")
4241 ]
4242 uint32 EstimatedNoiseLevel;
4243 karl 1.1 [Description (
4244 "Normalized mean squared error for the last or current call.")
4245 ]
4246 uint32 NormalizedMeanSquaredError;
4247 [Description (
4248 "Temporary carrier loss event count for the last or current "
4249 "call."),
4250 Counter
4251 ]
4252 uint8 TemporaryCarrierLossEventCount;
4253 [Description (
4254 "Carrier Rate re-negotiation event count for the last or "
4255 "current call."),
4256 Counter
4257 ]
4258 uint8 CarrierRenegotiationEventCount;
4259 [Description (
4260 "Error Control frame size in bytes for the last or current call."),
4261 Units ("Bytes")
4262 ]
4263 uint16 ErrorControlFrameSize;
4264 karl 1.1 [Description (
4265 "Error control link timeouts in transmission for the last or "
4266 "current call."),
4267 Counter
4268 ]
4269 uint8 ErrorControlLinkTimeouts;
4270 [Description (
4271 "Error control link NAKs received for the last or current call."),
4272 Counter
4273 ]
4274 uint8 ErrorControlLinkNAKs;
4275 [Description (
4276 "The flow control mechanism used in transmitting data."),
4277 Values {"Unknown", "Off", "DC1/DC3", "V.24 ckt 106/133"}
4278 ]
4279 uint16 TransmitFlowControl;
4280 [Description (
4281 "The flow control mechanism used in receiving data."),
4282 Values {"Unknown", "Off", "DC1/DC3", "V.24 ckt 106/133"}
4283 ]
4284 uint16 ReceiveFlowControl;
4285 karl 1.1 [Description (
4286 "Number of transmit chars sent from the DTE for the last "
4287 "or current call. A continuous connection may exceed this value, "
4288 "given enough time. Typically these counters are implemented "
4289 "as 32 bit counters, but additional bits may be provided and "
4290 "are accounted for in this property. If these counters hit "
4291 "maximum value, the DCE manufacturer may roll over to 0."),
4292 Counter
4293 ]
4294 uint64 TransmitCharsSentFromDTE;
4295 [Description (
4296 "Number of receive chars sent to the DTE for the last or "
4297 "current call. A continuous connection may exceed this value, "
4298 "given enough time. Typically these counters are implemented "
4299 "as 32 bit counters, but additional bits may be provided and "
4300 "are accounted for in this property. If these counters hit "
4301 "maximum value, the DCE manufacturer may roll over to 0."),
4302 Counter
4303 ]
4304 uint64 ReceiveCharsSentToDTE;
4305 [Description (
4306 karl 1.1 "Number of transmit characters lost for the last or current "
4307 "call. A DCE may limit this counter to 16 bits, but additional "
4308 "bits may be provided and are accounted for in this property."),
4309 Counter
4310 ]
4311 uint64 TransmitCharsLost;
4312 [Description (
4313 "Number of receive characters lost for the last or current "
4314 "call. A DCE may limit this counter to 16 bits, but additional "
4315 "bits may be provided and are accounted for in this property."),
4316 Counter
4317 ]
4318 uint64 ReceiveCharsLost;
4319 [Description (
4320 "Number of I-Frames transmitted for the last or current call. "
4321 "A continuous connection may exceed this value, given enough "
4322 "time. Typically these counters are implemented as 32 bit "
4323 "counters, but additional bits may be provided and are accounted "
4324 "for in this property. If these counters hit maximum value, the "
4325 "DCE manufacturer may roll over to 0."),
4326 Counter
4327 karl 1.1 ]
4328 uint64 TransmitIFrameCount;
4329 [Description (
4330 "Number of I-Frames received for the last or current call. "
4331 "A continuous connection may exceed this value, given enough "
4332 "time. Typically these counters are implemented as 32 bit "
4333 "counters, but additional bits may be provided and are "
4334 "accounted for in this property. If these counters hit maximum "
4335 "value, the DCE manufacturer may roll over to 0."),
4336 Counter
4337 ]
4338 uint64 ReceiveIFrameCount;
4339 [Description (
4340 "Number of I-Frame errors detected for the last or current "
4341 "call, if error control protocol is running. A DCE may limit "
4342 "this counter to 16 bits, but additional bits may be provided "
4343 "and are accounted for in this property."),
4344 Counter
4345 ]
4346 uint64 TransmitIFrameErrorCount;
4347 [Description (
4348 karl 1.1 "Number of I-Frame errors detected for the last or current "
4349 "call, if error control protocol is running. A DCE may limit "
4350 "this counter to 16 bits, but additional bits may be provided "
4351 "and are accounted for in this property."),
4352 Counter
4353 ]
4354 uint64 ReceivedIFrameErrorCount;
4355 [Description (
4356 "Number of Call waiting events detected for the last or "
4357 "current call."),
4358 Counter
4359 ]
4360 uint8 CallWaitingEventCount;
4361 };
4362
4363 // ===================================================================
4364 // Battery
4365 // ===================================================================
4366 [Description (
4367 "Capabilities and management of the Battery LogicalDevice. "
4368 "This class applies to both batteries in Laptop Systems and "
4369 karl 1.1 "other internal/external batteries, such as used in, "
4370 "or as UPSs.")
4371 ]
4372 class CIM_Battery : CIM_LogicalDevice
4373 {
4374 [Description (
4375 "Description of the Battery's charge status. Values such "
4376 "as \"Fully Charged\" (value=3) or \"Partially Charged\" "
4377 "(11) can be specified. The value, 10, is "
4378 "not valid in the CIM Schema since in DMI it represents "
4379 "that no battery is installed. In this case, this object "
4380 "should not be instantiated."),
4381 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
4382 "11"},
4383 Values {"Other", "Unknown", "Fully Charged",
4384 "Low", "Critical", "Charging", "Charging and High",
4385 "Charging and Low", "Charging and Critical", "Undefined",
4386 "Partially Charged"},
4387 MappingStrings {"MIF.DMTF|Portable Battery|003"}
4388 ]
4389 uint16 BatteryStatus;
4390 karl 1.1 [Description (
4391 "TimeOnBattery indicates the elapsed time in seconds "
4392 "since the ComputerSystem, UPS, ... last switched to "
4393 "battery power, or the time since the System or UPS "
4394 "was last restarted, whichever is less. Zero shall "
4395 "be returned if the Battery is 'on line'."),
4396 Units ("Seconds")
4397 ]
4398 uint32 TimeOnBattery;
4399 [Description (
4400 "EstimatedRunTime is an estimate in minutes of the "
4401 "time to battery charge depletion under the present "
4402 "load conditions if the utility power is off, or lost "
4403 "and remains off, or a Laptop is disconnected from a "
4404 "power source."),
4405 Units ("Minutes"),
4406 MappingStrings {"MIF.DMTF|Portable Battery|003"}
4407 ]
4408 uint32 EstimatedRunTime;
4409 [Gauge, Description (
4410 "An estimate of the percentage of full charge remaining."),
4411 karl 1.1 Units ("Percent")
4412 ]
4413 uint16 EstimatedChargeRemaining;
4414 [Description (
4415 "An enumeration that describes the Battery's chemistry."),
4416 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8"},
4417 Values {"Other", "Unknown", "Lead Acid", "Nickel Cadmium",
4418 "Nickel Metal Hydride", "Lithium-ion", "Zinc air",
4419 "Lithium Polymer"},
4420 MappingStrings {"MIF.DMTF|Portable Battery|003"}
4421 ]
4422 uint16 Chemistry;
4423 [Description (
4424 "The design capacity of the battery in mWatt-hours. "
4425 "If this property is not supported, enter 0."),
4426 Units ("MilliWattHours"),
4427 MappingStrings {"MIF.DMTF|Portable Battery|003"}
4428 ]
4429 uint32 DesignCapacity;
4430 [Description (
4431 "The full charge capacity of the battery in mWatt-hours. "
4432 karl 1.1 "Comparison of this value to the Battery DesignCapacity "
4433 "determines when the Battery requires replacement. A "
4434 "Battery's end of life is typically when the FullCharge"
4435 "Capacity falls below 80% of the DesignCapacity. "
4436 "If this property is not supported, enter 0."),
4437 Units ("MilliWattHours"),
4438 MappingStrings {"MIF.DMTF|Portable Battery|003"}
4439 ]
4440 uint32 FullChargeCapacity;
4441 [Description (
4442 "The design voltage of the battery in mVolts. If "
4443 "this attribute is not supported, enter 0."),
4444 Units ("MilliVolts"),
4445 MappingStrings {"MIF.DMTF|Portable Battery|003"}
4446 ]
4447 uint64 DesignVoltage;
4448 [MaxLen (64), Description (
4449 "The Smart Battery Data Specification version number "
4450 "supported by this Battery. If the Battery does not "
4451 "support this function, the value should be left blank."),
4452 MappingStrings {"MIF.DMTF|Portable Battery|003"}
4453 karl 1.1 ]
4454 string SmartBatteryVersion;
4455 [Description (
4456 "The remaining time to charge the battery fully in minutes "
4457 "at the current charging rate and usage."),
4458 Units ("Minutes"),
4459 MappingStrings {"MIF.DMTF|Portable Battery|003"}
4460 ]
4461 uint32 TimeToFullCharge;
4462 [Description (
4463 "Indicates the Battery's expected lifetime in minutes, "
4464 "assuming that the Battery is fully charged. This property "
4465 "represents the total expected life of the Battery, not its "
4466 "current remaining life, which is indicated by the "
4467 "EstimatedRunTime property. "),
4468 Units ("Minutes")
4469 ]
4470 uint32 ExpectedLife;
4471 [Description (
4472 "MaxRechargeTime indicates the maximum time, in minutes, "
4473 "to fully charge the Battery. This property represents the "
4474 karl 1.1 "time to recharge a fully depleted Battery, not the current "
4475 "remaining charging time, which is indicated in the "
4476 "TimeToFullCharge property. "),
4477 Units ("Minutes")
4478 ]
4479 uint32 MaxRechargeTime;
4480 };
4481
4482 // ===================================================================
4483 // PowerSupply
4484 // ===================================================================
4485 [Description (
4486 "Capabilities and management of the PowerSupply LogicalDevice.")
4487 ]
4488 class CIM_PowerSupply : CIM_LogicalDevice
4489 {
4490 [Description (
4491 "Boolean indicating that the PowerSupply is a switching "
4492 "(vs linear) supply.")
4493 ]
4494 boolean IsSwitchingSupply;
4495 karl 1.1 [Description (
4496 "The low voltage of Input Voltage Range 1 for this Power"
4497 "Supply, in millivolts. A value of 0 denotes 'unknown'."),
4498 Units ("MilliVolts"),
4499 MappingStrings {"MIF.DMTF|Power Supply|004"}
4500 ]
4501 uint32 Range1InputVoltageLow;
4502 [Description (
4503 "The high voltage of Input Voltage Range 1 for this Power"
4504 "Supply, in millivolts. A value of 0 denotes 'unknown'."),
4505 Units ("MilliVolts"),
4506 MappingStrings {"MIF.DMTF|Power Supply|004"}
4507 ]
4508 uint32 Range1InputVoltageHigh;
4509 [Description (
4510 "The frequency (in Hertz) at the low end of this Power"
4511 "Supply's Input Frequency Range 1. A value of zero "
4512 "implies DC."),
4513 Units ("Hertz"),
4514 MappingStrings {"MIF.DMTF|Power Supply|004"}
4515 ]
4516 karl 1.1 uint32 Range1InputFrequencyLow;
4517 [Description (
4518 "The frequency (in Hertz) at the high end of this Power"
4519 "Supply's Input Frequency Range 1. A value of zero "
4520 "implies DC."),
4521 Units ("Hertz"),
4522 MappingStrings {"MIF.DMTF|Power Supply|004"}
4523 ]
4524 uint32 Range1InputFrequencyHigh;
4525 [Description (
4526 "The low voltage of Input Voltage Range 2 for this Power"
4527 "Supply, in millivolts. A value of 0 denotes 'unknown'."),
4528 Units ("MilliVolts"),
4529 MappingStrings {"MIF.DMTF|Power Supply|004"}
4530 ]
4531 uint32 Range2InputVoltageLow;
4532 [Description (
4533 "The high voltage of Input Voltage Range 2 for this Power"
4534 "Supply, in millivolts. A value of 0 denotes 'unknown'."),
4535 Units ("MilliVolts"),
4536 MappingStrings {"MIF.DMTF|Power Supply|004"}
4537 karl 1.1 ]
4538 uint32 Range2InputVoltageHigh;
4539 [Description (
4540 "The frequency (in Hertz) at the low end of this Power"
4541 "Supply's Input Frequency Range 2. A value of zero "
4542 "implies DC."),
4543 Units ("Hertz"),
4544 MappingStrings {"MIF.DMTF|Power Supply|004"}
4545 ]
4546 uint32 Range2InputFrequencyLow;
4547 [Description (
4548 "The frequency (in Hertz) at the high end of this Power"
4549 "Supply's Input Frequency Range 2. A value of zero "
4550 "implies DC."),
4551 Units ("Hertz"),
4552 MappingStrings {"MIF.DMTF|Power Supply|004"}
4553 ]
4554 uint32 Range2InputFrequencyHigh;
4555 [Description (
4556 "ActiveInputVoltage indicates which input voltage range is "
4557 "currently in use. Range 1, 2 or both can be specified "
4558 karl 1.1 "using the values 3, 4 or 5, respectively. If the Supply "
4559 "is not currently drawing power, the value 6 (\"Neither\") "
4560 "can be specified. This information is necessary in the "
4561 "case of a UPS, a subclass of PowerSupply."),
4562 ValueMap {"1", "2", "3", "4", "5", "6"},
4563 Values {"Other", "Unknown", "Range 1", "Range 2", "Both",
4564 "Neither"},
4565 MappingStrings {"MIF.DMTF|Power Supply|004"}
4566 ]
4567 uint16 ActiveInputVoltage;
4568 [Description (
4569 "TypeOfRangeSwitching describes the kind of input voltage "
4570 "range switching implemented in this PowerSupply. For "
4571 "example, autoswitching can be specified (value=4)."),
4572 ValueMap {"1", "2", "3", "4", "5", "6"},
4573 Values {"Other", "Unknown", "Manual", "Autoswitch",
4574 "Wide Range", "Not Applicable"},
4575 MappingStrings {"MIF.DMTF|Power Supply|004"}
4576 ]
4577 uint16 TypeOfRangeSwitching;
4578 [Description (
4579 karl 1.1 "Represents the total output power of the PowerSupply in "
4580 "milliWatts. 0 denotes 'unknown'."),
4581 Units ("MilliWatts"),
4582 MappingStrings {"MIF.DMTF|Power Supply|004"}
4583 ]
4584 uint32 TotalOutputPower;
4585 };
4586
4587 // ===================================================================
4588 // SuppliesPower
4589 // ===================================================================
4590 [Association,
4591 Description (
4592 "The SuppliesPower relationship indicates that a Device is in "
4593 "the power domain of the referenced PowerSupply or UPS. "
4594 "It indicates which Device(s) are dependent on the PowerSupply, "
4595 "and hence, which Devices are affected if the Supply is lost.")
4596 ]
4597 class CIM_SuppliesPower : CIM_Dependency
4598 {
4599 [Override ("Antecedent"),
4600 karl 1.1 Description ("The Supply providing power.")
4601 ]
4602 CIM_PowerSupply REF Antecedent;
4603 [Override ("Dependent"),
4604 Description (
4605 "A LogicalDevice in the power domain of the Supply.")
4606 ]
4607 CIM_LogicalDevice REF Dependent;
4608 };
4609
4610 // ===================================================================
4611 // UninterruptiblePowerSupply
4612 // ===================================================================
4613 [Description (
4614 "Capabilities and management of an UninterruptiblePowerSupply. "
4615 "The properties of the UPS Device indicate when incoming power "
4616 "is trimmed or boosted, and the aggregated information of the "
4617 "batteries, generators, etc. that comprise the Device. These "
4618 "individual components (for example, multiple batteries) can "
4619 "also be independently modeled and associated with the UPS.")
4620 ]
4621 karl 1.1 class CIM_UninterruptiblePowerSupply : CIM_PowerSupply
4622 {
4623 [Override ("Range1InputVoltageLow"),
4624 Description (
4625 "If the voltage (in millivolts) drops below the value "
4626 "specified by Range1InputVoltageLow, the UPS will compensate "
4627 "by boosting the voltage using its power source(s). A value "
4628 "of 0 indicates that the voltage at which boosting occurs "
4629 "is 'unknown'."),
4630 Units ("MilliVolts")
4631 ]
4632 uint32 Range1InputVoltageLow;
4633 [Override ("Range1InputVoltageHigh"),
4634 Description (
4635 "If the voltage (in millivolts) rises above the value "
4636 "specified by Range1InputVoltageHigh, the UPS will compensate "
4637 "by trimming the voltage. A value of 0 indicates that the "
4638 "voltage at which trimming occurs is 'unknown'."),
4639 Units ("MilliVolts")
4640 ]
4641 uint32 Range1InputVoltageHigh;
4642 karl 1.1 [Override ("Range2InputVoltageLow"),
4643 Description (
4644 "If the voltage (in millivolts) drops below the value "
4645 "specified by Range2InputVoltageLow, the UPS will compensate "
4646 "by boosting the voltage using its power source(s). A value "
4647 "of 0 indicates that the voltage at which boosting occurs "
4648 "is 'unknown'."),
4649 Units ("MilliVolts")
4650 ]
4651 uint32 Range2InputVoltageLow;
4652 [Override ("Range2InputVoltageHigh"),
4653 Description (
4654 "If the voltage (in millivolts) rises above the value "
4655 "specified by Range2InputVoltageHigh, the UPS will compensate "
4656 "by trimming the voltage. A value of 0 indicates that the "
4657 "voltage at which trimming occurs is 'unknown'."),
4658 Units ("MilliVolts")
4659 ]
4660 uint32 Range2InputVoltageHigh;
4661 [Description (
4662 "The indication of the capacity remaining in the UPS' "
4663 karl 1.1 "batteries, generator, ... A value of \"Normal\" (2) "
4664 "indicates that the remaining estimated minutes of run-time "
4665 "is greater than the UPS' defined 'low power' state "
4666 "(typically two minutes). A value of \"Low\" (3) indicates "
4667 "that the remaining estimated minutes of run-time is less "
4668 "than or equal to the UPS' defined 'low power' state. A "
4669 "value of \"Depleted\" (4) indicates that the "
4670 "UPS will be unable to sustain the present load when and if "
4671 "the utility power is lost (including the possibility that "
4672 "the utility power is currently absent)."),
4673 ValueMap {"1", "2", "3", "4"},
4674 Values {"Unknown", "Normal", "Low", "Depleted"},
4675 MappingStrings {"MIF.DMTF|UPS Battery|001.1"}
4676 ]
4677 uint16 RemainingCapacityStatus;
4678 [Description (
4679 "TimeOnBackup indicates the elapsed time in seconds "
4680 "since the UPS last switched to battery power, generator, ... "
4681 "Or, the time since the UPS was last restarted, whichever is "
4682 "less. Zero shall be returned if the UPS is 'on line'."),
4683 Units ("Seconds"),
4684 karl 1.1 MappingStrings {"MIF.DMTF|UPS Battery|001.2"}
4685 ]
4686 uint32 TimeOnBackup;
4687 [Description (
4688 "EstimatedRunTime is an estimate in minutes of the time to "
4689 "battery, generator, ... depletion under the present load "
4690 "conditions if the utility power is off, or lost and remains "
4691 "off."),
4692 Units ("Minutes"),
4693 MappingStrings {"MIF.DMTF|UPS Battery|001.3"}
4694 ]
4695 uint32 EstimatedRunTime;
4696 [Gauge, Description (
4697 "An estimate of the percentage of full charge remaining for "
4698 "a UPS (that uses battery technology)."),
4699 Units ("Percent"),
4700 MappingStrings {"MIF.DMTF|UPS Battery|001.4"}
4701 ]
4702 uint16 EstimatedChargeRemaining;
4703 };
4704
4705 karl 1.1 // ===================================================================
4706 // AssociatedSupplyVoltageSensor
4707 // ===================================================================
4708 [Association,
4709 Description (
4710 "A PowerSupply may have an associated VoltageSensor, monitoring "
4711 "its input voltage. This is described by this association.")
4712 ]
4713 class CIM_AssociatedSupplyVoltageSensor : CIM_AssociatedSensor
4714 {
4715 [Override ("Antecedent"),
4716 Description ("The VoltageSensor.")
4717 ]
4718 CIM_VoltageSensor REF Antecedent;
4719 [Override ("Dependent"),
4720 Description (
4721 "The PowerSupply associated with the VoltageSensor.")
4722 ]
4723 CIM_PowerSupply REF Dependent;
4724 [Description (
4725 "Indicates the PowerSupply's input voltage range measured "
4726 karl 1.1 "by the associated sensor. Range 1, 2 or both can be specified "
4727 "using the values 2, 3 or 4, respectively."),
4728 Values {"Unknown", "Other", "Range 1", "Range 2",
4729 "Both Range 1 and 2"}
4730 ]
4731 uint16 MonitoringRange;
4732 };
4733
4734 // ===================================================================
4735 // AssociatedSupplyCurrentSensor
4736 // ===================================================================
4737 [Association,
4738 Description (
4739 "A PowerSupply may have an associated CurrentSensor, monitoring "
4740 "its input frequency. This is described by this association.")
4741 ]
4742 class CIM_AssociatedSupplyCurrentSensor : CIM_AssociatedSensor
4743 {
4744 [Override ("Antecedent"),
4745 Description ("The CurrentSensor.")
4746 ]
4747 karl 1.1 CIM_CurrentSensor REF Antecedent;
4748 [Override ("Dependent"),
4749 Description (
4750 "The PowerSupply associated with the CurrentSensor.")
4751 ]
4752 CIM_PowerSupply REF Dependent;
4753 [Description (
4754 "Indicates the PowerSupply's input frequency range measured "
4755 "by the associated sensor. Range 1, 2 or both can be specified "
4756 "using the values 2, 3 or 4, respectively."),
4757 Values {"Unknown", "Other", "Range 1", "Range 2",
4758 "Both Range 1 and 2"}
4759 ]
4760 uint16 MonitoringRange;
4761 };
4762
4763 // ===================================================================
4764 // AssociatedBattery
4765 // ===================================================================
4766 [Association,
4767 Description (
4768 karl 1.1 "A LogicalDevice may use or require one or more Batteries. This "
4769 "relationship is described by the AssociatedBattery dependency. "
4770 "It is also possible to model the individual Batteries that "
4771 "comprise a UPS, using this association.")
4772 ]
4773 class CIM_AssociatedBattery : CIM_Dependency
4774 {
4775 [Override ("Antecedent"),
4776 Description ("The Battery.")
4777 ]
4778 CIM_Battery REF Antecedent;
4779 [Override ("Dependent"),
4780 Description (
4781 "The LogicalDevice needing or associated with the Battery.")
4782 ]
4783 CIM_LogicalDevice REF Dependent;
4784 };
4785
4786 // ===================================================================
4787 // NetworkAdapter
4788 // ===================================================================
4789 karl 1.1 [Abstract,
4790 Description (
4791 "NetworkAdapter is an Abstract class defining general "
4792 "networking hardware concepts (for example, PermanentAddress or "
4793 "Speed of operation). NetworkAdapters are Devices with the "
4794 "ability to support multiple, higher level protocols and provide "
4795 "the implementation behind the Network Model's ProtocolEndpoint "
4796 "class. (This information is conveyed using the DeviceSAP"
4797 "Implementation association, defined in the Core Model.) "
4798 "NetworkAdapters and their Endpoints represent the potential for "
4799 "connectivity among peers.\n"
4800 "The 'potential for connectivity' is very different than the "
4801 "master-slave/controller-controlled by relationships of CIM_"
4802 "Controller. Sometimes, however, a single Device is both a kind "
4803 "of NetworkAdapter and a Controller - for example, when a Fibre"
4804 "ChannelAdapater is operating as a ComputerSystem's SCSIController. "
4805 "In this case, there are aspects of the Device that are network "
4806 "oriented and others that are Controller oriented - and, both the "
4807 "Controller and Adapter classes should be instantiated. A Device"
4808 "Identity relationship would also be created to tie together these "
4809 "differing aspects/abstractions of the Device.")
4810 karl 1.1 ]
4811 class CIM_NetworkAdapter : CIM_LogicalDevice
4812 {
4813 [MaxLen (64), Description (
4814 "PermanentAddress defines the network address hardcoded into "
4815 "an adapter. This 'hardcoded' address may be changed via "
4816 "firmware upgrade or software configuration. If so, this field "
4817 "should be updated when the change is made. PermanentAddress "
4818 "should be left blank if no 'hardcoded' address exists for the "
4819 "NetworkAdapter."),
4820 MappingStrings {"MIF.DMTF|Network Adapter 802 Port|001.2"}
4821 ]
4822 string PermanentAddress;
4823 [MaxLen (64),
4824 Description (
4825 "An array of strings indicating the network addresses for an "
4826 "adapter."),
4827 ArrayType ("Indexed"),
4828 MappingStrings {"MIF.DMTF|Network Adapter 802 Port|001.3"}
4829 ]
4830 string NetworkAddresses[];
4831 karl 1.1 [Description (
4832 "An estimate of the current bandwidth in Bits per Second. "
4833 "For Adapters which vary in bandwidth or for those where "
4834 "no accurate estimation can be made, this property should "
4835 "contain the nominal bandwidth."),
4836 Units ("Bits per Second"),
4837 MappingStrings {"MIB.IETF|RFC1213-MIB.ifSpeed",
4838 "MIF.DMTF|Network Adapter 802 Port|001.5"}
4839 ]
4840 uint64 Speed;
4841 [Description (
4842 "The maximum speed, in Bits per Second, for the Network"
4843 "Adapter."),
4844 Units ("Bits per Second")
4845 ]
4846 uint64 MaxSpeed;
4847 [Description (
4848 "Boolean indicating that the Adapter is operating in "
4849 "full duplex mode.")
4850 ]
4851 boolean FullDuplex;
4852 karl 1.1 [Description (
4853 "A boolean indicating whether the NetworkAdapter is capable "
4854 "of automatically determining the speed or other communications "
4855 "characteristics of the attached network media.")
4856 ]
4857 boolean AutoSense;
4858 [Description (
4859 "The total number of octets transmitted, including framing "
4860 "characters."),
4861 Mappingstrings {"MIB.IETF|RFC1213-MIB.ifOutOctets",
4862 "MIF.DMTF|Network Adapter 802 Port|001.7"},
4863 Counter
4864 ]
4865 uint64 OctetsTransmitted;
4866 [Description (
4867 "The total number of octets received, including framing "
4868 "characters."),
4869 Mappingstrings {"MIB.IETF|RFC1213-MIB.ifInOctets",
4870 "MIF.DMTF|Network Adapter 802 Port|001.9"},
4871 Counter
4872 ]
4873 karl 1.1 uint64 OctetsReceived;
4874 };
4875
4876 // ===================================================================
4877 // OOBAlertServiceOnNetworkAdapter
4878 // ===================================================================
4879 [Association,
4880 Description (
4881 "OOBAlertServiceOnNetworkAdapter defines where the out of band "
4882 "alerting Service is implemented. Currently, the Service can "
4883 "either employ a Modem or a NetworkAdapter to send alerts.")
4884 ]
4885 class CIM_OOBAlertServiceOnNetworkAdapter : CIM_DeviceServiceImplementation
4886 {
4887 [Override ("Antecedent"),
4888 Description (
4889 "The NetworkAdapter which implements the Service."),
4890 Max (1)
4891 ]
4892 CIM_NetworkAdapter REF Antecedent;
4893 [Override ("Dependent"),
4894 karl 1.1 Description (
4895 "The alerting Service provided on the NetworkAdapter.")
4896 ]
4897 CIM_OOBAlertService REF Dependent;
4898 };
4899
4900 // ===================================================================
4901 // WakeUpServiceOnNetworkAdapter
4902 // ===================================================================
4903 [Association,
4904 Description (
4905 "WakeUpServiceOnNetworkAdapter defines where the WakeUpService "
4906 "is implemented. Currently, the Service can either employ a Modem "
4907 "or a NetworkAdapter for wakeup.")
4908 ]
4909 class CIM_WakeUpServiceOnNetworkAdapter : CIM_DeviceServiceImplementation
4910 {
4911 [Override ("Antecedent"),
4912 Description (
4913 "The NetworkAdapter which implements the Service."),
4914 Max (1)
4915 karl 1.1 ]
4916 CIM_NetworkAdapter REF Antecedent;
4917 [Override ("Dependent"),
4918 Description (
4919 "The wakeup Service provided on the NetworkAdapter.")
4920 ]
4921 CIM_WakeUpService REF Dependent;
4922 };
4923
4924 // ===================================================================
4925 // EthernetAdapter
4926 // ===================================================================
4927 [Description ("Capabilities and management of an EthernetAdapter.")]
4928 class CIM_EthernetAdapter : CIM_NetworkAdapter
4929 {
4930 [Override ("NetworkAddresses"),
4931 Description (
4932 "Ethernet/802.3 MAC addresses formatted as twelve hexadecimal "
4933 "digits (e.g. \"010203040506\"), with each pair representing "
4934 "one of the six octets of the MAC address in \"canonical\" bit "
4935 "order. (Thus, the Group address bit is found in the low "
4936 karl 1.1 "order bit of the first character of the string.)"),
4937 ArrayType ("Indexed")
4938 ]
4939 string NetworkAddresses[];
4940 [Description (
4941 "The maximum size of the INFO (non-MAC) field that will be "
4942 "received or transmitted."),
4943 Mappingstrings {"MIB.IETF|BRIDGE-MIB.dot1dTpPortMaxInfo"}
4944 ]
4945 uint32 MaxDataSize;
4946 [Description (
4947 "Capabilities of the EthernetAdapter. For example, the "
4948 "Device may support AlertOnLan, WakeOnLan, Load Balancing "
4949 "and/or FailOver. If failover or load balancing "
4950 "capabilities are listed, a SpareGroup (failover) or "
4951 "ExtraCapacityGroup (load balancing) should also be defined "
4952 "to completely describe the capability."),
4953 ArrayType ("Indexed"),
4954 Values {"Unknown", "Other", "AlertOnLan", "WakeOnLan",
4955 "FailOver", "LoadBalancing"},
4956 ModelCorrespondence {
4957 karl 1.1 "CIM_EthernetAdapter.CapabilityDescriptions"}
4958 ]
4959 uint16 Capabilities[];
4960 [Description (
4961 "An array of free-form strings providing more detailed "
4962 "explanations for any of the EthernetAdapter features "
4963 "indicated in the Capabilities array. Note, each entry of "
4964 "this array is related to the entry in the Capabilities "
4965 "array that is located at the same index."),
4966 ArrayType ("Indexed"),
4967 ModelCorrespondence {"CIM_EthernetAdapter.Capabilities"}
4968 ]
4969 string CapabilityDescriptions[];
4970 [Description (
4971 "Specifies which capabilities are enabled from the list "
4972 "of all supported ones, defined in the Capabilities array."),
4973 Values {"Unknown", "Other", "AlertOnLan", "WakeOnLan",
4974 "FailOver", "LoadBalancing"},
4975 ModelCorrespondence {"CIM_EthernetAdapter.Capabilities"}
4976 ]
4977 uint16 EnabledCapabilities[];
4978 karl 1.1 [Description (
4979 "The number of times there was an invalid data symbol when "
4980 "a valid carrier was present. The count is incremented at "
4981 "most once per carrier event, even if multiple symbol "
4982 "errors occur during the carrier event."),
4983 MappingStrings {"MIB.IETF|EtherLike-MIB.dot3StatsSymbolErrors"},
4984 Counter
4985 ]
4986 uint32 SymbolErrors;
4987 [Description ("The total number of packets transmitted."),
4988 MappingStrings {"MIF.DMTF|Network Adapter 802 Port|001.6"},
4989 Counter
4990 ]
4991 uint64 TotalPacketsTransmitted;
4992 [Description ("The total number of packets received."),
4993 MappingStrings {"MIF.DMTF|Network Adapter 802 Port|001.8"},
4994 Counter
4995 ]
4996 uint64 TotalPacketsReceived;
4997 [Description (
4998 "A count of frames received on a particular interface "
4999 karl 1.1 "that are not an integral number of octets in length and do "
5000 "not pass the FCS check. The count represented by an "
5001 "instance of this object is incremented when the alignment"
5002 "Error status is returned by the MAC layer to the LLC (or "
5003 "other MAC user). Received frames for which multiple error "
5004 "conditions obtain are, according to the conventions of IEEE "
5005 "802.3 Layer Management, counted exclusively according to "
5006 "the error status presented to the LLC."),
5007 Mappingstrings {
5008 "MIB.IETF|EtherLike-MIB.dot3StatsAlignmentErrors"},
5009 Counter
5010 ]
5011 uint32 AlignmentErrors;
5012 [Description (
5013 "A count of frames received on a particular interface "
5014 "that are an integral number of octets in length but do "
5015 "not pass the FCS check. The count represented by an "
5016 "instance of this object is incremented when the frame"
5017 "CheckError status is returned by the MAC layer to the "
5018 "LLC (or other MAC user). Received frames for which "
5019 "multiple error conditions obtain are, according to the "
5020 karl 1.1 "conventions of IEEE 802.3 Layer Management, counted "
5021 "exclusively according to the error status presented to "
5022 "the LLC."),
5023 Mappingstrings {
5024 "MIB.IETF|EtherLike-MIB.dot3StatsFCSErrors"},
5025 Counter
5026 ]
5027 uint32 FCSErrors;
5028 [Description (
5029 "A count of successfully transmitted frames on a particular "
5030 "interface for which transmission is inhibited by exactly "
5031 "one collision. A frame that is counted by an instance of "
5032 "this object is not counted by the corresponding instance "
5033 "of the MultipleCollisionFrames property."),
5034 Mappingstrings {
5035 "MIB.IETF|EtherLike-MIB.dot3StatsSingleCollisionFrames"},
5036 Counter
5037 ]
5038 uint32 SingleCollisionFrames;
5039 [Description (
5040 "A count of successfully transmitted frames on a particular "
5041 karl 1.1 "interface for which transmission is inhibited by more than "
5042 "one collision. A frame that is counted by an instance of "
5043 "this object is not counted by the corresponding instance "
5044 "of the SingleCollisionFrames property."),
5045 Mappingstrings {
5046 "MIB.IETF|EtherLike-MIB.dot3StatsMultipleCollisionFrames"},
5047 Counter
5048 ]
5049 uint32 MultipleCollisionFrames;
5050 [Description (
5051 "A count of times that the SQE TEST ERROR message is "
5052 "generated by the PLS sublayer for a particular interface. "
5053 "The SQE TEST ERROR message is defined in section "
5054 "7.2.2.2.4 of ANSI/IEEE 802.3-1985 and its generation is "
5055 "described in section 7.2.4.6 of the same document."),
5056 Mappingstrings {
5057 "MIB.IETF|EtherLike-MIB.dot3StatsSQETestErrors"},
5058 Counter
5059 ]
5060 uint32 SQETestErrors;
5061 [Description (
5062 karl 1.1 "A count of frames for which the first transmission "
5063 "attempt on a particular interface is delayed because the "
5064 "medium is busy. The count represented by an instance of "
5065 "this object does not include frames involved in collisions."),
5066 Mappingstrings {
5067 "MIB.IETF|EtherLike-MIB.dot3StatsDeferredTransmissions"},
5068 Counter
5069 ]
5070 uint32 DeferredTransmissions;
5071 [Description (
5072 "The number of times that a collision is detected on a "
5073 "particular interface later than 512 bit-times into the "
5074 "transmission of a packet. Five hundred and twelve bit-"
5075 "times corresponds to 51.2 microseconds on a 10 Mbit/s "
5076 "system. A (late) collision included in a count "
5077 "represented by an instance of this object is also "
5078 "considered as a (generic) collision for purposes of "
5079 "other collision-related statistics."),
5080 Mappingstrings {
5081 "MIB.IETF|EtherLike-MIB.dot3StatsLateCollisions"},
5082 Counter
5083 karl 1.1 ]
5084 uint32 LateCollisions;
5085 [Description (
5086 "A count of frames for which transmission on a particular "
5087 "interface fails due to excessive collisions."),
5088 Mappingstrings {
5089 "MIB.IETF|EtherLike-MIB.dot3StatsExcessiveCollisions"},
5090 Counter
5091 ]
5092 uint32 ExcessiveCollisions;
5093 [Description (
5094 "A count of frames for which transmission on a particular "
5095 "interface fails due to an internal MAC sublayer transmit "
5096 "error. A frame is only counted by an instance of this "
5097 "object if it is not counted by the corresponding instance "
5098 "of either the LateCollisions property, the Excessive"
5099 "Collisions property, or the CarrierSenseErrors property. "
5100 "The precise meaning of the count represented by an instance "
5101 "of this object is implementation-specific. In particular, "
5102 "an instance of this object may represent a count of "
5103 "transmission errors on a particular interface that are "
5104 karl 1.1 "not otherwise counted."),
5105 Mappingstrings {
5106 "MIB.IETF|EtherLike-MIB.dot3StatsInternalMacTransmitErrors"},
5107 Counter
5108 ]
5109 uint32 InternalMACTransmitErrors;
5110 [Description (
5111 "A count of frames for which reception on a particular "
5112 "interface fails due to an internal MAC sublayer receive "
5113 "error. A frame is only counted by an instance of this "
5114 "object if it is not counted by the corresponding instance "
5115 "of either the FrameTooLongs property, the AlignmentErrors "
5116 "property, or the FCSErrors property. The precise meaning "
5117 "of the count represented by an instance of this object is "
5118 "implementation-specific. In particular, an instance of "
5119 "this object may represent a count of receive errors on a "
5120 "particular interface that are not otherwise counted."),
5121 Mappingstrings {
5122 "MIB.IETF|EtherLike-MIB.dot3StatsInternalMacReceiveErrors"},
5123 Counter
5124 ]
5125 karl 1.1 uint32 InternalMACReceiveErrors;
5126 [Description (
5127 "The number of times that the carrier sense condition was "
5128 "lost or never asserted when attempting to transmit a frame "
5129 "on a particular interface. The count represented by an "
5130 "instance of this object is incremented at most once per "
5131 "transmission attempt, even if the carrier sense condition "
5132 "fluctuates during a transmission attempt."),
5133 Mappingstrings {
5134 "MIB.IETF|EtherLike-MIB.dot3StatsCarrierSenseErrors"},
5135 Counter
5136 ]
5137 uint32 CarrierSenseErrors;
5138 [Description (
5139 "A count of frames received on a particular interface that "
5140 "exceed the maximum permitted frame size. The count "
5141 "represented by an instance of this object is incremented "
5142 "when the FrameTooLong status is returned by the MAC layer "
5143 "to the LLC (or other MAC user). Received frames for which "
5144 "multiple error conditions obtain are, according to the "
5145 "conventions of IEEE 802.3 Layer Management, counted "
5146 karl 1.1 "exclusively according to the error status presented to "
5147 "the LLC."),
5148 Mappingstrings {
5149 "MIB.IETF|EtherLike-MIB.dot3StatsFrameTooLongs"},
5150 Counter
5151 ]
5152 uint32 FrameTooLongs;
5153 };
5154
5155 // ===================================================================
5156 // TokenRingAdapter
5157 // ===================================================================
5158 [Description ("Capabilities and management of a TokenRingAdapter.")]
5159 class CIM_TokenRingAdapter : CIM_NetworkAdapter
5160 {
5161 [Override ("NetworkAddresses"),
5162 Description (
5163 "Token Ring/802.5 MAC addresses formatted as twelve "
5164 "hexadecimal digits (e.g. \"010203040506\"), with each pair "
5165 "representing one of the six octets of the MAC address in "
5166 "\"canonical\" bit order. (Thus, the Group address bit is "
5167 karl 1.1 "found in the low order bit of the first character of the "
5168 "string.)"),
5169 ArrayType ("Indexed")
5170 ]
5171 string NetworkAddresses[];
5172 [Description (
5173 "The maximum size of the INFO (non-MAC) field that will be "
5174 "received or transmitted."),
5175 Mappingstrings {"MIB.IETF|BRIDGE-MIB.dot1dTpPortMaxInfo"}
5176 ]
5177 uint32 MaxDataSize;
5178 [Description (
5179 "Capabilities of the TokenRingAdapter. For example, the Device "
5180 "may support AlertOnLan, WakeOnLan, Load Balancing and/or "
5181 "Failover. If failover or load balancing capabilities are "
5182 "listed, a SpareGroup (failover) or ExtraCapacityGroup (load "
5183 "balancing) should also be defined to completely describe the "
5184 "capability."),
5185 ArrayType ("Indexed"),
5186 Values {"Unknown", "Other", "AlertOnLan", "WakeOnLan",
5187 "FailOver", "LoadBalancing"},
5188 karl 1.1 ModelCorrespondence {
5189 "CIM_TokenRingAdapter.CapabilityDescriptions"}
5190 ]
5191 uint16 Capabilities[];
5192 [Description (
5193 "An array of free-form strings providing more detailed "
5194 "explanations for any of the TokenRingAdapter features "
5195 "indicated in the Capabilities array. Note, each entry of "
5196 "this array is related to the entry in the Capabilities array "
5197 "that is located at the same index."),
5198 ArrayType ("Indexed"),
5199 ModelCorrespondence {"CIM_TokenRingAdapter.Capabilities"}
5200 ]
5201 string CapabilityDescriptions[];
5202 [Description (
5203 "Specifies which of the capabilities from the \"Capabilities\" "
5204 "property are currently enabled."),
5205 Values {"Unknown", "Other", "AlertOnLan", "WakeOnLan",
5206 "FailOver", "LoadBalancing"},
5207 ModelCorrespondence {"CIM_TokenRingAdapter.Capabilities"}
5208 ]
5209 karl 1.1 uint16 EnabledCapabilities[];
5210 [Description (
5211 "The current status which can be used to diagnose fluctuating "
5212 "problems that can occur on token rings, after a station has "
5213 "successfully been added to the ring. Before an open is completed, "
5214 "this object contains the value indicating \"no status\" (131072). "
5215 "(The RingState and RingOpenStatus properties are also provided "
5216 "for debugging problems when the station can not even enter the "
5217 "ring.) The property's value is a sum of values, one for each "
5218 "currently applicable condition. The following values are defined "
5219 "for various conditions:\n"
5220 "0 = No Problems Detected, 32 = Ring Recovery, "
5221 "64 = Single Station, 256 = Remove Received, 512 = Reserved, "
5222 "1024 = Auto-Removal Error, 2048 = Lobe Wire Fault, "
5223 "4096 = Transmit Beacon, 8192 = Soft Error, 16384 = Hard Error, "
5224 "32768 = Signal Loss, 131072 = No Status, Open Not Completed."),
5225 MappingStrings {
5226 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5RingStatus"}
5227 ]
5228 uint32 RingStatus;
5229 [Description (
5230 karl 1.1 "The current Device state with respect to entering or leaving "
5231 "the ring." ),
5232 Values {"Opened", "Closed", "Opening", "Closing", "Open Failure",
5233 "Ring Failure"},
5234 MappingStrings {"MIB.IETF|IEEE 802.5 Token Ring MIB.dot5RingState"}
5235 ]
5236 uint16 RingState;
5237 [Description (
5238 "This property indicates the success, or the reason for failure, "
5239 "of the station's most recent attempt to enter the ring." ),
5240 Values {"No Open Attempted", "Bad Parameter", "Lobe Failed",
5241 "Signal Loss", "Insertion Timeout", "Ring Failed", "Beaconing",
5242 "Duplicate MAC", "Request Failed", "Remove Received",
5243 "Last Open Successful"},
5244 MappingStrings {
5245 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5RingOpenStatus"}
5246 ]
5247 uint16 RingOpenStatus;
5248 [Description ("The ring's bandwidth."),
5249 Values {"Unknown", "Other", "One Megabit", "Four Megabit",
5250 "Sixteen Megabit"},
5251 karl 1.1 MappingStrings {"MIB.IETF|IEEE 802.5 Token Ring MIB.dot5RingSpeed"}
5252 ]
5253 uint16 RingSpeed;
5254 [Description (
5255 "This counter is incremented when a station detects the absence "
5256 "of transitions for five half-bit timers (burst-five errors)."),
5257 MappingStrings {
5258 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsBurstErrors"},
5259 Counter
5260 ]
5261 uint32 BurstErrors;
5262 [Description (
5263 "This counter is incremented when a station receives an AMP or "
5264 "SMP frame in which A is equal to C is equal to 0, and then "
5265 "receives another SMP frame with A equal to C equal to 0 without "
5266 "first receiving an AMP frame. It denotes a station that cannot "
5267 "set the AC bits properly."),
5268 MappingStrings {
5269 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsACErrors"},
5270 Counter
5271 ]
5272 karl 1.1 uint32 ACErrors;
5273 [Description (
5274 "This counter is incremented when a station transmits an abort "
5275 "delimiter while transmitting data."),
5276 MappingStrings {
5277 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsAbortTransErrors"},
5278 Counter
5279 ]
5280 uint32 AbortTransErrors;
5281 [Description (
5282 "This counter is incremented when a station recognizes an "
5283 "internal error."),
5284 MappingStrings {
5285 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsInternalErrors"},
5286 Counter
5287 ]
5288 uint32 InternalErrors;
5289 [Description (
5290 "This counter is incremented when a station is transmitting "
5291 "and its TRR timer expires. This denotes a condition where a "
5292 "transmitting station in strip mode does not receive the "
5293 karl 1.1 "trailer of the frame before the TRR timer goes off."),
5294 MappingStrings {
5295 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsLostFrameErrors"},
5296 Counter
5297 ]
5298 uint32 LostFrameErrors;
5299 [Description (
5300 "This counter is incremented when a station recognizes a frame "
5301 "addressed to its specific address, but has no available buffer "
5302 "space - indicating that the station is congested."),
5303 MappingStrings {
5304 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsReceiveCongestions"},
5305 Counter
5306 ]
5307 uint32 ReceiveCongestions;
5308 [Description (
5309 "This counter is incremented when a station recognizes a frame "
5310 "addressed to its specific address and detects that the FS field "
5311 "A bits are set to 1 indicating a possible line hit or duplicate "
5312 "address."),
5313 MappingStrings {
5314 karl 1.1 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsFrameCopiedErrors"},
5315 Counter
5316 ]
5317 uint32 FrameCopiedErrors;
5318 [Description (
5319 "This counter is incremented when a station acting as the active "
5320 "monitor recognizes an error condition that needs a token "
5321 "transmitted."),
5322 MappingStrings {
5323 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsTokenErrors"},
5324 Counter
5325 ]
5326 uint32 TokenErrors;
5327 [Description (
5328 "The number of Soft Errors that the Device has detected. It "
5329 "directly corresponds to the number of Report Error MAC frames "
5330 "that this Device has transmitted. Soft Errors are those which "
5331 "are recoverable by the MAC layer protocols."),
5332 MappingStrings {
5333 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsSoftErrors"},
5334 Counter
5335 karl 1.1 ]
5336 uint32 SoftErrors;
5337 [Description (
5338 "The number of times this Device has detected an immediately "
5339 "recoverable fatal error. It denotes the number of times this "
5340 "Device is either transmitting or receiving beacon MAC frames. "),
5341 MappingStrings {
5342 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsHardErrors"},
5343 Counter
5344 ]
5345 uint32 HardErrors;
5346 [Description (
5347 "The number of times this Device has detected the loss of "
5348 "signal condition from the ring."),
5349 MappingStrings {
5350 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsSignalLoss"},
5351 Counter
5352 ]
5353 uint32 SignalLossCount;
5354 [Description (
5355 "The number of times this Device has transmitted a beacon "
5356 karl 1.1 "frame."),
5357 MappingStrings {
5358 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsTransmitBeacons"},
5359 Counter
5360 ]
5361 uint32 TransmittedBeacons;
5362 [Description (
5363 "The number of Claim Token MAC frames received or transmitted "
5364 "after the Device has received a Ring Purge MAC frame. This "
5365 "counter signifies the number of times the ring has been purged "
5366 "and is being recovered back into a normal operating state."),
5367 MappingStrings {
5368 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsRecoverys"},
5369 Counter
5370 ]
5371 uint32 Recoverys;
5372 [Description (
5373 "The number of times the Device has detected an open or short "
5374 "circuit in the lobe data path. The adapter will be closed and "
5375 "RingState will signify this condition."),
5376 MappingStrings {
5377 karl 1.1 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsLobeWires"},
5378 Counter
5379 ]
5380 uint32 LobeWires;
5381 [Description (
5382 "The number of times the Device has received a Remove Ring "
5383 "Station MAC frame request. When this frame is received, the "
5384 "Device will enter the close state and RingState will "
5385 "signify this condition."),
5386 MappingStrings {
5387 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsRemoves"},
5388 Counter
5389 ]
5390 uint32 Removes;
5391 [Description (
5392 "The number of times the Device has sensed that it is the "
5393 "only station on the ring. This will happen if the Device "
5394 "is the first one up on a ring, or if there is a hardware "
5395 "problem."),
5396 MappingStrings {
5397 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsSingles"},
5398 karl 1.1 Counter
5399 ]
5400 uint32 Singles;
5401 [Description (
5402 "The number of times the Device has detected that the "
5403 "frequency of the incoming signal differs from the expected "
5404 "frequency by more than that specified by the IEEE 802.5 "
5405 "standard."),
5406 MappingStrings {
5407 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsFreqErrors"},
5408 Counter
5409 ]
5410 uint32 FrequencyErrors;
5411 };
5412
5413 // ==================================================================
5414 // FibreChannelAdapter
5415 // ==================================================================
5416 [Description (
5417 "Capabilities and management of a Fibre Channel Adapter.")
5418 ]
5419 karl 1.1 class CIM_FibreChannelAdapter : CIM_NetworkAdapter
5420 {
5421 [Description (
5422 "The maximum frame size, in bytes, supported by the Adapter."),
5423 Units ("Bytes")
5424 ]
5425 uint64 MaxFrameSize;
5426 [Description (
5427 "The Fibre Channel Classes of Service that are supported by "
5428 "the Adapter, on its Ports. The currently negotiated COS for a "
5429 "connection is a property (NegotiatedCOS) on the FibrePort"
5430 "ActiveLogin association."),
5431 Values {"Unknown", "1", "2", "3", "4", "6", "F"}
5432 ]
5433 uint16 SupportedCOS[];
5434 [Description (
5435 "An array of integers indicating the Fibre Channel FC-4 "
5436 "protocols supported by the Adapter. The protocols that are "
5437 "active and running are indicated in the CurrentFC4Types "
5438 "property. The values used in this array are taken from the "
5439 "FC-GS2 (bitmapped) field defined in Table 11 of the standard. "
5440 karl 1.1 "Also, FC-SB-2 codes are included from the T11 document, "
5441 "236V0. If the FC4 Type is \"Vendor Unique\" (value=255), "
5442 "then the specific vendor values (in the range, 0xE0 to 0xFF) "
5443 "should be listed in the FC4VendorUniqueTypes property."),
5444 ValueMap {"0", "1", "4", "5", "8", "9", "17", "18", "19", "21",
5445 "22", "23", "25", "26", "27", "28", "32", "34", "36",
5446 "64", "80", "81", "82", "88", "96", "255"},
5447 Values {"Unknown", "Other", "ISO/IEC 8802 - 2 LLC",
5448 "IP over FC", "SCSI - FCP", "SCSI - GPP",
5449 "IPI - 3 Master", "IPI - 3 Slave", "IPI - 3 Peer",
5450 "CP IPI - 3 Master", "CP IPI - 3 Slave",
5451 "CP IPI - 3 Peer", "SBCCS Channel",
5452 "SBCCS Control Unit", "FC-SB-2 Channel",
5453 "FC-SB-2 Control Unit",
5454 "Fibre Channel Services (FC-GS, FC-GS-2, FC-GS-3)",
5455 "FC-SW", "FC - SNMP", "HIPPI - FP", "BBL Control",
5456 "BBL FDDI Encapsulated LAN PDU",
5457 "BBL 802.3 Encapsulated LAN PDU", "FC - VI", "FC - AV",
5458 "Vendor Unique"},
5459 ModelCorrespondence {
5460 "CIM_FibreChannelAdapter.FC4VendorUniqueTypes"}
5461 karl 1.1 ]
5462 uint16 FC4TypesSupported[];
5463 [Description (
5464 "When the FC4TypesSupported array contains the value 255 "
5465 "(\"Vendor Unique\"), then the property, FC4VendorUniqueTypes, "
5466 "lists of all the vendor specific protocols supported by the "
5467 "Adapter. These values are in the range, 0xE0 to 0xFF."),
5468 MinValue (240), MaxValue (255)
5469 ]
5470 uint16 FC4VendorUniqueTypes[];
5471 [Description (
5472 "An array of integers indicating the Fibre Channel FC-4 "
5473 "protocols currently running on the Adapter. A list of all "
5474 "protocols supported by the Adapter is indicated in the "
5475 "FC4TypesSupported property. The values used in this array "
5476 "are taken from the FC-GS2 (bitmapped) field defined in "
5477 "Table 11 of the standard. Also, FC-SB-2 codes are included "
5478 "from the T11 document, 236V0. If the FC4 Type is \"Vendor "
5479 "Unique\" (value=255), then the specific vendor values "
5480 "(in the range, 0xE0 to 0xFF) that are currently running "
5481 "should be listed in the CurrentFC4VendorTypes property."),
5482 karl 1.1 ValueMap {"0", "1", "4", "5", "8", "9", "17", "18", "19", "21",
5483 "22", "23", "25", "26", "27", "28", "32", "34", "36",
5484 "64", "80", "81", "82", "88", "96", "255"},
5485 Values {"Unknown", "Other", "ISO/IEC 8802 - 2 LLC",
5486 "IP over FC", "SCSI - FCP", "SCSI - GPP",
5487 "IPI - 3 Master", "IPI - 3 Slave", "IPI - 3 Peer",
5488 "CP IPI - 3 Master", "CP IPI - 3 Slave",
5489 "CP IPI - 3 Peer", "SBCCS Channel",
5490 "SBCCS Control Unit", "FC-SB-2 Channel",
5491 "FC-SB-2 Control Unit",
5492 "Fibre Channel Services (FC-GS, FC-GS-2, FC-GS-3)",
5493 "FC-SW", "FC - SNMP", "HIPPI - FP", "BBL Control",
5494 "BBL FDDI Encapsulated LAN PDU",
5495 "BBL 802.3 Encapsulated LAN PDU", "FC - VI", "FC - AV",
5496 "Vendor Unique"},
5497 ModelCorrespondence {
5498 "CIM_FibreChannelAdapter.FC4TypesSupported",
5499 "CIM_FibreChannelAdapter.CurrentFC4VendorTypes"}
5500 ]
5501 uint16 CurrentFC4Types[];
5502 [Description (
5503 karl 1.1 "When the CurrentFC4Types array contains the value 255 "
5504 "(\"Vendor Unique\"), then the property, CurrentFC4VendorTypes, "
5505 "lists all the vendor specific protocols running on the "
5506 "Adapter. These values are in the range, 0xE0 to 0xFF."),
5507 MinValue (240), MaxValue (255),
5508 ModelCorrespondence {
5509 "CIM_FibreChannelAdapter.FC4VendorUniqueTypes"}
5510 ]
5511 uint16 CurrentFC4VendorTypes[];
5512 [Description (
5513 "A list of the Capabilities of the Fibre Channel Adapter. "
5514 "For example, that the Adapter utilizes the Directory Server, "
5515 "or that it generates State Change Notifications can be "
5516 "indicated using the values 2 and 12, respectively."),
5517 ArrayType ("Indexed"),
5518 Values {"Unknown", "Other", "Utilizes the Directory Server",
5519 "Utilizes the Time Server",
5520 "Utilizes the Management Server",
5521 "Utilizes the Alias Server",
5522 "Utilizes the Security Key Distribution Server",
5523 "Utilizes the Clock Synchronization Server",
5524 karl 1.1 "Utilizes the Multicast Server",
5525 "Utilizes QoS Facilitator",
5526 "Utilizes Broadcast Services",
5527 "Supports Fabric Login Server",
5528 "Generates State Change Notifications",
5529 "Registers for State Change Notifications",
5530 "Responds to Read Connection Status",
5531 "Supports Third Party Process Logout"}
5532 ]
5533 uint16 Capabilities[];
5534 [Description (
5535 "An array of free-form strings providing more detailed "
5536 "explanations for any of the Adapter features indicated in "
5537 "the Capabilities array. Note, each entry of this array "
5538 "is related to the entry in the Capabilities array that "
5539 "is located at the same index."),
5540 ArrayType ("Indexed"),
5541 ModelCorrespondence {"CIM_FibreChannelAdapter.Capabilities"}
5542 ]
5543 string CapabilityDescriptions[];
5544 [Description (
5545 karl 1.1 "The number of times that a frame was received but no "
5546 "buffer was available."),
5547 Counter
5548 ]
5549 uint64 ReceiveBufferErrors;
5550 [Description (
5551 "The number of times that a frame was received but no "
5552 "end-to-end credit was available."),
5553 Counter
5554 ]
5555 uint64 ReceiveEndErrors;
5556 [Description (
5557 "A 'long' timeout value (in milliseconds) for determining "
5558 "when to reinstate a Recovery_Qualifier. The default value "
5559 "is 120 seconds (120000 milliseconds). It is typically set "
5560 "to the ErrorDetectTimeout value + 2*(fabric delay time)."),
5561 Units ("MilliSeconds")
5562 ]
5563 uint64 ResourceAllocationTimeout;
5564 [Description (
5565 "A 'short' timeout value (in milliseconds) for determining "
5566 karl 1.1 "that an error has occurred. The default value is 10 "
5567 "seconds (10000 milliseconds)."),
5568 Units ("MilliSeconds")
5569 ]
5570 uint64 ErrorDetectTimeout;
5571 [Description (
5572 "Number of Class 1 sequences sent since last reset of the "
5573 "Device."),
5574 Counter
5575 ]
5576 uint64 Class1SequencesSent;
5577 [Description (
5578 "Number of Class 2 sequences sent since last reset of the "
5579 "Device."),
5580 Counter
5581 ]
5582 uint64 Class2SequencesSent;
5583 [Description (
5584 "Number of Class 3 sequences sent since last reset of the "
5585 "Device."),
5586 Counter
5587 karl 1.1 ]
5588 uint64 Class3SequencesSent;
5589 [Description (
5590 "Number of Class 4 sequences sent since last reset of the "
5591 "Device."),
5592 Counter
5593 ]
5594 uint64 Class4SequencesSent;
5595 [Description (
5596 "Number of octets received by the Adapter when running "
5597 "Class 2 service."),
5598 Counter
5599 ]
5600 uint64 Class2OctetsReceived;
5601 [Description (
5602 "Number of octets transmitted by the Adapter when running "
5603 "Class 2 service."),
5604 Counter
5605 ]
5606 uint64 Class2OctetsTransmitted;
5607 [Description (
5608 karl 1.1 "Number of frames received by the Adapter when running "
5609 "Class 2 service."),
5610 Counter
5611 ]
5612 uint64 Class2FramesReceived;
5613 [Description (
5614 "Number of frames transmitted by the Adapter when running "
5615 "Class 2 service."),
5616 Counter
5617 ]
5618 uint64 Class2FramesTransmitted;
5619 [Description (
5620 "Number of frames discarded by the Adapter when running "
5621 "Class 2 service."),
5622 Counter
5623 ]
5624 uint64 Class2DiscardFrames;
5625 [Description (
5626 "Number of octets received by the Adapter when running "
5627 "Class 3 service."),
5628 Counter
5629 karl 1.1 ]
5630 uint64 Class3OctetsReceived;
5631 [Description (
5632 "Number of octets transmitted by the Adapter when running "
5633 "Class 3 service."),
5634 Counter
5635 ]
5636 uint64 Class3OctetsTransmitted;
5637 [Description (
5638 "Number of frames received by the Adapter when running "
5639 "Class 3 service."),
5640 Counter
5641 ]
5642 uint64 Class3FramesReceived;
5643 [Description (
5644 "Number of frames transmitted by the Adapter when running "
5645 "Class 3 service."),
5646 Counter
5647 ]
5648 uint64 Class3FramesTransmitted;
5649 [Description (
5650 karl 1.1 "Number of frames discarded by the Adapter when running "
5651 "Class 3 service."),
5652 Counter
5653 ]
5654 uint64 Class3DiscardFrames;
5655 [Description (
5656 "Number of parity errors detected somewhere in the "
5657 "data path."),
5658 Counter
5659 ]
5660 uint64 ParityErrors;
5661 [Description (
5662 "Number of Class 1 or 2 frames that are not ACKed "
5663 "within the time indicated by ErrorDetectTimeout."),
5664 Counter
5665 ]
5666 uint64 FrameTimeouts;
5667 [Description (
5668 "Number of times that the Device has been without a "
5669 "buffer credit for a time longer than ErrorDetectTimeout."),
5670 Counter
5671 karl 1.1 ]
5672 uint64 BufferCreditErrors;
5673 [Description (
5674 "Number of times that the Device has been without an end "
5675 "credit for a time longer than ErrorDetectTimeout."),
5676 Counter
5677 ]
5678 uint64 EndCreditErrors;
5679 [Description ("Number of frames received out of order."),
5680 Counter
5681 ]
5682 uint64 OutOfOrderFramesReceived;
5683 };
5684
5685 // ==================================================================
5686 // FCAdapterEventCounters
5687 // ==================================================================
5688 [Description (
5689 "Error and event counters specific to a Fibre Channel Adapter.")
5690 ]
5691 class CIM_FCAdapterEventCounters : CIM_DeviceStatisticalInformation
5692 karl 1.1 {
5693 [Description ("The number of Abort sequence frames received."),
5694 Counter
5695 ]
5696 uint64 ABTSFramesReceived;
5697 [Description ("The number of Abort sequence frames sent."),
5698 Counter
5699 ]
5700 uint64 ABTSFramesSent;
5701 [Description ("The number of frames busied by the Fabric."),
5702 Counter
5703 ]
5704 uint64 FBSYsReceived;
5705 [Description (
5706 "The number of frames busied by the receiving Node."),
5707 Counter
5708 ]
5709 uint64 PBSYsReceived;
5710 [Description (
5711 "The number of frames busied by the Adapter itself."),
5712 Counter
5713 karl 1.1 ]
5714 uint64 PBSYsSent;
5715 [Description ("The number of frames rejected by the Fabric."),
5716 Counter
5717 ]
5718 uint64 FRJTsReceived;
5719 [Description (
5720 "The number of frames rejected by the receiving Node."),
5721 Counter
5722 ]
5723 uint64 PRJTsReceived;
5724 [Description (
5725 "The number of frames rejected by the Adapter itself."),
5726 Counter
5727 ]
5728 uint64 PRJTsSent;
5729 [Description (
5730 "The number of PRLI frames sent where the response was "
5731 "LS_RJT."),
5732 Counter
5733 ]
5734 karl 1.1 uint64 PRLIsRejected;
5735 [Description (
5736 "The number of PRLO frames sent where the response was "
5737 "LS_RJT."),
5738 Counter
5739 ]
5740 uint64 PRLOsRejected;
5741 [Description (
5742 "The number of Abort sequence frames sent where the response "
5743 "was BA_RJT."),
5744 Counter
5745 ]
5746 uint64 ABTSFramesRejected;
5747 [Description (
5748 "Method to reset the Adapter event counters. The method "
5749 "takes one parameter as input - an integer indicating which "
5750 "counter to reset. For this input parameter, 0 indicates all, "
5751 "1 through 11 indicate a reset of the individual counters. "
5752 "The method returns 0 if successful, 1 if not supported, and "
5753 "any other value if an error occurred. A method is specified "
5754 "so that the Device's instrumentation, which tabulates "
5755 karl 1.1 "the errors and warnings, can also reset its internal "
5756 "processing and counters.\n"
5757 "In a subclass, the set of possible return codes could be "
5758 "specified, using a ValueMap qualifier on the method. The "
5759 "strings to which the ValueMap contents are 'translated' "
5760 "may also be specified in the subclass as a Values "
5761 "array qualifier.")
5762 ]
5763 uint32 ResetCounter ([IN, Values {"All",
5764 "ABTSFramesReceived", "ABTSFramesSent", "FBSYReceived",
5765 "PBSYReceived", "PBSYSent", "FRJTReceived", "PRJTReceived",
5766 "PRJTSent", "PRLIRejected", "PRLORejected", "ABTSFramesRejected"}]
5767 uint16 SelectedCounter);
5768 };
5769
5770 // ==================================================================
5771 // FibrePort
5772 // ==================================================================
5773 [Description (
5774 "Capabilities and management of a Fibre Channel Port Device.")
5775 ]
5776 karl 1.1 class CIM_FibrePort : CIM_LogicalPort
5777 {
5778 [Description (
5779 "An address value used to identify the source (S_ID) or "
5780 "destination (D_ID) of a frame. The FC-SW standard includes a "
5781 "table of special address identifier values and their "
5782 "meanings. Consult the FC-SW documentation for additional "
5783 "information.")
5784 ]
5785 uint32 AddressIdentifier;
5786 [Description (
5787 "An array indicating the modes in which the Port can operate. "
5788 "PortType values describe the role and behavior of the Fibre "
5789 "Channel entity: \"N\" = Node Port, \"NL\" = Node Port "
5790 "supporting FC arbitrated loop, \"E\" = Expansion Port "
5791 "connecting fabric elements (for example, FC switches), "
5792 "\"F\" = Fabric (element) Port, \"FL\" = Fabric (element) "
5793 "Port supporting FC arbitrated loop, and \"B\" = Bridge "
5794 "Port. PortTypes are defined in the ANSI X3 standards.\n\n"
5795 "A particular mode may be listed multiple times in the "
5796 "SupportedPortTypes array in order to define that multiple, "
5797 karl 1.1 "unique version levels are supported. Version information is "
5798 "defined in the PortTypeVersions property. Note that each "
5799 "entry of the SupportedPortTypes array is related to the entry "
5800 "in PortTypeVersions that is located at the same index."),
5801 ArrayType ("Indexed"),
5802 Values {"Unknown", "N", "NL-Private", "NL-Public", "E", "F", "FL", "B"},
5803 ModelCorrespondence {"CIM_FibrePort.PortTypeVersions"}
5804 ]
5805 uint16 SupportedPortTypes[];
5806 [Description (
5807 "Version information for each of the SupportedPortTypes. A "
5808 "particular PortType (mode) may be listed multiple times in "
5809 "the SupportedPortTypes array in order to define multiple, "
5810 "unique version levels. Note that each entry of this array "
5811 "is related to the entry in SupportedPortTypes that is "
5812 "located at the same index."),
5813 ArrayType ("Indexed"),
5814 ModelCorrespondence {"CIM_FibrePort.SupportedPortTypes"}
5815 ]
5816 string PortTypeVersions[];
5817 [Description (
5818 karl 1.1 "The specific modes currently enabled for the Port. The "
5819 "values are equal to, or a subset of the values in the Supported"
5820 "PortTypes array."),
5821 Values {"Unknown", "N", "NL-Private", "NL-Public", "E", "F", "FL", "B"},
5822 ModelCorrespondence {"CIM_FibrePort.SupportedPortTypes",
5823 "CIM_FibrePort.EnabledVersions"}
5824 ]
5825 uint16 EnabledPortTypes[];
5826 [Description (
5827 "Version information for each of the EnabledPortTypes. A "
5828 "particular PortType (mode) may be listed multiple times in "
5829 "the EnabledPortTypes array in order to define multiple, "
5830 "unique version levels. Note that each entry of this array "
5831 "is related to the entry in EnabledPortTypes that is located "
5832 "at the same index."),
5833 ArrayType ("Indexed"),
5834 ModelCorrespondence {"CIM_FibrePort.EnabledPortTypes"}
5835 ]
5836 string EnabledVersions[];
5837 [Description (
5838 "The specific mode in which the Port is currently running. The "
5839 karl 1.1 "value is one of the entries in the EnabledPortTypes array. The "
5840 "current port type/mode is dependent on the fibre technology. "
5841 "For example, in a public loop network, you might indicate a "
5842 "port type of \"FL\" (value=6) or \"NL\" (value=2)."),
5843 Values {"Unknown", "N", "NL-Private", "NL-Public", "E", "F", "FL", "B"},
5844 ModelCorrespondence {"CIM_FibrePort.EnabledPortTypes",
5845 "CIM_FibrePort.CurrentVersion"}
5846 ]
5847 uint16 CurrentPortType;
5848 [Description (
5849 "Version information for the CurrentPortType that is active."),
5850 ModelCorrespondence {"CIM_FibrePort.CurrentPortType"}
5851 ]
5852 string CurrentVersion;
5853 [Description (
5854 "One or more address identifiers that may be recognized by "
5855 "the Port, in addition to its port-specific identifier. "
5856 "Multicast or hunt group addresses that are recognized by "
5857 "the Port would be identified in this array.")
5858 ]
5859 uint32 AliasAddresses[];
5860 karl 1.1 [Description (
5861 "Number of times that signal is lost on the Port since last "
5862 "reset of the Device."),
5863 Counter
5864 ]
5865 uint64 LossOfSignalCounter;
5866 [Description (
5867 "Number of times that synchronization is lost on the Port "
5868 "since last reset of the Device. Synchronization is assumed "
5869 "lost after a timeout period identified by the Receiver"
5870 "TransmitterTimeout property."),
5871 Counter
5872 ]
5873 uint64 LossOfSyncCounter;
5874 [Description (
5875 "Number of times that the CRC in a frame does not match the "
5876 "CRC computed by the receiver."),
5877 Counter
5878 ]
5879 uint64 CRCErrors;
5880 [Description (
5881 karl 1.1 "The number of transmission words that had an 8b10b code "
5882 "violation in one or more of its characters, had a "
5883 "K28.5 in its second, third or fourth character positions, "
5884 "and/or was an ordered set that had an incorrect Beginning "
5885 "Running Disparity."),
5886 Counter
5887 ]
5888 uint64 InvalidTransmissionWords;
5889 [Description (
5890 "The number of frames received that were shorter than 28 "
5891 "octets. The value of 28 is calculated based on an "
5892 "assumption of 24 header bytes plus 4 CRC bytes. The "
5893 "count does not include SOF/EOF bytes which are not data."),
5894 Counter
5895 ]
5896 uint64 FramesTooShort;
5897 [Description (
5898 "The number of frames received that were longer than 2140 "
5899 "octets. The value of 2140 is calculated based on an "
5900 "assumption of 24 header bytes plus 4 CRC bytes and 2112 "
5901 "bytes of payload."),
5902 karl 1.1 Counter
5903 ]
5904 uint64 FramesTooLong;
5905 [Description (
5906 "The number of times that a fill word could not be "
5907 "inserted, when required. The Elasticity Buffer is defined "
5908 "in FC-AL. This event might cause data corruption and may "
5909 "indicate a configuration error or a device out of spec."),
5910 Counter
5911 ]
5912 uint64 ElasticityBufferUnderruns;
5913 [Description (
5914 "The number of times that a fill word could not be deleted, "
5915 "when required. The Elasticity Buffer is defined in FC-AL. "
5916 "This event might cause data corruption and may indicate a "
5917 "configuration error or a device out of spec."),
5918 Counter
5919 ]
5920 uint64 ElasticityBufferOverruns;
5921 [Description (
5922 "Timeout value in milliseconds used to determine when "
5923 karl 1.1 "loss of synchronization has occurred. The typical default "
5924 "is 100 msec."),
5925 Units ("Milliseconds")
5926 ]
5927 uint64 ReceiverTransmitterTimeout;
5928 [Description (
5929 "Indication of whether the Port is currently bypassed "
5930 "(value=2) or not (value=1). A value of 3 (\"Forced Insert\") "
5931 "describes that the Port is forced active, when it would "
5932 "otherwise be \"Bypassed\"."),
5933 Values {"Unknown", "Not Bypassed", "Bypassed",
5934 "Forced Insert"}
5935 ]
5936 uint16 BypassedState;
5937 [Description (
5938 "The type of cabling as sensed by the Port. Not all FibrePorts "
5939 "are capable of providing this information. In this case, a "
5940 "value of 0, \"Unknown\", will be returned. Also, when single or "
5941 "multi-mode fiber cabling can not be distinguished, the more "
5942 "general value - 4, \"Fiber-optic\" - can be specified."),
5943 Values {"Unknown", "Other", "No Media", "Copper/Twinaxial",
5944 karl 1.1 "Fiber-optic", "Fiber Single Mode", "Fiber Multimode"} ]
5945 uint16 ConnectedMedia;
5946 };
5947
5948 // ==================================================================
5949 // FibrePortEventCounters
5950 // ==================================================================
5951 [Description (
5952 "Error and event counters specific to a Fibre Channel Port "
5953 "(connection point).")
5954 ]
5955 class CIM_FibrePortEventCounters : CIM_DeviceStatisticalInformation
5956 {
5957 [Description ("The number of login frames received."),
5958 Counter
5959 ]
5960 uint64 PLOGIsReceived;
5961 [Description ("The number of login frames sent."),
5962 Counter
5963 ]
5964 uint64 PLOGIsSent;
5965 karl 1.1 [Description (
5966 "Number of frames received containing 'EOF Abort'."),
5967 Counter
5968 ]
5969 uint64 EOFAbortsReceived;
5970 [Description (
5971 "Number of frames transmitted containing 'EOF Abort'."),
5972 Counter
5973 ]
5974 uint64 EOFAbortsTransmitted;
5975 [Description (
5976 "The number of logouts received from various targets."),
5977 Counter
5978 ]
5979 uint64 PLOGOsReceived;
5980 [Description ("The number of logout frames sent."),
5981 Counter
5982 ]
5983 uint64 PLOGOsSent;
5984 [Description (
5985 "The number of PLOGI frames sent where the response was "
5986 karl 1.1 "LS_RJT."),
5987 Counter
5988 ]
5989 uint64 PLOGIsRejected;
5990 [Description (
5991 "The number of PLOGO frames sent where the response was "
5992 "LS_RJT."),
5993 Counter
5994 ]
5995 uint64 PLOGOsRejected;
5996 [Description (
5997 "Method to reset the Port event counters. The method "
5998 "takes one parameter as input - an integer indicating which "
5999 "counter to reset. For this input parameter, 0 indicates all, "
6000 "1 through 8 indicate a reset of the individual counters. "
6001 "The method returns 0 if successful, 1 if not supported, and "
6002 "any other value if an error occurred. A method is specified "
6003 "so that the Device's instrumentation, which tabulates "
6004 "the errors and warnings, can also reset its internal "
6005 "processing and counters.\n"
6006 "In a subclass, the set of possible return codes could be "
6007 karl 1.1 "specified, using a ValueMap qualifier on the method. The "
6008 "strings to which the ValueMap contents are 'translated' "
6009 "may also be specified in the subclass as a Values "
6010 "array qualifier.")
6011 ]
6012 uint32 ResetCounter ([IN, Values {"All", "PLOGIsReceived",
6013 "PLOGIsSent", "EOFAbortsReceived", "EOFAbortsTransmitted",
6014 "PLOGOsReceived", "PLOGOsSent", "PLOGIsRejected",
6015 "PLOGOsRejected"}] uint16 SelectedCounter);
6016 };
6017
6018 // ===================================================================
6019 // FibrePortOnFCAdapter
6020 // ===================================================================
6021 [Association,
6022 Description (
6023 "FibrePortOnFCAdapter associates a FibrePort with a FibreChannel"
6024 "Adapter. Cardinalities are defined as Max(1) to indicate the "
6025 "intent and usage of the model - that an Adapter is synonymous "
6026 "with its Port (connection point). Where you have a multi-Port "
6027 "Adapter and more than one Port may be active at a time, "
6028 karl 1.1 "individual Adapters with individual operating data and "
6029 "characteristics really exist. If you have multiple connection "
6030 "points, but they exist only to provide multiple physical form "
6031 "factors (only one connection may be active at a time), then one "
6032 "FibreChannelAdapter and one FibrePort (the active one) exist. "
6033 "On the hardware side, the realizations of these entities "
6034 "in PhysicalElements may be as a CIM_Card (for example) with "
6035 "multiple CIM_PhysicalConnectors.")
6036 ]
6037 class CIM_FibrePortOnFCAdapter : CIM_PortOnDevice
6038 {
6039 [Override ("Antecedent"),
6040 Max (1),
6041 Description ("The FibreChannelAdapter that includes the Port.")
6042 ]
6043 CIM_FibreChannelAdapter REF Antecedent;
6044 [Override ("Dependent"),
6045 Max (1),
6046 Description ("The FibrePort on the Adapter.")
6047 ]
6048 CIM_FibrePort REF Dependent;
6049 karl 1.1 };
6050
6051 // ==================================================================
6052 // FibrePortActiveLogin
6053 // ==================================================================
6054 [Association,
6055 Description (
6056 "FibrePortActiveLogin indicates that two FibrePorts are "
6057 "connected via a login and have negotiated their Class Of "
6058 "Service, frame size and other link characteristics, as "
6059 "specified by an instance of this class.\n"
6060 "The class' key is composed of the login originator's and "
6061 "responder's keys plus the Class Of Service. This combination "
6062 "is unique and prevents subclassing FibrePortActiveLogin "
6063 "from its reasonable superclass, DeviceConnection.")
6064 ]
6065 class CIM_FibrePortActiveLogin
6066 {
6067 [Key, Description ("The originator of the login.") ]
6068 CIM_FibrePort REF LoginOriginator;
6069 [Key, Description ("The responder to the login.") ]
6070 karl 1.1 CIM_FibrePort REF LoginResponder;
6071 [Key,
6072 Description (
6073 "The Fibre Channel Class of Service that is currently running "
6074 "between the Ports. Since two Ports can be simultaneously "
6075 "connected at different Classes of Service, this property had "
6076 "to be part of the object's key and therefore, an instance's "
6077 "identity."),
6078 Values {"Unknown", "1", "2", "3", "4", "6", "F"},
6079 ModelCorrespondence {"CIM_FibreChannelAdapter.SupportedCOS"},
6080 MappingStrings {"MIF.DMTF|Fibre Channel Bus Port Extensions|001.5"}
6081 ]
6082 uint16 NegotiatedCOS;
6083 [Description (
6084 "The Fibre Channel frame size, in bytes, that is currently "
6085 "negotiated between the two Ports."),
6086 Units ("Bytes")
6087 ]
6088 uint64 NegotiatedFrameSize;
6089 [Description (
6090 "The speed for communications that is currently negotiated "
6091 karl 1.1 "between the two Ports. Speed is specified in bits per second. "
6092 "If this information is not available, the property should be "
6093 "set to 0."),
6094 Units ("Bits per Second")
6095 ]
6096 uint64 NegotiatedSpeed;
6097 [Description (
6098 "Acknowledgement model negotiated during Port login. For "
6099 "example, ACK-1 indicates that each frame should be "
6100 "acknowledged."),
6101 Values {"Unknown", "ACK-0", "ACK-1", "ACK-N"},
6102 MappingStrings {"MIF.DMTF|Fibre Channel Bus Port Extensions|001.6"}
6103 ]
6104 uint16 ACKModel;
6105 [Description (
6106 "The buffer-to-buffer model negotiated during Port login. "
6107 "Either the model defined by the FC-PH standard is used "
6108 "(value=1, \"Regular\"), or an \"Alternate\" model is "
6109 "negotiated."),
6110 Values {"Unknown", "Regular", "Alternate"}
6111 ]
6112 karl 1.1 uint16 BufferToBufferModel;
6113 [Description (
6114 "OriginatorBufferCredit reflects the buffer credit of the "
6115 "Port defined as the LoginOriginator. It is the number of "
6116 "frame buffers made available BY the originating Port, TO "
6117 "the responder Port. Buffer credits are used in point to "
6118 "point connections, when an NL-Local Port is logged into "
6119 "another NL-Local Port, and when Nx Ports are logged into "
6120 "Fx Ports. In other scenarios, this value is undefined."),
6121 MappingStrings {"MIF.DMTF|Fibre Channel Bus Port Extensions|001.3"}
6122 ]
6123 uint64 OriginatorBufferCredit;
6124 [Description (
6125 "ResponderBufferCredit reflects the buffer credit of the "
6126 "Port defined as the LoginResponder. It is the number of "
6127 "frame buffers made available BY the responder Port, TO "
6128 "the originating Port. Buffer credits are used in point to "
6129 "point connections, when an NL-Local Port is logged into "
6130 "another NL-Local Port, and when Nx Ports are logged into "
6131 "Fx Ports. In other scenarios, this value is undefined."),
6132 MappingStrings {"MIF.DMTF|Fibre Channel Bus Port Extensions|001.3"}
6133 karl 1.1 ]
6134 uint64 ResponderBufferCredit;
6135 [Description (
6136 "OriginatorEndCredit reflects the end credit of the Port "
6137 "defined as the LoginOriginator. It is the number of frame "
6138 "buffers made available BY the originating Port, TO the "
6139 "responder Port. End credits are used in point to point "
6140 "connections, when an NL-Local Port is logged into another "
6141 "NL-Local Port, and when Nx Ports are logged into remote "
6142 "Nx Ports. In other scenarios, this value is undefined."),
6143 MappingStrings {"MIF.DMTF|Fibre Channel Bus Port Extensions|001.2"}
6144 ]
6145 uint64 OriginatorEndCredit;
6146 [Description (
6147 "ResponderEndCredit reflects the end credit of the Port "
6148 "defined as the LoginResponder. It is the number of frame "
6149 "buffers made available BY the responder Port, TO the "
6150 "originating Port. End credits are used in point to point "
6151 "connections, when an NL-Local Port is logged into another "
6152 "NL-Local Port, and when Nx Ports are logged into remote "
6153 "Nx Ports. In other scenarios, this value is undefined."),
6154 karl 1.1 MappingStrings {"MIF.DMTF|Fibre Channel Bus Port Extensions|001.2"}
6155 ]
6156 uint64 ResponderEndCredit;
6157 };
6158
6159 // ==================================================================
6160 // FibreProtocolService
6161 // ==================================================================
6162 [Description (
6163 "FibreProtocolService abstracts and allows the management of "
6164 "the Alias, Management, Time, Security, Directory (Naming) and "
6165 "other services and functions available in a Fibre Channel "
6166 "network. This class will be further defined in a later "
6167 "release of CIM.")
6168 ]
6169 class CIM_FibreProtocolService : CIM_Service
6170 {
6171 };
6172
6173 // ===================================================================
6174 // NetworkAdapterRedundancyComponent
6175 karl 1.1 // ===================================================================
6176 [Association,
6177 Description (
6178 "CIM_NetworkAdapterRedundancyComponent indicates the role that "
6179 "a NetworkAdapter plays in a ExtraCapacityGroup, providing "
6180 "load balancing.")
6181 ]
6182 class CIM_NetworkAdapterRedundancyComponent : CIM_RedundancyComponent
6183 {
6184 [Override("GroupComponent"),
6185 Description (
6186 "The RedundancyGroup representing a set of load balanced "
6187 "NetworkAdapters.")
6188 ]
6189 CIM_ExtraCapacityGroup REF GroupComponent;
6190 [Override("PartComponent"),
6191 Description (
6192 "The Network Adapter(s) belonging to the RedundancyGroup.")
6193 ]
6194 CIM_NetworkAdapter REF PartComponent;
6195 [Description (
6196 karl 1.1 "Indicates the scope of load balancing for the NetworkAdapters "
6197 "involved in the RedundancyGroup. Load balancing may be "
6198 "restricted to transmitting data only (value=1), "
6199 "receiving data only (value=2), or used for both transmit "
6200 "and receive (value=3)."),
6201 Values {"Unknown", "Load Balancing - Transmit Only",
6202 "Load Balancing - Receive Only", "Full Load Balancing"}
6203 ]
6204 uint16 ScopeOfBalancing;
6205 [Description (
6206 "Boolean indicating whether the Network Adapter is an original "
6207 "primary adapter (value=1), a preferred primary adapter (2), "
6208 "or both (3). Values of \"Unknown\" and \"Not Applicable\" may "
6209 "also be specified."),
6210 Values {"Unknown", "Original Primary", "Preferred Primary",
6211 "Both", "Not Applicable"}
6212 ]
6213 uint16 PrimaryAdapter;
6214 };
6215
6216 // ===================================================================
6217 karl 1.1 // NetworkVirtualAdapter
6218 // ===================================================================
6219 [Association,
6220 Description (
6221 "NetworkVirtualAdapter describes that an instance of Network"
6222 "Adapter is actually the result of several Adapters "
6223 "participating in a load balanced RedundancyGroup.")
6224 ]
6225 class CIM_NetworkVirtualAdapter : CIM_LogicalIdentity
6226 {
6227 [Override ("SystemElement"),
6228 Description ("The 'virtual' NetworkAdapter.")
6229 ]
6230 CIM_NetworkAdapter REF SystemElement;
6231 [Override ("SameElement"),
6232 Description (
6233 "The ExtraCapacity RedundancyGroup that describes the load "
6234 "balancing. The result of the load balancing is the 'virtual' "
6235 "Adapter.")
6236 ]
6237 CIM_ExtraCapacityGroup REF SameElement;
6238 karl 1.1 };
6239
6240 // ===================================================================
6241 // Controller
6242 // ===================================================================
6243 [Abstract,
6244 Description (
6245 "Controller is a superclass for grouping the miscellaneous "
6246 "control-related Devices that exist. Examples of Controllers "
6247 "are SCSIControllers, USBControllers, SerialControllers, ... "
6248 "The Controller class is an abstraction for Devices with a "
6249 "single protocol stack, which exist primarily for communication "
6250 "to, and control or reset of downstream (ControlledBy) Devices.")
6251 ]
6252 class CIM_Controller : CIM_LogicalDevice
6253 {
6254 [Description ("Time of last reset of the Controller.")]
6255 datetime TimeOfLastReset;
6256 [Description (
6257 "The protocol used by the Controller to access 'controlled' "
6258 "Devices."),
6259 karl 1.1 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
6260 "11", "12", "13", "14", "15", "16", "17", "18", "19",
6261 "20", "21", "22", "23", "24", "25", "26", "27", "28",
6262 "29", "30", "31", "32", "33", "34", "35", "36", "37",
6263 "38", "39", "40", "41", "42", "43", "44", "45", "46",
6264 "47"},
6265 Values {"Other", "Unknown", "EISA", "ISA", "PCI", "ATA/ATAPI",
6266 "Flexible Diskette", "1496", "SCSI Parallel Interface",
6267 "SCSI Fibre Channel Protocol", "SCSI Serial Bus Protocol",
6268 "SCSI Serial Bus Protocol-2 (1394)",
6269 "SCSI Serial Storage Architecture", "VESA", "PCMCIA",
6270 "Universal Serial Bus", "Parallel Protocol", "ESCON",
6271 "Diagnostic", "I2C", "Power", "HIPPI", "MultiBus", "VME",
6272 "IPI", "IEEE-488", "RS232", "IEEE 802.3 10BASE5",
6273 "IEEE 802.3 10BASE2", "IEEE 802.3 1BASE5",
6274 "IEEE 802.3 10BROAD36", "IEEE 802.3 100BASEVG",
6275 "IEEE 802.5 Token-Ring", "ANSI X3T9.5 FDDI", "MCA",
6276 "ESDI", "IDE", "CMD", "ST506", "DSSI", "QIC2",
6277 "Enhanced ATA/IDE", "AGP", "TWIRP (two-way infrared)",
6278 "FIR (fast infrared)", "SIR (serial infrared)",
6279 "IrBus"},
6280 karl 1.1 MappingStrings {"MIF.DMTF|Bus Port|003",
6281 "MIF.DMTF|Disks|003.3"},
6282 ModelCorrespondence {"CIM_Controller.ProtocolDescription"}
6283
6284 ]
6285 uint16 ProtocolSupported;
6286 [Description (
6287 "Maximum number of directly addressable entities supported "
6288 "by this Controller. A value of 0 should be used if the "
6289 "number is unknown or unlimited."),
6290 MappingStrings {"MIF.DMTF|Bus Port|003"}
6291 ]
6292 uint32 MaxNumberControlled;
6293 [Description (
6294 "A free form string providing more information related "
6295 "to the ProtocolSupported by the Controller."),
6296 ModelCorrespondence {"CIM_Controller.ProtocolSupported"},
6297 MappingStrings {"MIF.DMTF|Bus Port|003"}
6298 ]
6299 string ProtocolDescription;
6300 };
6301 karl 1.1
6302
6303 // ===================================================================
6304 // SSAController
6305 // ===================================================================
6306 [Description (
6307 "Capabilities and management of an SSAController (Serial Storage Architecture).")
6308 ]
6309 class CIM_SSAController : CIM_Controller
6310 {
6311 };
6312
6313 // ===================================================================
6314 // ControlledBy
6315 // ===================================================================
6316 [Association,
6317 Description (
6318 "The ControlledBy relationship indicates which Devices are "
6319 "commanded by or accessed through the Controller LogicalDevice.")
6320 ]
6321 class CIM_ControlledBy : CIM_DeviceConnection
6322 karl 1.1 {
6323 [Override ("Antecedent"),
6324 Description ("The Controller.")
6325 ]
6326 CIM_Controller REF Antecedent;
6327 [Override ("Dependent"),
6328 Description ("The controlled Device.")
6329 ]
6330 CIM_LogicalDevice REF Dependent;
6331 [Description (
6332 "The State property indicates whether the Controller is "
6333 "actively commanding or accessing the Device (value=1) or "
6334 "not (value=2). Also, the value, \"Unknown\" (0), can be "
6335 "defined. This information is necessary when a LogicalDevice "
6336 "can be commanded by, or accessed through, multiple "
6337 "Controllers."),
6338 Values {"Unknown", "Active", "Inactive"}
6339 ]
6340 uint16 AccessState;
6341 [Description (
6342 "The time that the downstream Device was last reset by "
6343 karl 1.1 "the Controller.")
6344 ]
6345 datetime TimeOfDeviceReset;
6346 [Description (
6347 "Number of hard resets issued by the Controller. A hard reset "
6348 "returns the Device to its initialization or 'boot-up' state. "
6349 "All internal Device state information and data are lost."),
6350 Counter
6351 ]
6352 uint32 NumberOfHardResets;
6353 [Description (
6354 "Number of soft resets issued by the Controller. A soft "
6355 "reset does not completely clear current Device state and/or "
6356 "data. Exact semantics are dependent on the Device, and on "
6357 "the protocols and mechanisms used to communicate to it."),
6358 Counter
6359 ]
6360 uint32 NumberOfSoftResets;
6361 };
6362
6363 // ===================================================================
6364 karl 1.1 // ParallelController
6365 // ===================================================================
6366 [Description (
6367 "Capabilities and management of the ParallelController.")
6368 ]
6369 class CIM_ParallelController : CIM_Controller
6370 {
6371 [Description (
6372 "Set to true if the ParallelController supports DMA."),
6373 MappingStrings {"MIF.DMTF|Parallel Ports|003.7"}
6374 ]
6375 boolean DMASupport;
6376 [Description (
6377 "An integer enumeration indicating the capabilities of the "
6378 "ParallelController."),
6379 ArrayType ("Indexed"),
6380 Values {"Unknown", "Other", "XT/AT Compatible",
6381 "PS/2 Compatible", "ECP", "EPP", "PC-98",
6382 "PC-98-Hireso", "PC-H98"},
6383 MappingStrings {"MIF.DMTF|Parallel Ports|003.8"},
6384 ModelCorrespondence {
6385 karl 1.1 "CIM_ParallelController.CapabilityDescriptions"}
6386 ]
6387 uint16 Capabilities[];
6388 [Description (
6389 "An array of free-form strings providing more detailed "
6390 "explanations for any of the ParallelController features "
6391 "indicated in the Capabilities array. Note, each entry of "
6392 "this array is related to the entry in the Capabilities "
6393 "array that is located at the same index."),
6394 ArrayType ("Indexed"),
6395 ModelCorrespondence {"CIM_ParallelController.Capabilities"}
6396 ]
6397 string CapabilityDescriptions[];
6398 [Description (
6399 "An enumeration indicating the operational security for the "
6400 "Controller. For example, information that the Device's "
6401 "external interface is locked out (value=4) or \"Boot "
6402 "Bypass\" (value=6) can be described using this property."),
6403 ValueMap {"1", "2", "3", "4", "5", "6"},
6404 Values {"Other", "Unknown", "None",
6405 "External Interface Locked Out",
6406 karl 1.1 "External Interface Enabled", "Boot Bypass"},
6407 MappingStrings {"MIF.DMTF|Parallel Ports|003.10"}
6408 ]
6409 uint16 Security;
6410 };
6411
6412 // ===================================================================
6413 // SerialController
6414 // ===================================================================
6415 [Description (
6416 "Capabilities and management of the SerialController.")
6417 ]
6418 class CIM_SerialController : CIM_Controller
6419 {
6420 [Description (
6421 "The Capabilities property defines chip level compatibility "
6422 "for the SerialController. Therefore, this property describes "
6423 "the buffering and other capabilities of the SerialController, "
6424 "that may be inherent in the chip hardware. The property is "
6425 "an enumerated integer."),
6426 ArrayType ("Indexed"),
6427 karl 1.1 ValueMap {"1", "2", "3", "4", "5", "6", "160", "161"},
6428 Values {"Other", "Unknown", "XT/AT Compatible",
6429 "16450 Compatible", "16550 Compatible",
6430 "16550A Compatible", "8251 Compatible",
6431 "8251FIFO Compatible"},
6432 MappingStrings {"MIF.DMTF|Serial Ports|004.7"},
6433 ModelCorrespondence {
6434 "CIM_SerialController.CapabilityDescriptions"}
6435 ]
6436 uint16 Capabilities[];
6437 [Description (
6438 "An array of free-form strings providing more detailed "
6439 "explanations for any of the SerialController features "
6440 "indicated in the Capabilities array. Note, each entry of "
6441 "this array is related to the entry in the Capabilities "
6442 "array that is located at the same index."),
6443 ArrayType ("Indexed"),
6444 ModelCorrespondence {"CIM_SerialController.Capabilities"}
6445 ]
6446 string CapabilityDescriptions[];
6447 [Description (
6448 karl 1.1 "Maximum baud rate in Bits per Second supported by the "
6449 "SerialController."),
6450 Units ("Bits per Second"),
6451 MappingStrings {"MIF.DMTF|Serial Ports|004.6"}
6452 ]
6453 uint32 MaxBaudRate;
6454 [Description (
6455 "An enumeration indicating the operational security for the "
6456 "Controller. For example, information that the Device's "
6457 "external interface is locked out (value=4) or \"Boot "
6458 "Bypass\" (value=6) can be described using this property."),
6459 ValueMap {"1", "2", "3", "4", "5", "6"},
6460 Values {"Other", "Unknown", "None",
6461 "External Interface Locked Out",
6462 "External Interface Enabled", "Boot Bypass"},
6463 MappingStrings {"MIF.DMTF|Serial Ports|004.9"}
6464 ]
6465 uint16 Security;
6466 };
6467
6468 // ===================================================================
6469 karl 1.1 // SerialInterface
6470 // ===================================================================
6471 [Association,
6472 Description (
6473 "SerialInterface is a ControlledBy relationship indicating "
6474 "which Devices are accessed through the SerialController and "
6475 "the characteristics of this access.")
6476 ]
6477 class CIM_SerialInterface : CIM_ControlledBy
6478 {
6479 [Override ("Antecedent"),
6480 Description ("The SerialController.")
6481 ]
6482 CIM_SerialController REF Antecedent;
6483 [Override ("NegotiatedDataWidth"),
6484 Description (
6485 "For the SerialInterface, NegotiatedDataWidth is the number "
6486 "of data bits to be transmitted, without stop bits or parity."),
6487 Units ("Bits")
6488 ]
6489 uint32 NegotiatedDataWidth;
6490 karl 1.1 [Description ("Number of stop bits to be transmitted."),
6491 Units ("Bits")
6492 ]
6493 uint16 NumberOfStopBits;
6494 [Description (
6495 "Information on the parity setting for transmitted data. "
6496 "No parity (value=1), even (2) or odd (3) can be specified."),
6497 Values {"Unknown", "None", "Even", "Odd"}
6498 ]
6499 uint16 ParityInfo;
6500 [Description (
6501 "An integer enumeration indicating the flow control "
6502 "(Xon-Xoff and/or RTS/CTS) for transmitted data."),
6503 Values {"Unknown", "Not Supported", "None", "XonXoff",
6504 "RTS/CTS", "Both XonXoff and RTS/CTS"}
6505 ]
6506 uint16 FlowControlInfo;
6507 };
6508
6509 // ===================================================================
6510 // SCSIController
6511 karl 1.1 // ===================================================================
6512 [Description (
6513 "Capabilities and management of the SCSIController.")
6514 ]
6515 class CIM_SCSIController : CIM_Controller
6516 {
6517 [Description (
6518 "An integer enumeration indicating whether or not the "
6519 "SCSIController provides redundancy or protection against "
6520 "device failures."),
6521 ValueMap {"1", "2", "3", "4", "5", "6"},
6522 Values {"Other", "Unknown", "Unprotected", "Protected",
6523 "Protected through SCC (SCSI-3 Controller Command)",
6524 "Protected through SCC-2 (SCSI-3 Controller Command)"},
6525 MappingStrings {"MIF.DMTF|Storage Controller|001.3"}
6526 ]
6527 uint16 ProtectionManagement;
6528 [Description (
6529 "Maximum data width (in bits) supported by the SCSI"
6530 "Controller."),
6531 Units ("Bits"),
6532 karl 1.1 MappingStrings {"MIF.DMTF|Bus Port|003"}
6533 ]
6534 uint32 MaxDataWidth;
6535 [Description (
6536 "Maximum transfer rate (in Bits per Second) supported by the "
6537 "SCSIController."),
6538 Units ("Bits per Second"),
6539 MappingStrings {"MIF.DMTF|Bus Port|003"}
6540 ]
6541 uint64 MaxTransferRate;
6542 [Description (
6543 "Number of SCSIController timeouts that have occurred since "
6544 "the TimeOfLastReset."),
6545 Counter
6546 ]
6547 uint32 ControllerTimeouts;
6548 [Description (
6549 "Signal capabilities that can be supported by the SCSI"
6550 "Controller. For example, the Controller may support "
6551 "\"Single Ended\" and \"Differential\". In this case, the "
6552 "values 3 and 4 would be written to the Signal"
6553 karl 1.1 "Capabilities array."),
6554 ValueMap {"1", "2", "3", "4", "5", "6"},
6555 Values {"Other", "Unknown", "Single Ended", "Differential",
6556 "Low Voltage Differential", "Optical"},
6557 ModelCorrespondence {"CIM_SCSIInterface.SCSISignal"}
6558 ]
6559 uint16 SignalCapabilities[];
6560 };
6561
6562 // ===================================================================
6563 // SCSIInterface
6564 // ===================================================================
6565 [Association,
6566 Description (
6567 "SCSIInterface is a ControlledBy relationship indicating "
6568 "which Devices are accessed through a SCSIController and "
6569 "the characteristics of this access.")
6570 ]
6571 class CIM_SCSIInterface : CIM_ControlledBy
6572 {
6573 [Override ("Antecedent"),
6574 karl 1.1 Description ("The SCSIController.")
6575 ]
6576 CIM_SCSIController REF Antecedent;
6577 [Description (
6578 "Number of SCSI timeouts that have occurred since last hard "
6579 "or soft reset related to the controlled Device. The time of "
6580 "last reset is indicated in the TimeOfDeviceReset property, "
6581 "inherited from the ControlledBy association."),
6582 Counter
6583 ]
6584 uint32 SCSITimeouts;
6585 [Description (
6586 "Number of SCSI retries that have occurred since last hard "
6587 "or soft reset related to the controlled Device. The time of "
6588 "last reset is indicated in the TimeOfDeviceReset property, "
6589 "inherited from the ControlledBy association."),
6590 Counter,
6591 MappingStrings {"MIF.DMTF|Mass Storage Statistics|001.18"}
6592 ]
6593 uint32 SCSIRetries;
6594 [Description ("The SCSI Initiator ID."),
6595 karl 1.1 MappingStrings {"MIF.DMTF|Bus Port|003"}
6596 ]
6597 uint32 InitiatorId;
6598 [Description ("The SCSI Target ID."),
6599 MappingStrings {"MIF.DMTF|Bus Port|003"}
6600 ]
6601 uint32 TargetId;
6602 [Description ("The SCSI Target LUN."),
6603 MappingStrings {"MIF.DMTF|Storage Devices|001.4"}
6604 ]
6605 uint64 TargetLUN;
6606 [Description (
6607 "SCSIReservation indicates the type of SCSI reservation "
6608 "that currently exists between the source and destination."),
6609 Values {"Unknown", "None", "Simple", "Persistent"}
6610 ]
6611 uint16 SCSIReservation;
6612 [Description (
6613 "The SCSI signal characteristics being used for this "
6614 "connection. The value listed here must also be listed in "
6615 "the SCSIController's SignalCapabilities field."),
6616 karl 1.1 ValueMap {"1", "2", "3", "4", "5", "6"},
6617 Values {"Other", "Unknown", "Single Ended", "Differential",
6618 "Low Voltage Differential", "Optical"},
6619 MappingStrings {"MIF.DMTF|Bus Port|003"},
6620 ModelCorrespondence {"CIM_SCSIController.SignalCapabilities"}
6621 ]
6622 uint16 SCSISignal;
6623 [Description (
6624 "Maximum number of Command Descriptor Blocks (CDBs) that "
6625 "can be supported by the target. This data can not be "
6626 "obtained under all circumstances.")
6627 ]
6628 uint32 MaxQueueDepth;
6629 [Description (
6630 "The maximum number of concurrent Command Descriptor Blocks "
6631 "(CDBs) that the initiator will send to the target. This "
6632 "value should never be greater than MaxQueueDepth.")
6633 ]
6634 uint32 QueueDepthLimit;
6635 };
6636
6637 karl 1.1 // ===================================================================
6638 // VideoController
6639 // ===================================================================
6640 [Description (
6641 "Capabilities and management of the VideoController.")
6642 ]
6643 class CIM_VideoController : CIM_Controller
6644 {
6645 [Override ("Description"),
6646 // Override is used to define the MappingString qualifier
6647 MappingStrings {"MIF.DMTF|Video|004.18"}
6648 ]
6649 string Description;
6650 [Description (
6651 "A free-form string describing the video processor/Controller.")
6652 ]
6653 string VideoProcessor;
6654 [Description (
6655 "An integer enumeration indicating the type of video memory."),
6656 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
6657 "11", "12", "13"},
6658 karl 1.1 Values {"Other", "Unknown", "VRAM", "DRAM", "SRAM", "WRAM",
6659 "EDO RAM", "Burst Synchronous DRAM",
6660 "Pipelined Burst SRAM", "CDRAM", "3DRAM", "SDRAM",
6661 "SGRAM"},
6662 MappingStrings {"MIF.DMTF|Video|004.6"}
6663 ]
6664 uint16 VideoMemoryType;
6665 [Description (
6666 "Number of video pages supported given the current resolutions "
6667 "and available memory.")
6668 ]
6669 uint32 NumberOfVideoPages;
6670 [Description ("Maximum amount of memory supported in bytes."),
6671 Units ("Bytes")
6672 ]
6673 uint32 MaxMemorySupported;
6674 [Description (
6675 "An array of integers indicating the graphics and 3D "
6676 "capabilities of the VideoController."),
6677 Values {"Unknown", "Other", "Graphics Accelerator",
6678 "3D Accelerator"},
6679 karl 1.1 ModelCorrespondence {
6680 "CIM_VideoController.CapabilityDescriptions"}
6681 ]
6682 uint16 AcceleratorCapabilities[];
6683 [Description (
6684 "An array of free-form strings providing more detailed "
6685 "explanations for any of the video Accelerator features "
6686 "indicated in the Capabilities array. Note, each entry "
6687 "of this array is related to the entry in the Capabilities "
6688 "array that is located at the same index."),
6689 ArrayType ("Indexed"),
6690 ModelCorrespondence {
6691 "CIM_VideoController.AcceleratorCapabilities"}
6692 ]
6693 string CapabilityDescriptions[];
6694 [Description ("The number of bits used to display each pixel."),
6695 Units ("Bits"),
6696 MappingStrings {"MIF.DMTF|Video|004.12"}
6697 ]
6698 uint32 CurrentBitsPerPixel;
6699 [Description ("Current number of horizontal pixels."),
6700 karl 1.1 Units ("Pixels"),
6701 MappingStrings {"MIF.DMTF|Video|004.11"}
6702 ]
6703 uint32 CurrentHorizontalResolution;
6704 [Description ("Current number of vertical pixels."),
6705 Units ("Pixels"),
6706 MappingStrings {"MIF.DMTF|Video|004.10"}
6707 ]
6708 uint32 CurrentVerticalResolution;
6709 [Description (
6710 "Maximum refresh rate of the VideoController in Hertz."),
6711 Units ("Hertz"),
6712 MappingStrings {"MIF.DMTF|Video|004.5"}
6713 ]
6714 uint32 MaxRefreshRate;
6715 [Description (
6716 "Minimum refresh rate of the Video Controller in Hertz."),
6717 Units ("Hertz"),
6718 MappingStrings {"MIF.DMTF|Video|004.4"}
6719 ]
6720 uint32 MinRefreshRate;
6721 karl 1.1 [Description ("Current refresh rate in Hertz."),
6722 Units ("Hertz"),
6723 MappingStrings {"MIF.DMTF|Video|004.15"}
6724 ]
6725 uint32 CurrentRefreshRate;
6726 [Description (
6727 "Current scan mode. \"Interlaced\" (value=3) or "
6728 "\"Non Interlaced\" (4) can be defined using this property."),
6729 ValueMap {"1", "2", "3", "4"},
6730 Values {"Other", "Unknown", "Interlaced", "Non Interlaced"},
6731 MappingStrings {"MIF.DMTF|Video|004.8"}
6732 ]
6733 uint16 CurrentScanMode;
6734 [Description (
6735 "If in character mode, number of rows for this Video"
6736 "Controller. Otherwise, enter 0."),
6737 MappingStrings {"MIF.DMTF|Video|004.13"}
6738 ]
6739 uint32 CurrentNumberOfRows;
6740 [Description (
6741 "If in character mode, number of columns for this "
6742 karl 1.1 "VideoController. Otherwise, enter 0."),
6743 MappingStrings {"MIF.DMTF|Video|004.14"}
6744 ]
6745 uint32 CurrentNumberOfColumns;
6746 [Description (
6747 "Number of colors supported at the current resolutions.") ]
6748 uint64 CurrentNumberOfColors;
6749 };
6750
6751 // ===================================================================
6752 // PCVideoController
6753 // ===================================================================
6754 [Description (
6755 "Capabilities and management of a PCVideoController, a subtype "
6756 "of VideoController.")
6757 ]
6758 class CIM_PCVideoController : CIM_VideoController
6759 {
6760 [Description (
6761 "The video architecture. For example, VGA (value=5) or "
6762 "PC-98 (160) may be specified."),
6763 karl 1.1 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
6764 "11", "12", "160"},
6765 Values {"Other", "Unknown", "CGA", "EGA", "VGA", "SVGA", "MDA",
6766 "HGC", "MCGA", "8514A", "XGA", "Linear Frame Buffer",
6767 "PC-98"},
6768 MappingStrings {"MIF.DMTF|Video|004.2"}
6769 ]
6770 uint16 VideoArchitecture;
6771 [Description ("Current video mode."),
6772 MappingStrings {"MIF.DMTF|Video|004.3"}
6773 ]
6774 uint16 VideoMode;
6775 [Description (
6776 "Current number of color planes. If this value is not "
6777 "applicable for the current video configuration, enter 0.")
6778 ]
6779 uint16 NumberOfColorPlanes;
6780 };
6781
6782 // ===================================================================
6783 // AGPVideoController
6784 karl 1.1 // ===================================================================
6785 [Description (
6786 "Capabilities and management of an AGPVideoController.")
6787 ]
6788 class CIM_AGPVideoController: CIM_VideoController
6789 {
6790 [Description (
6791 "Capabilities of the AGP Graphics Controller. For example, "
6792 "the Device may support multiple monitors, PCI Mastering and "
6793 "large memory addresses. In this case, the values 3, 4 and 6 "
6794 "would be written to the Capabilities array."),
6795 ArrayType("Indexed"),
6796 Values { "Unknown", "Other", "PCI Fast Write",
6797 "MultiMonitor Support", "PCI Mastering",
6798 "Second Monochrome Adapter Support",
6799 "Large Memory Address Support"},
6800 ModelCorrespondence{
6801 "CIM_AGPVideoController.CapabilityDescriptions"}
6802 ]
6803 uint16 Capabilities[];
6804 [Description (
6805 karl 1.1 "An array of free form strings providing more detailed "
6806 "explanations for any of the entries in the Capabilities "
6807 "array. Note, each entry of this array is related to the "
6808 "entry in the Capabilities array that is located at the "
6809 "same index."),
6810 ArrayType("Indexed"),
6811 ModelCorrespondence{"CIM_AGPVideoController.Capabilities"}
6812 ]
6813 string CapabilityDescriptions[ ];
6814 [Description ("Size of the non-local video memory in KB."),
6815 Units ("KiloBytes")
6816 ]
6817 uint32 NonlocalVideoMemorySize;
6818 [Description (
6819 "Width of the internal bus in the graphics Controller, in bits."),
6820 Units ("Bits")
6821 ]
6822 uint32 LocalBusWidth;
6823 [Description (
6824 "An integer enumeration indicating the usage model of the "
6825 "graphics Controller. Usage model indicates how the Controller "
6826 karl 1.1 "does manipulations of graphics surfaces, textures, etc. in "
6827 "memory. DMA indicates that the graphics Controller brings "
6828 "structures from the system memory to its local memory to "
6829 "perform needed manipulations or renderings. Execute specifies "
6830 "that the graphics Controller can directly access a specified "
6831 "region in main memory (called the graphics aperture) using GART "
6832 "- Graphics Aperture Remapping Table. It then performs "
6833 "manipulations in that range as if that whole graphics aperture "
6834 "were part of its local memory. A value of \"Both\" DMA and "
6835 "Execute models may also be specified."),
6836 Values {"Unknown", "Other", "Execute", "DMA", "Both"}
6837 ]
6838 uint16 UsageModel;
6839 [Description (
6840 "An integer enumeration indicating the data transfer rate of "
6841 "the graphics Controller."),
6842 Values {"Unknown", "Other", "1X", "2X", "4X"}
6843 ]
6844 uint16 DataTransferRate;
6845 [Description (
6846 "An integer enumeration indicating the addressing mode of the "
6847 karl 1.1 "graphics Controller."),
6848 Values {"Unknown", "Other", "Sideband", "Pipeline"}
6849 ]
6850 uint16 AddressingMode;
6851 [Description (
6852 "The maximum number of AGP Transaction requests that the master "
6853 "(AGP Graphics Controller) is allowed to enqueue into the target.")
6854 ]
6855 uint32 MaximumAGPCommandQueuePath;
6856 [Description (
6857 "The number of AGP Transaction that the core logic (chipset) can "
6858 "accept into its transaction request queue from the Controller.")
6859 ]
6860 uint32 MaxNumberOfPipelinedAGPTransactions;
6861 [Description ("Size of the graphics aperture in KB."),
6862 Units ("KiloBytes")
6863 ]
6864 uint32 GraphicsApertureSize;
6865 [Description (
6866 "A string containing the AGP specification version to which this "
6867 "graphics Controller conforms.")
6868 karl 1.1 ]
6869 string AGPSpecificationVersionConformance;
6870 };
6871
6872 // ===================================================================
6873 // AGPSoftwareFeature
6874 // ===================================================================
6875 [Description (
6876 "AGPSoftwareFeature adds two attributes to SoftwareFeature "
6877 "to represent the capabilities of an AGP device driver. An "
6878 "instance of this class would be associated with the "
6879 "Driver's SoftwareElement using the SoftwareFeatureSoftware"
6880 "Elements relationship. The driver's SoftwareElement is "
6881 "associated with the AGPVideoController via the Device"
6882 "Software relationship.")
6883 ]
6884 class CIM_AGPSoftwareFeature : CIM_SoftwareFeature
6885 {
6886 [Description (
6887 "An array of integers indicating various capabilities and "
6888 "characteristics of the AGPVideoController."),
6889 karl 1.1 ArrayType ("Indexed"),
6890 Values {"Unknown", "Other", "OS support",
6891 "Hardware Acceleration", "Hardware Blit",
6892 "OpenGL Support", "Cache Coherency"},
6893 ModelCorrespondence {
6894 "CIM_AGPSoftwareFeature.CharacteristicDescriptions"}
6895 ]
6896 uint16 Characteristics[];
6897 [Description (
6898 "An array of free-form strings providing more detailed "
6899 "explanations for any of the features indicated in the "
6900 "Characteristics array. Each entry in this array is "
6901 "related to the Characteristics array entry located at "
6902 "the same index."),
6903 ArrayType ("Indexed"),
6904 ModelCorrespondence {"CIM_AGPSoftwareFeature.Characteristics"}
6905 ]
6906 string CharacteristicDescriptions[];
6907 };
6908
6909 // ===================================================================
6910 karl 1.1 // VideoControllerResolution
6911 // ===================================================================
6912 [Description (
6913 "VideoControllerResolution describes the various video modes "
6914 "that a VideoController can support. Video modes are defined by "
6915 "the possible horizontal and vertical resolutions, refresh "
6916 "rate, scan mode and number of colors settings supported by a "
6917 "Controller. The actual resolutions, etc. that are in use, are "
6918 "the values specified in the VideoController object.")
6919 ]
6920 class CIM_VideoControllerResolution : CIM_Setting
6921 {
6922 [Override ("SettingID"),
6923 Key, MaxLen (256),
6924 Description (
6925 "The inherited SettingID serves as part of the key for a "
6926 "VideoControllerResolution instance.")
6927 ]
6928 string SettingID;
6929 [Description ("Controller's horizontal resolution in Pixels."),
6930 Units ("Pixels"),
6931 karl 1.1 ModelCorrespondence {
6932 "CIM_VideoController.CurrentHorizontalResolution"},
6933 MappingStrings {"MIF.DMTF|Monitor Resolutions|002.2"}
6934 ]
6935 uint32 HorizontalResolution;
6936 [Description ("Controller's vertical resolution in Pixels."),
6937 Units ("Pixels"),
6938 ModelCorrespondence {
6939 "CIM_VideoController.CurrentVerticalResolution"},
6940 MappingStrings {"MIF.DMTF|Monitor Resolutions|002.3"}
6941 ]
6942 uint32 VerticalResolution;
6943 [Description (
6944 "Refresh rate in Hertz. If a range of rates is supported, use "
6945 "the MinRefreshRate and MaxRefreshRate properties, and set "
6946 "RefreshRate (this property) to 0."),
6947 Units ("Hertz"),
6948 ModelCorrespondence {"CIM_VideoController.CurrentRefreshRate"},
6949 MappingStrings {"MIF.DMTF|Monitor Resolutions|002.4"}
6950 ]
6951 uint32 RefreshRate;
6952 karl 1.1 [Description (
6953 "Minimum refresh rate in Hertz, when a range of rates is "
6954 "supported at the specified resolutions."),
6955 Units ("Hertz"),
6956 ModelCorrespondence {"CIM_VideoController.MinRefreshRate"},
6957 MappingStrings {"MIF.DMTF|Monitor Resolutions|002.6"}
6958 ]
6959 uint32 MinRefreshRate;
6960 [Description (
6961 "Maximum refresh rate in Hertz, when a range of rates is "
6962 "supported at the specified resolutions."),
6963 Units ("Hertz"),
6964 ModelCorrespondence {"CIM_VideoController.MaxRefreshRate"},
6965 MappingStrings {"MIF.DMTF|Monitor Resolutions|002.7"}
6966 ]
6967 uint32 MaxRefreshRate;
6968 [Description (
6969 "Integer indicating whether the Controller operates in "
6970 "interlaced (value=5) or non-interlaced (4) mode."),
6971 ValueMap {"1", "2", "3", "4", "5"},
6972 Values {"Other", "Unknown", "Not Supported",
6973 karl 1.1 "Non-Interlaced Operation", "Interlaced Operation"},
6974 ModelCorrespondence {"CIM_VideoController.CurrentScanMode"},
6975 MappingStrings {"MIF.DMTF|Monitor Resolutions|002.5"}
6976 ]
6977 uint16 ScanMode;
6978 [Description (
6979 "Number of colors supported at the current resolutions."),
6980 ModelCorrespondence {
6981 "CIM_VideoController.CurrentNumberOfColors"}
6982 ]
6983 uint64 NumberOfColors;
6984 };
6985
6986 // ===================================================================
6987 // VideoSetting
6988 // ===================================================================
6989 [Association, Description (
6990 "VideoSetting associates the VideoControllerResolution Setting "
6991 "with the Controller(s) to which it applies.")
6992 ]
6993 class CIM_VideoSetting : CIM_ElementSetting
6994 karl 1.1 {
6995 [Override ("Element"),
6996 Description ("The VideoController.")
6997 ]
6998 CIM_VideoController REF Element;
6999 [Override ("Setting"),
7000 Description (
7001 "The resolutions, refresh rates, scan mode and number of colors "
7002 "that can be set for the Controller.")
7003 ]
7004 CIM_VideoControllerResolution REF Setting;
7005 };
7006
7007 // ===================================================================
7008 // PCIController
7009 // ===================================================================
7010 [Description (
7011 "PCIController is a superclass for the PCIBridge and PCIDevice "
7012 "classes. These classes model adapters and bridges on a PCI "
7013 "bus. The properties in PCIController and its subclasses are "
7014 "defined in the various PCI Specifications published by the "
7015 karl 1.1 "PCI SIG.")
7016 ]
7017 class CIM_PCIController : CIM_Controller
7018 {
7019 [Description (
7020 "Current contents of the register that provides basic "
7021 "control over the device's ability to respond "
7022 "to, and/or perform PCI accesses.")
7023 ]
7024 uint16 CommandRegister;
7025 [Description (
7026 "An array of integers indicating controller capabilities. "
7027 "Information such as \"Supports 66MHz\" (value=2) is "
7028 "specified in this property. The data in the Capabilities array "
7029 "is gathered from the PCI Status Register and the PCI "
7030 "Capabilities List as defined in the PCI Specification."),
7031 ArrayType ("Indexed"),
7032 Values {"Unknown", "Other", "Supports 66MHz",
7033 "Supports User Definable Features",
7034 "Supports Fast Back-to-Back Transactions",
7035 "PCI-X Capable", "PCI Power Management Supported",
7036 karl 1.1 "Message Signaled Interrupts Supported",
7037 "Parity Error Recovery Capable",
7038 "AGP Supported", "Vital Product Data Supported",
7039 "Provides Slot Identification", "Hot Swap Supported"},
7040 ModelCorrespondence {"CIM_PCIController.CapabilityDescriptions"}
7041 ]
7042 uint16 Capabilities[];
7043 [Description (
7044 "An array of free-form strings providing more detailed "
7045 "explanations for any of the PCIController features indicated "
7046 "in the Capabilities array. Note, each entry of this array "
7047 "is related to the entry in the Capabilities array that "
7048 "is located at the same index."),
7049 ArrayType ("Indexed"),
7050 ModelCorrespondence {"CIM_PCIController.Capabilities"}
7051 ]
7052 string CapabilityDescriptions[];
7053 [Description (
7054 "The slowest device select timing for a target device."),
7055 Values {"Unknown", "Other", "Fast", "Medium", "Slow",
7056 "Reserved"}
7057 karl 1.1 ]
7058 uint16 DeviceSelectTiming;
7059 [Description (
7060 "Register of 8 bits that identifies the basic function of the "
7061 "PCI device. This is only the upper byte (offset 0Bh) of the "
7062 "3 byte ClassCode field. Note that the property's ValueMap "
7063 "array specifies the decimal representation of this "
7064 "information."),
7065 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
7066 "10", "11", "12", "13", "14", "15", "16", "17",
7067 "255"},
7068 // values 18-254 reserved for expansion by PCI
7069 Values {"Pre 2.0", "Mass Storage", "Network", "Display",
7070 "Multimedia", "Memory", "Bridge", "Simple Communications",
7071 "Base Peripheral", "Input", "Docking Station", "Processor",
7072 "Serial Bus", "Wireless", "Intelligent I/O",
7073 "Satellite Communication", "Encryption/Decryption",
7074 "Data Acquisition and Signal Processing", "Other"}
7075 ]
7076 uint8 ClassCode;
7077 [Description (
7078 karl 1.1 "Specifies the system cache line size in doubleword increments "
7079 "(e.g., a 486-based system would store the value 04h, "
7080 "indicating a cache line size of four doublewords."),
7081 Units ("DoubleWords")
7082 ]
7083 uint8 CacheLineSize;
7084 [Description (
7085 "Defines the minimum amount of time, in PCI clock cycles, that "
7086 "the bus master can retain ownership of the bus."),
7087 Units ("PCI clock cycles")
7088 ]
7089 uint8 LatencyTimer;
7090 [Description (
7091 "Defines the PCI interrupt request pin (INTA# to "
7092 "INTD#) to which a PCI functional device is connected."),
7093 Values {"None", "INTA#", "INTB#", "INTC#", "INTD#", "Unknown"}
7094 ]
7095 uint16 InterruptPin;
7096 [Description (
7097 "Doubleword Expansion ROM base memory address."),
7098 Units ("DoubleWords")
7099 karl 1.1 ]
7100 uint32 ExpansionROMBaseAddress;
7101 [Description (
7102 "Reports if the PCI device can perform the self test "
7103 "function. Returns bit 7 of the BIST register as a boolean.")
7104 ]
7105 boolean SelfTestEnabled;
7106 [Description (
7107 "Method to invoke PCI device self-test. This method sets bit "
7108 "6 of the BIST register. The return result is the lower "
7109 "four bits of the BIST register where 0 indicates success and "
7110 "non-zero is a device dependent failure. Support for this "
7111 "method is optional in the PCI Specification.")
7112 ]
7113 uint8 BISTExecution( );
7114 };
7115
7116 // ===================================================================
7117 // PCIDevice
7118 // ===================================================================
7119 [Description (
7120 karl 1.1 "Capabilities and management of a PCI device controller "
7121 "on an adapter card.")
7122 ]
7123 class CIM_PCIDevice : CIM_PCIController
7124 {
7125 [Description ("Array of doubleword base memory addresses.") ]
7126 uint32 BaseAddress[6];
7127 [Description ("Subsystem identifier code.") ]
7128 uint16 SubsystemID;
7129 [Description (
7130 "Subsystem vendor ID. ID information is reported from a "
7131 "PCIDevice via protocol-specific requests. The correct place "
7132 "in the CIM Schema for this information is in CIM_Physical"
7133 "Element (the Manufacturer property) for hardware, and "
7134 "CIM_Product (the Vendor property) if the information is "
7135 "related to Product acquisition. This data is also reported "
7136 "here since it is part of the standard output from the "
7137 "Device, and as an optimization.")
7138 ]
7139 uint16 SubsystemVendorID;
7140 [Description (
7141 karl 1.1 "Register indiating how long the master would like to "
7142 "retain PCI bus ownership whenever it initiates a "
7143 "transaction. A zero value indicates no requirement."),
7144 Units ("250 nanoseconds")
7145 ]
7146 uint8 MinGrantTime;
7147 [Description (
7148 "Register specifying how often the device needs access to "
7149 "the PCI bus in 250ns. A zero value indicates no "
7150 "requirement."),
7151 Units ("250 nanoseconds")
7152 ]
7153 uint8 MaxLatency;
7154 };
7155
7156 // ===================================================================
7157 // PCIBridge
7158 // ===================================================================
7159 [Description (
7160 "Capabilities and management of a PCI controller providing "
7161 "bridge to bridge capability.")
7162 karl 1.1 ]
7163 class CIM_PCIBridge : CIM_PCIController
7164 {
7165 [Description ("Array of doubleword base memory addresses.") ]
7166 uint32 BaseAddress[2];
7167 [Description (
7168 "The type of bridge. Except for \"Host\" (value=0), the type "
7169 "of bridge is PCI to <value>. For type \"Host\", the device is "
7170 "a Host to PCI bridge."),
7171 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "128"},
7172 Values {"Host", "ISA", "EISA", "Micro Channel", "PCI",
7173 "PCMCIA", "NuBus", "CardBus", "RACEway", "Other"}
7174 ]
7175 uint16 BridgeType;
7176 [Description (
7177 "The timeslice for the secondary interface when the bridge "
7178 "is acting as an initiator. A zero value indicates no "
7179 "requirement."),
7180 Units ("PCI clock cycles")
7181 ]
7182 uint8 SecondaryLatencyTimer;
7183 karl 1.1 [Description (
7184 "The number of the highest numbered bus that exists behind "
7185 "the bridge.")
7186 ]
7187 uint8 SubordinateBusNumber;
7188 [Description (
7189 "The number of the PCI bus segment to which the secondary "
7190 "interface of the bridge is connected.")
7191 ]
7192 uint8 SecondayBusNumber;
7193 [Description (
7194 "The number of the PCI bus segment to which the primary "
7195 "interface of the bridge is connected.")
7196 ]
7197 uint8 PrimaryBusNumber;
7198 [Description (
7199 "The contents of the Bridge's SecondaryStatusRegister. "
7200 "For more information on the contents of this register, refer "
7201 "to the PCI-to-PCI Bridge Architecture Specification.")
7202 ]
7203 uint16 SecondaryStatusRegister;
7204 karl 1.1 [Description (
7205 "The slowest device select timing for a target device on the "
7206 "secondary bus."),
7207 Values {"Unknown", "Other", "Fast", "Medium", "Slow",
7208 "Reserved"}
7209 ]
7210 uint16 SecondaryBusDeviceSelectTiming;
7211 [Description (
7212 "End address of the I/O addresses supported by the bus. The "
7213 "upper four bits of this property specify the address bits, "
7214 "AD[15::12], of the I/O address. The remaining 12 bits of "
7215 "the I/O address are assumed to be all 1's.")
7216 ]
7217 uint8 IOLimit;
7218 [Description (
7219 "Base address of I/O addresses supported by the bus. The "
7220 "upper four bits of this property specify the address bits, "
7221 "AD[15::12], of the I/O address. The remaining 12 bits of "
7222 "the I/O address are assumed to be 0.")
7223 ]
7224 uint8 IOBase;
7225 karl 1.1 [Description (
7226 "End address of the memory supported by the bus. The "
7227 "upper twelve bits of this property specify the address bits, "
7228 "AD[31::20], of a 32-bit memory address. The remaining 20 "
7229 "bits of the address are assumed to be all 1's.")
7230 ]
7231 uint16 MemoryLimit;
7232 [Description (
7233 "Base address of the memory supported by the bus. The "
7234 "upper twelve bits of this property specify the address bits, "
7235 "AD[31::20], of a 32-bit memory address. The remaining 20 "
7236 "bits of the address are assumed to be 0.")
7237 ]
7238 uint16 MemoryBase;
7239 [Description (
7240 "End address of the memory that can be prefetched by the bus. "
7241 "The upper twelve bits of this property specify the address "
7242 "bits, AD[31::20], of a 32-bit memory address. The remaining "
7243 "20 bits of the address are assumed to be all 1's.")
7244 ]
7245 uint16 PrefetchMemoryLimit;
7246 karl 1.1 [Description (
7247 "Base address of the memory that can be prefetched by the bus. "
7248 "The upper twelve bits of this property specify the address "
7249 "bits, AD[31::20], of a 32-bit memory address. The remaining "
7250 "20 bits of the address are assumed to be 0.")
7251 ]
7252 uint16 PrefetchMemoryBase;
7253 [Description (
7254 "Upper 32 bits of the supported prefetch end address when "
7255 "64-bit addressing is used. The lower 32 bits are assumed to "
7256 "be all 1's.")
7257 ]
7258 uint32 PrefetchLimitUpper32;
7259 [Description (
7260 "Upper 32 bits of the supported prefetch base address when "
7261 "64-bit addressing is used. The lower 32 bits are assumed "
7262 "to be 0.")
7263 ]
7264 uint32 PrefetchBaseUpper32;
7265 [Description (
7266 "Upper 16 bits of the supported I/O end address when 32-bit "
7267 karl 1.1 "I/O addressing is used. The lower 16 bits are assumed to be "
7268 "all 1's.")
7269 ]
7270 uint16 IOLimitUpper16;
7271 [Description (
7272 "Upper 16 bits of the supported I/O base address when 32-bit "
7273 "I/O addressing is used. The lower 16 bits are assumed to be "
7274 "0.")
7275 ]
7276 uint16 IOBaseUpper16;
7277 };
7278
7279 // ===================================================================
7280 // USBController
7281 // ===================================================================
7282 [Description (
7283 "Capabilities and managment of a USB Host Controller.")
7284 ]
7285 class CIM_USBController : CIM_Controller
7286 {
7287 [Description (
7288 karl 1.1 "Indicates the latest USB Version supported by the Controller. "
7289 "The property is expressed as a Binary-Coded Decimal (BCD) "
7290 "where a decimal point is implied between the 2nd and 3rd "
7291 "digits. For example, a value of 0x201 indicates that "
7292 "version 2.01 is supported.")
7293 ]
7294 uint16 USBVersion;
7295 [Description (
7296 "The type of interface used between the host system software "
7297 "and the USBController."),
7298 Values {"Unknown", "Other", "UHCI", "OHCI"},
7299 ModelCorrespondence {"CIM_USBController.ControllerVersion"}
7300 ]
7301 uint16 InterfaceType;
7302 [Description (
7303 "Indicates the version of the USB Host Controller register "
7304 "set, specific to the InterfaceType. The property is "
7305 "expressed as a Binary-Coded Decimal (BCD) value where a "
7306 "decimal point is implied between the 2nd and 3rd digits. "
7307 "For example, a value of 0x103 indicates that version "
7308 "1.03 is supported."),
7309 karl 1.1 ModelCorrespondence {"CIM_USBController.InterfaceType"}
7310 ]
7311 uint16 ControllerVersion;
7312 };
7313
7314 // ===================================================================
7315 // USBPort
7316 // ===================================================================
7317 [Description ("A Port on a USBHub.") ]
7318 class CIM_USBPort : CIM_LogicalPort
7319 {
7320 [Override ("Speed"),
7321 Description (
7322 "USB Port Speed in bits per second. This speed is determined "
7323 "and set by the attached Device. The 'attached Device' is "
7324 "indicated using the USBConnection association. At this time, "
7325 "only several Port speeds are valid. These are: 1.5Mbps and "
7326 "12Mbps. The value 0 can also be specified to indicate that the "
7327 "current speed is 'unknown' or 1 to indicate that the speed is "
7328 "'other' than 1.5 or 12Mbps."),
7329 ValueMap {"0", "1", "1500000", "12000000"}
7330 karl 1.1 ]
7331 uint64 Speed;
7332 [Description (
7333 "The USB Port's power capability. The current specification "
7334 "defines that 1 or 5 loads can be supported (values 2 or 3 would "
7335 "be specified, respectively)."),
7336 Values {"Unknown", "Other", "1 Unit Load", "5 Unit Loads"}
7337 ]
7338 uint16 Power;
7339 [Override ("StatusInfo"),
7340 Description ("Indicates whether the Port is currently enabled."),
7341 ValueMap {"2", "3", "4"},
7342 Values {"Unknown", "Enabled", "Disabled"}
7343 ]
7344 uint16 StatusInfo;
7345 [Override ("Availability"),
7346 Description ("Indicates whether the Port is currently Powered."),
7347 ValueMap {"2", "3", "7"},
7348 Values {"Unknown", "Running/Full Power", "Power Off"}
7349 ]
7350 uint16 Availability;
7351 karl 1.1 [Description (
7352 "Indicates whether the Port is currently Suspended.")
7353 ]
7354 boolean Suspended;
7355 [Description (
7356 "Indicates whether the Port is disabled due to an "
7357 "overcurrent event.")
7358 ]
7359 boolean Overcurrent;
7360 };
7361
7362 // ===================================================================
7363 // USBDevice
7364 // ===================================================================
7365 [Description (
7366 "The management characterisitics of a USB Device. These ") ]
7367 class CIM_USBDevice: CIM_LogicalDevice
7368 {
7369 [Description (
7370 "Indicates the latest USB Version supported by the USB Device. "
7371 "The property is expressed as a Binary-Coded Decimal (BCD) "
7372 karl 1.1 "where a decimal point is implied between the 2nd and 3rd "
7373 "digits. For example, a value of 0x201 indicates that "
7374 "version 2.01 is supported.")
7375 ]
7376 uint16 USBVersion;
7377 [Description ("Indicates the USB class code.") ]
7378 uint8 ClassCode;
7379 [Description ("Indicates the USB subclass code.") ]
7380 uint8 SubclassCode;
7381 [Description ("Indicates the USB protocol code.") ]
7382 uint8 ProtocolCode;
7383 [Description (
7384 "Number of device configurations that are defined for the "
7385 "Device.")
7386 ]
7387 uint8 NumberOfConfigs;
7388 [Description (
7389 "Indicates the configuration currently selected for the "
7390 "Device. If this value is zero, the Device is "
7391 "unconfigured."),
7392 ModelCorrespondence {"CIM_USBDevice.CurrentAlternateSettings"}
7393 karl 1.1 ]
7394 uint8 CurrentConfigValue;
7395 [Description (
7396 "An array of USB 'alternate settings' for each interface "
7397 "in the currently selected configuration (indicated by the "
7398 "CurrentConfigValue property). This array has one entry for "
7399 "each interface in the configuration. If the property, "
7400 "CurrentConfigValue, is zero (indicating the Device is not "
7401 "configured), the array is undefined. To understand how "
7402 "to parse this octet string, refer to the USB Specification."),
7403 ModelCorrespondence {"CIM_USBDevice.CurrentConfigValue"}
7404 ]
7405 uint8 CurrentAlternateSettings[];
7406 [Description (
7407 "This method returns the USBDevice Descriptor as specified by "
7408 "the input parameters. Each parameter is briefly described here "
7409 "with more detail in its Qualifier list. RequestType is an input "
7410 "parameter that defines whether the request is for standard, "
7411 "class or vendor-specific information, as well as specifying the "
7412 "recipient. RequestValue is also an input parameter and defines "
7413 "the USB Descriptor Type and Index. RequestIndex is an input "
7414 karl 1.1 "parameter which describes the language used to return a string "
7415 "Descriptor. RequestLength is both an input and output parameter. "
7416 "It specifies the length of the Descriptor that should be returned "
7417 "(on input) and what is actually returned in the Buffer parameter "
7418 "(on output). Buffer is an output parameter, containing the "
7419 "Descriptor data. The GetDescriptor method returns an integer "
7420 "value of 0 if the USB Descriptor is successfully returned, "
7421 "1 if the request is not supported and any other number to "
7422 "indicate an error.\n"
7423 "In a subclass, the set of possible return codes could be "
7424 "specified, using a ValueMap qualifier on the method. The "
7425 "strings to which the ValueMap contents are 'translated' may "
7426 "also be specified in the subclass as a Values array qualifier.")
7427 ]
7428 uint32 GetDescriptor(
7429 [IN, Description ("RequestType is bit-mapped and identifies the type "
7430 "of Descriptor request and the recipient. The type of request "
7431 "may be 'standard', 'class' or 'vendor-specific'. The recipient may "
7432 "be 'device', 'interface', 'endpoint' or 'other'. Refer to the USB "
7433 "Specification for the appropriate values for each bit.")]
7434 uint8 RequestType,
7435 karl 1.1 [IN, Description ("RequestValue contains the Descriptor Type in the "
7436 "high byte and the Descriptor Index (for example, index or offset "
7437 "into the Descriptor array) in the low byte. Refer to the USB "
7438 "Specification for more information.")]
7439 uint16 RequestValue,
7440 [IN, Description ("RequestIndex defines the 2 byte Language ID code "
7441 "used by the USBDevice when returning string Descriptor data. The "
7442 "parameter is typically 0 for non-string Descriptors. Refer to the "
7443 "USB Specification for more information.")]
7444 uint16 RequestIndex,
7445 [IN, OUT, Description ("On input, RequestLength is the length (in "
7446 "octets) of the Descriptor that should be returned. If this value "
7447 "is less than the actual length of the Descriptor, only the requested "
7448 "length will be returned. If it is more than the actual length, the "
7449 "actual length is returned. On output, this parameter is the length, "
7450 "in octets, of the Buffer being returned. If the requested "
7451 "Descriptor does not exist, the contents of this parameter are "
7452 "undefined.")]
7453 uint16 RequestLength,
7454 [OUT, Description ("Buffer returns the requested Descriptor "
7455 "information. If the Descriptor does not exist, the contents of "
7456 karl 1.1 "the Buffer are undefined.")]
7457 uint8 Buffer[]);
7458 };
7459
7460 // ===================================================================
7461 // USBHub
7462 // ===================================================================
7463 [Description ("USB Hub Device.") ]
7464 class CIM_USBHub : CIM_USBDevice
7465 {
7466 [Description (
7467 "Indicates whether power to the Hub Ports is individually or "
7468 "gang-switched. If this value is FALSE, power is switched "
7469 "individually for each Port. If this value is TRUE, power is "
7470 "switched to all Ports on the Hub at once.")
7471 ]
7472 boolean GangSwitched;
7473 [Description (
7474 "Number of downstream Ports on the Hub, including those "
7475 "embedded in the Hub's silicon. Individual USBPorts are "
7476 "associated with the Hub using the USBPortOnHub association.")
7477 karl 1.1 ]
7478 uint8 NumberOfPorts;
7479 };
7480
7481 // ===================================================================
7482 // USBPortOnHub
7483 // ===================================================================
7484 [Association,
7485 Description (
7486 "USBPortOnHub associates a USBPort or connection point with the "
7487 "USBHub that includes it.")
7488 ]
7489 class CIM_USBPortOnHub : CIM_PortOnDevice
7490 {
7491 [Override ("Antecedent"),
7492 Min(1), Max(1),
7493 Description ("The Hub that includes the USBPort.")
7494 ]
7495 CIM_USBHub REF Antecedent;
7496 [Override ("Dependent"),
7497 Min(1), Description ("The Port on the USBHub.") ]
7498 karl 1.1 CIM_USBPort REF Dependent;
7499 };
7500
7501 // ===================================================================
7502 // USBControllerHasHub
7503 // ===================================================================
7504 [Association,
7505 Description (
7506 "USBControllerHasHub defines the Hub(s) that are downstream "
7507 "of the USBController.")
7508 ]
7509 class CIM_USBControllerHasHub : CIM_ControlledBy
7510 {
7511 [Override ("Antecedent"),
7512 Min(1), Max(1),
7513 Description ("The USBController.")
7514 ]
7515 CIM_USBController REF Antecedent;
7516 [Override ("Dependent"),
7517 Min(1),
7518 Description (
7519 karl 1.1 "The USBHub that is associated with the Controller.")
7520 ]
7521 CIM_USBHub REF Dependent;
7522 };
7523
7524 // ===================================================================
7525 // USBConnection
7526 // ===================================================================
7527 [Association,
7528 Description (
7529 "USBConnection associates a Device with the USBPort to which it "
7530 "is connected.")
7531 ]
7532 class CIM_USBConnection: CIM_DeviceConnection
7533 {
7534 [Override ("Antecedent"),
7535 Max(1),
7536 Description ("The USBPort.")
7537 ]
7538 CIM_USBPort REF Antecedent;
7539 [Override ("Dependent"),
7540 karl 1.1 Max(1),
7541 Description ("The USBDevice that is connected to the Port.")
7542 ]
7543 CIM_USBDevice REF Dependent;
7544 };
7545
7546 // ===================================================================
7547 // ManagementController
7548 // ===================================================================
7549 [Description (
7550 "Capabilities and managment of a ManagementController. An I2C "
7551 "microcontroller is a type of ManagementController.")
7552 ]
7553 class CIM_ManagementController : CIM_Controller
7554 {
7555 };
7556
7557 // ===================================================================
7558 // IDEController
7559 // ===================================================================
7560 [Description ("Capabilities and management of an IDEController.")]
7561 karl 1.1 class CIM_IDEController : CIM_Controller
7562 {
7563 };
7564
7565 // ===================================================================
7566 // PCMCIAController
7567 // ===================================================================
7568 [Description ("Capabilities and management of a PCMCIAController.")]
7569 class CIM_PCMCIAController : CIM_Controller
7570 {
7571 };
7572
7573 // ===================================================================
7574 // InfraredController
7575 // ===================================================================
7576 [Description (
7577 "Capabilities and management of an InfraredController.")
7578 ]
7579 class CIM_InfraredController : CIM_Controller
7580 {
7581 };
7582 karl 1.1
7583 // ===================================================================
7584 // ESCONController
7585 // ===================================================================
7586 [Description (
7587 "Capabilities and management of an ESCONController.")
7588 ]
7589 class CIM_ESCONController : CIM_Controller
7590 {
7591 };
7592
7593 // ===================================================================
7594 // MediaAccessDevice
7595 // ===================================================================
7596 [Description (
7597 "A MediaAccessDevice represents the ability to access one or "
7598 "more media and use this media to store and retrieve data.")
7599 ]
7600 class CIM_MediaAccessDevice : CIM_LogicalDevice
7601 {
7602 [Description (
7603 karl 1.1 "Capabilities of the MediaAccessDevice. For example, the "
7604 "Device may support \"Random Access\", removeable media and "
7605 "\"Automatic Cleaning\". In this case, the values 3, 7 and 9 "
7606 "would be written to the array.\n"
7607 "Several of the enumerated values require some explanation: "
7608 "1) Value 11, Supports Dual Sided Media, distinguishes a "
7609 "Device that can access both sides of dual sided Media, from "
7610 "a Device that reads only a single side and requires the "
7611 "Media to be flipped; and, 2) Value 12, Predismount Eject "
7612 "Not Required, indicates that Media does not have to be "
7613 "explicitly ejected from the Device before being accessed "
7614 "by a PickerElement."),
7615 ArrayType ("Indexed"),
7616 Values {"Unknown", "Other", "Sequential Access",
7617 "Random Access", "Supports Writing", "Encryption",
7618 "Compression", "Supports Removeable Media",
7619 "Manual Cleaning", "Automatic Cleaning",
7620 "SMART Notification", "Supports Dual Sided Media",
7621 "Predismount Eject Not Required" },
7622 MappingStrings {"MIF.DMTF|Storage Devices|001.9",
7623 "MIF.DMTF|Storage Devices|001.11",
7624 karl 1.1 "MIF.DMTF|Storage Devices|001.12",
7625 "MIF.DMTF|Disks|003.7", "MIF.DMTF|Host Disk|001.2",
7626 "MIF.DMTF|Host Disk|001.4"},
7627 ModelCorrespondence {
7628 "CIM_MediaAccessDevice.CapabilityDescriptions"}
7629 ]
7630 uint16 Capabilities[];
7631 [Description (
7632 "An array of free-form strings providing more detailed "
7633 "explanations for any of the AccessDevice features indicated "
7634 "in the Capabilities array. Note, each entry of this array "
7635 "is related to the entry in the Capabilities array that "
7636 "is located at the same index."),
7637 ArrayType ("Indexed"),
7638 ModelCorrespondence {"CIM_MediaAccessDevice.Capabilities"}
7639 ]
7640 string CapabilityDescriptions[];
7641 [Description (
7642 "ErrorMethodology is a free-form string describing "
7643 "the type(s) of error detection and correction supported "
7644 "by this Device.")
7645 karl 1.1 ]
7646 string ErrorMethodology;
7647 [Description (
7648 "A free form string indicating the algorithm or tool used by "
7649 "the device to support compression. "
7650 "If it is not possible or not desired to describe the "
7651 "compression scheme (perhaps because it is not known), "
7652 "recommend using the following words: \"Unknown\" to "
7653 "represent that it is not known whether the device supports "
7654 "compression capabilities or not, \"Compressed\" to represent "
7655 "that the device supports compression capabilities but either "
7656 "its compression scheme is not known or not disclosed, and "
7657 "\"Not Compressed\" to represent that the devices does not "
7658 "support compression capabilities.")
7659 ]
7660 string CompressionMethod;
7661 [Description (
7662 "When the MediaAccessDevice supports multiple individual "
7663 "Media, this property defines the maximum number which can "
7664 "be supported or inserted.")
7665 ]
7666 karl 1.1 uint32 NumberOfMediaSupported;
7667 [Description (
7668 "Maximum size, in KBytes, of media supported by this Device. "
7669 "KBytes is interpreted as the number of bytes multiplied by "
7670 "1000 (NOT the number of bytes multiplied by 1024)."),
7671 MappingStrings {"MIF.DMTF|Sequential Access Devices|001.2",
7672 "MIF.DMTF|Host Disk|001.5"}
7673 ]
7674 uint64 MaxMediaSize;
7675 [Description ("Default block size, in bytes, for this Device."),
7676 Units ("Bytes")
7677 ]
7678 uint64 DefaultBlockSize;
7679 [Description (
7680 "Maximum block size, in bytes, for media accessed by this "
7681 "Device."),
7682 Units ("Bytes")
7683 ]
7684 uint64 MaxBlockSize;
7685 [Description (
7686 "Minimum block size, in bytes, for media accessed by this "
7687 karl 1.1 "Device."),
7688 Units ("Bytes")
7689 ]
7690 uint64 MinBlockSize;
7691 [Description (
7692 "Boolean indicating that the MediaAccessDevice needs cleaning. "
7693 "Whether manual or automatic cleaning is possible is indicated "
7694 "in the Capabilities array property. ")
7695 ]
7696 boolean NeedsCleaning;
7697 [Description (
7698 "True indicates that the media is locked in the Device "
7699 "and can not be ejected. For non-removeable Devices, this "
7700 "value should be true.")
7701 ]
7702 boolean MediaIsLocked;
7703 [Description (
7704 "An enumeration indicating the operational security defined "
7705 "for the MediaAccessDevice. For example, information that "
7706 "the Device is \"Read Only\" (value=4) or \"Boot Bypass\" "
7707 "(value=6) can be described using this property."),
7708 karl 1.1 ValueMap {"1", "2", "3", "4", "5", "6", "7"},
7709 Values {"Other", "Unknown", "None", "Read Only", "Locked Out",
7710 "Boot Bypass", "Boot Bypass and Read Only"},
7711 MappingStrings {"MIF.DMTF|Disks|003.22"}
7712 ]
7713 uint16 Security;
7714 [Description (
7715 "The date and time on which the Device was last cleaned.") ]
7716 datetime LastCleaned;
7717 [Description (
7718 "Time in milliseconds to move from the first location on "
7719 "the Media to the location that is furthest with respect to "
7720 "time. For a DiskDrive, this represents full seek + full "
7721 "rotational delay. For TapeDrives, this represents a search "
7722 "from the beginning of the tape to the most physically "
7723 "distant point. (The end of a tape may be at its most "
7724 "physically distant point, but this is not necessarily "
7725 "true.)"),
7726 Units ("MilliSeconds")
7727 ]
7728 uint64 MaxAccessTime;
7729 karl 1.1 [Description (
7730 "The sustained data transfer rate in KB/sec that the "
7731 "Device can read from and write to a Media. This is a "
7732 "sustained, raw data rate. Maximum rates or rates "
7733 "assuming compression should not be reported in this "
7734 "property."),
7735 Units ("KiloBytes per Second")
7736 ]
7737 uint32 UncompressedDataRate;
7738 [Description (
7739 "Time in milliseconds from 'load' to being able to read "
7740 "or write a Media. For example, for DiskDrives, this is "
7741 "the interval between a disk not spinning to the disk "
7742 "reporting that it is ready for read/write (ie, the disk "
7743 "spinning at nominal speeds). For TapeDrives, this is "
7744 "the time from a Media being injected to reporting that "
7745 "it is ready for an application. This is usually at the "
7746 "tape's BOT area."),
7747 Units ("MilliSeconds")
7748 ]
7749 uint64 LoadTime;
7750 karl 1.1 [Description (
7751 "Time in milliseconds from being able to read or write a "
7752 "Media to its 'unload'. For example, for DiskDrives, "
7753 "this is the interval between a disk spinning at nominal "
7754 "speeds and a disk not spinning. For TapeDrives, this is "
7755 "the time for a Media to go from its BOT to being fully "
7756 "ejected and accessible to a PickerElement or human "
7757 "operator."),
7758 Units ("MilliSeconds")
7759 ]
7760 uint64 UnloadTime;
7761 [Description (
7762 "Method to lock and unlock the media in a removeable Access"
7763 "Device. The method takes one parameter as input - a boolean "
7764 "indicating whether to lock or unlock. TRUE indicates that "
7765 "the media should be locked in the Device, FALSE indicates "
7766 "that the media should be unlocked. The method returns 0 if "
7767 "successful, 1 if not supported, and any other value if an "
7768 "error occurred. The set of possible return codes should be "
7769 "specified in a ValueMap qualifier on the method. The strings "
7770 "to which the ValueMap contents are 'translated' should be "
7771 karl 1.1 "specified as a Values array qualifier on the method.")
7772 ]
7773 uint32 LockMedia ([IN] boolean Lock);
7774 [Description (
7775 "For a MediaAccessDevice that supports removable Media, "
7776 "the number of times that Media have been mounted for "
7777 "data transfer or to clean the Device. For Devices "
7778 "accessing nonremovable Media, such as hard disks, "
7779 "this property is not applicable and should be set to 0."),
7780 Counter
7781 ]
7782 uint64 MountCount;
7783 [Description (
7784 "For a MediaAccessDevice that supports removable Media, "
7785 "the most recent date and time that Media was mounted "
7786 "on the Device. For Devices accessing nonremovable Media, "
7787 "such as hard disks, this property has no meaning and is "
7788 "not applicable.")
7789 ]
7790 datetime TimeOfLastMount;
7791 [Description (
7792 karl 1.1 "For a MediaAccessDevice that supports removable Media, "
7793 "the total time (in seconds) that Media have been mounted "
7794 "for data transfer or to clean the Device. For Devices "
7795 "accessing nonremovable Media, such as hard disks, "
7796 "this property is not applicable and should be set to 0.")
7797 ]
7798 uint64 TotalMountTime;
7799 [Description (
7800 "Defines 'Units' relative to its use in the property, "
7801 "MaxUnitsBeforeCleaning. This describes the criteria used "
7802 "to determine when the MediaAccessDevice should be cleaned."),
7803 ModelCorrespondence {
7804 "CIM_MediaAccessDevice.MaxUnitsBeforeCleaning",
7805 "CIM_MediaAccessDevice.UnitsUsed"}
7806 ]
7807 string UnitsDescription;
7808 [Description (
7809 "An unsigned integer indicating the maximum 'units' "
7810 "that can be used, with respect to the AccessDevice, "
7811 "before the Device should be cleaned. The property, "
7812 "UnitsDescription, defines how 'units' should be "
7813 karl 1.1 "interpreted."),
7814 ModelCorrespondence {
7815 "CIM_MediaAccessDevice.UnitsDescription"}
7816 ]
7817 uint64 MaxUnitsBeforeCleaning;
7818 [Description (
7819 "An unsigned integer indicating the currently used "
7820 "'units' of the AccessDevice, helpful to describe "
7821 "when the Device may require cleaning. The property, "
7822 "UnitsDescription, defines how 'units' should be "
7823 "interpreted."),
7824 Gauge,
7825 ModelCorrespondence {
7826 "CIM_MediaAccessDevice.UnitsDescription",
7827 "CIM_MediaAccessDevice.MaxUnitsBeforeCleaning"}]
7828 uint64 UnitsUsed;
7829 };
7830
7831 // ===================================================================
7832 // DiskDrive
7833 // ===================================================================
7834 karl 1.1 [Description (
7835 "Capabilities and managment of a DiskDrive, a subtype of "
7836 "MediaAccessDevice.")
7837 ]
7838 class CIM_DiskDrive : CIM_MediaAccessDevice
7839 {
7840 };
7841
7842 // ===================================================================
7843 // DisketteDrive
7844 // ===================================================================
7845 [Description (
7846 "Capabilities and managment of a DisketteDrive, a subtype of "
7847 "MediaAccessDevice.")
7848 ]
7849 class CIM_DisketteDrive : CIM_MediaAccessDevice
7850 {
7851 };
7852
7853 // ===================================================================
7854 // CDROMDrive
7855 karl 1.1 // ===================================================================
7856 [Description (
7857 "Capabilities and managment of a CDROMDrive, a subtype of "
7858 "MediaAccessDevice.")
7859 ]
7860 class CIM_CDROMDrive : CIM_MediaAccessDevice
7861 {
7862 };
7863
7864 // ===================================================================
7865 // WORMDrive
7866 // ===================================================================
7867 [Description (
7868 "Capabilities and managment of a WORMDrive, a subtype of "
7869 "MediaAccessDevice.")
7870 ]
7871 class CIM_WORMDrive : CIM_MediaAccessDevice
7872 {
7873 };
7874
7875 // ===================================================================
7876 karl 1.1 // MagnetoOpticalDrive
7877 // ===================================================================
7878 [Description (
7879 "Capabilities and managment of a MagnetoOpticalDrive, a "
7880 "subtype of MediaAccessDevice.")
7881 ]
7882 class CIM_MagnetoOpticalDrive : CIM_MediaAccessDevice
7883 {
7884 };
7885
7886 // ===================================================================
7887 // TapeDrive
7888 // ===================================================================
7889 [Description (
7890 "Capabilities and managment of a TapeDrive, a subtype of "
7891 "MediaAccessDevice.")
7892 ]
7893 class CIM_TapeDrive : CIM_MediaAccessDevice
7894 {
7895 [Description (
7896 "EOTWarningZoneSize indicates the size, in bytes, of the "
7897 karl 1.1 "area designated as 'end of tape'. Access in this area "
7898 "generates an 'end of tape' warning."),
7899 Units ("Bytes")
7900 ]
7901 uint32 EOTWarningZoneSize;
7902 [Description ("Maximum partition count for the TapeDrive.")]
7903 uint32 MaxPartitionCount;
7904 [Description (
7905 "Padding indicates the number of bytes inserted between "
7906 "blocks on a tape Media."),
7907 Units ("Bytes")
7908 ]
7909 uint32 Padding;
7910 [Description (
7911 "Time in milliseconds to move from the most physically distant "
7912 "point on the tape to the beginning."),
7913 Units ("MilliSeconds")
7914 ]
7915 uint64 MaxRewindTime;
7916 };
7917
7918 karl 1.1 // ===================================================================
7919 // DVDDrive
7920 // ===================================================================
7921 [Description (
7922 "Capabilities and management of a DVDDrive, a subtype of "
7923 "MediaAccessDevice.")
7924 ]
7925 class CIM_DVDDrive : CIM_MediaAccessDevice
7926 {
7927 [Description (
7928 "The CD and DVD formats that are supported by this Device. "
7929 "For example, the Drive may support \"CD-ROM\" and "
7930 "\"DVD-RAM\". In this case, the values 16 and 24 would be "
7931 "written to the array. This property's values align with "
7932 "those defined in PhysicalMedia.MediaType."),
7933 ValueMap {"0", "1", "16", "17", "18", "19", "22", "23", "24",
7934 "25", "26", "27", "33", "34", "35", "36", "37", "38",
7935 "39", "40", "41", "42"},
7936 Values {"Unknown", "Other", "CD-ROM", "CD-ROM/XA",
7937 "CD-I", "CD Recordable", "DVD", "DVD-RW+",
7938 "DVD-RAM", "DVD-ROM", "DVD-Video", "Divx", "CD-RW",
7939 karl 1.1 "CD-DA", "CD+", "DVD Recordable", "DVD-RW",
7940 "DVD-Audio", "DVD-5", "DVD-9", "DVD-10", "DVD-18"},
7941 ModelCorrespondence {"CIM_PhysicalMedia.MediaType"}
7942 ]
7943 uint16 FormatsSupported[];
7944 };
7945
7946 // ===================================================================
7947 // Processor
7948 // ===================================================================
7949 [Description (
7950 "Capabilities and management of the Processor LogicalDevice.")
7951 ]
7952 class CIM_Processor : CIM_LogicalDevice
7953 {
7954 [Description (
7955 "A free form string describing the role of the Processor - "
7956 "for example, \"Central Processor\" or \"Math Processor\".")
7957 ]
7958 string Role;
7959 [Description (
7960 karl 1.1 "The Processor family type. For example, values include "
7961 "\"Pentium(R) processor with MMX(TM) technology\" (14) and \"68040\" (96)."),
7962 ValueMap {
7963 "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
7964 "11", "12", "13", "14", "15", "16", "17", "18", "19",
7965 "24", "25", "26", "27", "28", "29", "30",
7966 "31", "32", "33", "34", "35", "36", "37", "38", "39",
7967 "48", "49", "50",
7968 "51", "52", "53", "54", "55",
7969 "64", "65", "66", "67", "68", "69",
7970 "80",
7971 "81", "82", "83", "84", "85", "86", "87", "88",
7972 "96", "97", "98", "99", "100",
7973 "101",
7974 "112", "120",
7975 "121", "128", "130",
7976 "144", "145", "146", "147", "148", "149", "150",
7977 "160",
7978 "176", "177", "180",
7979 "200", "201", "202",
7980 "250", "251",
7981 karl 1.1 "260", "261",
7982 "280", "281",
7983 "300", "301", "302",
7984 "320", "350", "500"},
7985 Values {
7986 "Other", "Unknown", "8086", "80286", "80386", "80486","8087", "80287", "80387", "80487",
7987 "Pentium(R) brand","Pentium(R) Pro", "Pentium(R) II",
7988 "Pentium(R) processor with MMX(TM) technology", "Celeron(TM)",
7989 "Pentium(R) II Xeon(TM)", "Pentium(R) III",
7990 "M1 Family", "M2 Family", "K5 Family", "K6 Family",
7991 "K6-2", "K6-3", "AMD Athlon(TM) Processor Family",
7992 "AMD(R) Duron(TM) Processor","AMD29000 Family", "K6-2+",
7993 "Power PC Family", "Power PC 601", "Power PC 603", "Power PC 603+",
7994 "Power PC 604", "Power PC 620", "Power PC X704",
7995 "Power PC 750", "Alpha Family", "Alpha 21064",
7996 "Alpha 21066", "Alpha 21164", "Alpha 21164PC",
7997 "Alpha 21164a", "Alpha 21264", "Alpha 21364",
7998 "MIPS Family", "MIPS R4000", "MIPS R4200",
7999 "MIPS R4400", "MIPS R4600", "MIPS R10000",
8000 "SPARC Family", "SuperSPARC", "microSPARC II",
8001 "microSPARC IIep", "UltraSPARC", "UltraSPARC II",
8002 karl 1.1 "UltraSPARC IIi", "UltraSPARC III", "UltraSPARC IIIi",
8003 "68040", "68xxx Family", "68000", "68010", "68020",
8004 "68030", "Hobbit Family", "Crusoe(TM) TM5000 Family",
8005 "Crusoe(TM) TM3000 Family","Weitek", "Itanium(TM) Processor",
8006 "PA-RISC Family", "PA-RISC 8500", "PA-RISC 8000",
8007 "PA-RISC 7300LC", "PA-RISC 7200", "PA-RISC 7100LC",
8008 "PA-RISC 7100", "V30 Family", "Pentium(R) III Xeon(TM)",
8009 "Pentium(R) III Processor with Intel(R) SpeedStep(TM) Technology",
8010 "AS400 Family", "IBM390 Family", "G4", "G5", "i860", "i960",
8011 "SH-3", "SH-4", "ARM", "StrongARM", "6x86", "MediaGX", "MII",
8012 "WinChip", "DSP", "Video Processor"},
8013 MappingStrings {"MIF.DMTF|Processor|013"},
8014 ModelCorrespondence {"CIM_Processor.OtherFamilyDescription"}
8015 ]
8016 uint16 Family;
8017 [Description (
8018 "A string describing the Processor Family type - used when "
8019 "the Family property is set to 1 (\"Other\"). This string "
8020 "should be set to NULL when the Family property is any "
8021 "value other than 1."),
8022 MaxLen (64),
8023 karl 1.1 ModelCorrespondence {"CIM_Processor.Family"}
8024 ]
8025 string OtherFamilyDescription;
8026 [Description (
8027 "CPU socket information including data on how this "
8028 "Processor can be upgraded (if upgrades are supported). "
8029 "This property is an integer enumeration."),
8030 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9",
8031 "10", "11", "12", "13", "14"},
8032 Values {"Other", "Unknown", "Daughter Board", "ZIF Socket",
8033 "Replacement/Piggy Back", "None", "LIF Socket", "Slot 1",
8034 "Slot 2", "370 Pin Socket", "Slot A", "Slot M", "Socket 423",
8035 "Socket A (Socket 462)"},
8036 MappingStrings {"MIF.DMTF|Processor|013"}
8037 ]
8038 uint16 UpgradeMethod;
8039 [Description ("The maximum speed (in MHz) of this Processor."),
8040 Units ("MegaHertz"),
8041 MappingStrings {"MIF.DMTF|Processor|013"}
8042 ]
8043 uint32 MaxClockSpeed;
8044 karl 1.1 [Description ("The current speed (in MHz) of this Processor."),
8045 Units ("MegaHertz"),
8046 MappingStrings {"MIF.DMTF|Processor|013"}
8047 ]
8048 uint32 CurrentClockSpeed;
8049 [Description ("Processor data width in bits."),
8050 Units ("Bits")
8051 ]
8052 uint16 DataWidth;
8053 [Description ("Processor address width in bits."),
8054 Units ("Bits")
8055 ]
8056 uint16 AddressWidth;
8057 [Gauge, Description (
8058 "Loading of this Processor, averaged over the last minute, "
8059 "in Percent."),
8060 Units ("Percent"),
8061 MappingStrings {"MIB.IETF|HOST-RESOURCES-MIB.hrProcessorLoad"}
8062 ]
8063 uint16 LoadPercentage;
8064 [Description (
8065 karl 1.1 "Stepping is a free-form string indicating the revision "
8066 "level of the Processor within the Processor.Family."),
8067 ModelCorrespondence {"CIM_Processor.Family"}
8068 ]
8069 string Stepping;
8070 [Description (
8071 "A globally unique identifier for the Processor. This "
8072 "identifier may only be unique within a Processor Family.")
8073 ]
8074 string UniqueID;
8075 [Description (
8076 "The CPUStatus property indicates the current status of "
8077 "the Processor. For example, it may be disabled by the user "
8078 "via BIOS (value=2), or disabled due to a POST error (value="
8079 "3). Information in this property can be obtained from SMBIOS, "
8080 "the Type 4 structure, the Status attribute."),
8081 ValueMap {"0", "1", "2", "3", "4", "7"},
8082 Values {"Unknown", "CPU Enabled",
8083 "CPU Disabled by User via BIOS Setup",
8084 "CPU Disabled By BIOS (POST Error)", "CPU Is Idle", "Other"}
8085 ]
8086 karl 1.1 uint16 CPUStatus;
8087 };
8088
8089 // ===================================================================
8090 // ComputerSystemProcessor
8091 // ===================================================================
8092 [Association,
8093 Aggregation,
8094 Description (
8095 "Association indicating the processor(s) of a Unitary"
8096 "ComputerSystem. At least one processor is required. Note "
8097 "that this relationship inherits from the SystemDevice "
8098 "association, and therefore, the System Processor is weak to "
8099 "the aggregating UnitaryComputerSystem.")
8100 ]
8101 class CIM_ComputerSystemProcessor : CIM_SystemDevice
8102 {
8103 [Override ("GroupComponent"),
8104 Aggregate,
8105 Description ("The UnitaryComputerSystem.")
8106 ]
8107 karl 1.1 CIM_UnitaryComputerSystem REF GroupComponent;
8108 [Override ("PartComponent"),
8109 Description (
8110 "The Processor which is part of the UnitaryComputerSystem.")
8111 ]
8112 CIM_Processor REF PartComponent;
8113 };
8114
8115 // ===================================================================
8116 // StorageExtent
8117 // ===================================================================
8118 [Description (
8119 "StorageExtent describes the capabilities and management of "
8120 "the various media that exist to store data and allow data "
8121 "retrieval. This superclass could be used to represent the "
8122 "various components of RAID (Hardware or Software) or as a "
8123 "raw logical extent on top of physical media.")
8124 ]
8125 class CIM_StorageExtent : CIM_LogicalDevice
8126 {
8127 [Description ("Type of data organization used."),
8128 karl 1.1 Values {"Other", "Unknown", "Fixed Block", "Variable Block",
8129 "Count Key Data"}
8130 ]
8131 uint16 DataOrganization;
8132 [Description (
8133 "A free form string describing the media and/or its use."),
8134 MappingStrings {
8135 "MIB.IETF|HOST-RESOURCES-MIB.hrStorageDescr"}
8136 ]
8137 string Purpose;
8138 [Description (
8139 "Access describes whether the media is readable (value=1), "
8140 "writeable (value=2), or both (value=3). \"Unknown\" (0) "
8141 "and \"Write Once\" (4) can also be defined."),
8142 Values {"Unknown", "Readable", "Writeable",
8143 "Read/Write Supported", "Write Once"}
8144 ]
8145 uint16 Access;
8146 [Description (
8147 "ErrorMethodology is a free-form string describing "
8148 "the type of error detection and correction supported "
8149 karl 1.1 "by this StorageExtent.")
8150 ]
8151 string ErrorMethodology;
8152 [Description (
8153 "Size in bytes of the blocks which form this StorageExtent. "
8154 "If variable block size, then the maximum block size in bytes "
8155 "should be specified. If the block size is unknown or if a "
8156 "block concept is not valid (for example, for Aggregate Extents, "
8157 "Memory or LogicalDisks), enter a 1."),
8158 Units ("Bytes"),
8159 MappingStrings {"MIF.DMTF|Host Storage|001.4",
8160 "MIB.IETF|HOST-RESOURCES-MIB.hrStorageAllocationUnits,"
8161 "MIF.DMTF|Storage Devices|001.5"}
8162 ]
8163 uint64 BlockSize;
8164 [Description (
8165 "Total number of logically contiguous blocks, of size Block"
8166 "Size, which form this Extent. The total size of the Extent "
8167 "can be calculated by multiplying BlockSize by NumberOfBlocks. "
8168 "If the BlockSize is 1, this property is the total size of the "
8169 "Extent."),
8170 karl 1.1 MappingStrings {"MIF.DMTF|Host Storage|001.5",
8171 "MIB.IETF|HOST-RESOURCES-MIB.hrStorageSize"}
8172 ]
8173 uint64 NumberOfBlocks;
8174 [Description (
8175 "The maximum number of blocks, of size BlockSize, which are "
8176 "available for consumption when layering StorageExtents "
8177 "using the BasedOn association. This property only has meaning "
8178 "when this StorageExtent is an Antecedent reference in a "
8179 "BasedOn relationship. For example, a StorageExtent could be "
8180 "composed of 120 blocks. However, the Extent itself may use 20 "
8181 "blocks for redundancy data. If another StorageExtent is BasedOn "
8182 "this Extent, only 100 blocks would be available to it. This "
8183 "information ('100 blocks is available for consumption') is "
8184 "indicated in the ConsumableBlocks property.")
8185 ]
8186 uint64 ConsumableBlocks;
8187 [Description (
8188 "True indicates that the underlying StorageExtent(s) "
8189 "participate in a StorageRedundancyGroup.")
8190 ]
8191 karl 1.1 boolean IsBasedOnUnderlyingRedundancy;
8192 [Description (
8193 "Boolean set to TRUE if the Storage is sequentially accessed "
8194 "by a MediaAccessDevice. A TapePartition is an example of a "
8195 "sequentially accessed StorageExtent. StorageVolumes, Disk"
8196 "Partitions and LogicalDisks represent randomly accessed "
8197 "Extents.")
8198 ]
8199 boolean SequentialAccess;
8200 };
8201
8202 // ===================================================================
8203 // ResidesOnExtent
8204 // ===================================================================
8205 [Association,
8206 Description (
8207 "An association between a FileSystem and the StorageExtent "
8208 "where it is located. Typically, a FileSystem ResidesOn "
8209 "a LogicalDisk.")
8210 ]
8211 class CIM_ResidesOnExtent : CIM_Dependency
8212 karl 1.1 {
8213 [Override ("Antecedent"),
8214 Description ("The StorageExtent.")
8215 ]
8216 CIM_StorageExtent REF Antecedent;
8217 [Override ("Dependent"),
8218 Description (
8219 "The FileSystem that is located on the StorageExtent.")
8220 ]
8221 CIM_FileSystem REF Dependent;
8222 };
8223
8224 // ===================================================================
8225 // ExtentRedundancyComponent
8226 // ===================================================================
8227 [Association,
8228 Aggregation,
8229 Description (
8230 "Describes the StorageExtents participating in a Storage"
8231 "RedundancyGroup.")
8232 ]
8233 karl 1.1 class CIM_ExtentRedundancyComponent : CIM_RedundancyComponent
8234 {
8235 [Override ("GroupComponent"), Aggregate,
8236 Description ("The StorageRedundancyGroup.")
8237 ]
8238 CIM_StorageRedundancyGroup REF GroupComponent;
8239 [Override ("PartComponent"),
8240 Description (
8241 "The StorageExtent participating in the RedundancyGroup.")
8242 ]
8243 CIM_StorageExtent REF PartComponent;
8244 };
8245
8246 // ===================================================================
8247 // BasedOn
8248 // ===================================================================
8249 [Association,
8250 Description (
8251 "BasedOn is an association describing how StorageExtents can "
8252 "be assembled from lower level Extents. For example, "
8253 "ProtectedSpaceExtents are parts of PhysicalExtents, while "
8254 karl 1.1 "VolumeSets are assembled from one or more Physical or "
8255 "ProtectedSpaceExtents. As another example, CacheMemory "
8256 "can be defined independently and realized in a PhysicalElement "
8257 "or can be 'based on' Volatile or NonVolatileStorageExtents.")
8258 ]
8259 class CIM_BasedOn : CIM_Dependency
8260 {
8261 [Override ("Antecedent"),
8262 Description ("The lower level StorageExtent.")
8263 ]
8264 CIM_StorageExtent REF Antecedent;
8265 [Override ("Dependent"),
8266 Description ("The higher level StorageExtent.")
8267 ]
8268 CIM_StorageExtent REF Dependent;
8269 [Description (
8270 "StartingAddress indicates where in lower level storage, "
8271 "the higher level Extent begins.")
8272 ]
8273 uint64 StartingAddress;
8274 [Description (
8275 karl 1.1 "EndingAddress indicates where in lower level storage, "
8276 "the higher level Extent ends. This property is useful when "
8277 "mapping non-contiguous Extents into a higher level grouping.")
8278 ]
8279 uint64 EndingAddress;
8280 [Description (
8281 "If there is an order to the BasedOn associations that "
8282 "describe how a higher level StorageExtent is assembled, the "
8283 "OrderIndex property indicates this. When an order exists, "
8284 "the instances of BasedOn with the same Dependent value "
8285 "(i.e., the same higher level Extent) should place unique "
8286 "values in the OrderIndex property. The lowest value implies "
8287 "the first member of the collection of lower level Extents, "
8288 "and increasing values imply successive members of the "
8289 "collection. If there is no ordered relationship, a value "
8290 "of zero should be specified. An example of the use of this "
8291 "property is to define a RAID-0 striped array of 3 disks. "
8292 "The resultant RAID array is a StorageExtent that is "
8293 "dependent on (BasedOn) the StorageExtents that describe "
8294 "each of the 3 disks. The OrderIndex of each BasedOn "
8295 "association from the disk Extents to the RAID array could "
8296 karl 1.1 "be specified as 1, 2 and 3 to indicate the order in which "
8297 "the disk Extents are used to access the RAID data.")
8298 ]
8299 uint16 OrderIndex;
8300 };
8301
8302 // ===================================================================
8303 // MediaPresent
8304 // ===================================================================
8305 [Association,
8306 Description (
8307 "Where a StorageExtent must be accessed through a MediaAccess"
8308 "Device, this relationship is described by the MediaPresent "
8309 "association."),
8310 MappingStrings {"MIF.DMTF|Storage Devices|001.8"}
8311 ]
8312 class CIM_MediaPresent : CIM_Dependency
8313 {
8314 [Override ("Antecedent"),
8315 Description ("The MediaAccessDevice.")
8316 ]
8317 karl 1.1 CIM_MediaAccessDevice REF Antecedent;
8318 [Override ("Dependent"),
8319 Description (
8320 "The StorageExtent accessed using the MediaAccessDevice.")
8321 ]
8322 CIM_StorageExtent REF Dependent;
8323 [Description (
8324 "Boolean indicating that the accessed StorageExtent is "
8325 "fixed in the MediaAccessDevice and can not be ejected.")
8326 ]
8327 boolean FixedMedia;
8328 };
8329
8330 // ===================================================================
8331 // StorageError
8332 // ===================================================================
8333 [Description (
8334 "StorageError defines blocks of media or memory space that are "
8335 "mapped 'out of use' due to errors. The Key of the class is "
8336 "the StartingAddress of the bytes in error.")
8337 ]
8338 karl 1.1 class CIM_StorageError : CIM_ManagedElement
8339 {
8340 [Propagated("CIM_StorageExtent.SystemCreationClassName"),
8341 Key, MaxLen (256),
8342 Description ("The scoping System's CreationClassName.")
8343 ]
8344 string SystemCreationClassName;
8345 [Propagated("CIM_StorageExtent.SystemName"),
8346 Key, MaxLen (256),
8347 Description ("The scoping System's Name.")
8348 ]
8349 string SystemName;
8350 [Propagated("CIM_StorageExtent.CreationClassName"),
8351 Key, MaxLen (256),
8352 Description ("The scoping StorageExtent's CreationClassName.")
8353 ]
8354 string DeviceCreationClassName;
8355 [Propagated("CIM_StorageExtent.DeviceID"),
8356 Key, MaxLen (64),
8357 Description ("The scoping StorageExtent's DeviceID.")
8358 ]
8359 karl 1.1 string DeviceID;
8360 [Key,
8361 Description ("The starting address of the bytes in error.")
8362 ]
8363 uint64 StartingAddress;
8364 [Description ("The ending address of the bytes in error.")]
8365 uint64 EndingAddress;
8366 };
8367
8368 // ===================================================================
8369 // StorageDefect
8370 // ===================================================================
8371 [Association,
8372 Aggregation,
8373 Description (
8374 "The StorageDefect aggregation collects the StorageErrors for "
8375 "a StorageExtent.")
8376 ]
8377 class CIM_StorageDefect
8378 {
8379 [Key, Aggregate,
8380 karl 1.1 Description (
8381 "The Extent reference defines the StorageExtent on which the "
8382 "errors occurred."),
8383 Min (1), Max (1)
8384 ]
8385 CIM_StorageExtent REF Extent;
8386 [Key, Description (
8387 "Error references the Error object, defining the starting "
8388 "and ending addresses that are 'mapped out' of the Storage"
8389 "Extent."),
8390 Weak
8391 ]
8392 CIM_StorageError REF Error;
8393 };
8394
8395 // ===================================================================
8396 // PhysicalExtent
8397 // ===================================================================
8398 [Description (
8399 "A PhysicalExtent is used to model an SCC RAID "
8400 "implementation. It defines the consecutive addressable "
8401 karl 1.1 "block addresses on a single storage device, that are "
8402 "treated as a single StorageExtent and that are in the "
8403 "same StorageRedundancyGroup. An alternate possibility, "
8404 "if automatic configuration is used, is to instantiate or "
8405 "extend the AggregatePExtent class.")
8406 ]
8407 class CIM_PhysicalExtent : CIM_StorageExtent
8408 {
8409 [Override ("BlockSize"),
8410 // Override is used to define the MappingString qualifier
8411 MappingStrings {"MIF.DMTF|Physical Extent|001.4"}
8412 ]
8413 uint64 BlockSize;
8414 [Override ("NumberOfBlocks"),
8415 // Override is used to define the MappingString qualifier
8416 MappingStrings {"MIF.DMTF|Physical Extent|001.3"}
8417 ]
8418 uint64 NumberOfBlocks;
8419 [Description (
8420 "Number of bytes of user data to skip before "
8421 "starting the check data interleave."),
8422 karl 1.1 Units ("Bytes"),
8423 MappingStrings {"MIF.DMTF|Physical Extent|001.6"}
8424 ]
8425 uint64 UnitsBeforeCheckDataInterleave;
8426 [Description (
8427 "Number of bytes to be reserved for check data."),
8428 Units ("Bytes"),
8429 MappingStrings {"MIF.DMTF|Physical Extent|001.7"}
8430 ]
8431 uint64 UnitsOfCheckData;
8432 [Description (
8433 "Number of bytes to be reserved for user data."),
8434 Units ("Bytes"),
8435 MappingStrings {"MIF.DMTF|Physical Extent|001.8"}
8436 ]
8437 uint64 UnitsOfUserData;
8438 };
8439
8440 // ===================================================================
8441 // PExtentRedundancyComponent
8442 // ===================================================================
8443 karl 1.1 [Association,
8444 Aggregation,
8445 Description (
8446 "Describes the PhysicalExtents participating in a Storage"
8447 "RedundancyGroup.")
8448 ]
8449 class CIM_PExtentRedundancyComponent : CIM_ExtentRedundancyComponent
8450 {
8451 [Override ("GroupComponent"),
8452 Aggregate,
8453 Description ("The StorageRedundancyGroup.")
8454 ]
8455 CIM_StorageRedundancyGroup REF GroupComponent;
8456 [Override ("PartComponent"),
8457 Description (
8458 "The PhysicalExtent participating in the RedundancyGroup.")
8459 ]
8460 CIM_PhysicalExtent REF PartComponent;
8461 };
8462
8463 // ===================================================================
8464 karl 1.1 // ProtectedSpaceExtent
8465 // ===================================================================
8466 [Description (
8467 "A ProtectedSpaceExtent is used to model an SCC RAID "
8468 "implementation. ProtectedSpaceExtent defines addressable logical "
8469 "block addresses, treated as a single Extent, located on one or "
8470 "more PhysicalExtents. ProtectedSpaceExtents exclude any logical "
8471 "blocks mapped as check data and contain user data stripe depth "
8472 "mapping information. An alternate possibility, if automatic "
8473 "configuration is used, is to instantiate or extend the Aggregate"
8474 "PSExtent class.")
8475 ]
8476 class CIM_ProtectedSpaceExtent : CIM_StorageExtent
8477 {
8478 [Override ("BlockSize"),
8479 // Override is used to define the MappingString qualifier
8480 MappingStrings {"MIF.DMTF|Protected Space Extent|001.4"}
8481 ]
8482 uint64 BlockSize;
8483 [Override ("NumberOfBlocks"),
8484 Description (
8485 karl 1.1 "The number of user data blocks contained in this Extent."),
8486 MappingStrings {"MIF.DMTF|Protected Space Extent|001.3"}
8487 ]
8488 uint64 NumberOfBlocks;
8489 [Description (
8490 "For a ProtectedSpaceExtent that is allocated to a VolumeSet, "
8491 "(i.e. is named in a CIM_VolumeSetBasedOnPSExtent "
8492 "association), this property is the number of user data bytes "
8493 "placed on this ProtectedSpaceExtent before moving on to the "
8494 "next ProtectedSpaceExtent in the VolumeSet. Otherwise, this "
8495 "ProtectedSpaceExtent is considered to be unallocated and "
8496 "this property shall be set to zero (0h.)"),
8497 Units ("Bytes"),
8498 MappingStrings {"MIF.DMTF|Protected Space Extent|001.6"}
8499 ]
8500 uint64 UserDataStripeDepth;
8501 };
8502
8503 // ===================================================================
8504 // PSExtentBasedOnPExtent
8505 // ===================================================================
8506 karl 1.1 [Association,
8507 Description (
8508 "ProtectedSpaceExtents are BasedOn a PhysicalExtent. This "
8509 "relationship is made explicit in this association.")
8510 ]
8511 class CIM_PSExtentBasedOnPExtent : CIM_BasedOn
8512 {
8513 [Override ("Antecedent"),
8514 Description ("The PhysicalExtent.")
8515 ]
8516 CIM_PhysicalExtent REF Antecedent;
8517 [Override ("Dependent"),
8518 Description (
8519 "The ProtectedSpaceExtent which is built on the Physical"
8520 "Extent.")
8521 ]
8522 CIM_ProtectedSpaceExtent REF Dependent;
8523 [Override ("StartingAddress"),
8524 Description (
8525 "The starting logical block address of the PhysicalExtent "
8526 "from which this ProtectedSpaceExtent is derived."),
8527 karl 1.1 MappingStrings {"MIF.DMTF|Protected Space Extent|001.2"}
8528 ]
8529 uint64 StartingAddress;
8530 };
8531
8532 // ===================================================================
8533 // StorageVolume
8534 // ===================================================================
8535 [Description (
8536 "A StorageVolume is an Extent that is presented to the Operating"
8537 "System (for example, by a hardware RAID cabinet), to a File"
8538 "System (for example, by a software volume manager) or to another "
8539 "entity. StorageVolumes do NOT participate in StorageRedundancy"
8540 "Groups. They are directly Realized in hardware or are the end "
8541 "result of assembling lower level Extents.")
8542 ]
8543 class CIM_StorageVolume : CIM_StorageExtent
8544 {
8545 };
8546
8547 // ===================================================================
8548 karl 1.1 // VolumeSet
8549 // ===================================================================
8550 [Description (
8551 "A VolumeSet is used to model an SCC RAID implementation. "
8552 "VolumeSets represent a contiguous range of logical blocks "
8553 "presented to the operating environment. VolumeSets may overlap. "
8554 "However, the underlying PhysicalExtents within the overlap "
8555 "shall not contain any check data. They are BasedOn one or more "
8556 "ProtectedSpaceExtents. These BasedOn associations should be "
8557 "instantiated or subclassed as needed.")
8558 ]
8559 class CIM_VolumeSet : CIM_StorageVolume
8560 {
8561 [Override ("NumberOfBlocks"),
8562 // Override is used to define the MappingString qualifier
8563 MappingStrings {"MIF.DMTF|Volume Set|001.3"}
8564 ]
8565 uint64 NumberOfBlocks;
8566 [Description (
8567 "Number of contiguous ProtectedSpaceExtents counted "
8568 "before looping back to the first ProtectedSpaceExtent "
8569 karl 1.1 "of the current stripe. It is the number of Extents forming "
8570 "the user data stripe."),
8571 MappingStrings {"MIF.DMTF|Volume Set|001.4"}
8572 ]
8573 uint64 PSExtentStripeLength;
8574 [Description (
8575 "Number of ProtectedSpaceExtents to stripe as a collective "
8576 "set. In SCC, this value is defined as the number of stripes "
8577 "to count before continuing to map into the next contiguous "
8578 "set of Extents, beyond the current stripe."),
8579 MappingStrings {"MIF.DMTF|Volume Set|001.5"}
8580 ]
8581 uint64 PSExtentInterleaveDepth;
8582 [Description (
8583 "VolumeSets in SCC have additional status information "
8584 "beyond that captured in the Availability and StatusInfo "
8585 "properties, inherited from ManagedSystemElement. This "
8586 "additional information (for example, \"Protection Disabled\", "
8587 "value=9) is captured in the VolumeStatus property."),
8588 Values {"Other", "Unknown", "None/Not Applicable", "Broken",
8589 "Data Lost", "Dynamic Reconfig", "Exposed",
8590 karl 1.1 "Fractionally Exposed", "Partially Exposed",
8591 "Protection Disabled", "Readying", "Rebuild",
8592 "Recalculate", "Spare in Use", "Verify In Progress"}
8593 ]
8594 uint16 VolumeStatus;
8595 };
8596
8597 // ===================================================================
8598 // VolumeSetBasedOnPSExtent
8599 // ===================================================================
8600 [Association,
8601 Description (
8602 "VolumeSets are BasedOn on one or more ProtectedSpaceExtents. "
8603 "This relationship is made explicit in this association.")
8604 ]
8605 class CIM_VolumeSetBasedOnPSExtent : CIM_BasedOn
8606 {
8607 [Override ("Antecedent"),
8608 Description ("The ProtectedSpaceExtent."),
8609 Min (1)
8610 ]
8611 karl 1.1 CIM_ProtectedSpaceExtent REF Antecedent;
8612 [Override ("Dependent"),
8613 Description (
8614 "The VolumeSet which is built on the ProtectedSpaceExtent.")
8615 ]
8616 CIM_VolumeSet REF Dependent;
8617 [Description (
8618 "True if logical blocks in the ProtectedSpaceExtent are mapped "
8619 "in decrementing order. This property corresponds to the INCDEC "
8620 "value in the SCC-2 Volume Set PS_Extent Descriptor.")
8621 ]
8622 boolean LBAsMappedByDecrementing;
8623 [Description (
8624 "True if the logical block mapping algorithm includes check data "
8625 "bytes. This property corresponds to the NOCHKSKIP attribute in "
8626 "the SCC-2 Volume Set PS_Extent Descriptor.")
8627 ]
8628 boolean LBAMappingIncludesCheckData;
8629 };
8630
8631 // ===================================================================
8632 karl 1.1 // MediaPartition
8633 // ===================================================================
8634 [Description (
8635 "A MediaPartition is a presentation of a contiguous range "
8636 "of logical blocks and has identifying data written on/to it. "
8637 "It may include a signature written by the OS or by "
8638 "an application. This class is a common superclass for Disk and "
8639 "TapePartions. Partitions are directly realized by Physical"
8640 "Media (indicated by the RealizesExtent association) or built "
8641 "on StorageVolumes (indicated by the BasedOn association.")
8642 ]
8643 class CIM_MediaPartition : CIM_StorageExtent
8644 {
8645 [Description (
8646 "Boolean indicating that the Partition is labeled as "
8647 "bootable. (Note that this does not mean that an Operating"
8648 "System is actually loaded on the Partition.) With the advent "
8649 "of bootable Tape and other bootable media, this property is "
8650 "included in the higher level MediaPartition class, rather "
8651 "than in a subclass such as DiskPartition.")
8652 ]
8653 karl 1.1 boolean Bootable;
8654 [Description (
8655 "Boolean indicating that the Partition is available and "
8656 "may be allocated for use.")
8657 ]
8658 boolean Allocatable;
8659 [Description (
8660 "An identifying string written to the Partition. Additional "
8661 "information related to this 'Signature' may be found in the "
8662 "properties, SignatureState and SignatureAlgorithm."),
8663 ModelCorrespondence {"CIM_MediaPartition.SignatureState",
8664 "CIM_MediaPartition.SignatureAlgorithm"}
8665 ]
8666 string Signature;
8667 [Description (
8668 "A free-form string describing the algorithm used to "
8669 "define the Partition Signature. The value of this property "
8670 "is dependent on the Signature's State. "),
8671 ModelCorrespondence {"CIM_MediaPartition.Signature",
8672 "CIM_MediaPartition.SignatureState"}
8673 ]
8674 karl 1.1 string SignatureAlgorithm;
8675 [Description (
8676 "An enumeration describing the state of the Partition's "
8677 "identifying Signature string. Information such as "
8678 "\"Uninitialized\" (value=2), or \"Assigned by Owning "
8679 "Application\" (value=5) are possible entries. "),
8680 Values {"Unknown", "Unimplemented", "Uninitialized",
8681 "Calculated by Operating System",
8682 "Calculated by a Media Manager",
8683 "Assigned by Owning Application"},
8684 ModelCorrespondence {"CIM_MediaPartition.Signature",
8685 "CIM_MediaPartition.SignatureAlgorithm"}
8686 ]
8687 string SignatureState;
8688 [Description (
8689 "Boolean indicating that the Partition can be grown/extended "
8690 "without reformatting.")
8691 ]
8692 boolean Extendable;
8693 };
8694
8695 karl 1.1 // ===================================================================
8696 // DiskPartition
8697 // ===================================================================
8698 [Description (
8699 "A DiskPartition is a presentation of a contiguous range "
8700 "of logical blocks that is identifiable by the Operating"
8701 "System via the Partition's type and subtype fields. Disk"
8702 "Partitions should be directly realized by PhysicalMedia "
8703 "(indicated by the RealizesDiskPartition association) or built "
8704 "on StorageVolumes (indicated by the PartitionBasedOnVolume "
8705 "association.")
8706 ]
8707 class CIM_DiskPartition : CIM_MediaPartition
8708 {
8709 [Description (
8710 "Boolean indicating that the DiskPartition is labelled as "
8711 "the primary partition for a ComputerSystem.")
8712 ]
8713 boolean PrimaryPartition;
8714 [Description ("The type of Partition."),
8715 Values {"Unknown", "Primary", "Extended", "Logical"}
8716 karl 1.1 ]
8717 uint16 PartitionType;
8718 [Description (
8719 "The 'sub' type of a primary, extended, or logical Partition. "
8720 "The list of possible values corresponds to the decimal "
8721 "representation of the typical values in the Partition record."),
8722 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
8723 "10", "11", "12", "14", "15", "16", "17", "18",
8724 "20", "22", "23", "27", "28", "33", "35", "36",
8725 "38", "49", "51", "52", "53", "54", "55", "60",
8726 "64", "65", "66", "67", "80", "81", "82", "83",
8727 "84", "85", "86", "97", "99", "100", "101", "102",
8728 "103", "104", "105", "113", "115", "116", "117",
8729 "118", "119", "120", "121", "128", "129", "130",
8730 "131", "132", "134", "135", "147", "148", "161",
8731 "163", "164", "165", "166", "177", "179", "180",
8732 "182", "183", "184", "193", "196", "198", "199",
8733 "216", "219", "225", "227", "228", "229", "230",
8734 "239", "240", "241", "242", "243", "244", "246",
8735 "254", "255", "65535"},
8736 Values {"Empty | Microsoft", "DOS 12-bit FAT",
8737 karl 1.1 "XENIX root", "XENIX usr", "DOS 16-bit FAT",
8738 "DOS Extended", "DOS 16-bit FAT (> 32MB)",
8739 "OS/2 HPFS | Win NTFS | QNX Ver 2 | Adv UNIX",
8740 "AIX Boot | OS /2 | Dell (Array) | Commodore DOS",
8741 "AIX Data, Coherent", "OS/2 Boot Manager",
8742 "32-bit FAT", "32-bit FAT", "Microsoft 16-bit FAT",
8743 "Microsoft DOS Extended", "OPUS | OS/2 2.0",
8744 "OS/2 (MOSS) Inactive Type 1",
8745 "Compaq Diagnostics Partition | Microsoft",
8746 "OS/2 (MOSS) Inactive Type 4",
8747 "OS/2 (MOSS) Inactive Type 6",
8748 "OS/2 (MOSS) Inactive Type 7",
8749 "OS/2 (MOSS) Inactive Type B",
8750 "OS/2 (MOSS) Inactive Type C", "Microsoft",
8751 "Microsoft", "Microsoft", "Microsoft", "Microsoft",
8752 "Microsoft", "Microsoft", "OS/2 Logical Volume Manager",
8753 "Microsoft", "OS/2 JFS Log", "PowerQuest",
8754 "VENIX 80286 | Series/1 Disk", "Personal RISC Boot",
8755 "Veritas", "Veritas", "OnTrack Disk Manager Read Only DOS",
8756 "OnTrack Disk Manager Read/Write DOS",
8757 "CPM | Microport System V/386 | OnTrack Disk Mgr | Microsoft",
8758 karl 1.1 "OnTrack Disk Manager", "OnTrack Disk Manager Non-DOS",
8759 "Micro House EZ-Drive Non-DOS",
8760 "Golden Bow Vfeature | Microsoft",
8761 "Storage Dimensions SpeedStor | Microsoft",
8762 "UNIX - AT&T System V/386 | SCO UNIX",
8763 "Novell NetWare | Speedstore", "Novell NetWare",
8764 "Novell NetWare", "Novell", "Novell", "Novell",
8765 "Microsoft", "Microsoft", "Microsoft", "PC/IX IBM",
8766 "Microsoft", "QNX POSIX", "QNX POSIX (Secondary)",
8767 "QNX POSIX (Secondary)",
8768 "Minix (<=1.4a) | Linux | Microsoft",
8769 "Minix (>=1.4b) | Microsoft", "Linux Swap | Prime",
8770 "Linux Native | Apple", "System Hibernation for APM",
8771 "Microsoft", "HPFS FT mirror", "Amoeba | Microsoft",
8772 "Amoeba BBT | Microsoft", "Microsoft", "Microsoft",
8773 "Microsoft", "BSD/386", "Microsoft", "Microsoft",
8774 "Microsoft", "Microsoft", "Microsoft",
8775 "BSDI fs | Microsoft", "BSDI Swap | Microsoft",
8776 "Microsoft", "Microsoft", "Microsoft",
8777 "Syrinx | HPFS FT Disabled Mirror", "CP/M 86",
8778 "Digital Research CPM-86 | Concurrent DOS | OUTRIGGER",
8779 karl 1.1 "SpeedStor 12-bit FAT Extended",
8780 "DOS Read-Only | Storage Dimensions",
8781 "SpeedStor 16-bit FAT Extended", "Microsoft",
8782 "Microsoft", "Intel", "OS/2 Raw Data",
8783 "Storage Dimensions", "DOS (Secondary)", "Microsoft",
8784 "SpeedStor Large | Storage Dimensions", "Microsoft",
8785 "Lan Step | SpeedStor | IBM PS/2 IML",
8786 "Bad Block Tables", "Unknown"}
8787 ]
8788 uint16 PartitionSubtype;
8789 };
8790
8791 // ===================================================================
8792 // DiskPartitionBasedOnVolume
8793 // ===================================================================
8794 [Association,
8795 Description (
8796 "DiskPartitions should be BasedOn a single StorageVolume (for "
8797 "example, exposed by a hardware RAID cabinet), an SCC VolumeSet, "
8798 "or realized directly in PhysicalMedia. The first two "
8799 "relationships are made explicit in this association. The latter "
8800 karl 1.1 "is conveyed by the RealizesDiskPartition association.")
8801 ]
8802 class CIM_DiskPartitionBasedOnVolume : CIM_BasedOn
8803 {
8804 [Override ("Antecedent"), Max (1),
8805 Description ("The StorageVolume.") ]
8806 CIM_StorageVolume REF Antecedent;
8807 [Override ("Dependent"),
8808 Description ("The DiskPartition which is built on the Volume.")
8809 ]
8810 CIM_DiskPartition REF Dependent;
8811 };
8812
8813 // ===================================================================
8814 // TapePartition
8815 // ===================================================================
8816 [Description (
8817 "Capabilities and management of a TapePartition StorageExtent. "
8818 "Note that if a PhysicalTape is not partitioned, only a "
8819 "generic StorageExtent that represents the entire Tape should "
8820 "be instantiated. TapePartitions may be BasedOn other "
8821 karl 1.1 "StorageExtents or directly Realized on a PhysicalTape.")
8822 ]
8823 class CIM_TapePartition : CIM_MediaPartition
8824 {
8825 [Gauge, Description (
8826 "Number of blocks that are currently unused/not written on "
8827 "the Partition. When this number is multiplied by the "
8828 "BlockSize, inherited from StorageExtent, the total number "
8829 "of bytes available for writing can be computed.")
8830 ]
8831 uint64 UnusedBlocks;
8832
8833 };
8834
8835 // ===================================================================
8836 // TapePartitionOnSurface
8837 // ===================================================================
8838 [Association,
8839 Description (
8840 "TapePartitionOnSurface represents the ability to have one or "
8841 "more TapePartitions on each surface of a PhysicalTape. The "
8842 karl 1.1 "individual surfaces are represented as instances of "
8843 "CIM_StorageExtent.")
8844 ]
8845 class CIM_TapePartitionOnSurface : CIM_BasedOn
8846 {
8847 [Override ("Antecedent"),
8848 Max (1),
8849 Description (
8850 "The StorageExtent that represents the Tape's surface.")
8851 ]
8852 CIM_StorageExtent REF Antecedent;
8853 [Override ("Dependent"),
8854 Description ("The TapePartition which is built on the Extent.")
8855 ]
8856 CIM_TapePartition REF Dependent;
8857 };
8858
8859 // ===================================================================
8860 // LogicalDisk
8861 // ===================================================================
8862 [Description (
8863 karl 1.1 "A LogicalDisk is a presentation of a contiguous range of "
8864 "logical blocks that is identifiable by a FileSystem via the "
8865 "Disk's DeviceId (key) field. For example in a Windows "
8866 "environment, the DeviceID field would contain a drive letter. "
8867 "In a Unix environment, it would contain the access path; and in "
8868 "a NetWare environment, DeviceID would contain the volume name. "
8869 "LogicalDisks are typically built on a DiskPartition or Storage"
8870 "Volume (for example, exposed by a software volume manager) "
8871 "using the LogicalDiskBasedOnPartition or LogicalDiskBasedOn"
8872 "Volume associations. However, it can be based on other "
8873 "StorageExtents, like CIM_Memory, in the case of a RAM disk. "
8874 "The latter is described using the LogicalDiskBasedOnExtent "
8875 "relationship. (Indeed, the BasedOnExtent association is the "
8876 "superclass for the BasedOnPartition and BasedOnVolume "
8877 "relationships.)")
8878 ]
8879 class CIM_LogicalDisk : CIM_StorageExtent
8880 {
8881 };
8882
8883 // ===================================================================
8884 karl 1.1 // LogicalDiskBasedOnExtent
8885 // ===================================================================
8886 [Association,
8887 Description (
8888 "LogicalDisks can be BasedOn a single StorageVolume, Memory "
8889 "(in the case of a RAM Disk), a DiskPartition or other "
8890 "StorageExtent. These relationships are made explicit in this "
8891 "association. Subclasses of the association, LogicalDiskBasedOn"
8892 "Partition and LogicalDiskBasedOnVolume, detail the 'typical' "
8893 "semantics.")
8894 ]
8895 class CIM_LogicalDiskBasedOnExtent : CIM_BasedOn
8896 {
8897 [Override ("Antecedent"), Max (1),
8898 Description ("The StorageExtent.")
8899 ]
8900 CIM_StorageExtent REF Antecedent;
8901 [Override ("Dependent"),
8902 Description (
8903 "The LogicalDisk which is built on the StorageExtent.")
8904 ]
8905 karl 1.1 CIM_LogicalDisk REF Dependent;
8906 };
8907
8908 // ===================================================================
8909 // LogicalDiskBasedOnVolume
8910 // ===================================================================
8911 [Association,
8912 Description (
8913 "LogicalDisks can be BasedOn a single Volume (for example, "
8914 "exposed by a software volume manager), or be BasedOn a Disk"
8915 "Partition directly. The former relationship is made explicit "
8916 "in this association.")
8917 ]
8918 class CIM_LogicalDiskBasedOnVolume : CIM_LogicalDiskBasedOnExtent
8919 {
8920 [Override ("Antecedent"), Max (1),
8921 Description ("The StorageVolume.")
8922 ]
8923 CIM_StorageVolume REF Antecedent;
8924 };
8925
8926 karl 1.1 // ===================================================================
8927 // LogicalDiskBasedOnVolumeSet
8928 // ===================================================================
8929 [Association,
8930 Description (
8931 "LogicalDisks can be BasedOn a VolumeSet. This association is "
8932 "an optimization where software RAID doesn't exist and the "
8933 "LogicalDisk is built right on top of a VolumeSet presented by "
8934 "an SCC cabinet. However, this would be better modeled by a "
8935 "DiskPartition BasedOn the VolumeSet (described using the "
8936 "DiskPartitionBasedOnVolume association) and then basing the "
8937 "LogicalDisk on the DiskPartition (using the LogicalDisk"
8938 "BasedOnPartition association).")
8939 ]
8940 class CIM_LogicalDiskBasedOnVolumeSet : CIM_LogicalDiskBasedOnVolume
8941 {
8942 [Override ("Antecedent"),
8943 Max (1),
8944 Description ("The VolumeSet.")
8945 ]
8946 CIM_VolumeSet REF Antecedent;
8947 karl 1.1 };
8948
8949 // ===================================================================
8950 // LogicalDiskBasedOnPartition
8951 // ===================================================================
8952 [Association,
8953 Description (
8954 "LogicalDisks can be BasedOn a DiskPartition. For example, a "
8955 "personal computer's C: drive may be located on a Partition on "
8956 "local PhysicalMedia. In this association of LogicalDisks to "
8957 "Partitions, note that the cardinality of the Antecedent, Disk"
8958 "Partition, is Max(1). This dictates that a LogicalDisk can not "
8959 "span more than one Partition. However, there are cases where "
8960 "this is true. When it occurs, the LogicalDisk is really based "
8961 "on some kind of RAID configuration (for example, a mirror or "
8962 "stripe set). In these scenarios, the LogicalDisk is more "
8963 "correctly BasedOn a StorageVolume. To prevent incorrectly using "
8964 "the LogicalDiskBasedOnPartition association, the Max(1) "
8965 "qualifier was put on the Antecedent reference to the "
8966 "DiskPartition.")
8967 ]
8968 karl 1.1 class CIM_LogicalDiskBasedOnPartition : CIM_LogicalDiskBasedOnExtent
8969 {
8970 [Override ("Antecedent"),
8971 Max (1),
8972 Description ("The DiskPartition.")
8973 ]
8974 CIM_DiskPartition REF Antecedent;
8975 };
8976
8977 // ===================================================================
8978 // AggregatePExtent
8979 // ===================================================================
8980 [Description (
8981 "An AggregatePExtent is used to model an SCC RAID "
8982 "implementation. AggregatePExtents provide summary information "
8983 "about the addressable logical blocks which are in the same "
8984 "StorageRedundancyGroup and reside on the same storage device. "
8985 "This is an alternative grouping for PhysicalExtents, when only "
8986 "summary information is needed or when automatic configuration "
8987 "is used.")
8988 ]
8989 karl 1.1 class CIM_AggregatePExtent : CIM_StorageExtent
8990 {
8991 [Override ("NumberOfBlocks"),
8992 Description (
8993 "Total number of blocks (including the check data blocks) "
8994 "contained in this AggregatePExtent. The block size (an "
8995 "inherited property) should be set to the same value as for "
8996 "the MediaAccessDevice associated with this Extent."),
8997 MappingStrings {"MIF.DMTF|Aggregate Physical Extent|001.2"}
8998 ]
8999 uint64 NumberOfBlocks;
9000 [Description (
9001 "The number of blocks contained in this AggregatePExtent "
9002 "to be used as check data. If this AggregatePExtent is "
9003 "available, then this value shall be zero."),
9004 MappingStrings {"MIF.DMTF|Aggregate Physical Extent|001.3"}
9005 ]
9006 uint64 BlocksOfCheckData;
9007 };
9008
9009 // ===================================================================
9010 karl 1.1 // AggregateRedundancyComponent
9011 // ===================================================================
9012 [Association,
9013 Aggregation,
9014 Description (
9015 "Describes the AggregatePExtent in a StorageRedundancyGroup.")
9016 ]
9017 class CIM_AggregateRedundancyComponent : CIM_ExtentRedundancyComponent
9018 {
9019 [Override ("GroupComponent"),
9020 Aggregate,
9021 Description ("The StorageRedundancyGroup.")
9022 ]
9023 CIM_StorageRedundancyGroup REF GroupComponent;
9024 [Override ("PartComponent"),
9025 Description (
9026 "The AggregatePExtent participating in the RedundancyGroup.")
9027 ]
9028 CIM_AggregatePExtent REF PartComponent;
9029 };
9030
9031 karl 1.1 // ===================================================================
9032 // AggregatePSExtent
9033 // ===================================================================
9034 [Description (
9035 "An AggregatePSExtent is used to model an SCC RAID "
9036 "implementation. AggregatePSExtents define the number of "
9037 "addressable logical blocks on a single storage device, "
9038 "excluding any logical blocks mapped as check data. "
9039 "This is an alternative grouping for ProtectedSpaceExtents, "
9040 "when only summary information is needed or when automatic "
9041 "configuration is used.")
9042 ]
9043 class CIM_AggregatePSExtent : CIM_StorageExtent
9044 {
9045 [Override ("NumberOfBlocks"),
9046 Description (
9047 "Total number of user data blocks that are contained in this "
9048 "Extent."),
9049 MappingStrings {
9050 "MIF.DMTF|Aggregate Protected Space Extent|001.2"}
9051 ]
9052 karl 1.1 uint64 NumberOfBlocks;
9053 };
9054
9055 // ===================================================================
9056 // AggregatePSExtentBasedOnPExtent
9057 // ===================================================================
9058 [Association,
9059 Description (
9060 "AggregatePSExtents are BasedOn a single PhysicalExtent. This "
9061 "relationship is made explicit in this association.")
9062 ]
9063 class CIM_AggregatePSExtentBasedOnPExtent : CIM_BasedOn
9064 {
9065 [Override ("Antecedent"),
9066 Description ("The PhysicalExtent."),
9067 Max (1)
9068 ]
9069 CIM_PhysicalExtent REF Antecedent;
9070 [Override ("Dependent"),
9071 Description (
9072 "The AggregatePSExtent which is built on the PhysicalExtent.")
9073 karl 1.1 ]
9074 CIM_AggregatePSExtent REF Dependent;
9075 };
9076
9077 // ===================================================================
9078 // AggregatePSExtentBasedOnAggregatePExtent
9079 // ===================================================================
9080 [Association,
9081 Description (
9082 "AggregatePSExtents are BasedOn a single AggregatePExtent. This "
9083 "relationship is made explicit in this association.")
9084 ]
9085 class CIM_AggregatePSExtentBasedOnAggregatePExtent : CIM_BasedOn
9086 {
9087 [Override ("Antecedent"),
9088 Description ("The AggregatePExtent."),
9089 Max (1)
9090 ]
9091 CIM_AggregatePExtent REF Antecedent;
9092 [Override ("Dependent"),
9093 Description (
9094 karl 1.1 "The AggregatePSExtent which is built on the AggregatePExtent.")
9095 ]
9096 CIM_AggregatePSExtent REF Dependent;
9097 };
9098
9099 // ===================================================================
9100 // Snapshot
9101 // ===================================================================
9102 [Description (
9103 "The Snapshot class is an optional construct. It can be "
9104 "used to represent an Extent that contains a full copy of "
9105 "another Extent, or the changes to that Extent when performing "
9106 "a delta-based (delta before or delta after) copy.\n"
9107 "Snapshot's definition in CIM is not equivalent to the act "
9108 "of creating a volume or file-based snapshot, or a point in "
9109 "time copy. It is at a much lower level and represents the "
9110 "use of storage to hold a copied image of an Extent, or to hold "
9111 "changes to an Extent. Use of the Snapshot object when making "
9112 "a full copy is only recommended if the purpose is to describe "
9113 "the existence of a copy. (This use will be very infrequent.) "
9114 "The problem with describing an Extent solely as a 'snapshot' "
9115 karl 1.1 "is that when the snapshot/copy is broken, the object must be "
9116 "destroyed. Typically, this object still holds valid data, and "
9117 "would have to be reinstantiated. If the 'full copy' object "
9118 "is to be treated as a StorageVolume or more general Extent, "
9119 "then it should be modeled as such from the beginning - "
9120 "i.e., not as an instance of Snapshot but as an instance of a "
9121 "generic StorageExtent or StorageVolume. In this case, the "
9122 "Synchronized association would be used to describe that one "
9123 "StorageExtent is synchronized with another.\n"
9124 "When describing a delta-based snapshot/point in time copy, "
9125 "the Snapshot object represents the store holding the before/after "
9126 "image changes to the original Extent. For example, when doing a "
9127 "'delta before' Snapshot, the resultant target would be modeled "
9128 "as a StorageExtent that is BasedOn the original Extent and the "
9129 "instance of Snapshot (that holds the changes to the original Extent).")
9130 ]
9131 class CIM_Snapshot : CIM_StorageExtent
9132 {
9133 [Description ("True indicates that the snapshot is synced.") ]
9134 boolean IsSynced;
9135 [Description (
9136 karl 1.1 "The time stamp indicating when the sync occurred.") ]
9137 datetime SyncTime;
9138 };
9139
9140 // ===================================================================
9141 // SnapshotOfExtent
9142 // ===================================================================
9143 [Association,
9144 Description (
9145 "SnapshotOfExtent is an association between an Extent and "
9146 "its Snapshot. This relationship is made explicit in this "
9147 "association.")
9148 ]
9149 class CIM_SnapshotOfExtent : CIM_Dependency
9150 {
9151 [Override ("Antecedent"),
9152 Description ("The StorageExtent."),
9153 Max(1)
9154 ]
9155 CIM_StorageExtent REF Antecedent;
9156 [Override ("Dependent"),
9157 karl 1.1 Description ("The Snapshot.")
9158 ]
9159 CIM_Snapshot REF Dependent;
9160 [Description ("The type of snapshot."),
9161 Values {"Other", "Unknown", "Copy", "Before Delta",
9162 "After Delta"}
9163 ]
9164 uint16 SnapshotType;
9165 };
9166
9167 // ===================================================================
9168 // Memory
9169 // ===================================================================
9170 [Description (
9171 "Capabilities and management of Memory-related LogicalDevices.")
9172 ]
9173 class CIM_Memory : CIM_StorageExtent
9174 {
9175 [Override ("ErrorMethodology"),
9176 Description (
9177 "ErrorMethodology for Memory is a string property that "
9178 karl 1.1 "indicates whether parity or CRC algorithms, ECC or other "
9179 "mechanisms are used. Details on the algorithm can also "
9180 "be supplied."),
9181 MappingStrings {"MIF.DMTF|Physical Memory Array|001.7"}
9182 ]
9183 string ErrorMethodology;
9184 [Description (
9185 "The beginning address, referenced by an application or "
9186 "operating system and mapped by a memory controller, for "
9187 "this Memory object. The starting address is specified in "
9188 "KBytes."),
9189 Units ("KiloBytes"),
9190 MappingStrings {"MIF.DMTF|Memory Array Mapped Addresses|001.3",
9191 "MIF.DMTF|Memory Device Mapped Addresses|001.4"}
9192 ]
9193 uint64 StartingAddress;
9194 [Description (
9195 "The ending address, referenced by an application or "
9196 "operating system and mapped by a memory controller, for "
9197 "this Memory object. The ending address is specified in "
9198 "KBytes."),
9199 karl 1.1 Units ("KiloBytes"),
9200 MappingStrings {"MIF.DMTF|Memory Array Mapped Addresses|001.4",
9201 "MIF.DMTF|Memory Device Mapped Addresses|001.5"}
9202 ]
9203 uint64 EndingAddress;
9204 [Description (
9205 "An integer enumeration describing the type of error that "
9206 "occurred most recently. For example, single (value=6) or "
9207 "double bit errors (7) can be specified using this property. "
9208 "The values, 12-14, are undefined in the CIM Schema since in "
9209 "DMI, they mix the semantics of the type of error and whether "
9210 "it was correctable or not. The latter is indicated in the "
9211 "property, CorrectableError."),
9212 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
9213 "11", "12", "13", "14"},
9214 Values {"Other", "Unknown", "OK", "Bad Read", "Parity Error",
9215 "Single-Bit Error", "Double-Bit Error", "Multi-Bit Error",
9216 "Nibble Error", "Checksum Error", "CRC Error", "Undefined",
9217 "Undefined", "Undefined"},
9218 MappingStrings {"MIF.DMTF|Memory Device|005",
9219 "MIF.DMTF|Physical Memory Array|001.8"},
9220 karl 1.1 ModelCorrespondence {"CIM_Memory.OtherErrorDescription"}
9221 ]
9222 uint16 ErrorInfo;
9223 [Description (
9224 "Free form string providing more information if the Error"
9225 "Type property is set to 1, \"Other\". If not set to 1, this "
9226 "string has no meaning."),
9227 ModelCorrespondence {"CIM_Memory.ErrorInfo"}
9228 ]
9229 string OtherErrorDescription;
9230 [Description (
9231 "Boolean indicating that the most recent error was "
9232 "correctable. If the ErrorInfo property is equal to 3, "
9233 "\"OK\", then this property has no meaning."),
9234 MappingStrings {"MIF.DMTF|Memory Device|005",
9235 "MIF.DMTF|Physical Memory Array|001.8"}
9236 ]
9237 boolean CorrectableError;
9238 [Description (
9239 "The time that the last memory error occurred. The type of "
9240 "error is described by the ErrorInfo property. If the Error"
9241 karl 1.1 "Info property is equal to 3, \"OK\", then this property has "
9242 "no meaning.")
9243 ]
9244 datetime ErrorTime;
9245 [Description (
9246 "An integer enumeration indicating the memory access "
9247 "operation that caused the last error. The type of error is "
9248 "described by the ErrorInfo property. If the ErrorInfo "
9249 "property is equal to 3, \"OK\", then this property "
9250 "has no meaning."),
9251 ValueMap {"1", "2", "3", "4", "5"},
9252 Values {"Other", "Unknown", "Read", "Write", "Partial Write"},
9253 MappingStrings {"MIF.DMTF|Memory Device|005",
9254 "MIF.DMTF|Physical Memory Array|001.10"}
9255 ]
9256 uint16 ErrorAccess;
9257 [Description (
9258 "The size of the data transfer in bits that caused the last "
9259 "error. 0 indicates no error. If the ErrorInfo property "
9260 "is equal to 3, \"OK\", then this property should be set "
9261 "to 0."),
9262 karl 1.1 Units ("Bits"),
9263 MappingStrings {"MIF.DMTF|Memory Device|005",
9264 "MIF.DMTF|Physical Memory Array|001.11"}
9265 ]
9266 uint32 ErrorTransferSize;
9267 [OctetString, Description (
9268 "Data captured during the last erroneous mebmory access. "
9269 "The data occupies the first n octets of the array necessary "
9270 "to hold the number of bits specified by the ErrorTransferSize "
9271 "property. If ErrorTransferSize is 0, then this property "
9272 "has no meaning."),
9273 ArrayType ("Indexed"),
9274 MappingStrings {"MIF.DMTF|Memory Device|005",
9275 "MIF.DMTF|Physical Memory Array|001.12"}
9276 ]
9277 uint8 ErrorData[64];
9278 [Description (
9279 "The ordering for data stored in the ErrorData property. "
9280 "\"Least Significant Byte First\" (value=1) or "
9281 "\"Most Significant Byte First\" (2) can be specified. If "
9282 "ErrorTransferSize is 0, then this property has no meaning."),
9283 karl 1.1 Values {"Unknown", "Least Significant Byte First",
9284 "Most Significant Byte First"}
9285 ]
9286 uint16 ErrorDataOrder;
9287 [Description (
9288 "Specifies the address of the last memory error. The type "
9289 "of error is described by the ErrorInfo property. "
9290 "If the ErrorInfo property is equal to 3, \"OK\", then this "
9291 "property has no meaning."),
9292 MappingStrings {"MIF.DMTF|Memory Device|005",
9293 "MIF.DMTF|Memory Device|005",
9294 "MIF.DMTF|Physical Memory Array|001.14"}
9295 ]
9296 uint64 ErrorAddress;
9297 [Description (
9298 "Boolean indicating whether the address information in "
9299 "the property, ErrorAddress, is a system-level address (TRUE) "
9300 "or a physical address (FALSE). If the ErrorInfo property is "
9301 "equal to 3, \"OK\", then this property has no meaning.")
9302 ]
9303 boolean SystemLevelAddress;
9304 karl 1.1 [Description (
9305 "Specifies the range, in bytes, to which the last error can be "
9306 "resolved. For example, if error addresses are resolved to bit "
9307 "11 (ie, on a typical page basis), then errors can be "
9308 "resolved to 4K boundaries and this property is set to 4000. "
9309 "If the ErrorInfo property is equal to 3, \"OK\", then this "
9310 "property has no meaning."),
9311 Units ("Bytes"),
9312 MappingStrings {"MIF.DMTF|Memory Device|005",
9313 "MIF.DMTF|Physical Memory Array|001.15"}
9314 ]
9315 uint64 ErrorResolution;
9316 [OctetString, Description (
9317 "An array of octets holding additional error information. "
9318 "An example is ECC Syndrome or the return of the check bits "
9319 "if a CRC-based ErrorMethodology is used. In the latter case, "
9320 "if a single bit error is recognized and the CRC algorithm "
9321 "is known, it is possible to determine the exact bit that "
9322 "failed. This type of data (ECC Syndrome, Check Bit or "
9323 "Parity Bit data, or other vendor supplied information) is "
9324 "included in this field. If the ErrorInfo property is "
9325 karl 1.1 "equal to 3, \"OK\", then AdditionalErrorData has no meaning."),
9326 MappingStrings {"MIF.DMTF|Memory Device|005",
9327 "MIF.DMTF|Physical Memory Array|001.13"}
9328 ]
9329 uint8 AdditionalErrorData[64];
9330 };
9331
9332 // ===================================================================
9333 // AssociatedMemory
9334 // ===================================================================
9335 [Association,
9336 Description (
9337 "LogicalDevices may have Memory installed on them or "
9338 "otherwise associated with them - such as CacheMemory. "
9339 "This is made explicit in this association.")
9340 ]
9341 class CIM_AssociatedMemory : CIM_Dependency
9342 {
9343 [Override ("Antecedent"),
9344 Description ("Memory installed on or associated with a Device.")
9345 ]
9346 karl 1.1 CIM_Memory REF Antecedent;
9347 [Override ("Dependent"),
9348 Description ("The LogicalDevice.")
9349 ]
9350 CIM_LogicalDevice REF Dependent;
9351 };
9352
9353 // ===================================================================
9354 // ComputerSystemMemory
9355 // ===================================================================
9356 [Association,
9357 Aggregation,
9358 Description (
9359 "Association indicating that memory is installed and required "
9360 "for the UnitaryComputerSystem to operate. At least one "
9361 "Memory StorageExtent is required. Note that this relationship "
9362 "inherits from the SystemDevice association, and therefore, "
9363 "the Memory StorageExtent is weak to the aggregating Unitary"
9364 "ComputerSystem.")
9365 ]
9366 class CIM_ComputerSystemMemory : CIM_SystemDevice
9367 karl 1.1 {
9368 [Override ("GroupComponent"),
9369 Aggregate,
9370 Description ("The UnitaryComputerSystem.")
9371 ]
9372 CIM_UnitaryComputerSystem REF GroupComponent;
9373 [Override ("PartComponent"),
9374 Description (
9375 "The Memory StorageExtent which is part of the "
9376 "UnitaryComputerSystem.")
9377 ]
9378 CIM_Memory REF PartComponent;
9379 };
9380
9381 // ===================================================================
9382 // AssociatedProcessorMemory
9383 // ===================================================================
9384 [Association,
9385 Description (
9386 "Associates the Processor and system Memory, or a Processor's "
9387 "Cache. ")
9388 karl 1.1 ]
9389 class CIM_AssociatedProcessorMemory : CIM_AssociatedMemory
9390 {
9391 [Override ("Dependent"),
9392 Description (
9393 "The Processor that accesses the Memory or uses the Cache.")
9394 ]
9395 CIM_Processor REF Dependent;
9396 [Description (
9397 "Speed of the bus, in MHertz, between the Processor and "
9398 "Memory. "),
9399 Units ("MegaHertz")
9400 ]
9401 uint32 BusSpeed;
9402 };
9403
9404 // ===================================================================
9405 // NonVolatileStorage
9406 // ===================================================================
9407 [Description (
9408 "Capabilities and management of NV Storage. Non-volatile memory "
9409 karl 1.1 "natively includes flash and ROM storage. In addition, NV memory can be "
9410 "BasedOn VolatileStorage, if the volatile memory is backed by a Battery. "
9411 "This scenario would be completely described by an instance of the "
9412 "AssociatedBattery relationship, referencing the NonVolatileStorage as "
9413 "the Dependent and the Battery as the Antecedent, and an instance of the "
9414 "BasedOn relationship, referencing the NonVolatileStorage as the "
9415 "Dependent and the VolatileStorage as the Antecedent.")
9416 ]
9417 class CIM_NonVolatileStorage : CIM_Memory
9418 {
9419 [Description ("Indicating that the NV storage is writeable.")]
9420 boolean IsWriteable;
9421 [Description (
9422 "Boolean indicating that at least some portion of the "
9423 "NonVolatileStorage is writeable by applications.")
9424 ]
9425 boolean ApplicationWriteable;
9426 [Description (
9427 "When at least some portion of the NonVolatileStorage is "
9428 "writeable (ApplicationWriteable property = TRUE), StartAddress"
9429 "forApplcationWrite indicates the starting address for "
9430 karl 1.1 "application data. If the ApplicationWriteable property is "
9431 "FALSE, this property is undefined."),
9432 ModelCorrespondence {
9433 "CIM_NonVolatileStorage.ApplicationWriteable"}
9434 ]
9435 uint64 StartAddressForApplicationWrite;
9436 [Description (
9437 "When at least some portion of the NonVolatileStorage is "
9438 "writeable (ApplicationWriteable property = TRUE), Application"
9439 "WritableSize indicates the number of bits available for "
9440 "application data. If the ApplicationWriteable property is "
9441 "FALSE, this property is undefined."),
9442 Units ("Bits"),
9443 ModelCorrespondence {
9444 "CIM_NonVolatileStorage.ApplicationWriteable"}
9445 ]
9446 uint64 ApplicationWriteableSize;
9447 };
9448
9449 // ===================================================================
9450 // BIOSLoadedInNV
9451 karl 1.1 // ===================================================================
9452 [Association,
9453 Description (
9454 "A link between BIOSElement and NonVolatileStorage where "
9455 "the BIOS is loaded.")
9456 ]
9457 class CIM_BIOSLoadedInNV : CIM_Dependency
9458 {
9459 [Override ("Antecedent"),
9460 Description ("The non-volatile storage.")
9461 ]
9462 CIM_NonVolatileStorage REF Antecedent;
9463 [Override ("Dependent"),
9464 Description ("The BIOS stored in the NonVolatile Extent.")
9465 ]
9466 CIM_BIOSElement REF Dependent;
9467 [Description (
9468 "The starting address where the BIOS is located in "
9469 "non-volatile storage.")
9470 ]
9471 uint64 StartingAddress;
9472 karl 1.1 [Description (
9473 "The ending address where the BIOS is located in "
9474 "non-volatile storage.")
9475 ]
9476 uint64 EndingAddress;
9477 };
9478
9479 // ===================================================================
9480 // VolatileStorage
9481 // ===================================================================
9482 [Description ("Capabilities and management of Volatile Storage.")]
9483 class CIM_VolatileStorage : CIM_Memory
9484 {
9485 [Description (
9486 "Indicates whether this Memory can be cached or not."),
9487 MappingStrings {"MIF.DMTF|System Resource Memory Info|002"}
9488 ]
9489 boolean Cacheable;
9490 [Description (
9491 "An enumeration indicating the cache type that is "
9492 "compatible with this Memory. For example, 4 indicates "
9493 karl 1.1 "write-through cache. If the Cacheable property is "
9494 "set to false, then this property does not have meaning and "
9495 "should be set to 5, \"Not Applicable\"."),
9496 Values {"Other", "Unknown", "Write-Back", "Write-Through",
9497 "Not Applicable"},
9498 MappingStrings {"MIF.DMTF|System Resource Memory Info|002"}
9499 ]
9500 uint16 CacheType;
9501 };
9502
9503 // ===================================================================
9504 // CacheMemory
9505 // ===================================================================
9506 [Description (
9507 "Capabilities and management of Cache Memory. Cache memory is "
9508 "dedicated or allocated RAM that a Processor searches first for "
9509 "data, before going to 'regular' memory. CacheMemory is used to "
9510 "speed up the delivery of data to a Processor. It is usually "
9511 "described by its closeness to the Processor (for example, Primary "
9512 "or Secondary Cache).\n"
9513 "If a DiskDrive includes RAM allocated for holding the disk's most "
9514 karl 1.1 "recently read and/or adjacent data (in order to speed up retrieval), "
9515 "this also would be modeled as CacheMemory. Note that CacheMemory is "
9516 "NOT operating system or application level buffers but actual "
9517 "RAM allocated for caching data for a Processor, from a hard disk, etc.")
9518 ]
9519 class CIM_CacheMemory : CIM_Memory
9520 {
9521 [Description (
9522 "Defines whether this is the Primary (value=3), Secondary "
9523 "(value=4) or Tertiary (value=5) Cache. Also, \"Other\" (1), "
9524 "\"Unknown\" (2) and \"Not Applicable\" (6) can be defined."),
9525 ValueMap {"1", "2", "3", "4", "5", "6"},
9526 Values {"Other", "Unknown", "Primary", "Secondary", "Tertiary",
9527 "Not Applicable"},
9528 MappingStrings {"MIF.DMTF|System Cache|006"}
9529 ]
9530 uint16 Level;
9531 [Description (
9532 "Defines whether this is write-back (value=3) or write-through "
9533 "(value=4) Cache, or whether this information \"Varies with "
9534 "Address\" (5) or is defined individually for each I/O (6). "
9535 karl 1.1 "Also, \"Other\" (1) and \"Unknown\" (2) can be specified."),
9536 ValueMap {"1", "2", "3", "4", "5", "6"},
9537 Values {"Other", "Unknown", "Write Back", "Write Through",
9538 "Varies with Address", "Determination Per I/O"},
9539 MappingStrings {"MIF.DMTF|System Cache|006"}
9540 ]
9541 uint16 WritePolicy;
9542 [Description (
9543 "Defines whether this is for instruction caching (value=3), "
9544 "data caching (value=4) or both (value=5, \"Unified\"). "
9545 "Also, \"Other\" (1) and \"Unknown\" (2) can be defined."),
9546 ValueMap {"1", "2", "3", "4", "5"},
9547 Values {"Other", "Unknown", "Instruction", "Data", "Unified"},
9548 MappingStrings {"MIF.DMTF|System Cache|006"}
9549 ]
9550 uint16 CacheType;
9551 [Description (
9552 "Size, in bytes, of a single cache bucket or line."),
9553 Units ("Bytes"),
9554 MappingStrings {"MIF.DMTF|System Cache|006"}
9555 ]
9556 karl 1.1 uint32 LineSize;
9557 [Description (
9558 "An integer enumeration describing the algorithm to "
9559 "determine which cache lines or buckets should be re-used."),
9560 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8"},
9561 Values {"Other", "Unknown", "Least Recently Used (LRU)",
9562 "First In First Out (FIFO)", "Last In First Out (LIFO)",
9563 "Least Frequently Used (LFU)",
9564 "Most Frequently Used (MFU)",
9565 "Data Dependent Multiple Algorithms"},
9566 MappingStrings {"MIF.DMTF|System Cache|006"}
9567 ]
9568 uint16 ReplacementPolicy;
9569 [Description (
9570 "Policy that shall be employed by the Cache for handling "
9571 "read requests. For example, \"Read\", \"Read-Ahead\" or "
9572 "both can be specified using the values, 3, 4 or 5, "
9573 "respectively. If the read policy is determined individually "
9574 "(ie, for each request), then the value 6 (\"Determination "
9575 "per I/O\") should be specified. \"Other\" (1) and "
9576 "\"Unknown\" (2) are also valid values."),
9577 karl 1.1 ValueMap {"1", "2", "3", "4", "5", "6"},
9578 Values {"Other", "Unknown", "Read", "Read-Ahead",
9579 "Read and Read-Ahead", "Determination Per I/O"},
9580 MappingStrings {"MIF.DMTF|System Cache|006"}
9581 ]
9582 uint16 ReadPolicy;
9583 [Description (
9584 "Maximum amount of time, in seconds, dirty lines or "
9585 "buckets may remain in the Cache before they are flushed. "
9586 "A value of zero indicated that a cache flush is not "
9587 "controlled by a flushing timer."),
9588 Units ("Seconds"),
9589 MappingStrings {"MIF.DMTF|System Cache|006"}
9590 ]
9591 uint32 FlushTimer;
9592 [Description (
9593 "An integer enumeration defining the system cache "
9594 "associativity. For example, 6 indicates a fully associative "
9595 "cache."),
9596 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8"},
9597 Values {"Other", "Unknown", "Direct Mapped",
9598 karl 1.1 "2-way Set-Associative",
9599 "4-way Set-Associative", "Fully Associative",
9600 "8-way Set-Associative", "16-way Set-Associative"},
9601 MappingStrings {"MIF.DMTF|System Cache|006"}
9602 ]
9603 uint16 Associativity;
9604 };
9605
9606 // ==============================================================
9607 // DiskGroup
9608 // ==============================================================
9609 [Description (
9610 "A DiskGroup is a named collection of DiskDrives and the "
9611 "StorageExtent(s) accessed via those Drives. The "
9612 "collection is used to limit the BasedOn relationships of "
9613 "the Extents in the DiskGroup. Extents in the Group can NOT "
9614 "be BasedOn storage accessed from Drives outside of the "
9615 "Group. For example, a SoftwareVolume created 'within the "
9616 "DiskGroup' is restricted to be completely accessed using "
9617 "Drives in the Group. Actions such as 'replicate' or "
9618 "'migrate' on an Extent must operate within the scope of "
9619 karl 1.1 "the Extents present in the DiskGroup.")
9620 ]
9621 class CIM_DiskGroup : CIM_CollectionOfMSEs
9622 {
9623 [Override ("CollectionID"), Key ]
9624 string CollectionID;
9625 };
9626
9627 // ===================================================================
9628 // DriveInDiskGroup
9629 // ===================================================================
9630 [Association,
9631 Aggregation,
9632 Description (
9633 "CIM_DriveInDiskGroup defines the DiskDrive(s) that participate "
9634 "in the Group.")
9635 ]
9636 class CIM_DriveInDiskGroup : CIM_CollectedMSEs
9637 {
9638 [Override ("Collection"), Aggregate, Description (
9639 "The DiskGroup. A Drive is a member of at most one DiskGroup."),
9640 karl 1.1 Max(1)
9641 ]
9642 CIM_DiskGroup REF Collection;
9643 [Override ("Member"),
9644 Description ("The DiskDrive in the Group.") ]
9645 CIM_DiskDrive REF Member;
9646 };
9647
9648 // ===================================================================
9649 // ExtentInDiskGroup
9650 // ===================================================================
9651 [Association,
9652 Aggregation,
9653 Description (
9654 "CIM_ExtentInDiskGroup defines the StorageExtent(s) that are "
9655 "located within and restricted by the Group.")
9656 ]
9657 class CIM_ExtentInDiskGroup : CIM_CollectedMSEs
9658 {
9659 [Override ("Collection"), Aggregate,
9660 Description (
9661 karl 1.1 "The DiskGroup. An Extent is defined within at most one Disk"
9662 "Group."),
9663 Max(1)
9664 ]
9665 CIM_DiskGroup REF Collection;
9666 [Override ("Member"), Description (
9667 "The StorageExtent restricted by and participating in the "
9668 "Group.")
9669 ]
9670 CIM_StorageExtent REF Member;
9671 };
9672
9673 // ===================================================================
9674 // GroupInDiskGroup
9675 // ===================================================================
9676 [Association,
9677 Aggregation,
9678 Description (
9679 "CIM_GroupInDiskGroup describes that a DiskGroup may be "
9680 "divided into smaller named Collections.")
9681 ]
9682 karl 1.1 class CIM_GroupInDiskGroup : CIM_CollectedCollections
9683 {
9684 [Override ("Collection"), Aggregate, Description (
9685 "The DiskGroup that is subsetted into smaller Collections."),
9686 Max(1)
9687 ]
9688 CIM_DiskGroup REF Collection;
9689 [Override ("CollectionInCollection"), Description (
9690 "The DiskGroup that is a subset of the larger Group.")
9691 ]
9692 CIM_DiskGroup REF CollectionInCollection;
9693 };
9694
9695 // ====================================================================
9696 // AlarmDevice
9697 // ===================================================================
9698 [Description (
9699 "An AlarmDevice is a type of Device that emits audible or "
9700 "visible indications related to a problem situation. ")
9701 ]
9702 class CIM_AlarmDevice : CIM_LogicalDevice
9703 karl 1.1 {
9704 [Description ("Boolean indicating that the Alarm is audible. ")]
9705 boolean AudibleAlarm;
9706 [Description ("Boolean indicating that the Alarm is visible. ")]
9707 boolean VisibleAlarm;
9708 [Description (
9709 "Boolean indicating that the Alarm causes motion of the "
9710 "Device.")
9711 ]
9712 boolean MotionAlarm;
9713 [Description (
9714 "Urgency is an enumerated value that indicates the relative "
9715 "frequency at which the Alarm flashes, vibrates and/or emits "
9716 "audible tones. "),
9717 Values {"Unknown", "Other", "Not Supported", "Informational",
9718 "Non-Critical", "Critical", "Unrecoverable"}
9719 ]
9720 uint16 Urgency;
9721 [Description ("The current state of the alarm."),
9722 Values {"Unknown", "Off", "Steady", "Alternating"}
9723 ]
9724 karl 1.1 uint16 AlarmState;
9725 [Description (
9726 "True indicates that the audio of an AlarmState indicator "
9727 "has been disabled (i.e. muted). A disabled state here "
9728 "does not imply that the AlarmState is off.")
9729 ]
9730 boolean AudioIndicatorIsDisabled;
9731 [Description (
9732 "True indicates that the visual of an AlarmState indicator "
9733 "has been disabled (i.e. dimmed). A disabled state here "
9734 "does not imply that the AlarmState is off.")
9735 ]
9736 boolean VisualIndicatorIsDisabled;
9737 [Description (
9738 "True indicates that the motion of an AlarmState indicator "
9739 "has been disabled (i.e. stopped). A disabled state here "
9740 "does not imply that the AlarmState is off.")
9741 ]
9742 boolean MotionIndicatorIsDisabled;
9743 [Description (
9744 "SetAlarmState is a method for defining the current state "
9745 karl 1.1 "of the Alarm. Its input parameter, RequestedAlarmState, is "
9746 "specified using the Values list of AlarmDevice's AlarmState "
9747 "property. SetAlarmState returns 0 if the request is "
9748 "successfully implemented, 1 if the specified RequestedAlarm"
9749 "State is not supported, and some other value if any other "
9750 "error occurred. In a subclass, the set of possible return "
9751 "codes should be specified using a ValueMap qualifier on the "
9752 "method. The strings to which the ValueMap contents are "
9753 "'translated' should be specified as a Values array "
9754 "qualifier.")
9755 ]
9756 uint32 SetAlarmState (
9757 [IN, Values {"Unknown", "Off", "Steady", "Alternating"}]
9758 uint16 RequestedAlarmState);
9759 [Description (
9760 "SetAlarmIndicator is a method for enabling or disabling the "
9761 "indicator of the AlarmState function, without changing the "
9762 "current AlarmState. It has 3 input parameters, Audio"
9763 "Indicator, VisualIndicator and MotionIndicator. For all of "
9764 "the input parameters, a value of 0 indicates no change to "
9765 "the AlarmState indicator, 1 indicates Disable, and 2 "
9766 karl 1.1 "indicates Enable. The method returns 0 if the request is "
9767 "successfully implemented, 1 if the specified request is not "
9768 "supported, and some other value if any other error occurred. "
9769 "In a subclass, the set of possible return codes should be "
9770 "specified using a ValueMap qualifier on the method. The "
9771 "strings to which the ValueMap contents are 'translated' "
9772 "should be specified as a Values array qualifier.")
9773 ]
9774 uint32 SetAlarmIndicator ([IN,
9775 Values {"No Change", "Disable", "Enable"}]
9776 uint16 AudioIndicator,
9777 [IN, Values {"No Change", "Disable", "Enable"}]
9778 uint16 VisualIndicator,
9779 [IN, Values {"No Change", "Disable", "Enable"}]
9780 uint16 MotionIndicator);
9781 [Description (
9782 "SetUrgency is a method for defining the desired urgency "
9783 "level for the Alarm. Its input parameter, RequestedUrgency, "
9784 "is specified using the Values list of AlarmDevice's Urgency "
9785 "property. SetUrgency returns 0 if the request is successfully "
9786 "implemented, 1 if the specified Urgency level is not "
9787 karl 1.1 "supported, and some other value if any other error occurred. "
9788 "In a subclass, the set of possible return codes should be "
9789 "specified using a ValueMap qualifier on the method. The "
9790 "strings to which the ValueMap contents are 'translated' "
9791 "should be specified as a Values array qualifier.")
9792 ]
9793 uint32 SetUrgency ([IN, ValueMap {"1", "3", "4", "5", "6"},
9794 Values {"Other", "Informational", "Non-Critical", "Critical",
9795 "Unrecoverable"}] uint16 RequestedUrgency);
9796 };
9797
9798 // ===================================================================
9799 // AssociatedAlarm
9800 // ===================================================================
9801 [Association,
9802 Description (
9803 "LogicalDevices may have one or more AlarmDevices "
9804 "associated with them, in order to indicate problem situations. "
9805 "This relationship is indicated by the AssociatedAlarm "
9806 "dependency. ")
9807 ]
9808 karl 1.1 class CIM_AssociatedAlarm : CIM_Dependency
9809 {
9810 [Override ("Antecedent"),
9811 Description ("The AlarmDevice. ")
9812 ]
9813 CIM_AlarmDevice REF Antecedent;
9814 [Override ("Dependent"),
9815 Description ("The LogicalDevice that is alarmed. ")
9816 ]
9817 CIM_LogicalDevice REF Dependent;
9818 };
9819
9820 // ===================================================================
9821 // Door
9822 // ===================================================================
9823 [Description (
9824 "A Door is the abstraction of hardware providing access to "
9825 "the internal componentry of a System. When a Door is 'opened', "
9826 "typically all accessible, moving components are stopped or "
9827 "suspended to prevent physical harm.")
9828 ]
9829 karl 1.1 class CIM_Door : CIM_LogicalDevice
9830 {
9831 [Description (
9832 "Boolean indicating the 'open' (TRUE) or 'closed' (FALSE) "
9833 "status of the Door.")
9834 ]
9835 boolean Open;
9836 [Description (
9837 "Boolean indicating that the Door is 'locked' (TRUE) or "
9838 "'unlocked' (FALSE). When the Door is locked, access to the "
9839 "componentry is prevented, without the use of a physical "
9840 "key or the issuance of a software unlock command.")
9841 ]
9842 boolean Locked;
9843 [Description (
9844 "When a Door is 'Open', all accessible, moving componentry "
9845 "and Device operation are typically stopped. The Timeout "
9846 "property provides a mechanism to event on a Door left open "
9847 "for a period of time (in seconds) exceeding the property's "
9848 "value."),
9849 Units ("Seconds")
9850 karl 1.1 ]
9851 uint32 Timeout;
9852 [Description ("Date and time that the Door was last opened.") ]
9853 datetime LastOpened;
9854 [Description (
9855 "The Capabilities of the Door. For example, information on "
9856 "whether the Door is \"Host System Lockable\" (value=2) and/or "
9857 "whether a key is available (value=3) are specified in this "
9858 "property. The value 4, \"All Drives Dismounted Before "
9859 "Access\", pertains to a Door on a StorageLibrary or set of "
9860 "drive bays. If specified for the Door, it means that it can "
9861 "not be opened unless all Media are first unloaded from the "
9862 "accessible MediaAccessDevices."),
9863 Values {"Unknown", "Other", "Host System Lockable",
9864 "Physical Key", "All Drives Dismounted Before Access"}
9865 ]
9866 uint16 Capabilities[];
9867 };
9868
9869 // ===================================================================
9870 // DoorAccessToPhysicalElement
9871 karl 1.1 // ===================================================================
9872 [Association,
9873 Description (
9874 "Doors provide access to PhysicalElements for hot swap, repair "
9875 "and similar activities. The entities accessed through a Door "
9876 "are indicated in this relationship.")
9877 ]
9878 class CIM_DoorAccessToPhysicalElement : CIM_Dependency
9879 {
9880 [Override ("Antecedent"),
9881 Description ("The Door that provides access.")
9882 ]
9883 CIM_Door REF Antecedent;
9884 [Override ("Dependent"),
9885 Description ("The PhysicalElement that is accessed.")
9886 ]
9887 CIM_PhysicalElement REF Dependent;
9888 };
9889
9890 // ===================================================================
9891 // DoorAccessToDevice
9892 karl 1.1 // ===================================================================
9893 [Association,
9894 Description (
9895 "Doors provide access to PhysicalElements for hot swap, repair "
9896 "and similar activities. In turn, PhysicalElements 'Realize' "
9897 "LogicalDevices. Since it may not be possible to define all the "
9898 "PhysicalElements that exist, and optimizing the retrieval of "
9899 "Devices 'behind' the Door may be desirable, the DoorAccessTo"
9900 "Device association provides a shortcut mechanism for defining "
9901 "the LogicalDevices ('hardware') accessed through a Door.")
9902 ]
9903 class CIM_DoorAccessToDevice : CIM_Dependency
9904 {
9905 [Override ("Antecedent"),
9906 Description ("The Door that provides access.")
9907 ]
9908 CIM_Door REF Antecedent;
9909 [Override ("Dependent"),
9910 Description ("The LogicalDevice that is accessed.")
9911 ]
9912 CIM_LogicalDevice REF Dependent;
9913 karl 1.1 };
9914
9915 // ===================================================================
9916 // MediaTransferDevice
9917 // ===================================================================
9918 [Description (
9919 "A MediaTransferDevice represents hardware that moves Physical"
9920 "Media. It is a superclass for Devices like PickerElement, "
9921 "ChangerDevice and InterLibraryPort.")
9922 ]
9923 class CIM_MediaTransferDevice : CIM_LogicalDevice
9924 {
9925 };
9926
9927 // ===================================================================
9928 // PickerElement
9929 // ===================================================================
9930 [Description (
9931 "PickerElements represent hardware used to pick or place "
9932 "PhysicalMedia from/into StorageMediaLocations.")
9933 ]
9934 karl 1.1 class CIM_PickerElement : CIM_MediaTransferDevice
9935 {
9936 [Description (
9937 "The maximum time in seconds for a PickerElement to grab "
9938 "a PhysicalMedia from a StorageMediaLocation, once the "
9939 "Picker has arrived at that Location. The maximum time "
9940 "interval for moving a Media from one point to another is "
9941 "the sum of the PickerElement's MaxPickTime, the Changer"
9942 "Device's MaxTransitTime and the PickerElement's MaxPutTime."),
9943 Units ("Seconds")
9944 ]
9945 uint32 MaxPickTime;
9946 [Description (
9947 "The maximum time in seconds for a PickerElement to place "
9948 "a PhysicalMedia into a StorageMediaLocation, once the "
9949 "Picker has arrived at that Location. The maximum time "
9950 "interval for moving a Media from one point to another is "
9951 "the sum of the PickerElement's MaxPickTime, the Changer"
9952 "Device's MaxTransitTime and the PickerElement's MaxPutTime."),
9953 Units ("Seconds")
9954 ]
9955 karl 1.1 uint32 MaxPutTime;
9956 [Description (
9957 "String describing the location in the StorageLibrary "
9958 "where the Picker is currently positioned.")
9959 ]
9960 string CellLocation;
9961
9962 };
9963
9964 // ===================================================================
9965 // ChangerDevice
9966 // ===================================================================
9967 [Description (
9968 "ChangerDevices represent hardware that moves PhysicalMedia "
9969 "within a System, such as a StorageLibrary.")
9970 ]
9971 class CIM_ChangerDevice : CIM_MediaTransferDevice
9972 {
9973 [Description (
9974 "The maximum time in seconds between a PickerElement pick "
9975 "and place. It should be reported as the transit time "
9976 karl 1.1 "between the two most physically distant StorageMedia"
9977 "Locations in a System. The maximum time interval for "
9978 "moving a Media from one point to another is the sum of "
9979 "the PickerElement's MaxPickTime, the ChangerDevice's Max"
9980 "TransitTime and the PickerElement's MaxPutTime."),
9981 Units ("Seconds")
9982 ]
9983 uint32 MaxTransitTime;
9984 [Description (
9985 "Boolean set to TRUE if the Changer supports media flipping. "
9986 "Media needs to be flipped when multi-sided PhysicalMedia "
9987 "are placed into a MediaAccessDevice that does NOT support "
9988 "dual sided access.")
9989 ]
9990 boolean MediaFlipSupported;
9991 [Description (
9992 "Boolean set to TRUE if an audit is currently being performed "
9993 "by the Changer.")
9994 ]
9995 boolean AuditInProgress;
9996 [Description (
9997 karl 1.1 "A count of the number of audits performed by the Changer."),
9998 Counter
9999 ]
10000 uint64 AuditsPerformed;
10001 };
10002
10003 // ===================================================================
10004 // PickerForChanger
10005 // ===================================================================
10006 [Association,
10007 Description (
10008 "PickerForChanger indicates the PickerElement(s) that access "
10009 "StorageMediaLocations and deliver PhysicalMedia to the Changer, "
10010 "for movement through the System. A Changer may have several "
10011 "Pickers for faster exchange of Media.")
10012 ]
10013 class CIM_PickerForChanger : CIM_Dependency
10014 {
10015 [Override ("Antecedent"),
10016 Description (
10017 "The PickerElement that accesses StorageMediaLocations "
10018 karl 1.1 "to deliver Media to the Changer.")
10019 ]
10020 CIM_PickerElement REF Antecedent;
10021 [Override ("Dependent"),
10022 Max (1),
10023 Description ("The ChangerDevice.")
10024 ]
10025 CIM_ChangerDevice REF Dependent;
10026 };
10027
10028 // ===================================================================
10029 // LimitedAccessPort
10030 // ===================================================================
10031 [Description (
10032 "LimitedAccessPorts represent hardware that transports Physical"
10033 "Media into or out of a System, such as a StorageLibrary. They "
10034 "are identified as 'limited' since these Ports do not provide "
10035 "access to ALL the PhysicalMedia or StorageMediaLocations in a "
10036 "Library, but only to a subset.")
10037 ]
10038 class CIM_LimitedAccessPort : CIM_MediaTransferDevice
10039 karl 1.1 {
10040 [Description (
10041 "Boolean indicating that the Port is 'locked' (TRUE) or "
10042 "'unlocked' (FALSE). When the Port is locked, access its Media "
10043 "Locations is prevented without the use of a physical key, "
10044 "front panel activity or the issuance of a software unlock "
10045 "command.")
10046 ]
10047 boolean Locked;
10048 [Description (
10049 "When a Port is 'Extended' or 'open' (value=TRUE), its Storage"
10050 "MediaLocations are accessible to a human operator. If not "
10051 "extended (value=FALSE), the Locations are accessible to a "
10052 "PickerElement.")
10053 ]
10054 boolean Extended;
10055 [Description (
10056 "When a LimitedAccessPort is 'Extended', all related media-"
10057 "transfer componentry may be stopped. The ExtendTimeout "
10058 "property provides a mechanism to event on a Port left open "
10059 "for a period of time (in seconds) exceeding the property's "
10060 karl 1.1 "value."),
10061 Units ("Seconds")
10062 ]
10063 uint32 ExtendTimeout;
10064 [Description ("Date and time that the Port was last extended.") ]
10065 datetime LastExtended;
10066 [Counter, Description (
10067 "The number of times that the LimitedAccessPort was used to "
10068 "move a PhysicalMedia into the System/StorageLibrary.")
10069 ]
10070 uint64 ImportCount;
10071 [Counter, Description (
10072 "The number of times that the LimitedAccessPort was used to "
10073 "move a PhysicalMedia out of the System/StorageLibrary.")
10074 ]
10075 uint64 ExportCount;
10076 [Description (
10077 "An enumeration expressing whether the Port is used for "
10078 "import into the Library/System which scopes and names it "
10079 "(value=1), export from the Library/System (value=2), or "
10080 "both (value=3)."),
10081 karl 1.1 Values {"Unknown", "Import", "Export", "Both Import and Export"}
10082 ]
10083 uint16 Direction;
10084
10085 };
10086
10087 // ===================================================================
10088 // InterLibraryPort
10089 // ===================================================================
10090 [Description (
10091 "InterLibraryPorts represent hardware that transports Physical"
10092 "Media between connected StorageLibraries. The LibraryExchange "
10093 "association identifies the connected Libraries, by identifying "
10094 "the connected InterLibraryPorts.")
10095 ]
10096 class CIM_InterLibraryPort : CIM_MediaTransferDevice
10097 {
10098 [Description (
10099 "Date and time that the Port was last accessed by its "
10100 "System/StorageLibrary. This value may be different "
10101 "than that specified for the Port(s) to which this Inter"
10102 karl 1.1 "LibraryPort is connected. Connected Ports are identified "
10103 "using the LibraryExchange association.")
10104 ]
10105 datetime LastAccessed;
10106 [Counter, Description (
10107 "The number of times that the InterLibraryPort was used to "
10108 "move a PhysicalMedia into the System/StorageLibrary.")
10109 ]
10110 uint64 ImportCount;
10111 [Counter, Description (
10112 "The number of times that the InterLibraryPort was used to "
10113 "move a PhysicalMedia out of the System/StorageLibrary.")
10114 ]
10115 uint64 ExportCount;
10116 [Description (
10117 "An enumeration expressing whether the Port is used for "
10118 "import into the Library/System which scopes and names it "
10119 "(value=1), export from the Library/System (value=2), or "
10120 "both (value=3)."),
10121 Values {"Unknown", "Import", "Export", "Both Import and Export"}
10122 ]
10123 karl 1.1 uint16 Direction;
10124 };
10125
10126 // ===================================================================
10127 // LibraryExchange
10128 // ===================================================================
10129 [Association,
10130 Description (
10131 "LibraryExchange indicates that two StorageLibraries are "
10132 "connected through their InterLibraryPorts.")
10133 ]
10134 class CIM_LibraryExchange : CIM_Dependency
10135 {
10136 [Override ("Antecedent"),
10137 Description ("The InterLibraryPort of one StorageLibrary.")
10138 ]
10139 CIM_InterLibraryPort REF Antecedent;
10140 [Override ("Dependent"),
10141 Description ("The InterLibraryPort of the connected Library.")
10142 ]
10143 CIM_InterLibraryPort REF Dependent;
10144 karl 1.1 [Description (
10145 "Enumeration indicating whether the Antecedent (value=1), "
10146 "Dependent (value=2), or neither Library (value=3) currently has "
10147 "access to the Port."),
10148 Values {"Unknown", "Antecedent", "Dependent", "Neither"}
10149 ]
10150 uint16 CurrentlyAccessingPort;
10151 };
10152
10153 // ===================================================================
10154 // LabelReader
10155 // ===================================================================
10156 [Description (
10157 "LabelReaders represent hardware capable of scanning or reading "
10158 "a physical label or the NonVolatileMemory on a PhysicalMedia. "
10159 "Examples of labels include barcode and OCR tags.")
10160 ]
10161 class CIM_LabelReader : CIM_LogicalDevice
10162 {
10163 [Description (
10164 "An array of enumerated integers describing the formats of "
10165 karl 1.1 "the labels that can be read or scanned by the LabelReader. "
10166 "The values specified for this property correspond to "
10167 "those defined for CIM_PhysicalMedia.LabelFormats."),
10168 Values {"Barcode", "Radio Frequency Identification",
10169 "OCR (Optical Character Recognition)",
10170 "MICR (Magnetic Ink Character Recognition)",
10171 "7 Character Barcode", "9 Character Barcode"},
10172 ModelCorrespondence {"CIM_PhysicalMedia.LabelFormats"}
10173 ]
10174 uint16 SupportedFormats[];
10175 [Description (
10176 "The technology used by the LabelReader. One entry of the "
10177 "Values array requires some explanation - \"Memory Reader\". "
10178 "The latter describes the ability to access memory in a Physical"
10179 "Media's packaging (for example, memory on an AIT tape). The "
10180 "existence of this Memory is indicated by the MemoryWithMedia "
10181 "association on the physical side, or by AssociatedMemory on "
10182 "the logical side."),
10183 Values {"Unknown", "Other", "Laser", "Infrared", "RF",
10184 "Camera", "Memory Reader"}
10185 ]
10186 karl 1.1 uint16 Technology;
10187 };
10188
10189 // ===================================================================
10190 // AssociatedLabelReader
10191 // ===================================================================
10192 [Association,
10193 Description (
10194 "A LogicalDevice may use or require one or more LabelReaders, to "
10195 "scan barcodes or otherwise identify entities. This relationship "
10196 "is described by the AssociatedLabelReader dependency. ")
10197 ]
10198 class CIM_AssociatedLabelReader : CIM_Dependency
10199 {
10200 [Override ("Antecedent"),
10201 Description ("The LabelReader.")
10202 ]
10203 CIM_LabelReader REF Antecedent;
10204 [Override ("Dependent"),
10205 Description (
10206 "The Device that is dependent on the Reader Device.")
10207 karl 1.1 ]
10208 CIM_LogicalDevice REF Dependent;
10209 };
10210
10211 // ===================================================================
10212 // PickerLabelReader
10213 // ===================================================================
10214 [Association,
10215 Description (
10216 "PickerLabelReader is used to indicate that one or more Label"
10217 "Readers works in conjunction with PickerElements, to identify "
10218 "PhysicalMedia as they are being picked/placed.")
10219 ]
10220 class CIM_PickerLabelReader : CIM_AssociatedLabelReader
10221 {
10222 [Override ("Dependent"),
10223 Description (
10224 "The PickerElement that is dependent on the Reader Device.")
10225 ]
10226 CIM_PickerElement REF Dependent;
10227 };
10228 karl 1.1
10229 // ===================================================================
10230 // AccessLabelReader
10231 // ===================================================================
10232 [Association,
10233 Description (
10234 "AccessLabelReader is used to indicate that one or more Label"
10235 "Readers works in conjunction with MediaAccessDevices, "
10236 "to identify PhysicalMedia before read/write.")
10237 ]
10238 class CIM_AccessLabelReader : CIM_AssociatedLabelReader
10239 {
10240 [Override ("Dependent"),
10241 Description (
10242 "The MediaAccessDevice that is dependent on the Reader Device.")
10243 ]
10244 CIM_MediaAccessDevice REF Dependent;
10245 };
10246
10247 // ===================================================================
10248 // LabelReaderStatInfo
10249 karl 1.1 // ===================================================================
10250 [Description (
10251 "Statistics for a LabelReader, related to read successes, "
10252 "failures and retries.")
10253 ]
10254 class CIM_LabelReaderStatInfo : CIM_DeviceStatisticalInformation
10255 {
10256 [Description (
10257 "The number of successful physical label scans."),
10258 Counter
10259 ]
10260 uint64 ScanSuccesses;
10261 [Description ("The number of failed physical label scans."),
10262 Counter
10263 ]
10264 uint64 ScanFailures;
10265 [Description ("The number of retried physical label scans."),
10266 Counter
10267 ]
10268 uint64 ScanRetries;
10269 [Description (
10270 karl 1.1 "Method to reset the statistical counters. The method "
10271 "takes one parameter as input - an integer indicating which "
10272 "counter to reset. For this input parameter, 0 indicates all, "
10273 "1 resets the \"Scan Successes\" counter, 2 resets the "
10274 "\"Scan Failures\" counter, and 3 resets the \"Scan Retries\" "
10275 "counter. The method returns 0 if successful, 1 if not supported, "
10276 "and any other value if an error occurred. A method is specified "
10277 "so that the Device's instrumentation can also reset its "
10278 "internal processing and counters.\n"
10279 "In a subclass, the set of possible return codes should be "
10280 "specified in a ValueMap qualifier on the method. The strings "
10281 "to which the ValueMap contents are 'translated' can be "
10282 "specified as a Values array qualifier.")
10283 ]
10284 uint32 ResetCounter ([IN, Values {"All", "Scan Successes",
10285 "Scan Failures", "Scan Retries"}] uint16 SelectedCounter);
10286 };
10287
10288 // ===================================================================
10289 // MediaAccessStatInfo
10290 // ===================================================================
10291 karl 1.1 [Description (
10292 "Statistics related to reading and writing at a specific "
10293 "MediaAccessDevice, or for a specific StorageExtent. Although "
10294 "the same class is used to represent this data, at the instance "
10295 "level the object holds information for the MediaAccessDevice "
10296 "(independent of the StorageExtent), OR for the Extent "
10297 "(independent of its AccessDevice).")
10298 ]
10299 class CIM_MediaAccessStatInfo : CIM_DeviceStatisticalInformation
10300 {
10301 [Description ("The number of attempted read operations."),
10302 Counter
10303 ]
10304 uint64 ReadOperations;
10305 [Description ("The number of unrecoverable read operations."),
10306 Counter
10307 ]
10308 uint64 UnrecoverableReadOperations;
10309 [Description ("The number of attempted write operations."),
10310 Counter
10311 ]
10312 karl 1.1 uint64 WriteOperations;
10313 [Description ("The number of unrecoverable write operations."),
10314 Counter
10315 ]
10316 uint64 UnrecoverableWriteOperations;
10317 [Description ("The number of recovered read operations."),
10318 Counter
10319 ]
10320 uint64 RecoveredReadOperations;
10321 [Description ("The number of recovered write operations."),
10322 Counter
10323 ]
10324 uint64 RecoveredWriteOperations;
10325 [Description ("The number of recovered seek operations."),
10326 Counter
10327 ]
10328 uint64 RecoveredSeekOperations;
10329 [Description ("The number of unrecoverable seek operations."),
10330 Counter
10331 ]
10332 uint64 UnrecoverableSeekOperations;
10333 karl 1.1 [Description (
10334 "Method to reset the statistical counters. The method takes one "
10335 "parameter as input - an integer indicating which counter to "
10336 "reset. For this input parameter, 0 indicates all, 1-2 and 5 "
10337 "reset the 'read operation'-related counters, 3-4 and 6 reset "
10338 "the 'write operation'-related counters, and 7-8 reset the "
10339 "seek-related counters. The method returns 0 if "
10340 "successful, 1 if not supported, and any other value if an "
10341 "error occurred. A method is specified so that the Device's "
10342 "instrumentation can also reset its internal processing and "
10343 "counters.\n"
10344 "In a subclass, the set of possible return codes should be "
10345 "specified in a ValueMap qualifier on the method. The strings "
10346 "to which the ValueMap contents are 'translated' can be "
10347 "specified as a Values array qualifier.")
10348 ]
10349 uint32 ResetCounter ([IN, Values {"All", "Read Operations",
10350 "Unrecoverable Read Operations", "Write Operations",
10351 "Unrecoverable Write Operations", "Recovered Read Operations",
10352 "Recovered Write Operations", "Recovered Seeks",
10353 "Unrecoverable Seeks"}] uint16 SelectedCounter);
10354 karl 1.1 };
10355
10356 // ===================================================================
10357 // PickerStatInfo
10358 // ===================================================================
10359 [Description (
10360 "Statistics for a PickerElement, related to pick/put successes, "
10361 "retries and failures.")
10362 ]
10363 class CIM_PickerStatInfo : CIM_DeviceStatisticalInformation
10364 {
10365 [Description ("The number of successful picks."),
10366 Counter
10367 ]
10368 uint64 PickSuccesses;
10369 [Description ("The number of failed picks."),
10370 Counter
10371 ]
10372 uint64 PickFailures;
10373 [Description ("The number of retried picks."),
10374 Counter
10375 karl 1.1 ]
10376 uint64 PickRetries;
10377 [Description ("The number of successful puts."),
10378 Counter
10379 ]
10380 uint64 PutSuccesses;
10381 [Description ("The number of failed puts."),
10382 Counter
10383 ]
10384 uint64 PutFailures;
10385 [Description ("The number of retried puts."),
10386 Counter
10387 ]
10388 uint64 PutRetries;
10389 [Description (
10390 "Method to reset the statistical counters. The method takes one "
10391 "parameter as input - an integer indicating which counter to "
10392 "reset. For this input parameter, 0 indicates all, 1-3 reset "
10393 "the 'pick'-related counters, and 4-6 reset the 'put'-related "
10394 "counters. The method returns 0 if successful, 1 if not "
10395 "supported, and any other value if an error occurred. A "
10396 karl 1.1 "method is specified so that the Device's instrumentation can "
10397 "also reset its internal pocessing and counters.\n"
10398 "In a subclass, the set of possible return codes should be "
10399 "specified in a ValueMap qualifier on the method. The strings "
10400 "to which the ValueMap contents are 'translated' can be "
10401 "specified as a Values array qualifier.")
10402 ]
10403 uint32 ResetCounter ([IN, Values {"All", "Pick Successes",
10404 "Pick Failures", "Pick Retries", "Put Successes",
10405 "Put Failures", "Put Retries"}] uint16 SelectedCounter);
10406 };
10407
10408 // ===================================================================
10409 // MessageLog
10410 // ===================================================================
10411 [Description (
10412 "MessageLog represents any type of event, error or informational "
10413 "register or chronicle. The object describes the existence of "
10414 "the log and its characteristics. Several methods are defined "
10415 "for retrieving, writing and deleting log entries, and "
10416 "maintaining the log.")
10417 karl 1.1 ]
10418 class CIM_MessageLog : CIM_LogicalElement
10419 {
10420 [Key, MaxLen (256),
10421 Description (
10422 "CreationClassName indicates the name of the class or "
10423 "the subclass used in the creation of an instance. When "
10424 "used with the other key properties of this class, this "
10425 "property allows all instances of this class and its "
10426 "subclasses to be uniquely identified.")
10427 ]
10428 string CreationClassName;
10429 [Override ("Name"),
10430 Key, MaxLen (256),
10431 Description (
10432 "The inherited Name serves as part of the key (a unique "
10433 "identifier) for the MessageLog instance.")
10434 ]
10435 string Name;
10436 [Description (
10437 "An array of integers indicating the Log capabilities. "
10438 karl 1.1 "Information such as \"Write Record Supported\" (value="
10439 "2) or \"Variable Length Records Supported\" (8) is "
10440 "specified in this property."),
10441 ArrayType ("Indexed"),
10442 Values {"Unknown", "Other", "Write Record Supported",
10443 "Delete Record Supported",
10444 "Can Move Backward in Log", "Freeze Log Supported",
10445 "Clear Log Supported",
10446 "Supports Addressing by Ordinal Record Number",
10447 "Variable Length Records Supported",
10448 "Variable Formats for Records",
10449 "Can Flag Records for Overwrite"},
10450 ModelCorrespondence {
10451 "CIM_MessageLog.CapabilitiesDescriptions"}
10452 ]
10453 uint16 Capabilities[];
10454 [Description (
10455 "An array of free-form strings providing more detailed "
10456 "explanations for any of the Log features indicated in "
10457 "the Capabilities array. Note, each entry of this array "
10458 "is related to the entry in the Capabilities array that "
10459 karl 1.1 "is located at the same index."),
10460 ArrayType ("Indexed"),
10461 ModelCorrespondence {"CIM_MessageLog.Capabilities"}
10462 ]
10463 string CapabilitiesDescriptions[];
10464 [Description (
10465 "The maximum size, in bytes, to which the Log can grow. "
10466 "If there is no maximum, then MaxLogSize should be set "
10467 "to 0."),
10468 Units ("Bytes")
10469 ]
10470 uint64 MaxLogSize;
10471 [Description (
10472 "The size of the Log header, in bytes, if one is "
10473 "present. If there is no Log header, then this property "
10474 "should be set to 0. Headers may include general "
10475 "information about the Log such as the current number of "
10476 "records, time of last update, or a pointer to the location "
10477 "of the first Log entry. Note that this property is NOT the "
10478 "size of the header for an individual Log entry. The latter "
10479 "is described by the property, SizeOfRecordHeader."),
10480 karl 1.1 Units ("Bytes")
10481 ]
10482 uint64 SizeOfHeader;
10483 [Description (
10484 "If the SizeOfHeader property is non-zero, this property "
10485 "describes the structure and format of the Log header. It "
10486 "is a free-form string. If the SizeOfHeader property is 0, "
10487 "then the information in this property is undefined.")
10488 ]
10489 string HeaderFormat;
10490 [Description (
10491 "Maximum size, in bytes, to which an individual Log "
10492 "entry (record) can grow - if the Capabilities array "
10493 "includes a value of 7 (\"Variable Length Records "
10494 "Supported\"). If the Capabilities array does not "
10495 "include a 7, then the Log only supports fixed length "
10496 "entries. The size of these entries is described by "
10497 "this property."),
10498 Units ("Bytes")
10499 ]
10500 uint64 MaxRecordSize;
10501 karl 1.1 [Description (
10502 "The size of the header for the Log's individual entries, "
10503 "in bytes, if record headers are defined. If there are no "
10504 "record headers, then this property should be set to 0. "
10505 "Record headers may include information such as the type of "
10506 "the Log entry, the date/time that the entry was last "
10507 "updated, or a pointer to the start of optional data. Note "
10508 "that this property defines the header size for individual "
10509 "records in the Log, while the SizeOfHeader property "
10510 "describes the Log's overall header, typically located at "
10511 "the start of the MessageLog."),
10512 Units ("Bytes")
10513 ]
10514 uint64 SizeOfRecordHeader;
10515 [Description (
10516 "If the SizeOfRecordHeader property is non-zero, this "
10517 "property describes the structure and format of the "
10518 "record headers. It is a free-form string. If the "
10519 "SizeOfRecordHeader property is 0, then the information "
10520 "in this property is undefined.")
10521 ]
10522 karl 1.1 string RecordHeaderFormat;
10523 [Description (
10524 "Maximum number of records that can be captured in "
10525 "the Log. If undefined, a value of zero should be "
10526 "specified. Note that when the Capabilities array "
10527 "indicates that variable length records are supported "
10528 "(value=7), then it is possible that this maximum may "
10529 "not be achieved.")
10530 ]
10531 uint64 MaxNumberOfRecords;
10532 [Description (
10533 "Current number of entries (records) in the Log."),
10534 Gauge
10535 ]
10536 uint64 CurrentNumberOfRecords;
10537 [Description (
10538 "An enumeration describing the behavior of the Log, when "
10539 "it becomes full or near full. For example, the Log may "
10540 "wrap (value=2) or may simply stop recording entries (value"
10541 "=7).\n\n"
10542 "Some of the property's possible values need further "
10543 karl 1.1 "explanation:\n"
10544 "3=\"Clear When Near Full\" indicates that all of the Log's "
10545 "entries will be deleted when a specified record capacity is "
10546 "reached. The capacity is specified in percentage, using the "
10547 "property, PercentageNearFull. 'Near Full' may be less than "
10548 "100% if the Log takes time to clear, and a position should "
10549 "always be available for new records.\n"
10550 "4=\"Overwrite Outdated When Needed\" describes that Log "
10551 "entries (timestamped later than the date/time specified in "
10552 "the property, TimeWhenOutdated) can be overwritten.\n"
10553 "5=\"Remove Outdated Records\" specifies that records "
10554 "(timestamped later than the date/time specified in the "
10555 "property, TimeWhenOutdated) are logically and/or physically "
10556 "removed from the Log.\n"
10557 "6=\"Overwrite Specific Records\" indicates that specially "
10558 "flagged records may be overwritten. This property only makes "
10559 "sense when the Capabilities array includes a value of 10, "
10560 "\"Can Flag Records for Overwrite\"."),
10561 Values {"Unknown", "Other", "Wraps When Full",
10562 "Clear When Near Full",
10563 "Overwrite Outdated When Needed",
10564 karl 1.1 "Remove Outdated Records",
10565 "Overwrite Specific Records",
10566 "Never Overwrite"},
10567 ModelCorrespondence {"CIM_MessageLog.OtherPolicyDescription",
10568 "CIM_MessageLog.TimeWhenOutdated",
10569 "CIM_MessageLog.PercentageNearFull"}
10570 ]
10571 uint16 OverwritePolicy;
10572 [Description (
10573 "When the OverwritePolicy specifies a value of 1 "
10574 "(\"Other\"), the Log's behavior can be explained "
10575 "using this property. If OverwritePolicy is not 1, "
10576 "then this property's contents are undefined."),
10577 ModelCorrespondence {"CIM_MessageLog.OverwritePolicy"}
10578 ]
10579 string OtherPolicyDescription;
10580 [Description (
10581 "If the OverwritePolicy is based on 'outdated' records "
10582 "(values 4 or 5), this property defines when a Log entry "
10583 "is considered to be outdated - either by time interval or "
10584 "at a specific date and time."),
10585 karl 1.1 ModelCorrespondence {"CIM_MessageLog.OverwritePolicy"}
10586 ]
10587 datetime TimeWhenOutdated;
10588 [Description (
10589 "If the OverwritePolicy is based on clearing records "
10590 "when the Log is near full (value=3), this property defines "
10591 "the record capacity (in percentage) that is considered to "
10592 "be 'near full'."),
10593 Units ("Percent"),
10594 ModelCorrespondence {"CIM_MessageLog.OverwritePolicy"}
10595 ]
10596 uint8 PercentageNearFull;
10597 [Description (
10598 "An enumeration describing the last change to the "
10599 "MessageLog."),
10600 Values {"Unknown", "Add", "Delete", "Modify", "Log Cleared"}
10601 ]
10602 uint16 LastChange;
10603 [Description (
10604 "When a change is made to the Log, the date/time of "
10605 "that modification is captured. This property could be "
10606 karl 1.1 "used to event against any update to the MessageLog.")
10607 ]
10608 datetime TimeOfLastChange;
10609 [Description (
10610 "When a change is made to the Log, the record number that "
10611 "was modified is captured.")
10612 ]
10613 uint64 RecordLastChanged;
10614 [Description (
10615 "Boolean indicating that the Log is currently frozen and "
10616 "modifications are not allowed.")
10617 ]
10618 boolean IsFrozen;
10619 [Description (
10620 "An enumeration describing the character set used to record "
10621 "data in the individual Log entries. For example, the "
10622 "Log records may contain ASCII data (value=2), or be raw octet "
10623 "strings (value=10)."),
10624 Values {"Unknown", "Other", "ASCII", "Unicode", "ISO2022",
10625 "ISO8859", "Extended UNIX Code", "UTF-8", "UCS-2",
10626 "Bitmapped Data", "OctetString",
10627 karl 1.1 "Defined by Individual Records"}
10628 ]
10629 uint16 CharacterSet;
10630
10631 [Description (
10632 "Requests that the MessageLog be cleared of all entries. "
10633 "The return value should be 0 if the request was successfully "
10634 "executed, 1 if the request is not supported and some other "
10635 "value if an error occurred. If the request is not supported, "
10636 "check the Capabilities array that a value of 6 (\"Clear Log "
10637 "Supported\") is specified.\n\n"
10638 "Note: In a subclass, the set of possible return codes could "
10639 "be described using a ValueMap qualifier on the method. The "
10640 "strings to which the ValueMap contents are 'translated' may "
10641 "also be specified in the subclass as a Values array "
10642 "qualifier.")
10643 ]
10644 uint32 ClearLog();
10645
10646 [Description (
10647 "Requests that an iteration of the MessageLog be established "
10648 karl 1.1 "and that the iterator be set to the first entry in the Log. "
10649 "An identifier for the iterator is returned as an output "
10650 "parameter of the method.\n\n"
10651 "Regarding iteration, you have 2 choices: 1) Embed iteration "
10652 "data in the method call, and allow implementations to track/"
10653 "store this data manually; or, 2) Iterate using a separate "
10654 "object (for example, class ActiveIterator) as an iteration "
10655 "agent. The first approach is used here for interoperability. "
10656 "The second requires an instance of the Iterator object for "
10657 "EACH iteration in progress. 2's functionality could be "
10658 "implemented underneath 1.\n\n"
10659 "The return value from PositionToFirstRecord should be 0 if "
10660 "the request was successfully executed, 1 if the request is "
10661 "not supported and some other value if an error occurred. In "
10662 "a subclass, the set of possible return codes could be specified, "
10663 "using a ValueMap qualifier on the method. The strings to which "
10664 "the ValueMap contents are 'translated' may also be specified "
10665 "in the subclass as a Values array qualifier.")
10666 ]
10667 uint32 PositionToFirstRecord ([OUT] string IterationIdentifier);
10668
10669 karl 1.1 [Description (
10670 "Requests that the Log's iteration identifier be advanced or "
10671 "retreated a specific number of records, or set to the "
10672 "entry at a specified numeric location. These two different "
10673 "behaviors are accomplished using the input parameters of the "
10674 "method. Advancing or retreating is achieved by setting the "
10675 "MoveAbsolute boolean to FALSE, and then specifying the number of "
10676 "entries to advance or retreat as positive or negative values "
10677 "in the RecordNumber parameter. Moving to a specific record "
10678 "number is accomplished by setting the MoveAbsolute input "
10679 "parameter to TRUE, and then placing the record number into "
10680 "the RecordNumber parameter. This can only be done if the "
10681 "Capabilities array includes a value of 7, \"Supports "
10682 "Addressing by Ordinal Record Number\".\n\n"
10683 "After the method completes and if ordinal record numbers are "
10684 "supported (the Capabilities array includes a 7), the current "
10685 "record number is returned in the RecordNumber output parameter. "
10686 "Otherwise, the value of the parameter is undefined.\n\n"
10687 "IterationIdentifier is defined as an Input/Output method "
10688 "parameter to allow the Log to embed state information in "
10689 "the Identifier and potentially let the identifier be "
10690 karl 1.1 "maintained by the using application.\n\n"
10691 "The return value from PositionAtRecord should be 0 if "
10692 "the request was successfully executed, 1 if the request is "
10693 "not supported and some other value if an error occurred. If "
10694 "the request is not supported, check the Capabilities array "
10695 "regarding support for ordinal record number addressing and "
10696 "backward movement in the Log (values 7 and 4, respectively).\n\n"
10697 "Note: In a subclass, the set of possible return codes could "
10698 "be described using a ValueMap qualifier on the method. The "
10699 "strings to which the ValueMap contents are 'translated' may "
10700 "also be specified in the subclass as a Values array "
10701 "qualifier.")
10702 ]
10703 uint32 PositionAtRecord (
10704 [IN, OUT] string IterationIdentifier,
10705 [IN, Description ("Advancing or retreating the IterationIdentifier "
10706 "is achieved by setting the MoveAbsolute boolean to FALSE, and "
10707 "specifying the number of entries to advance or retreat as "
10708 "positive or negative values in the RecordNumber parameter. "
10709 "Moving to a specific record number is accomplished by setting "
10710 "the MoveAbsolute parameter to TRUE, and placing the record "
10711 karl 1.1 "number into the RecordNumber parameter.") ]
10712 boolean MoveAbsolute,
10713 [IN, OUT] sint64 RecordNumber);
10714
10715 [Description (
10716 "Requests that the record indicated by the IterationIdentifier "
10717 "be retrieved from the MessageLog. After retrieval, the Iteration"
10718 "Identifier may be advanced to the next record by setting the "
10719 "PositionToNext input parameter to TRUE. Two output parameters "
10720 "are defined for the method - RecordData which holds the contents "
10721 "of the Log entry (as an array of bytes that can be recast to an "
10722 "appropriate format), and RecordNumber which returns the current "
10723 "record number addressed via the IterationIdentifier. The "
10724 "RecordNumber parameter is only defined/valid when the "
10725 "Capabilities array indicates that ordinal record number "
10726 "addressing is supported (a value of 7).\n\n"
10727 "IterationIdentifier is defined as an Input/Output method "
10728 "parameter to allow the Log to embed state information in "
10729 "the Identifier and potentially let the identifier be "
10730 "maintained by the using application.\n\n"
10731 "The return value from GetRecord should be 0 if the request "
10732 karl 1.1 "was successfully executed, 1 if the request is not supported, "
10733 "and some other value if an error occurred. In a subclass, the "
10734 "set of possible return codes could be specified, using a "
10735 "ValueMap qualifier on the method. The strings to which the "
10736 "ValueMap contents are 'translated' may also be specified in "
10737 "the subclass as a Values array qualifier.")
10738 ]
10739 uint32 GetRecord (
10740 [IN, OUT] string IterationIdentifier,
10741 [IN, Description ("Boolean indicating that the Iteration"
10742 "Identifier should be advanced to the next record, after "
10743 "retrieving the current Log entry.") ] boolean PositionToNext,
10744 [OUT] uint64 RecordNumber,
10745 [OUT] uint8 RecordData[]);
10746
10747 [Description (
10748 "Requests that the record indicated by the IterationIdentifier "
10749 "be deleted from the MessageLog. After deletion, the Iteration"
10750 "Identifier may be advanced to the next record by setting the "
10751 "PositionToNext input parameter to TRUE. If set to FALSE, then "
10752 "the IterationIdentifier will be positioned at the previous "
10753 karl 1.1 "record. Two output parameters are defined for the method - "
10754 "RecordData which holds the contents of the deleted Log entry "
10755 "(as an array of bytes that can be recast to an appropriate "
10756 "format or discarded), and RecordNumber which returns the current "
10757 "record number addressed via the IterationIdentifier. The "
10758 "RecordNumber parameter is only defined/valid when the "
10759 "Capabilities array indicates that ordinal record number "
10760 "addressing is supported (a value of 7).\n\n"
10761 "IterationIdentifier is defined as an Input/Output method "
10762 "parameter to allow the Log to embed state information in "
10763 "the Identifier and potentially let the identifier be "
10764 "maintained by the using application.\n\n"
10765 "The return value from DeleteRecord should be 0 if the request "
10766 "was successfully executed, 1 if the request is not supported, "
10767 "and some other value if an error occurred. If the request is "
10768 "not supported, check the Capabilities array that a value of 3 "
10769 "(\"Delete Record Supported\") is specified.\n\n"
10770 "Note: In a subclass, the set of possible return codes could "
10771 "be described using a ValueMap qualifier on the method. The "
10772 "strings to which the ValueMap contents are 'translated' may "
10773 "also be specified in the subclass as a Values array "
10774 karl 1.1 "qualifier.")
10775 ]
10776 uint32 DeleteRecord (
10777 [IN, OUT] string IterationIdentifier,
10778 [IN, Description ("Boolean that when set to TRUE requests the "
10779 "IterationIdentifier to be advanced to the next record, "
10780 "after the current entry is deleted. If set to FALSE, "
10781 "IterationIdentifier is set to the previous record.") ]
10782 boolean PositionToNext,
10783 [OUT] uint64 RecordNumber,
10784 [OUT] uint8 RecordData[]);
10785
10786 [Description (
10787 "Requests that a record be inserted at the Log position "
10788 "indicated by the IterationIdentifier. The entry's data is "
10789 "provided in the RecordData input parameter. After insertion, "
10790 "the IterationIdentifier may be advanced to the next record "
10791 "by setting the PositionToNext input parameter to TRUE. "
10792 "The output parameter, RecordNumber, returns the current "
10793 "record number addressed via the IterationIdentifier. This "
10794 "parameter is only defined/valid when the Capabilities array "
10795 karl 1.1 "indicates that ordinal record number addressing is supported "
10796 "(a value of 7).\n\n"
10797 "IterationIdentifier is defined as an Input/Output method "
10798 "parameter to allow the Log to embed state information in "
10799 "the Identifier and potentially let the identifier be "
10800 "maintained by the using application.\n\n"
10801 "The return value from WriteRecord should be 0 if the request "
10802 "was successfully executed, 1 if the request is not supported, "
10803 "and some other value if an error occurred. If the request is "
10804 "not supported, check the Capabilities array that a value of 2 "
10805 "(\"Write Record Supported\") is specified.\n\n"
10806 "Note: In a subclass, the set of possible return codes could "
10807 "be described using a ValueMap qualifier on the method. The "
10808 "strings to which the ValueMap contents are 'translated' may "
10809 "also be specified in the subclass as a Values array "
10810 "qualifier.")
10811 ]
10812 uint32 WriteRecord (
10813 [IN, OUT] string IterationIdentifier,
10814 [IN, Description ("Boolean indicating that the Iteration"
10815 "Identifier should be advanced to the next record, after "
10816 karl 1.1 "writing the Log entry.") ] boolean PositionToNext,
10817 [IN] uint8 RecordData[],
10818 [OUT] uint64 RecordNumber);
10819
10820 [Description (
10821 "Requests that an iteration of the Log, identified by the "
10822 "IterationIdentifier input parameter, be stopped. The "
10823 "return value from CancelIteration should be 0 if the "
10824 "request was successfully executed, 1 if the request is "
10825 "not supported and some other value if an error occurred. In "
10826 "a subclass, the set of possible return codes could be "
10827 "specified, using a ValueMap qualifier on the method. The "
10828 "strings to which the ValueMap contents are 'translated' "
10829 "may also be specified in the subclass as a Values array "
10830 "qualifier.")
10831 ]
10832 uint32 CancelIteration ([IN] string IterationIdentifier);
10833
10834 [Description (
10835 "Requests that the MessageLog be placed in a frozen state "
10836 "(\"Freeze\" input parameter = TRUE) or 'unfrozen' (= FALSE). "
10837 karl 1.1 "If frozen, modifications to the Log will not be allowed. "
10838 "If successful, the Log's IsFrozen boolean property will "
10839 "be updated to reflect the desired state.\n\n"
10840 "The method's return code should be 0 if the request was "
10841 "successfully executed, 1 if the request is not supported "
10842 "and some other value if an error occurred. If the request "
10843 "is not supported, check the Capabilities array that a value "
10844 "of 5 (\"Freeze Log Supported\") is specified.\n\n"
10845 "Note: In a subclass, the set of possible return codes could "
10846 "be described using a ValueMap qualifier on the method. The "
10847 "strings to which the ValueMap contents are 'translated' may "
10848 "also be specified in the subclass as a Values array "
10849 "qualifier.")
10850 ]
10851 uint32 FreezeLog([IN] boolean Freeze);
10852
10853 [Description (
10854 "Requests that the record indicated by the IterationIdentifier "
10855 "be flagged as overwriteable. This method is only supported "
10856 "when the Capabilities array includes a value of 10, \"Can Flag "
10857 "Records for Overwrite\". After updating the entry, the Iteration"
10858 karl 1.1 "Identifier may be advanced to the next record by setting the "
10859 "PositionToNext input parameter to TRUE. One output parameter "
10860 "is defined for the method RecordNumber. It returns the "
10861 "current record number addressed via the Iteration"
10862 "Identifier. This parameter is only defined/valid when the "
10863 "Capabilities array indicates that ordinal record number "
10864 "addressing is supported (a value of 7).\n\n"
10865 "IterationIdentifier is defined as an Input/Output method "
10866 "parameter to allow the Log to embed state information in "
10867 "the Identifier and potentially let the identifier be "
10868 "maintained by the using application.\n\n"
10869 "The return value from FlagRecordForOverwrite should be 0 if "
10870 "the request was successfully executed, 1 if the request is not "
10871 "supported, and some other value if an error occurred. In a "
10872 "subclass, the set of possible return codes could be specified, "
10873 "using a ValueMap qualifier on the method. The strings to which "
10874 "the ValueMap contents are 'translated' may also be specified "
10875 "in the subclass as a Values array qualifier.")
10876 ]
10877 uint32 FlagRecordForOverwrite (
10878 [IN, OUT] string IterationIdentifier,
10879 karl 1.1 [IN, Description ("Boolean indicating that the Iteration"
10880 "Identifier should be advanced to the next record, after "
10881 "updating the current Log entry.") ] boolean PositionToNext,
10882 [OUT] uint64 RecordNumber);
10883 };
10884
10885 // ===================================================================
10886 // LogRecord
10887 // ===================================================================
10888
10889 [Description (
10890 "The LogRecord object can describe the definitional format for "
10891 "entries in a MessageLog, or can be used to instantiate the "
10892 "actual records in the Log. The latter approach provides a "
10893 "great deal more semantic definition and management control over "
10894 "the individual entries in a MessageLog, than do the record "
10895 "manipulation methods of the Log class. It is recommended that "
10896 "the data in individual Log entries be modeled using subclasses "
10897 "of LogRecord, to avoid the creation of LogRecords with one "
10898 "property (such as RecordData) without semantics.\n"
10899 "Definitional formats for LogRecords could be specified by "
10900 karl 1.1 "establishing a naming convention for the RecordID and Message"
10901 "Timestamp key properties.")
10902 ]
10903 class CIM_LogRecord : CIM_ManagedElement
10904 {
10905 [Propagated("CIM_MessageLog.CreationClassName"),
10906 Key, MaxLen (256),
10907 Description ("The scoping Log's CreationClassName.") ]
10908 string LogCreationClassName;
10909 [Propagated("CIM_MessageLog.Name"),
10910 Key, MaxLen (256),
10911 Description ("The scoping Log's Name.") ]
10912 string LogName;
10913 [Key, MaxLen (256),
10914 Description (
10915 "CreationClassName indicates the name of the class or "
10916 "the subclass used in the creation of an instance. When "
10917 "used with the other key properties of this class, this "
10918 "property allows all instances of this class and its "
10919 "subclasses to be uniquely identified.")
10920 ]
10921 karl 1.1 string CreationClassName;
10922 [Key, MaxLen (256),
10923 Description (
10924 "RecordID, with the MessageTimestamp property, serve to "
10925 "uniquely identify the LogRecord within a MessageLog. Note "
10926 "that this property is different than the RecordNumber "
10927 "parameters of the MessageLog methods. The latter are ordinal "
10928 "values only, useful to track position when iterating through "
10929 "a Log. On the other hand, RecordID is truly an identifier "
10930 "for an instance of LogRecord. It may be set to the record's "
10931 "ordinal position, but this is not required.")
10932 ]
10933 string RecordID;
10934 [Key, Description (
10935 "A LogRecord's key structure includes a timestamp for "
10936 "the entry.")
10937 ]
10938 datetime MessageTimestamp;
10939 [Description (
10940 "A free-form string describing the LogRecord's data structure.")
10941 ]
10942 karl 1.1 string DataFormat;
10943 };
10944
10945 // ===================================================================
10946 // RecordInLog
10947 // ===================================================================
10948 [Association, Aggregation,
10949 Description (
10950 "RecordInLog describes the aggregation or location of Log "
10951 "entries within a MessageLog.")
10952 ]
10953 class CIM_RecordInLog
10954 {
10955 [Key, Aggregate, Min (1), Max (1),
10956 Description ("The Message Log.")
10957 ]
10958 CIM_MessageLog REF MessageLog;
10959 [Key, Weak, Description (
10960 "The Log entry contained within the MessageLog.")
10961 ]
10962 CIM_LogRecord REF LogRecord;
10963 karl 1.1 };
10964
10965 // ===================================================================
10966 // LogInDeviceFile
10967 // ===================================================================
10968 [Association, Description (
10969 "MessageLogs can reside in data files, on specially allocated "
10970 "storage areas such as disks or memory, or output as raw I/O "
10971 "streams. In fact, a single Log may use each of these mechanisms "
10972 "to output or capture its contents. The LogInDeviceFile "
10973 "association describes a Log outputting to a raw I/O stream "
10974 "DeviceFile - for example, a serial port on a UNIX system.")
10975 ]
10976 class CIM_LogInDeviceFile : CIM_Dependency
10977 {
10978 [Override ("Antecedent"), Description (
10979 "The I/O stream DeviceFile.")
10980 ]
10981 CIM_DeviceFile REF Antecedent;
10982 [Override ("Dependent"),
10983 Description ("The MessageLog outputting to the DeviceFile.")
10984 karl 1.1 ]
10985 CIM_MessageLog REF Dependent;
10986 };
10987
10988
10989 // ===================================================================
10990 // LogInDataFile
10991 // ===================================================================
10992 [Association, Description (
10993 "MessageLogs can reside in data files, on specially allocated "
10994 "storage areas such as disks or memory, or output as raw I/O "
10995 "streams. In fact, a single Log may use each of these mechanisms "
10996 "to output or capture its contents. The LogInDataFile "
10997 "association describes a Log stored as a DataFile.")
10998 ]
10999 class CIM_LogInDataFile : CIM_Dependency
11000 {
11001 [Override ("Antecedent"), Description (
11002 "The DataFile.")
11003 ]
11004 CIM_DataFile REF Antecedent;
11005 karl 1.1 [Override ("Dependent"),
11006 Description ("The MessageLog residing in the DataFile.")
11007 ]
11008 CIM_MessageLog REF Dependent;
11009 };
11010
11011 // ===================================================================
11012 // LogInStorage
11013 // ===================================================================
11014 [Association, Description (
11015 "MessageLogs can reside in data files, on specially allocated "
11016 "storage areas such as disks or memory, or output as raw I/O "
11017 "streams. In fact, a single Log may use each of these mechanisms "
11018 "to output or capture its contents. The LogInStorage "
11019 "association describes a Log located in a specially allocated "
11020 "portion of a StorageExtent. The offset of the Log, within "
11021 "the Extent, is defined using a property of the association, "
11022 "StartingOffset.")
11023 ]
11024 class CIM_LogInStorage : CIM_Dependency
11025 {
11026 karl 1.1 [Override ("Antecedent"), Description ("The StorageExtent.") ]
11027 CIM_StorageExtent REF Antecedent;
11028 [Override ("Dependent"),
11029 Description ("The MessageLog located within the Extent.")
11030 ]
11031 CIM_MessageLog REF Dependent;
11032 [Description (
11033 "StartingOffset indicates where in the Extent that the Log "
11034 "begins.")
11035 ]
11036 uint64 StartingOffset;
11037 };
11038
11039 // ===================================================================
11040 // UseOfMessageLog
11041 // ===================================================================
11042 [Association, Description (
11043 "ManagedSystemElements may record their event, error or "
11044 "informational data within MessageLogs. The use of a Log to "
11045 "hold a ManagedSystemElement's data is described by this "
11046 "association. The type of Element data captured by the Log "
11047 karl 1.1 "can be specified using the RecordedData string property.")
11048 ]
11049 class CIM_UseOfMessageLog : CIM_Dependency
11050 {
11051 [Override ("Antecedent"), Description ("The MessageLog.") ]
11052 CIM_MessageLog REF Antecedent;
11053 [Override ("Dependent"), Description (
11054 "The ManagedSystemElement whose information is recorded in "
11055 "the MessageLog.")
11056 ]
11057 CIM_ManagedSystemElement REF Dependent;
11058 [Description (
11059 "A free-form string describing the use of the Log by the "
11060 "ManagedSystemElement.")
11061 ]
11062 string RecordedData;
11063 };
11064
11065
11066 // ===================================================================
11067 // end of file
11068 karl 1.1 // ===================================================================
11069
|