1 mike 1.2 // ===================================================================
2 // Title: Devices MOF specification 2.6
3 // Filename: CIM_Device26.mof
4 // Version: 2.6
5 // Release: 0
6 // Date: 06/12/2001
7 // ===================================================================
8 // Copyright "2001" Distributed Management Task Force, Inc. (DMTF).
9 // All rights reserved.
10 // DMTF is a not-for-profit association of industry members dedicated
11 // to promoting enterprise and systems management and interoperability.
12 // DMTF specifications and documents may be reproduced for uses
13 // consistent with this purpose by members and non-members,
14 // provided that correct attribution is given.
15 // As DMTF specifications may be revised from time to time,
16 // the particular version and release cited should always be noted.
17 // ===================================================================
18 // Description: The object classes below are listed in an order that
19 // avoids forward references. Required objects, defined
20 // by other working groups, are omitted.
21 // ==================================================================
22 mike 1.2 // Author: DMTF System and Devices Working Group
23 // ==================================================================
24 // Date: 04/14/1998 - Version 2.0
25 // 06/23/1998 - V2.0 Errata
26 // - CR222, References to the "Resource" component in
27 // CIM_ComputerSystemResource association and its
28 // subclasses incorrect - Should be PartComponent
29 // - CR225, Antecedent reference should be CIM_CurrentSensor
30 // in the AssociatedSupplyCurrentSensor relationship
31 // - CR226, Add ArrayType("Indexed") and update descriptions
32 // for CIM_NetworkAdapter.NetworkAddresses and its
33 // overrides
34 // - CR227, UninterruptablePowerSupply should be
35 // Uninterruptible
36 // - CR235, Format for specifying propagated value uses
37 // period, not colon
38 // 09/29/1998 - Version 2.1
39 // - CR236, Add ModelCorrespondence qualifier to properties
40 // of CIM_MonitorResolution
41 // - CR243, Add AutoSense and MaxSpeed properties to
42 // CIM_NetworkAdapter
43 mike 1.2 // - CR244a, Extend the enumeration of CIM_Processor.Family,
44 // Add a new Processor property, OtherFamilyDescription
45 // - CR245, Add CIM_AllocatedDMA association
46 // - CR254, Add CIM_DeviceErrorCounts object and related
47 // association, CIM_ErrorCountersForDevice
48 // - CR259, Add DesiredSpeed property and SetSpeed method
49 // to CIM_Fan
50 // - CR261a, Add two properties to CIM_Battery, ExpectedLife
51 // and MaxRechargeTime
52 // - CR265, Address "cleaning" related to a CIM_Media
53 // AccessDevice
54 // - CR266, Add CIM_AlarmDevice and association
55 // - CR274, Remove repetition of the Values array from
56 // property Descriptions
57 // - CR275, Update DMI Master.MIF mappings
58 // - CR288a, Add AssociatedProcessorMemory relationship
59 // - CR292, Add ModelCorrespondence to 'linked' properties
60 // - CR294, Remove key-qualifier from 'StartingAddress' in
61 // CIM_BIOSLoadedInNV
62 // 10/14/1998 - Version 2.1.1
63 // - Missed CR271a, Add Stepping property to CIM_Processor
64 mike 1.2 // 06/11/1999 - Version 2.2
65 // - CR297, Add Sparc processors to the enum, Processor.Family
66 // - CR308a, Create DeviceIdentity relationship
67 // - CR316, Add OrderIndex to BasedOn
68 // - CR318c, Add processors to the enum, Processor.Family
69 // - CR325, Load balancing (Add LoadBalancedGroup boolean to
70 // ExtraCapacityGroup, Create new NetworkAdapter
71 // RedundancyComponent and NetworkVirtualAdapter
72 // associations)
73 // - CR326, Add properties, LoadedOnDevice and UpgradeableOn
74 // Device to DeviceSoftware
75 // - CR327b, Update the PCIController class and add new
76 // subclasses, PCIDevice and PCIBridge
77 // - CR328, New MappingStrings, Descriptions and properties in
78 // SCSIController and SCSIInterface
79 // - CR329a, Add to the MediaAccessDevice Capabilities array,
80 // (enum) / Also, add a MediaIsLocked property and
81 // LockMedia method / Create subclass, DVDDevice
82 // - CR330a, Add properties and methods to AlarmDevice
83 // - CR331, Create IDE, PCMCIA and InfraredController
84 // subclasses of Controller / Add to the enum for
85 mike 1.2 // Controller.ProtocolSupported
86 // - CR332, Add PartitionType and PartitionSubtype properties
87 // to DiskPartition / Update class Description
88 // - CR333a, Extensions to and clarifications of StorageExtent
89 // - CR334, Clarify the StorageRedundancyGroup.TypeOfAlgorithm
90 // enum and add properties to the class / Create an
91 // ExtentRedundancyComponent association
92 // - CR335a, Updates to the Printer object
93 // - CR336, New Printer-related classes and associations
94 // - CR341, Create new Modem classes, properties and
95 // associations
96 // - CR342, Create OOBAlert and WakeUpServices and
97 // associations to NetworkAdapter
98 // - CR343, Create new NetworkAdapter classes, properties
99 // and associations
100 // - CR344, Changes to POTSModem and movement of some
101 // properties up to CIM_Modem
102 // - CR345b, Changes to Sensor and its subclasses
103 // - CR346, Add WatchDog object
104 // - CR347, Add a UniqueID property to Processor
105 // - CR348, Create AGPVideoController and AGPSoftware
106 mike 1.2 // Feature classes
107 // - CR351, Add TimeOfDeviceReset to ControlledBy
108 // - CR355a, Use Values-ValueMap qualifiers in DeviceError
109 // Counts.ResetCounter and AlarmDevice.SetUrgency /
110 // Update the method descriptions indicating that
111 // Values-ValueMap qualifiers can be defined for
112 // return codes
113 // - CR356a, Keys on all associations either explicitly or
114 // via inheritance
115 // - CR357, Remove company references
116 // - CR360, Add VendorID to ConnectionBasedModem
117 // - CR366, Clarify the Description for ResidesOnExtent
118 // - CR372, Create LogicalPort and PortOnDevice
119 // - CR373, Define the USB Model
120 // - CR375, Update descriptions and enumerations / Add new
121 // classes - SuppliesPower, VideoControllerResolution,
122 // VideoSetting / Create new properties - IRQ.Hardware,
123 // Security in MediaAccessDevice, ParallelController and
124 // SerialController, VideoController.CurrentNumberOf
125 // Colors, ScreenHeight and Width in DesktopMonitor,
126 // NetworkAdapter.FullDuplex, Processor.CPUStatus,
127 mike 1.2 // MemoryMappedIO.MappedResource and 3 'storage is
128 // writeable' properties in NonVolatileStorage
129 // - CR377, Add "video processor" to Processor.Family
130 // - CR379a, Update the DMI MappingStrings
131 // - CR380a, Define the Fibre Channel Adapter and Port models
132 // - CR381, Update MediaAccessDevice's enumerations and add new
133 // properties - LastCleaned, MaxAccessTime,
134 // UncompressedDataRate, LoadTime, UnloadTime / Create
135 // MediaPresent.FixedMedia / Update StorageExtent's
136 // enumerations and add a SequentialAccess property /
137 // Create TapeDrive.MaxRewindTime
138 // - CR382, Create a DiskGroup class and its supporting
139 // associations
140 // - CR384, Update Processor.UpgradeMethod / Create an
141 // ESCONController
142 // - CR393a, Define the Tape Library Device Model
143 // - CR394, Update Descriptions / Add VolumeSet.VolumeStatus
144 // and properties to VolumeSetBasedOnPSExtent (from
145 // CR333a)
146 // - CR399, Remove SubmitsRequest from CR336
147 // - CR405, Add Counter and Gauge qualifiers as appropriate
148 mike 1.2 // - CR406, Update PartitionSubtype enumeration from CR332
149 // - CR407, Add DoorAccessToPhysicalElement and Changer.
150 // AuditInProgress
151 // - CR408, Update the Description for StorageExtent.
152 // ConsumableBlocks (from CR333a)
153 // - CR410, Updates to the Fibre Channel Model submitted in
154 // CR380a
155 // - CR414, Add "Mouse-Optical Sensor" to PointingDevice.
156 // PointingType
157 // - CR415, Remove OrderOfQueue from QueueForPrintService
158 // (added in CR336)
159 // - CR417a, Add "N/A" to CacheMemory.Level
160 // - CR418a, Add to the enum for CacheMemory.Read and Write
161 // Policy / Update Descriptions related to Storage
162 // Volume (from CR333a) / Change the association,
163 // LogicalDiskBasedOnSoftwareVolume (CR333a) to
164 // LogicalDiskBasedOnVolume
165 // - CR420, Miscellaneous syntax and semantic issues
166 // - CR421, Defer including some properties of Unimodem from
167 // CR341
168 // 07/06/1999 - Version 2.2.1
169 mike 1.2 // - CR422, Cut & paste errors (Remove Association qualifier
170 // from LabelReader, MediaAccess and PickerStatInfo;
171 // Add Association qualifier to CIM_VideoSetting)
172 // - CR423, Locale should be specified as en_US
173 // - CR424, Add CIM_ to the class name for PCIDevice and
174 // PCIBridge / Add Overrides to xxxInDiskGroup
175 // aggregations / Update the Descriptions for Cache
176 // Memory Read and WritePolicy
177 // - CR425, Update the DMI MappingStrings using the June
178 // release of the master.mif
179 // 07/27/1999 - Version 2.2.2
180 // - CR428, Remove underscores from two properties of
181 // PCIDevice
182 // Date 02/18/2000 - Version 2.3
183 // - CR429 Modify Description of UserDataStripeDepth in
184 // CIM_ProtectedSpaceExtent
185 // - CR431 Update MappingStrings
186 // - CR432 Create subclasses of MemoryMappedIO
187 // - CR433 Add new properties and enums from Master.MIF and new
188 // ModelCorrespondences
189 // - CR436 Add a place holder for SSA Controller
190 mike 1.2 // - CR438 Change Intel Processor types to meet Intel legal requirements
191 // in CIM_Processor.Family
192 // - CR445e Modify the SpareGroup class to add a Failover method
193 // - CR449 Add Itanium processors to CIM_Processor.Family
194 // - CR452a Updates to FibrePort
195 // - CR457 Miscellaneous StorageExtent and MediaAccessDevice
196 // clarifications
197 // - CR460a Add Counter, OctetString and Gauge qualifiers
198 // - CR461 Subclass from CIM_ManagedElement StorageError
199 // - CR463b Define the necessary classes and associations to
200 // support Message Logs
201 // - CR471 Recommended qualifier for CIM_NumericSensor.CurrentReading
202 // - CR474 Add Processor types to CIM_Processor.Family
203 // - CR475 Add Processor types to CIM_Processor.Family
204 // Date 06/09/2000 - Version 2.4
205 // - CR479 Miscellaneous Device Model Additions to the Storage and
206 // StorageLibrary Classes
207 // 1. Add a new property, CellLocation, to the PickerElement class.
208 // 2. Add to the enumeration for LabelReader.SupportedFormats.
209 // 3. Add a new property, Extendable, to TapePartition
210 // 4. Add a new property, Direction, to BOTH LimitedAccessPort
211 mike 1.2 // and InterLibraryPort
212 // 5. Add six new properties to MediaAccessDevice.
213 // 6. Define a new association, AssociatedLabelReader
214 // 7. Update the subclassing of PickerLabelReader and AccessLabelReader
215 // to use the association defined in #6.
216 // 8. Update the description for LimitedAccessPort.
217 // - CR486, Further updates to the Storage and Storage Library Models
218 // 1. Add seek and recovered R/W stats to the class, MediaAccessStatInfo
219 // 2. Due to the changes in #1, must update the ResetCounters method
220 // in MediaAccessStatInfo.
221 // 3. Create a new superclass of TapePartition and DiskPartition,
222 // MediaPartition
223 // 4. Change the subclassing of TapePartition and DiskPartition from
224 // CIM_StorageExtent to CIM_MediaPartition.
225 // 5. Remove the Bootable boolean from DiskPartition since it is now
226 // found in the MediaPartition superclass.
227 // - CR494, Add to the enumerations in CIM_CacheMemory.Associativity
228 // Date 07/14/00 - Version 2.4
229 // - CR513a, Move Extendable Boolean up to the MediaPartition superclass
230 // - CR519 ERRATA CIM 2.3: correct ValueMap syntax errors in
231 // CIM_Processor.Family
232 mike 1.2 // Date 12/01/2000 Version 2.5
233 // - CR527 Add AMD Duron processors to CIM_Processor.Family
234 // - CR528 Add Socket 423 and Socket A (Socket 462) enumerations to
235 // CIM_Processor.UpgradeMethod
236 // - CR530 Modify the enumerations in CIM_Processor.Family (Device MOF)
237 // - CR531 Add Transmeta Crusoe processors's names in CIM_Processor.Family
238 // - CR534 Update MappingStrings Qualifiers to stay in sync with
239 // updates to the MASTER.MIF.
240 // - CR535 Add "Service Processor" to CIM_Watchdog.MonitoredEntity and
241 // CIM_Watchdog.MonitoredEntityOnLastExpiration enumeration.
242 // Date 05/23/2001 - Final Version 2.5
243 // Reordered classes to match Visio
244 // - CR606 Add the Aggregate qualifier where missing:
245 // PrintJobFile, NetworkAdapterRedundancyComponent
246 // Date 05/23/2001 - Version 2.6
247 // - CR584 Add PresenceHeartbeatCapable and EnablePresenceHeartbeat
248 // properties to CIM_OOBAlertService
249 // - CR590 Fix comma placement in the mapping string for
250 // StorageExtent.BlockSize
251 // - CR601 Add a enumeration value to the CIM_Processor.Family
252 // property
253 mike 1.2 // - CR602 Add a pragma to include the new IB class definition
254 // found in CIM_Device26_Add.mof
255 //
256 // ===================================================================
257
258
259 // ===================================================================
260 // Generic Pragmas
261 // ===================================================================
262 #pragma locale ("en_US")
263
264 // ===================================================================
265 //
266 // General Devices
267 //
268 // ===================================================================
269
270 // ===================================================================
271 // DeviceConnection
272 // ===================================================================
273 [Association,
274 mike 1.2 Description (
275 "The DeviceConnection relationship indicates that two or more "
276 "Device are connected together.") ]
277 class CIM_DeviceConnection : CIM_Dependency {
278 [Override ("Antecedent"),
279 Description ("A LogicalDevice.") ]
280 CIM_LogicalDevice REF Antecedent;
281 [Override ("Dependent"),
282 Description (
283 "A second LogicalDevice connected to the Antecedent Device.") ]
284 CIM_LogicalDevice REF Dependent;
285 [Description (
286 "When several bus and/or connection speeds are possible, the "
287 "NegotiatedSpeed property defines the one in use between the "
288 "Devices. Speed is specified in bits per second. If "
289 "connection or bus speeds are not negotiated, or if this "
290 "information is not available/important to Device management, "
291 "the property should be set to 0."),
292 Units ("Bits per Second"),
293 MappingStrings {"MIF.DMTF|Bus Port Association|001.2"} ]
294 uint64 NegotiatedSpeed;
295 mike 1.2 [Description (
296 "When several bus and/or connection data widths are possible, "
297 "the NegotiatedDataWidth property defines the one in use "
298 "between the Devices. Data width is specified in bits. If "
299 "data width is not negotiated, or if this information is not "
300 "available/important to Device management, the property should "
301 "be set to 0."),
302 Units ("Bits"),
303 MappingStrings {"MIF.DMTF|Bus Port Association|001.3"} ]
304 uint32 NegotiatedDataWidth;
305 };
306
307
308 // ===================================================================
309 // DeviceIdentity
310 // ===================================================================
311 [Association,
312 Description (
313 "CIM_DeviceIdentity indicates that two LogicalDevices "
314 "represent different aspects of the same underlying entity. "
315 "This association refines the CIM_LogicalIdentity superclass "
316 mike 1.2 "by restricting it to the Device level and defining its use in "
317 "well understood scenarios. One of these scenarios is to "
318 "represent that a Device is both a 'bus' entity and a "
319 "'functional' entity. For example, a Device could be both a PCI "
320 "Device (or a USB Device), as well as a CIM_Keyboard. The other "
321 "scenario is where a Device plays multiple functional roles "
322 "that can not be distinguished by their hardware realization "
323 "alone. For example, a Fibre Channel adapter might have aspects "
324 "of both a NetworkAdapter and a SCSIController.") ]
325 class CIM_DeviceIdentity: CIM_LogicalIdentity {
326 [Override ("SystemElement"),
327 Description (
328 "SystemElement represents one aspect of the Device.") ]
329 CIM_LogicalDevice ref SystemElement;
330 [Override ("SameElement"),
331 Description (
332 "SameElement represents an alternate aspect of "
333 "the System entity.") ]
334 CIM_LogicalDevice ref SameElement;
335 };
336
337 mike 1.2
338 // ===================================================================
339 // WatchDog
340 // ===================================================================
341 [Description (
342 "CIM_Watchdog is a timer implemented in system hardware. It "
343 "allows the hardware to monitor the state of the Operating"
344 "System, BIOS or a software component installed on the "
345 "System. If the monitored component fails to re-arm the timer "
346 "before its expiration, the hardware assumes that the System is "
347 "in a critical state, and could reset the ComputerSystem. This "
348 "feature can also be used as an application watchdog timer for "
349 "a mission-critical application. In this case, the application "
350 "would assume responsibility for re-arming the timer before "
351 "expiration.") ]
352 class CIM_Watchdog : CIM_LogicalDevice {
353 [Description (
354 "The entity that is currently being monitored by the WatchDog. "
355 "This property is used to identify the module that is responsible "
356 "for re-arming the watchdog at periodic intervals."),
357 Values {"Unknown", "Other", "Operating System",
358 mike 1.2 "Operating System Boot Process",
359 "Operating System Shutdown Process",
360 "Firmware Boot Process", "BIOS Boot Process", "Application",
361 "Service Processor"} ]
362 uint16 MonitoredEntity;
363 [MaxLen (256), Description (
364 "A string describing more textual information about the "
365 "monitored entity ") ]
366 string MonitoredEntityDescription;
367 [Description (
368 "The timeout interval used by the watchdog, in MicroSeconds."),
369 Units ("MicroSeconds") ]
370 uint32 TimeoutInterval;
371 [Description (
372 "Resolution of the timer. For example, if this value is 100, "
373 "then the timer can expire anytime between (TimeoutInterval-"
374 "100) microseconds or (TimeoutInterval+100) microseconds."),
375 Units ("MicroSeconds") ]
376 uint32 TimerResolution;
377 [Description ("The time of the last timer expiry.") ]
378 datetime TimeOfLastExpiration;
379 mike 1.2 [Description (
380 "Monitored entity at the time of last timer expiry."),
381 Values {"Unknown", "Other", "Operating System",
382 "Operating System Boot Process",
383 "Operating System Shutdown Process",
384 "Firmware Boot Process", "BIOS Boot Process", "Application",
385 "Service Processor"} ]
386 uint16 MonitoredEntityOnLastExpiration;
387 [Description (
388 "The action that should happen upon the expiry of the watchdog."),
389 Values {"None - Status Only", "System Reset", "System Power Off",
390 "System Power Off, then On",
391 "Generate System NonMaskableInterrupt (NMI)",
392 "Generate System Management Interrupt (SMI)"} ]
393 uint16 ActionOnExpiration;
394 [Description (
395 "A method to re-arm the timer. This method is only used if "
396 "the MonitoredEntity is \"Application\". It returns 0 if "
397 "successful, 1 if unsupported, and any other value if an "
398 "error occurred. In a subclass, the set of possible return "
399 "codes could be specified, using a ValueMap qualifier on "
400 mike 1.2 "the method. The strings to which the ValueMap contents are "
401 "'translated' may also be specified in the subclass as a "
402 "Values array qualifier.") ]
403 uint32 KeepAlive();
404 };
405
406
407 // ===================================================================
408 // CoolingDevice
409 // ===================================================================
410 [Description (
411 "Capabilities and management of CoolingDevices.") ]
412 class CIM_CoolingDevice : CIM_LogicalDevice {
413 [Description (
414 "ActiveCooling is a boolean indicating that the Cooling"
415 "Device provides active (as opposed to passive) cooling.") ]
416 boolean ActiveCooling;
417 };
418
419
420 // ===================================================================
421 mike 1.2 // Refrigeration
422 // ===================================================================
423 [Description (
424 "Capabilities and management of a Refrigeration CoolingDevice.") ]
425 class CIM_Refrigeration : CIM_CoolingDevice {
426 };
427
428
429 // ===================================================================
430 // HeatPipe
431 // ===================================================================
432 [Description (
433 "Capabilities and management of a HeatPipe CoolingDevice.") ]
434 class CIM_HeatPipe : CIM_CoolingDevice {
435 };
436
437
438 // ===================================================================
439 // Fan
440 // ===================================================================
441 [Description (
442 mike 1.2 "Capabilities and management of a Fan CoolingDevice.") ]
443 class CIM_Fan : CIM_CoolingDevice {
444 [Description (
445 "Indication of whether the fan supports variable speeds.") ]
446 boolean VariableSpeed;
447 [Description (
448 "DesiredSpeed is the currently requested fan speed, "
449 "defined in Revolutions per Minute, when a variable speed fan "
450 "is supported (VariableSpeed boolean = TRUE). The current "
451 "speed is determined via a sensor (CIM_Tachometer) that is "
452 "associated with the Fan using the CIM_AssociatedSensor "
453 "relationship."),
454 Units ("Revolutions per Minute") ]
455 uint64 DesiredSpeed;
456 [Description (
457 "Requests that the Fan speed be set to the "
458 "value specified in the method's input parameter. The return "
459 "value should be 0 if the request was successfully executed, "
460 "1 if the request is not supported and some other value if an "
461 "error occurred. In a subclass, the set of possible "
462 "return codes could be specified, using a ValueMap qualifier "
463 mike 1.2 "on the method. The strings to which the ValueMap contents "
464 "are 'translated' may also be specified in the "
465 "subclass as a Values array qualifier.") ]
466 uint32 SetSpeed (
467 [IN] uint64 DesiredSpeed);
468 };
469
470
471 // ===================================================================
472 // AssociatedCooling
473 // ===================================================================
474 [Association, Description (
475 "Many Devices, such as processors or power supplies, require "
476 "their own cooling devices. This association indicates where "
477 "fans or other CoolingDevices are specific to a Device, "
478 "versus providing enclosure or cabinet cooling.") ]
479 class CIM_AssociatedCooling : CIM_Dependency {
480 [Override ("Antecedent"),
481 Description ("The CoolingDevice.") ]
482 CIM_CoolingDevice REF Antecedent;
483 [Override ("Dependent"),
484 mike 1.2 Description ("The LogicalDevice being cooled.") ]
485 CIM_LogicalDevice REF Dependent;
486 };
487
488
489 // ===================================================================
490 // UserDevice
491 // ===================================================================
492 [Abstract, Description (
493 "UserDevices are LogicalDevices that allow a ComputerSystem's "
494 "users to input, view or hear data. It is a superclass from "
495 "which other classes, such as Keyboard or DesktopMonitor, "
496 "descend.") ]
497 class CIM_UserDevice : CIM_LogicalDevice {
498 [Description (
499 "An indication of whether the Device is locked, preventing "
500 "user input or output.") ]
501 boolean IsLocked;
502 };
503
504
505 mike 1.2 // ===================================================================
506 // PointingDevice
507 // ===================================================================
508 [Description (
509 "PointingDevice represents those Devices used to 'point' to "
510 "regions of a Display.") ]
511 class CIM_PointingDevice : CIM_UserDevice {
512 [Description ("The type of the pointing device."),
513 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9"},
514 Values {"Other", "Unknown", "Mouse", "Track Ball", "Track Point",
515 "Glide Point", "Touch Pad", "Touch Screen",
516 "Mouse - Optical Sensor"},
517 MappingStrings {"MIF.DMTF|Pointing Device|003"} ]
518 uint16 PointingType;
519 [Description (
520 "Number of buttons. If the PointingDevice has no buttons, "
521 "enter 0."),
522 MappingStrings {"MIF.DMTF|Pointing Device|003"} ]
523 uint8 NumberOfButtons;
524 [Description (
525 "Integer indicating whether the PointingDevice is configured "
526 mike 1.2 "for right (value=2) or left handed operation (value=3). "
527 "Also, the values, \"Unknown\" (0) and \"Not Applicable\" (1), "
528 "can be defined."),
529 Values {"Unknown", "Not Applicable", "Right Handed Operation",
530 "Left Handed Operation"} ]
531 uint16 Handedness;
532 [Description (
533 "Tracking resolution of the PointingDevice in Counts per "
534 "Inch."),
535 Units ("Counts per Inch") ]
536 uint32 Resolution;
537 };
538
539
540 // ===================================================================
541 // Keyboard
542 // ===================================================================
543 [Description (
544 "Capabilities and management of the Keyboard LogicalDevice.") ]
545 class CIM_Keyboard : CIM_UserDevice {
546 [Description ("Number of function keys on the Keyboard.") ]
547 mike 1.2 uint16 NumberOfFunctionKeys;
548 [Description (
549 "A free-form string indicating the format and layout of the "
550 "Keyboard."),
551 MappingStrings {"MIF.DMTF|Keyboard|004"} ]
552 string Layout;
553 [Description (
554 "An integer indicating whether a hardware-level password is "
555 "enabled at the keyboard (value=4), preventing local input. "
556 "Other values are: \"Disabled\" (3), \"Not Implemented\" (5), "
557 "\"Other\" (1) and \"Unknown\" (2)."),
558 ValueMap {"1", "2", "3", "4", "5"},
559 Values {"Other", "Unknown", "Disabled", "Enabled",
560 "Not Implemented"},
561 MappingStrings {"MIF.DMTF|System Hardware Security|001.2"} ]
562 uint16 Password;
563 };
564
565
566 // ===================================================================
567 // Display
568 mike 1.2 // ===================================================================
569 [Abstract, Description (
570 "Display is a superclass for grouping the miscellaneous display "
571 "devices that exist.") ]
572 class CIM_Display : CIM_UserDevice {
573 };
574
575
576 // ===================================================================
577 // DesktopMonitor
578 // ===================================================================
579 [Description (
580 "Capabilities and management of the DesktopMonitor (CRT) "
581 "LogicalDevice.") ]
582 class CIM_DesktopMonitor : CIM_Display {
583 [Description (
584 "The type of DesktopMonitor or CRT. For example, "
585 "multiscan color or monochrome monitors (values 2 or 3, "
586 "respectively) can be indicated in this property."),
587 Values {"Unknown", "Other", "Multiscan Color",
588 "Multiscan Monochrome", "Fixed Frequency Color",
589 mike 1.2 "Fixed Frequency Monochrome"} ]
590 uint16 DisplayType;
591 [Description (
592 "Monitor's bandwidth in MHertz. If unknown, enter 0."),
593 Units ("MegaHertz") ]
594 uint32 Bandwidth;
595 [Description (
596 "The logical height of the Display in screen coordinates.") ]
597 uint32 ScreenHeight;
598 [Description (
599 "The logical width of the Display in screen coordinates.") ]
600 uint32 ScreenWidth;
601 };
602
603
604 // ===================================================================
605 // FlatPanel
606 // ===================================================================
607 [Description (
608 "Capabilities and management of the FlatPanel LogicalDevice.") ]
609 class CIM_FlatPanel : CIM_Display {
610 mike 1.2 [Description ("FlatPanel's horizontal resolution in Pixels."),
611 Units ("Pixels") ]
612 uint32 HorizontalResolution;
613 [Description ("FlatPanel's vertical resolution in Pixels."),
614 Units ("Pixels") ]
615 uint32 VerticalResolution;
616 [Description (
617 "A FlatPanel's scan mode indicating either single "
618 "(value=2) or dual scan (3)."),
619 Values {"Unknown", "Other", "Single Scan", "Dual Scan"} ]
620 uint16 ScanMode;
621 [Description (
622 "An integer enumeration describing the type of flat panel "
623 "display."),
624 Values {"Unknown", "Other", "Passive Matrix LCD",
625 "Active Matrix LCD", "Cholesteric LCD",
626 "Field Emission Display",
627 "Electro Luminescent Display", "Gas Plasma", "LED"} ]
628 uint16 DisplayType;
629 [Description (
630 "A description of the display illumination type. For example, "
631 mike 1.2 "backlit (value=2) or reflective (4) can be specified."),
632 Values {"Unknown", "Other", "Backlit", "Edgelit", "Reflective"} ]
633 uint16 LightSource;
634 [Description (
635 "Boolean indicating whether the FlatPanel supports color "
636 "display.") ]
637 boolean SupportsColor;
638 };
639
640
641 // ===================================================================
642 // Scanner
643 // ===================================================================
644 [Description (
645 "Capabilities and management of the Scanner LogicalDevice.") ]
646 class CIM_Scanner : CIM_LogicalDevice {
647 };
648
649
650 // ===================================================================
651 // Battery
652 mike 1.2 // ===================================================================
653 [Description (
654 "Capabilities and management of the Battery LogicalDevice. "
655 "This class applies to both batteries in Laptop Systems and "
656 "other internal/external batteries, such as used in, "
657 "or as UPSs.") ]
658 class CIM_Battery : CIM_LogicalDevice {
659 [Description (
660 "Description of the Battery's charge status. Values such "
661 "as \"Fully Charged\" (value=3) or \"Partially Charged\" "
662 "(11) can be specified. The value, 10, is "
663 "not valid in the CIM Schema since in DMI it represents "
664 "that no battery is installed. In this case, this object "
665 "should not be instantiated."),
666 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
667 "11"},
668 Values {"Other", "Unknown", "Fully Charged",
669 "Low", "Critical", "Charging", "Charging and High",
670 "Charging and Low", "Charging and Critical", "Undefined",
671 "Partially Charged"},
672 MappingStrings {"MIF.DMTF|Portable Battery|003"} ]
673 mike 1.2 uint16 BatteryStatus;
674 [Description (
675 "TimeOnBattery indicates the elapsed time in seconds "
676 "since the ComputerSystem, UPS, ... last switched to "
677 "battery power, or the time since the System or UPS "
678 "was last restarted, whichever is less. Zero shall "
679 "be returned if the Battery is 'on line'."),
680 Units ("Seconds") ]
681 uint32 TimeOnBattery;
682 [Description (
683 "EstimatedRunTime is an estimate in minutes of the "
684 "time to battery charge depletion under the present "
685 "load conditions if the utility power is off, or lost "
686 "and remains off, or a Laptop is disconnected from a "
687 "power source."),
688 Units ("Minutes"),
689 MappingStrings {"MIF.DMTF|Portable Battery|003"} ]
690 uint32 EstimatedRunTime;
691 [Gauge, Description (
692 "An estimate of the percentage of full charge remaining."),
693 Units ("Percent") ]
694 mike 1.2 uint16 EstimatedChargeRemaining;
695 [Description (
696 "An enumeration that describes the Battery's chemistry."),
697 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8"},
698 Values {"Other", "Unknown", "Lead Acid", "Nickel Cadmium",
699 "Nickel Metal Hydride", "Lithium-ion", "Zinc air",
700 "Lithium Polymer"},
701 MappingStrings {"MIF.DMTF|Portable Battery|003"} ]
702 uint16 Chemistry;
703 [Description (
704 "The design capacity of the battery in mWatt-hours. "
705 "If this property is not supported, enter 0."),
706 Units ("MilliWattHours"),
707 MappingStrings {"MIF.DMTF|Portable Battery|003"} ]
708 uint32 DesignCapacity;
709 [Description (
710 "The full charge capacity of the battery in mWatt-hours. "
711 "Comparison of this value to the Battery DesignCapacity "
712 "determines when the Battery requires replacement. A "
713 "Battery's end of life is typically when the FullCharge"
714 "Capacity falls below 80% of the DesignCapacity. "
715 mike 1.2 "If this property is not supported, enter 0."),
716 Units ("MilliWattHours"),
717 MappingStrings {"MIF.DMTF|Portable Battery|003"} ]
718 uint32 FullChargeCapacity;
719 [Description (
720 "The design voltage of the battery in mVolts. If "
721 "this attribute is not supported, enter 0."),
722 Units ("MilliVolts"),
723 MappingStrings {"MIF.DMTF|Portable Battery|003"} ]
724 uint64 DesignVoltage;
725 [MaxLen (64), Description (
726 "The Smart Battery Data Specification version number "
727 "supported by this Battery. If the Battery does not "
728 "support this function, the value should be left blank."),
729 MappingStrings {"MIF.DMTF|Portable Battery|003"} ]
730 string SmartBatteryVersion;
731 [Description (
732 "The remaining time to charge the battery fully in minutes "
733 "at the current charging rate and usage."),
734 Units ("Minutes"),
735 MappingStrings {"MIF.DMTF|Portable Battery|003"} ]
736 mike 1.2 uint32 TimeToFullCharge;
737 [Description (
738 "Indicates the Battery's expected lifetime in minutes, "
739 "assuming that the Battery is fully charged. This property "
740 "represents the total expected life of the Battery, not its "
741 "current remaining life, which is indicated by the "
742 "EstimatedRunTime property. "),
743 Units ("Minutes") ]
744 uint32 ExpectedLife;
745 [Description (
746 "MaxRechargeTime indicates the maximum time, in minutes, "
747 "to fully charge the Battery. This property represents the "
748 "time to recharge a fully depleted Battery, not the current "
749 "remaining charging time, which is indicated in the "
750 "TimeToFullCharge property. "),
751 Units ("Minutes") ]
752 uint32 MaxRechargeTime;
753 };
754
755
756 // ===================================================================
757 mike 1.2 // PowerSupply
758 // ===================================================================
759 [Description (
760 "Capabilities and management of the PowerSupply LogicalDevice.") ]
761 class CIM_PowerSupply : CIM_LogicalDevice {
762 [Description (
763 "Boolean indicating that the PowerSupply is a switching "
764 "(vs linear) supply.") ]
765 boolean IsSwitchingSupply;
766 [Description (
767 "The low voltage of Input Voltage Range 1 for this Power"
768 "Supply, in millivolts. A value of 0 denotes 'unknown'."),
769 Units ("MilliVolts"),
770 MappingStrings {"MIF.DMTF|Power Supply|004"} ]
771 uint32 Range1InputVoltageLow;
772 [Description (
773 "The high voltage of Input Voltage Range 1 for this Power"
774 "Supply, in millivolts. A value of 0 denotes 'unknown'."),
775 Units ("MilliVolts"),
776 MappingStrings {"MIF.DMTF|Power Supply|004"} ]
777 uint32 Range1InputVoltageHigh;
778 mike 1.2 [Description (
779 "The frequency (in Hertz) at the low end of this Power"
780 "Supply's Input Frequency Range 1. A value of zero "
781 "implies DC."),
782 Units ("Hertz"),
783 MappingStrings {"MIF.DMTF|Power Supply|004"} ]
784 uint32 Range1InputFrequencyLow;
785 [Description (
786 "The frequency (in Hertz) at the high end of this Power"
787 "Supply's Input Frequency Range 1. A value of zero "
788 "implies DC."),
789 Units ("Hertz"),
790 MappingStrings {"MIF.DMTF|Power Supply|004"} ]
791 uint32 Range1InputFrequencyHigh;
792 [Description (
793 "The low voltage of Input Voltage Range 2 for this Power"
794 "Supply, in millivolts. A value of 0 denotes 'unknown'."),
795 Units ("MilliVolts"),
796 MappingStrings {"MIF.DMTF|Power Supply|004"} ]
797 uint32 Range2InputVoltageLow;
798 [Description (
799 mike 1.2 "The high voltage of Input Voltage Range 2 for this Power"
800 "Supply, in millivolts. A value of 0 denotes 'unknown'."),
801 Units ("MilliVolts"),
802 MappingStrings {"MIF.DMTF|Power Supply|004"} ]
803 uint32 Range2InputVoltageHigh;
804 [Description (
805 "The frequency (in Hertz) at the low end of this Power"
806 "Supply's Input Frequency Range 2. A value of zero "
807 "implies DC."),
808 Units ("Hertz"),
809 MappingStrings {"MIF.DMTF|Power Supply|004"} ]
810 uint32 Range2InputFrequencyLow;
811 [Description (
812 "The frequency (in Hertz) at the high end of this Power"
813 "Supply's Input Frequency Range 2. A value of zero "
814 "implies DC."),
815 Units ("Hertz"),
816 MappingStrings {"MIF.DMTF|Power Supply|004"} ]
817 uint32 Range2InputFrequencyHigh;
818 [Description (
819 "ActiveInputVoltage indicates which input voltage range is "
820 mike 1.2 "currently in use. Range 1, 2 or both can be specified "
821 "using the values 3, 4 or 5, respectively. If the Supply "
822 "is not currently drawing power, the value 6 (\"Neither\") "
823 "can be specified. This information is necessary in the "
824 "case of a UPS, a subclass of PowerSupply."),
825 ValueMap {"1", "2", "3", "4", "5", "6"},
826 Values {"Other", "Unknown", "Range 1", "Range 2", "Both",
827 "Neither"},
828 MappingStrings {"MIF.DMTF|Power Supply|004"} ]
829 uint16 ActiveInputVoltage;
830 [Description (
831 "TypeOfRangeSwitching describes the kind of input voltage "
832 "range switching implemented in this PowerSupply. For "
833 "example, autoswitching can be specified (value=4)."),
834 ValueMap {"1", "2", "3", "4", "5", "6"},
835 Values {"Other", "Unknown", "Manual", "Autoswitch",
836 "Wide Range", "Not Applicable"},
837 MappingStrings {"MIF.DMTF|Power Supply|004"} ]
838 uint16 TypeOfRangeSwitching;
839 [Description (
840 "Represents the total output power of the PowerSupply in "
841 mike 1.2 "milliWatts. 0 denotes 'unknown'."),
842 Units ("MilliWatts"),
843 MappingStrings {"MIF.DMTF|Power Supply|004"} ]
844 uint32 TotalOutputPower;
845 };
846
847
848 // ===================================================================
849 // SuppliesPower
850 // ===================================================================
851 [Association, Description (
852 "The SuppliesPower relationship indicates that a Device is in "
853 "the power domain of the referenced PowerSupply or UPS. "
854 "It indicates which Device(s) are dependent on the PowerSupply, "
855 "and hence, which Devices are affected if the Supply is lost.") ]
856 class CIM_SuppliesPower : CIM_Dependency {
857 [Override ("Antecedent"),
858 Description ("The Supply providing power.") ]
859 CIM_PowerSupply REF Antecedent;
860 [Override ("Dependent"),
861 Description (
862 mike 1.2 "A LogicalDevice in the power domain of the Supply.") ]
863 CIM_LogicalDevice REF Dependent;
864 };
865
866
867 // ===================================================================
868 // UninterruptiblePowerSupply
869 // ===================================================================
870 [Description (
871 "Capabilities and management of an UninterruptiblePowerSupply. "
872 "The properties of the UPS Device indicate when incoming power "
873 "is trimmed or boosted, and the aggregated information of the "
874 "batteries, generators, etc. that comprise the Device. These "
875 "individual components (for example, multiple batteries) can "
876 "also be independently modeled and associated with the UPS.") ]
877 class CIM_UninterruptiblePowerSupply : CIM_PowerSupply {
878 [Override ("Range1InputVoltageLow"), Description (
879 "If the voltage (in millivolts) drops below the value "
880 "specified by Range1InputVoltageLow, the UPS will compensate "
881 "by boosting the voltage using its power source(s). A value "
882 "of 0 indicates that the voltage at which boosting occurs "
883 mike 1.2 "is 'unknown'."),
884 Units ("MilliVolts") ]
885 uint32 Range1InputVoltageLow;
886 [Override ("Range1InputVoltageHigh"), Description (
887 "If the voltage (in millivolts) rises above the value "
888 "specified by Range1InputVoltageHigh, the UPS will compensate "
889 "by trimming the voltage. A value of 0 indicates that the "
890 "voltage at which trimming occurs is 'unknown'."),
891 Units ("MilliVolts") ]
892 uint32 Range1InputVoltageHigh;
893 [Override ("Range2InputVoltageLow"), Description (
894 "If the voltage (in millivolts) drops below the value "
895 "specified by Range2InputVoltageLow, the UPS will compensate "
896 "by boosting the voltage using its power source(s). A value "
897 "of 0 indicates that the voltage at which boosting occurs "
898 "is 'unknown'."),
899 Units ("MilliVolts") ]
900 uint32 Range2InputVoltageLow;
901 [Override ("Range2InputVoltageHigh"), Description (
902 "If the voltage (in millivolts) rises above the value "
903 "specified by Range2InputVoltageHigh, the UPS will compensate "
904 mike 1.2 "by trimming the voltage. A value of 0 indicates that the "
905 "voltage at which trimming occurs is 'unknown'."),
906 Units ("MilliVolts") ]
907 uint32 Range2InputVoltageHigh;
908 [Description (
909 "The indication of the capacity remaining in the UPS' "
910 "batteries, generator, ... A value of \"Normal\" (2) "
911 "indicates that the remaining estimated minutes of run-time "
912 "is greater than the UPS' defined 'low power' state "
913 "(typically two minutes). A value of \"Low\" (3) indicates "
914 "that the remaining estimated minutes of run-time is less "
915 "than or equal to the UPS' defined 'low power' state. A "
916 "value of \"Depleted\" (4) indicates that the "
917 "UPS will be unable to sustain the present load when and if "
918 "the utility power is lost (including the possibility that "
919 "the utility power is currently absent)."),
920 ValueMap {"1", "2", "3", "4"},
921 Values {"Unknown", "Normal", "Low", "Depleted"},
922 MappingStrings {"MIF.DMTF|UPS Battery|001.1"} ]
923 uint16 RemainingCapacityStatus;
924 [Description (
925 mike 1.2 "TimeOnBackup indicates the elapsed time in seconds "
926 "since the UPS last switched to battery power, generator, ... "
927 "Or, the time since the UPS was last restarted, whichever is "
928 "less. Zero shall be returned if the UPS is 'on line'."),
929 Units ("Seconds"),
930 MappingStrings {"MIF.DMTF|UPS Battery|001.2"} ]
931 uint32 TimeOnBackup;
932 [Description (
933 "EstimatedRunTime is an estimate in minutes of the time to "
934 "battery, generator, ... depletion under the present load "
935 "conditions if the utility power is off, or lost and remains "
936 "off."),
937 Units ("Minutes"),
938 MappingStrings {"MIF.DMTF|UPS Battery|001.3"} ]
939 uint32 EstimatedRunTime;
940 [Gauge, Description (
941 "An estimate of the percentage of full charge remaining for "
942 "a UPS (that uses battery technology)."),
943 Units ("Percent"),
944 MappingStrings {"MIF.DMTF|UPS Battery|001.4"} ]
945 uint16 EstimatedChargeRemaining;
946 mike 1.2 };
947
948
949 // ===================================================================
950 // AssociatedBattery
951 // ===================================================================
952 [Association, Description (
953 "A LogicalDevice may use or require one or more Batteries. This "
954 "relationship is described by the AssociatedBattery dependency. "
955 "It is also possible to model the individual Batteries that "
956 "comprise a UPS, using this association.") ]
957 class CIM_AssociatedBattery : CIM_Dependency {
958 [Override ("Antecedent"),
959 Description ("The Battery.") ]
960 CIM_Battery REF Antecedent;
961 [Override ("Dependent"),
962 Description (
963 "The LogicalDevice needing or associated with the Battery.") ]
964 CIM_LogicalDevice REF Dependent;
965 };
966
967 mike 1.2
968 // ===================================================================
969 // Processor
970 // ===================================================================
971 [Description (
972 "Capabilities and management of the Processor LogicalDevice.") ]
973 class CIM_Processor : CIM_LogicalDevice {
974 [Description (
975 "A free form string describing the role of the Processor - "
976 "for example, \"Central Processor\" or \"Math Processor\".") ]
977 string Role;
978 [Description (
979 "The Processor family type. For example, values include "
980 "\"Pentium(R) processor with MMX(TM) technology\" (14) "
981 "and \"68040\" (96)."),
982 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
983 "11", "12", "13", "14", "15", "16", "17", "18", "19",
984 "24", "25", "26", "27", "28", "29", "30",
985 "31", "32", "33", "34", "35", "36", "37", "38", "39",
986 "48", "49", "50", "51", "52", "53", "54", "55",
987 "64", "65", "66", "67", "68", "69",
988 mike 1.2 "80", "81", "82", "83", "84", "85", "86", "87", "88",
989 "96", "97", "98", "99", "100",
990 "101", "112", "120", "121", "128", "130",
991 "144", "145", "146", "147", "148", "149", "150",
992 "160", "176", "177", "179", "180", "200", "201", "202",
993 "250", "251", "260", "261", "280", "281",
994 "300", "301", "302", "320", "350", "500"},
995 Values {"Other", "Unknown", "8086", "80286", "80386", "80486",
996 "8087", "80287", "80387", "80487", "Pentium(R) brand",
997 "Pentium(R) Pro", "Pentium(R) II",
998 "Pentium(R) processor with MMX(TM) technology",
999 "Celeron(TM)", "Pentium(R) II Xeon(TM)",
1000 "Pentium(R) III", "M1 Family", "M2 Family", "K5 Family",
1001 "K6 Family", "K6-2", "K6-3",
1002 "AMD Athlon(TM) Processor Family",
1003 "AMD(R) Duron(TM) Processor", "AMD29000 Family",
1004 "K6-2+", "Power PC Family", "Power PC 601",
1005 "Power PC 603", "Power PC 603+", "Power PC 604",
1006 "Power PC 620", "Power PC X704", "Power PC 750",
1007 "Alpha Family", "Alpha 21064", "Alpha 21066",
1008 "Alpha 21164", "Alpha 21164PC", "Alpha 21164a",
1009 mike 1.2 "Alpha 21264", "Alpha 21364", "MIPS Family",
1010 "MIPS R4000", "MIPS R4200", "MIPS R4400", "MIPS R4600",
1011 "MIPS R10000", "SPARC Family", "SuperSPARC",
1012 "microSPARC II", "microSPARC IIep", "UltraSPARC",
1013 "UltraSPARC II", "UltraSPARC IIi", "UltraSPARC III",
1014 "UltraSPARC IIIi", "68040", "68xxx Family", "68000",
1015 "68010", "68020", "68030", "Hobbit Family",
1016 "Crusoe(TM) TM5000 Family", "Crusoe(TM) TM3000 Family",
1017 "Weitek", "Itanium(TM) Processor", "PA-RISC Family",
1018 "PA-RISC 8500", "PA-RISC 8000", "PA-RISC 7300LC",
1019 "PA-RISC 7200", "PA-RISC 7100LC", "PA-RISC 7100",
1020 "V30 Family", "Pentium(R) III Xeon(TM)",
1021 "Pentium(R) III Processor with Intel(R) SpeedStep(TM) Technology",
1022 "Intel(R) Xeon(TM)",
1023 "AS400 Family", "IBM390 Family", "G4", "G5", "i860",
1024 "i960", "SH-3", "SH-4", "ARM", "StrongARM", "6x86",
1025 "MediaGX", "MII", "WinChip", "DSP", "Video Processor"},
1026 MappingStrings {"MIF.DMTF|Processor|013"},
1027 ModelCorrespondence {"CIM_Processor.OtherFamilyDescription"} ]
1028 uint16 Family;
1029 [MaxLen (64), Description (
1030 mike 1.2 "A string describing the Processor Family type - used when "
1031 "the Family property is set to 1 (\"Other\"). This string "
1032 "should be set to NULL when the Family property is any "
1033 "value other than 1."),
1034 ModelCorrespondence {"CIM_Processor.Family"} ]
1035 string OtherFamilyDescription;
1036 [Description (
1037 "CPU socket information including data on how this "
1038 "Processor can be upgraded (if upgrades are supported). "
1039 "This property is an integer enumeration."),
1040 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9",
1041 "10", "11", "12", "13", "14"},
1042 Values {"Other", "Unknown", "Daughter Board", "ZIF Socket",
1043 "Replacement/Piggy Back", "None", "LIF Socket", "Slot 1",
1044 "Slot 2", "370 Pin Socket", "Slot A", "Slot M",
1045 "Socket 423", "Socket A (Socket 462)"},
1046 MappingStrings {"MIF.DMTF|Processor|013"} ]
1047 uint16 UpgradeMethod;
1048 [Description ("The maximum speed (in MHz) of this Processor."),
1049 Units ("MegaHertz"),
1050 MappingStrings {"MIF.DMTF|Processor|013"} ]
1051 mike 1.2 uint32 MaxClockSpeed;
1052 [Description ("The current speed (in MHz) of this Processor."),
1053 Units ("MegaHertz"),
1054 MappingStrings {"MIF.DMTF|Processor|013"} ]
1055 uint32 CurrentClockSpeed;
1056 [Description ("Processor data width in bits."),
1057 Units ("Bits") ]
1058 uint16 DataWidth;
1059 [Description ("Processor address width in bits."),
1060 Units ("Bits") ]
1061 uint16 AddressWidth;
1062 [Gauge, Description (
1063 "Loading of this Processor, averaged over the last minute, "
1064 "in Percent."),
1065 Units ("Percent"),
1066 MappingStrings {"MIB.IETF|HOST-RESOURCES-MIB.hrProcessorLoad"} ]
1067 uint16 LoadPercentage;
1068 [Description (
1069 "Stepping is a free-form string indicating the revision "
1070 "level of the Processor within the Processor.Family."),
1071 ModelCorrespondence {"CIM_Processor.Family"} ]
1072 mike 1.2 string Stepping;
1073 [Description (
1074 "A globally unique identifier for the Processor. This "
1075 "identifier may only be unique within a Processor Family.") ]
1076 string UniqueID;
1077 [Description (
1078 "The CPUStatus property indicates the current status of "
1079 "the Processor. For example, it may be disabled by the user "
1080 "via BIOS (value=2), or disabled due to a POST error (value="
1081 "3). Information in this property can be obtained from SMBIOS, "
1082 "the Type 4 structure, the Status attribute."),
1083 ValueMap {"0", "1", "2", "3", "4", "7"},
1084 Values {"Unknown", "CPU Enabled",
1085 "CPU Disabled by User via BIOS Setup",
1086 "CPU Disabled By BIOS (POST Error)", "CPU Is Idle", "Other"} ]
1087 uint16 CPUStatus;
1088 };
1089
1090
1091 // ====================================================================
1092 // AlarmDevice
1093 mike 1.2 // ===================================================================
1094 [Description (
1095 "An AlarmDevice is a type of Device that emits audible or "
1096 "visible indications related to a problem situation. ") ]
1097 class CIM_AlarmDevice : CIM_LogicalDevice {
1098 [Description ("Boolean indicating that the Alarm is audible. ") ]
1099 boolean AudibleAlarm;
1100 [Description ("Boolean indicating that the Alarm is visible. ") ]
1101 boolean VisibleAlarm;
1102 [Description (
1103 "Boolean indicating that the Alarm causes motion of the "
1104 "Device.") ]
1105 boolean MotionAlarm;
1106 [Description (
1107 "Urgency is an enumerated value that indicates the relative "
1108 "frequency at which the Alarm flashes, vibrates and/or emits "
1109 "audible tones. "),
1110 Values {"Unknown", "Other", "Not Supported", "Informational",
1111 "Non-Critical", "Critical", "Unrecoverable"} ]
1112 uint16 Urgency;
1113 [Description ("The current state of the alarm."),
1114 mike 1.2 Values {"Unknown", "Off", "Steady", "Alternating"} ]
1115 uint16 AlarmState;
1116 [Description (
1117 "True indicates that the audio of an AlarmState indicator "
1118 "has been disabled (i.e. muted). A disabled state here "
1119 "does not imply that the AlarmState is off.") ]
1120 boolean AudioIndicatorIsDisabled;
1121 [Description (
1122 "True indicates that the visual of an AlarmState indicator "
1123 "has been disabled (i.e. dimmed). A disabled state here "
1124 "does not imply that the AlarmState is off.") ]
1125 boolean VisualIndicatorIsDisabled;
1126 [Description (
1127 "True indicates that the motion of an AlarmState indicator "
1128 "has been disabled (i.e. stopped). A disabled state here "
1129 "does not imply that the AlarmState is off.") ]
1130 boolean MotionIndicatorIsDisabled;
1131 [Description (
1132 "SetAlarmState is a method for defining the current state "
1133 "of the Alarm. Its input parameter, RequestedAlarmState, is "
1134 "specified using the Values list of AlarmDevice's AlarmState "
1135 mike 1.2 "property. SetAlarmState returns 0 if the request is "
1136 "successfully implemented, 1 if the specified RequestedAlarm"
1137 "State is not supported, and some other value if any other "
1138 "error occurred. In a subclass, the set of possible return "
1139 "codes should be specified using a ValueMap qualifier on the "
1140 "method. The strings to which the ValueMap contents are "
1141 "'translated' should be specified as a Values array "
1142 "qualifier.") ]
1143 uint32 SetAlarmState (
1144 [IN, Values {"Unknown", "Off", "Steady", "Alternating"}]
1145 uint16 RequestedAlarmState);
1146 [Description (
1147 "SetAlarmIndicator is a method for enabling or disabling the "
1148 "indicator of the AlarmState function, without changing the "
1149 "current AlarmState. It has 3 input parameters, Audio"
1150 "Indicator, VisualIndicator and MotionIndicator. For all of "
1151 "the input parameters, a value of 0 indicates no change to "
1152 "the AlarmState indicator, 1 indicates Disable, and 2 "
1153 "indicates Enable. The method returns 0 if the request is "
1154 "successfully implemented, 1 if the specified request is not "
1155 "supported, and some other value if any other error occurred. "
1156 mike 1.2 "In a subclass, the set of possible return codes should be "
1157 "specified using a ValueMap qualifier on the method. The "
1158 "strings to which the ValueMap contents are 'translated' "
1159 "should be specified as a Values array qualifier.") ]
1160 uint32 SetAlarmIndicator (
1161 [IN, Values {"No Change", "Disable", "Enable"}]
1162 uint16 AudioIndicator,
1163 [IN, Values {"No Change", "Disable", "Enable"}]
1164 uint16 VisualIndicator,
1165 [IN, Values {"No Change", "Disable", "Enable"}]
1166 uint16 MotionIndicator);
1167 [Description (
1168 "SetUrgency is a method for defining the desired urgency "
1169 "level for the Alarm. Its input parameter, RequestedUrgency, "
1170 "is specified using the Values list of AlarmDevice's Urgency "
1171 "property. SetUrgency returns 0 if the request is successfully "
1172 "implemented, 1 if the specified Urgency level is not "
1173 "supported, and some other value if any other error occurred. "
1174 "In a subclass, the set of possible return codes should be "
1175 "specified using a ValueMap qualifier on the method. The "
1176 "strings to which the ValueMap contents are 'translated' "
1177 mike 1.2 "should be specified as a Values array qualifier.") ]
1178 uint32 SetUrgency (
1179 [IN, ValueMap {"1", "3", "4", "5", "6"},
1180 Values {"Other", "Informational", "Non-Critical", "Critical",
1181 "Unrecoverable"} ]
1182 uint16 RequestedUrgency);
1183 };
1184
1185
1186 // ===================================================================
1187 // AssociatedAlarm
1188 // ===================================================================
1189 [Association, Description (
1190 "LogicalDevices may have one or more AlarmDevices "
1191 "associated with them, in order to indicate problem situations. "
1192 "This relationship is indicated by the AssociatedAlarm "
1193 "dependency. ") ]
1194 class CIM_AssociatedAlarm : CIM_Dependency {
1195 [Override ("Antecedent"),
1196 Description ("The AlarmDevice. ") ]
1197 CIM_AlarmDevice REF Antecedent;
1198 mike 1.2 [Override ("Dependent"),
1199 Description ("The LogicalDevice that is alarmed. ") ]
1200 CIM_LogicalDevice REF Dependent;
1201 };
1202
1203
1204 // ===================================================================
1205 // Door
1206 // ===================================================================
1207 [Description (
1208 "A Door is the abstraction of hardware providing access to "
1209 "the internal componentry of a System. When a Door is 'opened', "
1210 "typically all accessible, moving components are stopped or "
1211 "suspended to prevent physical harm.") ]
1212 class CIM_Door : CIM_LogicalDevice {
1213 [Description (
1214 "Boolean indicating the 'open' (TRUE) or 'closed' (FALSE) "
1215 "status of the Door.") ]
1216 boolean Open;
1217 [Description (
1218 "Boolean indicating that the Door is 'locked' (TRUE) or "
1219 mike 1.2 "'unlocked' (FALSE). When the Door is locked, access to the "
1220 "componentry is prevented, without the use of a physical "
1221 "key or the issuance of a software unlock command.") ]
1222 boolean Locked;
1223 [Description (
1224 "When a Door is 'Open', all accessible, moving componentry "
1225 "and Device operation are typically stopped. The Timeout "
1226 "property provides a mechanism to event on a Door left open "
1227 "for a period of time (in seconds) exceeding the property's "
1228 "value."),
1229 Units ("Seconds") ]
1230 uint32 Timeout;
1231 [Description (
1232 "Date and time that the Door was last opened.") ]
1233 datetime LastOpened;
1234 [Description (
1235 "The Capabilities of the Door. For example, information on "
1236 "whether the Door is \"Host System Lockable\" (value=2) and/or "
1237 "whether a key is available (value=3) are specified in this "
1238 "property. The value 4, \"All Drives Dismounted Before "
1239 "Access\", pertains to a Door on a StorageLibrary or set of "
1240 mike 1.2 "drive bays. If specified for the Door, it means that it can "
1241 "not be opened unless all Media are first unloaded from the "
1242 "accessible MediaAccessDevices."),
1243 Values {"Unknown", "Other", "Host System Lockable",
1244 "Physical Key", "All Drives Dismounted Before Access"} ]
1245 uint16 Capabilities[];
1246 };
1247
1248
1249 // ===================================================================
1250 // DoorAccessToPhysicalElement
1251 // ===================================================================
1252 [Association, Description (
1253 "Doors provide access to PhysicalElements for hot swap, repair "
1254 "and similar activities. The entities accessed through a Door "
1255 "are indicated in this relationship.") ]
1256 class CIM_DoorAccessToPhysicalElement : CIM_Dependency {
1257 [Override ("Antecedent"),
1258 Description ("The Door that provides access.") ]
1259 CIM_Door REF Antecedent;
1260 [Override ("Dependent"),
1261 mike 1.2 Description ("The PhysicalElement that is accessed.") ]
1262 CIM_PhysicalElement REF Dependent;
1263 };
1264
1265
1266 // ===================================================================
1267 // DoorAccessToDevice
1268 // ===================================================================
1269 [Association, Description (
1270 "Doors provide access to PhysicalElements for hot swap, repair "
1271 "and similar activities. In turn, PhysicalElements 'Realize' "
1272 "LogicalDevices. Since it may not be possible to define all the "
1273 "PhysicalElements that exist, and optimizing the retrieval of "
1274 "Devices 'behind' the Door may be desirable, the DoorAccessTo"
1275 "Device association provides a shortcut mechanism for defining "
1276 "the LogicalDevices ('hardware') accessed through a Door.") ]
1277 class CIM_DoorAccessToDevice : CIM_Dependency {
1278 [Override ("Antecedent"),
1279 Description ("The Door that provides access.") ]
1280 CIM_Door REF Antecedent;
1281 [Override ("Dependent"),
1282 mike 1.2 Description ("The LogicalDevice that is accessed.") ]
1283 CIM_LogicalDevice REF Dependent;
1284 };
1285
1286
1287 // ===================================================================
1288 //
1289 // Resources, Statistics, and Sensors
1290 //
1291 // ===================================================================
1292
1293
1294 // ===================================================================
1295 // SystemResource
1296 // ===================================================================
1297 [Abstract,
1298 Description (
1299 "An entity managed by BIOS and/or an OperatingSystem which is "
1300 "available for use by software and/or LogicalDevices. Examples "
1301 "of Resources in the x86 environment are IRQs, DMA channels and "
1302 "memory mapped I/O.") ]
1303 mike 1.2 class CIM_SystemResource : CIM_LogicalElement {
1304 [Description (
1305 "Boolean indicating whether the Resource can be shared.") ]
1306 boolean Shareable;
1307 };
1308
1309
1310 // ===================================================================
1311 // IRQ
1312 // ===================================================================
1313 [Description ("Personal computer architecture IRQ.") ]
1314 class CIM_IRQ : CIM_SystemResource {
1315 [Propagated("CIM_ComputerSystem.CreationClassName"),
1316 Key, MaxLen (256),
1317 Description ("The scoping ComputerSystem's CreationClassName.") ]
1318 string CSCreationClassName;
1319 [Propagated("CIM_ComputerSystem.Name"),
1320 Key, MaxLen (256),
1321 Description ("The scoping ComputerSystem's Name.") ]
1322 string CSName;
1323 [Key, MaxLen (256),
1324 mike 1.2 Description (
1325 "CreationClassName indicates the name of the class or "
1326 "the subclass used in the creation of an instance. When "
1327 "used with the other key properties of this class, this "
1328 "property allows all instances of this class and its "
1329 "subclasses to be uniquely identified.") ]
1330 string CreationClassName;
1331 [Key,
1332 Description ("A part of the object's key value, IRQ Number."),
1333 MappingStrings {"MIF.DMTF|IRQ|002.1"} ]
1334 uint32 IRQNumber;
1335 [Description ("Availability of the IRQ."),
1336 ValueMap {"1", "2", "3", "4", "5"},
1337 Values {"Other", "Unknown", "Available",
1338 "In Use/Not Available",
1339 "In Use and Available/Shareable"},
1340 MappingStrings {"MIF.DMTF|IRQ|002.2"} ]
1341 uint16 Availability;
1342 [Description (
1343 "IRQ trigger type indicating whether edge (value=4) "
1344 "or level triggered (value=3) interrupts occur. Also, "
1345 mike 1.2 "\"Other\" (1) and \"Unknown\" (2) may be defined."),
1346 ValueMap {"1", "2", "3", "4"},
1347 Values {"Other", "Unknown", "Level", "Edge"},
1348 MappingStrings {"MIF.DMTF|IRQ|002.3",
1349 "MIF.DMTF|System Resource IRQ Info|001.2"} ]
1350 uint16 TriggerType;
1351 [Description (
1352 "IRQ trigger level indicating whether the interrupt is "
1353 "triggered by the hardware signal going high (value=4) "
1354 "or low (value=3). Also, \"Other\" (1) and "
1355 "\"Unknown\" (2) may be defined."),
1356 ValueMap {"1", "2", "3", "4"},
1357 Values {"Other", "Unknown", "Active Low", "Active High"},
1358 MappingStrings {"MIF.DMTF|System Resource IRQ Info|001.3"} ]
1359 uint16 TriggerLevel;
1360 // Override is used to define the MappingString qualifier
1361 [Override ("Shareable"),
1362 Description (
1363 "Boolean indicating whether the IRQ can be shared."),
1364 MappingStrings {"MIF.DMTF|IRQ|002.4"} ]
1365 boolean Shareable;
1366 mike 1.2 [Description (
1367 "The Hardware property indicates whether the interrupt "
1368 "is hardware or software based. (If TRUE, the interrupt is "
1369 "hardware based.) On a personal computer, a hardware IRQ "
1370 "is a physical wire to a programmable interrupt "
1371 "controller (PIC) chip, through which the CPU can be "
1372 "notified of time critical events. Some IRQ lines are "
1373 "reserved for standard Devices such as the keyboard, floppy "
1374 "disk drives, and the system clock. A software interrupt "
1375 "is a programmatic mechanism to allow an application to "
1376 "get the attention of the Processor.") ]
1377 boolean Hardware;
1378 };
1379
1380 // ===================================================================
1381 // MemoryMappedIO
1382 // ===================================================================
1383 [Description (
1384 "Personal Computer architecture Memory Mapped I/O. This class "
1385 "addresses both memory and port I/O resources. The property, "
1386 "MappedResource, defines whether memory or I/O is mapped (and "
1387 mike 1.2 "for I/O whether the mapping is to a memory or a port space).") ]
1388 class CIM_MemoryMappedIO : CIM_SystemResource {
1389 [Propagated("CIM_ComputerSystem.CreationClassName"),
1390 Key, MaxLen (256),
1391 Description ("The scoping ComputerSystem's CreationClassName.") ]
1392 string CSCreationClassName;
1393 [Propagated("CIM_ComputerSystem.Name"),
1394 Key, MaxLen (256),
1395 Description ("The scoping ComputerSystem's Name.") ]
1396 string CSName;
1397 [Key, MaxLen (256),
1398 Description (
1399 "CreationClassName indicates the name of the class or "
1400 "the subclass used in the creation of an instance. When "
1401 "used with the other key properties of this class, this "
1402 "property allows all instances of this class and its "
1403 "subclasses to be uniquely identified.") ]
1404 string CreationClassName;
1405 [Key, Description (
1406 "A part of the object's key value, the starting address of "
1407 "memory mapped I/O."),
1408 mike 1.2 MappingStrings {"MIF.DMTF|Memory Mapped I/O|001.1"} ]
1409 uint64 StartingAddress;
1410 [Description ("Ending address of memory mapped I/O."),
1411 MappingStrings {"MIF.DMTF|Memory Mapped I/O|001.2"} ]
1412 uint64 EndingAddress;
1413 [Description (
1414 "Type of memory mapped I/O. MappedResource defines whether "
1415 "memory or I/O is mapped, and for I/O, whether the mapping "
1416 "is to a memory or a port space."),
1417 Values {"Other", "Mapped Memory", "I/O Mapped to Memory Space",
1418 "I/O Mapped to Port Space"} ]
1419 uint16 MappedResource;
1420 };
1421
1422
1423 // ===================================================================
1424 // MemoryResource
1425 // ===================================================================
1426 [Description (
1427 "Since the MemoryMappedIO class applies to memory AND port "
1428 "resources, there is the potential for key conflict. For example, "
1429 mike 1.2 "both a memory resource and a port resource may be located at "
1430 "address 0. Since StartingAddress is the distinguishing key of "
1431 "MemoryMappedIO, two instances would be created with the same key. "
1432 "This is prevented by defining memory and port resource subclasses "
1433 "of MemoryMappedIO, and allowing the CreationClassName key property "
1434 "to distinguish between them and force uniqueness in their keys.") ]
1435 class CIM_MemoryResource : CIM_MemoryMappedIO {
1436 };
1437
1438
1439 // ===================================================================
1440 // PortResource
1441 // ===================================================================
1442 [Description (
1443 "Since the MemoryMappedIO class applies to memory AND port "
1444 "resources, there is the potential for key conflict. For example, "
1445 "both a memory resource and a port resource may be located at "
1446 "address 0. Since StartingAddress is the distinguishing key of "
1447 "MemoryMappedIO, two instances would be created with the same key. "
1448 "This is prevented by defining memory and port resource subclasses "
1449 "of MemoryMappedIO, and allowing the CreationClassName key property "
1450 mike 1.2 "to distinguish between them and force uniqueness in their keys.") ]
1451 class CIM_PortResource : CIM_MemoryMappedIO {
1452 };
1453
1454
1455 // ===================================================================
1456 // DMA
1457 // ===================================================================
1458 [Description ("Personal computer architecture DMA.") ]
1459 class CIM_DMA : CIM_SystemResource {
1460 [Propagated("CIM_ComputerSystem.CreationClassName"),
1461 Key, MaxLen (256),
1462 Description ("The scoping ComputerSystem's CreationClassName.") ]
1463 string CSCreationClassName;
1464 [Propagated("CIM_ComputerSystem.Name"),
1465 Key, MaxLen (256),
1466 Description ("The scoping ComputerSystem's Name.") ]
1467 string CSName;
1468 [Key, MaxLen (256),
1469 Description (
1470 "CreationClassName indicates the name of the class or "
1471 mike 1.2 "the subclass used in the creation of an instance. When "
1472 "used with the other key properties of this class, this "
1473 "property allows all instances of this class and its "
1474 "subclasses to be uniquely identified.") ]
1475 string CreationClassName;
1476 [Key, Description (
1477 "A part of the object's key value, the DMA Channel number."),
1478 MappingStrings {"MIF.DMTF|DMA|001.1"} ]
1479 uint32 DMAChannel;
1480 [Description ("Availability of the DMA."),
1481 ValueMap {"1", "2", "3", "4", "5"},
1482 Values {"Other", "Unknown", "Available",
1483 "In Use/Not Available",
1484 "In Use and Available/Shareable"},
1485 MappingStrings {"MIF.DMTF|DMA|001.2"} ]
1486 uint16 Availability;
1487 [Description (
1488 "Indication that the DMA Channel supports burst mode."),
1489 MappingStrings {"MIF.DMTF|DMA|001.3"} ]
1490 boolean BurstMode;
1491 [Description (
1492 mike 1.2 "An array indicating all the transfer widths (in bits) "
1493 "supported by this DMA Channel. Permissible values "
1494 "are 8, 16, 32, 64 or 128 bits. If unknown, enter 0."),
1495 Units ("Bits"),
1496 ValueMap {"0", "8", "16", "32", "64", "128"},
1497 MappingStrings {"MIF.DMTF|System Resource DMA Info|001.2"} ]
1498 uint16 TransferWidths[];
1499 [Description (
1500 "An integer indicating the DMA Channel address size in "
1501 "bits. Permissible values are 8, 16, 32 or 64 bits. "
1502 "If unknown, enter 0."),
1503 Units ("Bits"),
1504 ValueMap {"0", "8", "16", "32", "64"},
1505 MappingStrings {"MIF.DMTF|System Resource DMA Info|001.3"} ]
1506 uint16 AddressSize;
1507 [Description (
1508 "The maximum number of bytes that can be transferred by this "
1509 "DMA Channel. If unknown, enter 0."),
1510 Units ("Bytes"),
1511 MappingStrings {"MIF.DMTF|System Resource DMA Info|001.4"} ]
1512 uint32 MaxTransferSize;
1513 mike 1.2 [Description (
1514 "Indicates whether DMA may execute in 'count by byte' mode "
1515 "(value=4) or not (value=3). Also, \"Other\" (1) and "
1516 "\"Unknown\" (2) may be defined."),
1517 ValueMap {"1", "2", "3", "4"},
1518 Values {"Other", "Unknown",
1519 "Not execute in 'count by byte' mode",
1520 "Execute in 'count by byte' mode"},
1521 MappingStrings {"MIF.DMTF|System Resource DMA Info|001.7"} ]
1522 uint16 ByteMode;
1523 [Description (
1524 "Indicates whether DMA may execute in 'count by word' mode "
1525 "(value=4) or not (value=3). Also, \"Other\" (1) and "
1526 "\"Unknown\" (2) may be defined."),
1527 ValueMap {"1", "2", "3", "4"},
1528 Values {"Other", "Unknown",
1529 "Not execute in 'count by word' mode",
1530 "Execute in 'count by word' mode"},
1531 MappingStrings {"MIF.DMTF|System Resource DMA Info|001.8"} ]
1532 uint16 WordMode;
1533 [Description (
1534 mike 1.2 "DMA channel timing. For example, \"Type A\" (value "
1535 "=4) or \"Type F\" (6) could be specified."),
1536 ValueMap {"1", "2", "3", "4", "5", "6"},
1537 Values {"Other", "Unknown", "ISA Compatible", "Type A",
1538 "Type B", "Type F"},
1539 MappingStrings {"MIF.DMTF|System Resource DMA Info|001.9"} ]
1540 uint16 ChannelTiming;
1541 [Description (
1542 "Indicates whether C type (burst) timing is supported "
1543 "(value=5) or not (value=4). Also, \"Other\" (1), "
1544 "\"Unknown\" (2) and \"ISA Compatible\" (3) are defined."),
1545 ValueMap {"1", "2", "3", "4", "5"},
1546 Values {"Other", "Unknown", "ISA Compatible", "Not Supported",
1547 "Supported"},
1548 MappingStrings {"MIF.DMTF|System Resource DMA Info|001.10"} ]
1549 uint16 TypeCTiming;
1550 };
1551
1552
1553 // ===================================================================
1554 // ComputerSystemResource
1555 mike 1.2 // ===================================================================
1556 [Association, Aggregation,
1557 Description (
1558 "An association between a ComputerSystem and the System"
1559 "Resources available on it.") ]
1560 class CIM_ComputerSystemResource : CIM_SystemComponent {
1561 [Override ("GroupComponent"), Aggregate,
1562 Min (1), Max (1), Description ("The ComputerSystem.")]
1563 CIM_ComputerSystem REF GroupComponent;
1564 [Override ("PartComponent"),
1565 Description ("A SystemResource of the ComputerSystem.") ]
1566 CIM_SystemResource REF PartComponent;
1567 };
1568
1569
1570 // ===================================================================
1571 // ComputerSystemIRQ
1572 // ===================================================================
1573 [Association, Aggregation,
1574 Description (
1575 "An association between a ComputerSystem and the IRQs "
1576 mike 1.2 "available on it.") ]
1577 class CIM_ComputerSystemIRQ : CIM_ComputerSystemResource {
1578 [Override ("PartComponent"), Weak,
1579 Description ("An IRQ of the ComputerSystem.")]
1580 CIM_IRQ REF PartComponent;
1581 };
1582
1583 // ===================================================================
1584 // ComputerSystemMappedIO
1585 // ===================================================================
1586 [Association, Aggregation,
1587 Description (
1588 "An association between a ComputerSystem and the Memory Mapped "
1589 "I/O ports available on it.") ]
1590 class CIM_ComputerSystemMappedIO : CIM_ComputerSystemResource {
1591 [Override ("PartComponent"), Weak,
1592 Description (
1593 "A memory mapped I/O port of the ComputerSystem.")]
1594 CIM_MemoryMappedIO REF PartComponent;
1595 };
1596
1597 mike 1.2
1598 // ===================================================================
1599 // ComputerSystemDMA
1600 // ===================================================================
1601 [Association, Aggregation,
1602 Description (
1603 "An association between a ComputerSystem and the DMA channels "
1604 "available on it.") ]
1605 class CIM_ComputerSystemDMA : CIM_ComputerSystemResource {
1606 [Override ("PartComponent"), Weak,
1607 Description ("A DMA channel of the ComputerSystem.")]
1608 CIM_DMA REF PartComponent;
1609 };
1610
1611
1612 // ===================================================================
1613 // AllocatedResource
1614 // ===================================================================
1615 [Association, Description (
1616 "An association between LogicalDevices and SystemResources, "
1617 "indicating that the Resource is assigned to the Device.") ]
1618 mike 1.2 class CIM_AllocatedResource : CIM_Dependency {
1619 [Override ("Antecedent"),
1620 Description ("The Resource.") ]
1621 CIM_SystemResource REF Antecedent;
1622 [Override ("Dependent"),
1623 Description (
1624 "The LogicalDevice to which the Resource is assigned.") ]
1625 CIM_LogicalDevice REF Dependent;
1626 };
1627
1628
1629 // ===================================================================
1630 // AllocatedDMA
1631 // ===================================================================
1632 [Association, Description (
1633 "An association between a LogicalDevice and a DMA System"
1634 "Resource indicating that the DMA Channel is assigned to the "
1635 "Device.") ]
1636 class CIM_AllocatedDMA : CIM_AllocatedResource {
1637 [Override ("Antecedent"),
1638 Description ("The DMA Channel.") ]
1639 mike 1.2 CIM_DMA REF Antecedent;
1640 [Description (
1641 "Boolean indicating whether the LogicalDevice can act as a "
1642 "bus master on the DMA Channel."),
1643 MappingStrings {"MIF.DMTF|System Resource DMA Info|001.6"} ]
1644 boolean BusMaster;
1645 };
1646
1647
1648 // ==================================================================
1649 // DeviceErrorCounts
1650 // ==================================================================
1651 [Description (
1652 "DeviceErrorCounts is a statistical class containing error-"
1653 "related counters for a LogicalDevice. The types of errors "
1654 "are as defined by CCITT (Rec X.733) and ISO (IEC 10164-4).") ]
1655 class CIM_DeviceErrorCounts : CIM_StatisticalInformation {
1656 [Propagated ("CIM_LogicalDevice.SystemCreationClassName"),
1657 Key, MaxLen (256),
1658 Description ("The scoping System's CreationClassName. ") ]
1659 string SystemCreationClassName;
1660 mike 1.2 [Propagated ("CIM_LogicalDevice.SystemName"),
1661 Key, MaxLen (256),
1662 Description ("The scoping System's Name. ") ]
1663 string SystemName;
1664 [Propagated ("CIM_LogicalDevice.CreationClassName"),
1665 Key, MaxLen (256),
1666 Description ("The scoping Device's CreationClassName. ") ]
1667 string DeviceCreationClassName;
1668 [Propagated ("CIM_LogicalDevice.DeviceID"),
1669 Key, MaxLen (64),
1670 Description ("The scoping Device's ID. ") ]
1671 string DeviceID;
1672 [Override ("Name"),
1673 Key, MaxLen (256),
1674 Description (
1675 "The inherited Name serves as part of the key for the "
1676 "DeviceErrorCounts instance. The object is scoped by "
1677 "the LogicalDevice to which the statistics apply. ") ]
1678 string Name;
1679 [Description ("Count of the indeterminate errors. "),
1680 Counter ]
1681 mike 1.2 uint64 IndeterminateErrorCount;
1682 [Description ("Count of the critical errors. "),
1683 MappingStrings {"MIF.DMTF|Operational State|006"},
1684 Counter ]
1685 uint64 CriticalErrorCount;
1686 [Description ("Count of the major errors. "),
1687 MappingStrings {"MIF.DMTF|Operational State|006"},
1688 Counter ]
1689 uint64 MajorErrorCount;
1690 [Description ("Count of the minor errors. "),
1691 Counter ]
1692 uint64 MinorErrorCount;
1693 [Description ("Count of the warnings. "),
1694 MappingStrings {"MIF.DMTF|Operational State|006"},
1695 Counter ]
1696 uint64 WarningCount;
1697 [Description (
1698 "Method to reset the error and warning counters. The method "
1699 "takes one parameter as input - an integer indicating which "
1700 "counter to reset. For this input parameter, 0 indicates all, "
1701 "1 indicates a reset of the indeterminate error counter, "
1702 mike 1.2 "2 the critical error counter, 3 the major error counter, "
1703 "4 the minor error counter and 5 the warning counter. The "
1704 "method returns 0 if successful, 1 if not supported, and any "
1705 "other value if an error occurred. A method is specified so "
1706 "that the LogicalDevice's instrumentation, which tabulates "
1707 "the errors and warnings, can also reset its internal "
1708 "processing and counters.\n"
1709 "In a subclass, the set of possible return codes could be "
1710 "specified, using a ValueMap qualifier on the method. The "
1711 "strings to which the ValueMap contents are 'translated' "
1712 "may also be specified in the subclass as a Values "
1713 "array qualifier.") ]
1714 uint32 ResetCounter (
1715 [IN, Values {"All","Indeterminate Error Counter",
1716 "Critical Error Counter", "Major Error Counter",
1717 "Minor Error Counter", "Warning Counter"}]
1718 uint16 SelectedCounter);
1719 };
1720
1721
1722 // ==================================================================
1723 mike 1.2 // ErrorCountersForDevice
1724 // ==================================================================
1725 [Association, Description (
1726 "ErrorCountersForDevice relates the DeviceErrorCounts class "
1727 "to the LogicalDevice to which it applies. ") ]
1728 class CIM_ErrorCountersForDevice : CIM_Statistics {
1729 [Override ("Stats"), Weak,
1730 Description (
1731 "The statistical object - in this case, the error counter "
1732 "class. ")]
1733 CIM_DeviceErrorCounts REF Stats;
1734 [Override ("Element"), Min(1), Max(1),
1735 Description ("The Device to which the error counters apply. ") ]
1736 CIM_LogicalDevice REF Element;
1737 };
1738
1739 // ===================================================================
1740 // Sensor
1741 // ===================================================================
1742 [Abstract, Description (
1743 "A Sensor is a hardware device capable of measuring the "
1744 mike 1.2 "characteristics of some physical property - for example, the "
1745 "temperature or voltage characteristics of a UnitaryComputer"
1746 "System.") ]
1747 class CIM_Sensor : CIM_LogicalDevice {
1748 [Description (
1749 "The Type of the Sensor, e.g. Voltage or Temperature Sensor. "
1750 "If the type is set to \"Other\", then the OtherSensorType"
1751 "Description can be used to further identify the type, or if "
1752 "the Sensor has numeric readings, then the type of the Sensor "
1753 "can be implicitly determined by the Units. A description of "
1754 "the different Sensor types is as follows: A Temperature Sensor "
1755 "measures the environmental temperature. Voltage and Current "
1756 "Sensors measure electrical voltage and current readings. "
1757 "A Tachometer measures speed/revolutions of a Device. For example, "
1758 "a Fan Device can have an associated Tachometer which measures "
1759 "its speed. A Counter is a general purpose Sensor that measures "
1760 "some numerical property of a Device. A Counter value can be "
1761 "cleared, but it never decreases. A Switch Sensor has states like "
1762 "Open/Close, On/Off, or Up/Down. A Lock has states of Locked/"
1763 "Unlocked. Humidity, Smoke Detection and Air Flow Sensors measure "
1764 "the equivalent environmental characteristics. A Presence Sensor "
1765 mike 1.2 "detects the presence of a PhysicalElement."),
1766 Values {"Unknown", "Other", "Temperature", "Voltage", "Current",
1767 "Tachometer", "Counter", "Switch", "Lock", "Humidity",
1768 "Smoke Detection", "Presence", "Air Flow"},
1769 ModelCorrespondence {"CIM_Sensor.OtherSensorTypeDescription"} ]
1770 uint16 SensorType;
1771 [MaxLen (128), Description (
1772 "A string describing the Sensor type - used when the SensorType "
1773 "property is set to \"Other\"."),
1774 ModelCorrespondence {"CIM_Sensor.SensorType"} ]
1775 string OtherSensorTypeDescription;
1776 [MaxLen (128), Description (
1777 "PossibleStates enumerates the string outputs of the Sensor. For "
1778 "example, a \"Switch\" Sensor may output the states \"On\", or \"Off\". "
1779 "Another implementation of the Switch may output the states \"Open\", "
1780 "and \"Close\". Another example is a NumericSensor supporting "
1781 "thresholds. This Sensor can report the states like \"Normal\", "
1782 "\"Upper Fatal\", \"Lower Non-Critical\", etc. A NumericSensor that "
1783 "does not publish readings and thresholds, but stores this data "
1784 "internally, can still report its states.") ]
1785 string PossibleStates[];
1786 mike 1.2 [MaxLen (128), Description (
1787 "The current state indicated by the Sensor. This is always one of "
1788 "the \"PossibleStates\".") ]
1789 string CurrentState;
1790 [Description (
1791 "The polling interval that the Sensor hardware or the instrumentation "
1792 "uses to determine the current state of the Sensor."),
1793 Units ("NanoSeconds") ]
1794 uint64 PollingInterval;
1795 };
1796
1797
1798 // ===================================================================
1799 // AssociatedSensor
1800 // ===================================================================
1801 [Association, Description (
1802 "Many Devices include Sensors or have Sensors installed "
1803 "nearby, in order to measure critical input and output "
1804 "properties. This association indicates that relationship.") ]
1805 class CIM_AssociatedSensor : CIM_Dependency {
1806 [Override ("Antecedent"),
1807 mike 1.2 Description ("The Sensor.") ]
1808 CIM_Sensor REF Antecedent;
1809 [Override ("Dependent"), Description (
1810 "The LogicalDevice for which information is measured by "
1811 "the Sensor.") ]
1812 CIM_LogicalDevice REF Dependent;
1813 };
1814
1815
1816 // ===================================================================
1817 // BinarySensor
1818 // ===================================================================
1819 [Description (
1820 "A BinarySensor provides a boolean output. Given the addition "
1821 "of the CurrentState and PossibleStates properties to Sensor, "
1822 "the BinarySensor subclass is no longer necessary, but is "
1823 "retained for backward compatibility. A BinarySensor can be "
1824 "created by instantiating a Sensor with two PossibleStates.") ]
1825 class CIM_BinarySensor : CIM_Sensor {
1826 [Description ("The current value indicated by the Sensor.") ]
1827 boolean CurrentReading;
1828 mike 1.2 [Description (
1829 "ExpectedReading indicates the 'normal' value for the Sensor.") ]
1830 boolean ExpectedReading;
1831 [MaxLen (64), Description (
1832 "InterpretationOfTrue is a string indicating what a 'True' "
1833 "value from the BinarySensor means. This information could "
1834 "be displayed to a user.") ]
1835 string InterpretationOfTrue;
1836 [MaxLen (64), Description (
1837 "InterpretationOfFalse is a string indicating what a 'False' "
1838 "value from the BinarySensor means. This information could "
1839 "be displayed to a user.") ]
1840 string InterpretationOfFalse;
1841 };
1842
1843
1844 // ===================================================================
1845 // MultiStateSensor
1846 // ===================================================================
1847 [Description (
1848 "A Multi-StateSensor is a multi-member set of Sensors.") ]
1849 mike 1.2 class CIM_MultiStateSensor : CIM_Sensor {
1850 };
1851
1852
1853 // ===================================================================
1854 // CollectionOfSensors
1855 // ===================================================================
1856 [Association, Aggregation, Description (
1857 "The CollectionOfSensors association indicates the "
1858 "Sensors that make up a MultiStateSensor.") ]
1859 class CIM_CollectionOfSensors : CIM_Component {
1860 [Override ("GroupComponent"), Aggregate, Max (1),
1861 Description ("The MultiStateSensor.")]
1862 CIM_MultiStateSensor REF GroupComponent;
1863 [Override ("PartComponent"), Min (2),
1864 Description (
1865 "A Sensor that is part of the MultiStateSensor.")]
1866 CIM_Sensor REF PartComponent;
1867 };
1868
1869
1870 mike 1.2 // ===================================================================
1871 // DiscreteSensor
1872 // ===================================================================
1873 [Description (
1874 "A DiscreteSensor has a set of legal string values, "
1875 "that it can report. These values are enumerated in the "
1876 "Sensor's PossibleValues property. A DiscreteSensor will "
1877 "always have a 'current reading' that corresponds to one of "
1878 "the enumerated values.\n"
1879 "Given the addition of the CurrentState and PossibleStates "
1880 "properties to Sensor, the DiscreteSensor subclass is no longer "
1881 "necessary, but is retained for backward compatibility. "
1882 "Information in the CurrentReading and PossibleValues properties "
1883 "will typically have the same values and semantics as for the "
1884 "CurrentState and PossibleStates properties, inherited from "
1885 "Sensor.") ]
1886 class CIM_DiscreteSensor : CIM_Sensor {
1887 [MaxLen (64), Description (
1888 "The current value indicated by the Sensor.") ]
1889 string CurrentReading;
1890 [MaxLen (64), Description (
1891 mike 1.2 "PossibleValues enumerates the string outputs that can be "
1892 "reported by the DiscreteSensor.") ]
1893 string PossibleValues[];
1894 [MaxLen (64), Description (
1895 "AcceptableValues details which of the PossibleValues strings "
1896 "are considered 'acceptable' (ie, 'not an error').") ]
1897 string AcceptableValues[];
1898 };
1899
1900
1901 // ===================================================================
1902 // NumericSensor
1903 // ===================================================================
1904 [Description (
1905 "A Numeric Sensor is capable of returning numeric readings "
1906 "and optionally supports thresholds settings.") ]
1907 class CIM_NumericSensor : CIM_Sensor {
1908 [Description (
1909 "The base unit of the values returned by this Sensor. All "
1910 "the values returned by this Sensor are represented in the units "
1911 "obtained by (BaseUnits * 10 raised to the power of the Unit"
1912 mike 1.2 "Modifier). For example, if BaseUnits is Volts and the Unit"
1913 "Modifier is -6, then the units of the values returned are "
1914 "MicroVolts. However, if the RateUnits property is set to a "
1915 "value other than \"None\", then the units are further qualified "
1916 "as rate units. In the above example, if RateUnits is set to "
1917 "\"Per Second\", then the values returned by the Sensor "
1918 "are in MicroVolts/Second. The units apply to all numeric "
1919 "properties of the Sensor, unless explicitly overridden by the "
1920 "Units qualifier."),
1921 Values {"Unknown", "Other", "Degrees C", "Degrees F", "Degrees K",
1922 "Volts", "Amps", "Watts", "Joules", "Coulombs", "VA", "Nits",
1923 "Lumens", "Lux", "Candelas", "kPa", "PSI", "Newtons", "CFM",
1924 "RPM", "Hertz", "Seconds", "Minutes", "Hours", "Days", "Weeks",
1925 "Mils", "Inches", "Feet", "Cubic Inches", "Cubic Feet",
1926 "Meters", "Cubic Centimeters", "Cubic Meters", "Liters",
1927 "Fluid Ounces", "Radians", "Steradians", "Revolutions",
1928 "Cycles", "Gravities", "Ounces", "Pounds", "Foot-Pounds",
1929 "Ounce-Inches", "Gauss", "Gilberts", "Henries", "Farads",
1930 "Ohms", "Siemens", "Moles", "Becquerels",
1931 "PPM (parts/million)", "Decibels", "DbA", "DbC",
1932 "Grays", "Sieverts", "Color Temperature Degrees K", "Bits",
1933 mike 1.2 "Bytes", "Words (data)", "DoubleWords", "QuadWords",
1934 "Percentage"},
1935 ModelCorrespondence {"CIM_NumericSensor.UnitModifier",
1936 "CIM_NumericSensor.RateUnits"} ]
1937 uint16 BaseUnits;
1938 [Description (
1939 "The unit multiplier for the values returned by this Sensor. All "
1940 "the values returned by this Sensor are represented in the units "
1941 "obtained by (BaseUnits * 10 raised to the power of the Unit"
1942 "Modifier). For example, if BaseUnits is Volts and the Unit"
1943 "Modifier is -6, then the units of the values returned are Micro"
1944 "Volts. However, if the RateUnits property is set to a value other "
1945 "than \"None\", then the units are further qualified as rate units. "
1946 "In the above example, if RateUnits is set to \"Per Second\", then "
1947 "the values returned by the Sensor are in MicroVolts/Second. The "
1948 "units apply to all numeric properties of the Sensor, unless "
1949 "explicitly overridden by the Units qualifier."),
1950 ModelCorrespondence {"CIM_NumericSensor.BaseUnits",
1951 "CIM_NumericSensor.RateUnits"} ]
1952 sint32 UnitModifier;
1953 [Description (
1954 mike 1.2 "Specifies if the units returned by this Sensor are rate units. "
1955 "All the values returned by this Sensor are represented in the "
1956 "units obtained by (BaseUnits * 10 raised to the power of the Unit"
1957 "Modifier). This is true unless this property (RateUnits) has a "
1958 "value different than \"None\". For example, if BaseUnits is "
1959 "Volts and the UnitModifier is -6, then the units of the values "
1960 "returned are MicroVolts. But, if the RateUnits property is set "
1961 "to a value other than \"None\", then the units are further "
1962 "qualified as rate units. In the above example, if RateUnits is "
1963 "set to \"Per Second\", then the values returned by the Sensor are "
1964 "in MicroVolts/Second. The units apply to all numeric properties "
1965 "of the Sensor, unless explicitly overridden by the Units "
1966 "qualifier. Any implementation of CurrentReading should be qualified "
1967 "with either a Counter or a Gauge qualifier, depending on the "
1968 "characteristics of the sensor being modeled."),
1969 Values {"None", "Per MicroSecond", "Per MilliSecond", "Per Second",
1970 "Per Minute", "Per Hour", "Per Day", "Per Week", "Per Month",
1971 "Per Year"},
1972 ModelCorrespondence {"CIM_NumericSensor.UnitModifier",
1973 "CIM_NumericSensor.BaseUnits"} ]
1974 uint16 RateUnits;
1975 mike 1.2 [Description ("The current value indicated by the Sensor.") ]
1976 sint32 CurrentReading;
1977 [Description (
1978 "NominalReading indicates the 'normal' or expected value "
1979 "for the NumericSensor.") ]
1980 sint32 NominalReading;
1981 [Description (
1982 "NormalMax provides guidance for the user as to the "
1983 "normal maximum range for the NumericSensor.") ]
1984 sint32 NormalMax;
1985 [Description (
1986 "NormalMin provides guidance for the user as to the "
1987 "normal minimum range for the NumericSensor.") ]
1988 sint32 NormalMin;
1989 [Description (
1990 "MaxReadable indicates the largest value of the measured "
1991 "property that can be read by the NumericSensor.") ]
1992 sint32 MaxReadable;
1993 [Description (
1994 "MinReadable indicates the smallest value of the measured "
1995 "property that can be read by the NumericSensor.") ]
1996 mike 1.2 sint32 MinReadable;
1997 [Description (
1998 "Resolution indicates the ability of the Sensor to resolve "
1999 "differences in the measured property. This value may vary "
2000 "depending on whether the Device is linear over its dynamic "
2001 "range.") ]
2002 uint32 Resolution;
2003 [Description (
2004 "Indicates the tolerance of the Sensor for the measured "
2005 "property. Tolerance, along with Resolution and Accuracy, "
2006 "is used to calculate the actual value of the measured "
2007 "physical property. Tolerance may vary depending on "
2008 "whether the Device is linear over its dynamic range.") ]
2009 sint32 Tolerance;
2010 [Description (
2011 "Indicates the accuracy of the Sensor for the measured "
2012 "property. Its value is recorded as plus/minus hundredths "
2013 "of a percent. Accuracy, along with Resolution and Tolerance, "
2014 "is used to calculate the actual value of the measured "
2015 "physical property. Accuracy may vary depending on whether "
2016 "the Device is linear over its dynamic range."),
2017 mike 1.2 Units ("Hundredths of Percent") ]
2018 sint32 Accuracy;
2019 [Description (
2020 "Indicates that the Sensor is linear over its dynamic range.") ]
2021 boolean IsLinear;
2022 [Description (
2023 "Indicates the margin built around the thresholds. This margin "
2024 "prevents unnecessary state changes when the Sensor reading may "
2025 "fluctuate very close to its thresholds. This could be due to "
2026 "the Sensor's tolerance/accuracy/resolution or due to "
2027 "environmental factors. Once a threshold is crossed, the state of "
2028 "the Sensor should change. However, the state should not "
2029 "fluctuate between the old and new states unless the Sensor's "
2030 "change in the reading exceeds the hysteresis value.") ]
2031 uint32 Hysteresis;
2032 [Description (
2033 "The Sensor's threshold values specify the ranges (min and max "
2034 "values) for determining whether the Sensor is operating under "
2035 "Normal, NonCritical, Critical or Fatal conditions. If Current"
2036 "Reading is between LowerThresholdNonCritical and UpperThreshold"
2037 "NonCritical, then the Sensor is reporting a normal value. "
2038 mike 1.2 "If CurrentReading is between LowerThresholdNonCritical and Lower"
2039 "ThresholdCritical, then the CurrentState is NonCritical.") ]
2040 sint32 LowerThresholdNonCritical;
2041 [Description (
2042 "The Sensor's threshold values specify the ranges (min and max "
2043 "values) for determining whether the Sensor is operating under "
2044 "Normal, NonCritical, Critical or Fatal conditions. If the Current"
2045 "Reading is between LowerThresholdNonCritical and UpperThreshold"
2046 "NonCritical, then the Sensor is reporting a normal value. "
2047 "If the CurrentReading is between UpperThresholdNonCritical and "
2048 "UpperThresholdCritical, then the CurrentState is NonCritical.") ]
2049 sint32 UpperThresholdNonCritical;
2050 [Description (
2051 "The Sensor's threshold values specify the ranges (min and max "
2052 "values) for determining whether the Sensor is operating under "
2053 "Normal, NonCritical, Critical or Fatal conditions. If the Current"
2054 "Reading is between LowerThresholdCritical and LowerThreshold"
2055 "Fatal, then the CurrentState is Critical.") ]
2056 sint32 LowerThresholdCritical;
2057 [Description (
2058 "The Sensor's threshold values specify the ranges (min and max "
2059 mike 1.2 "values) for determining whether the Sensor is operating under "
2060 "Normal, NonCritical, Critical or Fatal conditions. If the Current"
2061 "Reading is between UpperThresholdCritical and UpperThreshold"
2062 "Fatal, then the CurrentState is Critical.") ]
2063 sint32 UpperThresholdCritical;
2064 [Description (
2065 "The Sensor's threshold values specify the ranges (min and max "
2066 "values) for determining whether the Sensor is operating under "
2067 "Normal, NonCritical, Critical or Fatal conditions. If the Current"
2068 "Reading is below LowerThresholdFatal, then the CurrentState is "
2069 "Fatal.") ]
2070 sint32 LowerThresholdFatal;
2071 [Description (
2072 "The Sensor's threshold values specify the ranges (min and max "
2073 "values) for determining whether the Sensor is operating under "
2074 "Normal, NonCritical, Critical or Fatal conditions. If the Current"
2075 "Reading is above UpperThresholdFatal, then the CurrentState is "
2076 "Fatal.") ]
2077 sint32 UpperThresholdFatal;
2078 [Description (
2079 "An array representing the thresholds supported by this Sensor."),
2080 mike 1.2 Values {"LowerThresholdNonCritical", "UpperThresholdNonCritical",
2081 "LowerThresholdCritical", "UpperThresholdCritical",
2082 "LowerThresholdFatal", "UpperThresholdFatal"} ]
2083 uint16 SupportedThresholds[];
2084 [Description (
2085 "An array representing the thresholds that are currently enabled "
2086 "for this Sensor."),
2087 Values {"LowerThresholdNonCritical", "UpperThresholdNonCritical",
2088 "LowerThresholdCritical", "UpperThresholdCritical",
2089 "LowerThresholdFatal", "UpperThresholdFatal"} ]
2090 uint16 EnabledThresholds[];
2091 [Description (
2092 "An array representing the writable thresholds supported by "
2093 "Sensor."),
2094 Values {"LowerThresholdNonCritical", "UpperThresholdNonCritical",
2095 "LowerThresholdCritical", "UpperThresholdCritical",
2096 "LowerThresholdFatal", "UpperThresholdFatal"} ]
2097 uint16 SettableThresholds[];
2098 [Description (
2099 "This method resets the values of the thresholds to hardware "
2100 "defaults. This method returns 0 if successful, 1 if "
2101 mike 1.2 "unsupported and any other value if an error occurred. "
2102 "In a subclass, the set of possible return codes could be "
2103 "specified, using a ValueMap qualifier on the method. The "
2104 "strings to which the ValueMap contents are 'translated' "
2105 "may also be specified in the subclass as a Values "
2106 "array qualifier.") ]
2107 uint32 RestoreDefaultThresholds();
2108 [Description (
2109 "For a non-linear Sensor, the resolution, accuracy, tolerance "
2110 "and hysteresis vary as the current reading moves. This method "
2111 "can be used to get these factors for a given reading. It "
2112 "returns 0 if successful, 1 if unsupported, and any other "
2113 "value if an error occurred. In a subclass, the set of "
2114 "possible return codes could be specified, using a ValueMap "
2115 "qualifier on the method. The strings to which the ValueMap "
2116 "contents are 'translated' may also be specified in the "
2117 "subclass as a Values array qualifier.") ]
2118 uint32 GetNonLinearFactors(
2119 [IN]sint32 SensorReading,
2120 [OUT]sint32 Accuracy,
2121 [OUT]uint32 Resolution,
2122 mike 1.2 [OUT]sint32 Tolerance,
2123 [OUT]uint32 Hysteresis);
2124 };
2125
2126
2127 // ===================================================================
2128 // TemperatureSensor
2129 // ===================================================================
2130 [Description (
2131 "This class exists for backward compatibility to earlier "
2132 "CIM Schema definitions. With additions to Sensor and Numeric"
2133 "Sensor in V2.2, it is no longer necessary. A TempertatureSensor "
2134 "can be defined by setting the SensorType property, inherited "
2135 "from Sensor, to 2 (\"Temperature\"). Other properties of this "
2136 "class are hard-coded to constant values to correspond to "
2137 "definitions in the Sensor hierarchy.") ]
2138 class CIM_TemperatureSensor : CIM_NumericSensor {
2139 [Override("SensorType") ]
2140 uint16 SensorType = 2;
2141 [Override("BaseUnits") ]
2142 uint16 BaseUnits = 2;
2143 mike 1.2 [Override("UnitModifier") ]
2144 sint32 UnitModifier = -1;
2145 [Override("RateUnits") ]
2146 uint16 RateUnits = 0;
2147 // Override is used to define the MappingString qualifier
2148 [Override ("CurrentReading"),
2149 MappingStrings {"MIF.DMTF|Temperature Probe|002.5"} ]
2150 sint32 CurrentReading;
2151 [Override ("NominalReading"),
2152 MappingStrings {"MIF.DMTF|Temperature Probe|002.6"} ]
2153 sint32 NominalReading;
2154 [Override ("NormalMax"),
2155 MappingStrings {"MIF.DMTF|Temperature Probe|002.7"} ]
2156 sint32 NormalMax;
2157 [Override ("NormalMin"),
2158 MappingStrings {"MIF.DMTF|Temperature Probe|002.8"} ]
2159 sint32 NormalMin;
2160 [Override ("MaxReadable"),
2161 MappingStrings {"MIF.DMTF|Temperature Probe|002.9"} ]
2162 sint32 MaxReadable;
2163 [Override ("MinReadable"),
2164 mike 1.2 MappingStrings {"MIF.DMTF|Temperature Probe|002.10"} ]
2165 sint32 MinReadable;
2166 [Override ("Resolution"),
2167 Units ("Hundredths of Degrees C"),
2168 MappingStrings {"MIF.DMTF|Temperature Probe|002.17"} ]
2169 uint32 Resolution;
2170 [Override ("Tolerance"),
2171 MappingStrings {"MIF.DMTF|Temperature Probe|002.18"} ]
2172 sint32 Tolerance;
2173 [Override ("Accuracy"),
2174 MappingStrings {"MIF.DMTF|Temperature Probe|002.19"} ]
2175 sint32 Accuracy;
2176 [Override ("LowerThresholdNonCritical"),
2177 MappingStrings {"MIF.DMTF|Temperature Probe|002.11"} ]
2178 sint32 LowerThresholdNonCritical;
2179 [Override ("UpperThresholdNonCritical"),
2180 MappingStrings {"MIF.DMTF|Temperature Probe|002.12"} ]
2181 sint32 UpperThresholdNonCritical;
2182 [Override ("LowerThresholdCritical"),
2183 MappingStrings {"MIF.DMTF|Temperature Probe|002.13"} ]
2184 sint32 LowerThresholdCritical;
2185 mike 1.2 [Override ("UpperThresholdCritical"),
2186 MappingStrings {"MIF.DMTF|Temperature Probe|002.14"} ]
2187 sint32 UpperThresholdCritical;
2188 [Override ("LowerThresholdFatal"),
2189 MappingStrings {"MIF.DMTF|Temperature Probe|002.15"} ]
2190 sint32 LowerThresholdFatal;
2191 [Override ("UpperThresholdFatal"),
2192 MappingStrings {"MIF.DMTF|Temperature Probe|002.16"} ]
2193 sint32 UpperThresholdFatal;
2194 };
2195
2196
2197 // ===================================================================
2198 // CurrentSensor
2199 // ===================================================================
2200 [Description (
2201 "This class exists for backward compatibility to earlier "
2202 "CIM Schema definitions. With additions to Sensor and Numeric"
2203 "Sensor in V2.2, it is no longer necessary. A CurrentSensor can "
2204 "be defined by setting the SensorType property, inherited from "
2205 "Sensor, to 4 (\"Current\"). Other properties of this class are "
2206 mike 1.2 "hard-coded to constant values to correspond to definitions in "
2207 "the Sensor hierarchy.") ]
2208 class CIM_CurrentSensor : CIM_NumericSensor {
2209 [Override("SensorType") ]
2210 uint16 SensorType = 4;
2211 [Override("BaseUnits") ]
2212 uint16 BaseUnits = 6;
2213 [Override("UnitModifier") ]
2214 sint32 UnitModifier = -3;
2215 [Override("RateUnits") ]
2216 uint16 RateUnits = 0;
2217 // Override is used to define the MappingString qualifier
2218 [Override ("CurrentReading"),
2219 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.5"} ]
2220 sint32 CurrentReading;
2221 [Override ("NominalReading"),
2222 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.6"} ]
2223 sint32 NominalReading;
2224 [Override ("NormalMax"),
2225 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.7"} ]
2226 sint32 NormalMax;
2227 mike 1.2 [Override ("NormalMin"),
2228 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.8"} ]
2229 sint32 NormalMin;
2230 [Override ("MaxReadable"),
2231 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.9"} ]
2232 sint32 MaxReadable;
2233 [Override ("MinReadable"),
2234 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.10"} ]
2235 sint32 MinReadable;
2236 [Override ("Resolution"),
2237 Units ("Tenths of MilliAmps"),
2238 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.17"} ]
2239 uint32 Resolution;
2240 [Override ("Tolerance"),
2241 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.18"} ]
2242 sint32 Tolerance;
2243 [Override ("Accuracy"),
2244 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.19"} ]
2245 sint32 Accuracy;
2246 [Override ("LowerThresholdNonCritical"),
2247 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.11"} ]
2248 mike 1.2 sint32 LowerThresholdNonCritical;
2249 [Override ("UpperThresholdNonCritical"),
2250 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.12"} ]
2251 sint32 UpperThresholdNonCritical;
2252 [Override ("LowerThresholdCritical"),
2253 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.13"} ]
2254 sint32 LowerThresholdCritical;
2255 [Override ("UpperThresholdCritical"),
2256 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.14"} ]
2257 sint32 UpperThresholdCritical;
2258 [Override ("LowerThresholdFatal"),
2259 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.15"} ]
2260 sint32 LowerThresholdFatal;
2261 [Override ("UpperThresholdFatal"),
2262 MappingStrings {"MIF.DMTF|Electrical Current Probe|001.16"} ]
2263 sint32 UpperThresholdFatal;
2264 };
2265
2266
2267 // ===================================================================
2268 // VoltageSensor
2269 mike 1.2 // ===================================================================
2270 [Description (
2271 "This class exists for backward compatibility to earlier "
2272 "CIM Schema definitions. With additions to Sensor and Numeric"
2273 "Sensor in V2.2, it is no longer necessary. A VoltageSensor can "
2274 "be defined by setting the SensorType property, inherited from "
2275 "Sensor, to 3 (\"Voltage\"). Other properties of this class are "
2276 "hard-coded to constant values to correspond to definitions in "
2277 "the Sensor hierarchy.") ]
2278 class CIM_VoltageSensor : CIM_NumericSensor {
2279 [Override("SensorType") ]
2280 uint16 SensorType = 3;
2281 [Override("BaseUnits") ]
2282 uint16 BaseUnits = 5;
2283 [Override("UnitModifier") ]
2284 sint32 UnitModifier = -3;
2285 [Override("RateUnits") ]
2286 uint16 RateUnits = 0;
2287 // Override is used to define the MappingString qualifier
2288 [Override ("CurrentReading"),
2289 MappingStrings {"MIF.DMTF|Voltage Probe|001.5"} ]
2290 mike 1.2 sint32 CurrentReading;
2291 [Override ("NominalReading"),
2292 MappingStrings {"MIF.DMTF|Voltage Probe|001.6"} ]
2293 sint32 NominalReading;
2294 [Override ("NormalMax"),
2295 MappingStrings {"MIF.DMTF|Voltage Probe|001.7"} ]
2296 sint32 NormalMax;
2297 [Override ("NormalMin"),
2298 MappingStrings {"MIF.DMTF|Voltage Probe|001.8"} ]
2299 sint32 NormalMin;
2300 [Override ("MaxReadable"),
2301 MappingStrings {"MIF.DMTF|Voltage Probe|001.9"} ]
2302 sint32 MaxReadable;
2303 [Override ("MinReadable"),
2304 MappingStrings {"MIF.DMTF|Voltage Probe|001.10"} ]
2305 sint32 MinReadable;
2306 [Override ("Resolution"),
2307 Units ("Tenths of MilliVolts"),
2308 MappingStrings {"MIF.DMTF|Voltage Probe|001.17"} ]
2309 uint32 Resolution;
2310 [Override ("Tolerance"),
2311 mike 1.2 MappingStrings {"MIF.DMTF|Voltage Probe|001.18"} ]
2312 sint32 Tolerance;
2313 [Override ("Accuracy"),
2314 MappingStrings {"MIF.DMTF|Voltage Probe|001.19"} ]
2315 sint32 Accuracy;
2316 [Override ("LowerThresholdNonCritical"),
2317 MappingStrings {"MIF.DMTF|Voltage Probe|001.11"} ]
2318 sint32 LowerThresholdNonCritical;
2319 [Override ("UpperThresholdNonCritical"),
2320 MappingStrings {"MIF.DMTF|Voltage Probe|001.12"} ]
2321 sint32 UpperThresholdNonCritical;
2322 [Override ("LowerThresholdCritical"),
2323 MappingStrings {"MIF.DMTF|Voltage Probe|001.13"} ]
2324 sint32 LowerThresholdCritical;
2325 [Override ("UpperThresholdCritical"),
2326 MappingStrings {"MIF.DMTF|Voltage Probe|001.14"} ]
2327 sint32 UpperThresholdCritical;
2328 [Override ("LowerThresholdFatal"),
2329 MappingStrings {"MIF.DMTF|Voltage Probe|001.15"} ]
2330 sint32 LowerThresholdFatal;
2331 [Override ("UpperThresholdFatal"),
2332 mike 1.2 MappingStrings {"MIF.DMTF|Voltage Probe|001.16"} ]
2333 sint32 UpperThresholdFatal;
2334 };
2335
2336
2337 // ===================================================================
2338 // Tachometer
2339 // ===================================================================
2340 [Description (
2341 "This class exists for backward compatibility to earlier "
2342 "CIM Schema definitions. With additions to Sensor and Numeric"
2343 "Sensor in V2.2, it is no longer necessary. A Tachometer can "
2344 "be defined by setting the SensorType property. inherited from "
2345 "Sensor, to 5 (\"Tachometer\"). Other properties of this class "
2346 "are hard-coded to constant values to correspond to definitions "
2347 "in the Sensor hierarchy.") ]
2348 class CIM_Tachometer : CIM_NumericSensor {
2349 [Override("SensorType") ]
2350 uint16 SensorType = 5;
2351 [Override("BaseUnits") ]
2352 uint16 BaseUnits = 38;
2353 mike 1.2 [Override("UnitModifier") ]
2354 sint32 UnitModifier = 1;
2355 [Override("RateUnits") ]
2356 uint16 RateUnits = 4;
2357 [Override ("Resolution"),
2358 Units ("Tenths of Revolutions per Minute") ]
2359 uint32 Resolution;
2360 };
2361
2362
2363 // ===================================================================
2364 // AssociatedSupplyVoltageSensor
2365 // ===================================================================
2366 [Association, Description (
2367 "A PowerSupply may have an associated VoltageSensor, monitoring "
2368 "its input voltage. This is described by this association.") ]
2369 class CIM_AssociatedSupplyVoltageSensor : CIM_AssociatedSensor {
2370 [Override ("Antecedent"),
2371 Description ("The VoltageSensor.") ]
2372 CIM_VoltageSensor REF Antecedent;
2373 [Override ("Dependent"),
2374 mike 1.2 Description (
2375 "The PowerSupply associated with the VoltageSensor.") ]
2376 CIM_PowerSupply REF Dependent;
2377 [Description (
2378 "Indicates the PowerSupply's input voltage range measured "
2379 "by the associated sensor. Range 1, 2 or both can be specified "
2380 "using the values 2, 3 or 4, respectively."),
2381 Values {"Unknown", "Other", "Range 1", "Range 2",
2382 "Both Range 1 and 2"} ]
2383 uint16 MonitoringRange;
2384 };
2385
2386
2387 // ===================================================================
2388 // AssociatedSupplyCurrentSensor
2389 // ===================================================================
2390 [Association, Description (
2391 "A PowerSupply may have an associated CurrentSensor, monitoring "
2392 "its input frequency. This is described by this association.") ]
2393 class CIM_AssociatedSupplyCurrentSensor : CIM_AssociatedSensor {
2394 [Override ("Antecedent"),
2395 mike 1.2 Description ("The CurrentSensor.") ]
2396 CIM_CurrentSensor REF Antecedent;
2397 [Override ("Dependent"),
2398 Description (
2399 "The PowerSupply associated with the CurrentSensor.") ]
2400 CIM_PowerSupply REF Dependent;
2401 [Description (
2402 "Indicates the PowerSupply's input frequency range measured "
2403 "by the associated sensor. Range 1, 2 or both can be specified "
2404 "using the values 2, 3 or 4, respectively."),
2405 Values {"Unknown", "Other", "Range 1", "Range 2",
2406 "Both Range 1 and 2"} ]
2407 uint16 MonitoringRange;
2408 };
2409
2410
2411 // ==================================================================
2412 // FCAdapterEventCounters
2413 // ==================================================================
2414 [Description (
2415 "Error and event counters specific to a Fibre Channel Adapter.") ]
2416 mike 1.2 class CIM_FCAdapterEventCounters : CIM_DeviceStatisticalInformation {
2417 [Description ("The number of Abort sequence frames received."),
2418 Counter ]
2419 uint64 ABTSFramesReceived;
2420 [Description ("The number of Abort sequence frames sent."),
2421 Counter ]
2422 uint64 ABTSFramesSent;
2423 [Description ("The number of frames busied by the Fabric."),
2424 Counter ]
2425 uint64 FBSYsReceived;
2426 [Description (
2427 "The number of frames busied by the receiving Node."),
2428 Counter ]
2429 uint64 PBSYsReceived;
2430 [Description (
2431 "The number of frames busied by the Adapter itself."),
2432 Counter ]
2433 uint64 PBSYsSent;
2434 [Description ("The number of frames rejected by the Fabric."),
2435 Counter ]
2436 uint64 FRJTsReceived;
2437 mike 1.2 [Description (
2438 "The number of frames rejected by the receiving Node."),
2439 Counter ]
2440 uint64 PRJTsReceived;
2441 [Description (
2442 "The number of frames rejected by the Adapter itself."),
2443 Counter ]
2444 uint64 PRJTsSent;
2445 [Description (
2446 "The number of PRLI frames sent where the response was "
2447 "LS_RJT."),
2448 Counter ]
2449 uint64 PRLIsRejected;
2450 [Description (
2451 "The number of PRLO frames sent where the response was "
2452 "LS_RJT."),
2453 Counter ]
2454 uint64 PRLOsRejected;
2455 [Description (
2456 "The number of Abort sequence frames sent where the response "
2457 "was BA_RJT."),
2458 mike 1.2 Counter ]
2459 uint64 ABTSFramesRejected;
2460 [Description (
2461 "Method to reset the Adapter event counters. The method "
2462 "takes one parameter as input - an integer indicating which "
2463 "counter to reset. For this input parameter, 0 indicates all, "
2464 "1 through 11 indicate a reset of the individual counters. "
2465 "The method returns 0 if successful, 1 if not supported, and "
2466 "any other value if an error occurred. A method is specified "
2467 "so that the Device's instrumentation, which tabulates "
2468 "the errors and warnings, can also reset its internal "
2469 "processing and counters.\n"
2470 "In a subclass, the set of possible return codes could be "
2471 "specified, using a ValueMap qualifier on the method. The "
2472 "strings to which the ValueMap contents are 'translated' "
2473 "may also be specified in the subclass as a Values "
2474 "array qualifier.") ]
2475 uint32 ResetCounter (
2476 [IN, Values {"All", "ABTSFramesReceived", "ABTSFramesSent",
2477 "FBSYReceived", "PBSYReceived", "PBSYSent", "FRJTReceived",
2478 "PRJTReceived", "PRJTSent", "PRLIRejected", "PRLORejected",
2479 mike 1.2 "ABTSFramesRejected"}]
2480 uint16 SelectedCounter);
2481 };
2482
2483
2484 // ==================================================================
2485 // FibrePortEventCounters
2486 // ==================================================================
2487 [Description (
2488 "Error and event counters specific to a Fibre Channel Port "
2489 "(connection point).") ]
2490 class CIM_FibrePortEventCounters : CIM_DeviceStatisticalInformation {
2491 [Description ("The number of login frames received."),
2492 Counter ]
2493 uint64 PLOGIsReceived;
2494 [Description ("The number of login frames sent."),
2495 Counter ]
2496 uint64 PLOGIsSent;
2497 [Description (
2498 "Number of frames received containing 'EOF Abort'."),
2499 Counter ]
2500 mike 1.2 uint64 EOFAbortsReceived;
2501 [Description (
2502 "Number of frames transmitted containing 'EOF Abort'."),
2503 Counter ]
2504 uint64 EOFAbortsTransmitted;
2505 [Description (
2506 "The number of logouts received from various targets."),
2507 Counter ]
2508 uint64 PLOGOsReceived;
2509 [Description ("The number of logout frames sent."),
2510 Counter ]
2511 uint64 PLOGOsSent;
2512 [Description (
2513 "The number of PLOGI frames sent where the response was "
2514 "LS_RJT."),
2515 Counter ]
2516 uint64 PLOGIsRejected;
2517 [Description (
2518 "The number of PLOGO frames sent where the response was "
2519 "LS_RJT."),
2520 Counter ]
2521 mike 1.2 uint64 PLOGOsRejected;
2522 [Description (
2523 "Method to reset the Port event counters. The method "
2524 "takes one parameter as input - an integer indicating which "
2525 "counter to reset. For this input parameter, 0 indicates all, "
2526 "1 through 8 indicate a reset of the individual counters. "
2527 "The method returns 0 if successful, 1 if not supported, and "
2528 "any other value if an error occurred. A method is specified "
2529 "so that the Device's instrumentation, which tabulates "
2530 "the errors and warnings, can also reset its internal "
2531 "processing and counters.\n"
2532 "In a subclass, the set of possible return codes could be "
2533 "specified, using a ValueMap qualifier on the method. The "
2534 "strings to which the ValueMap contents are 'translated' "
2535 "may also be specified in the subclass as a Values "
2536 "array qualifier.") ]
2537 uint32 ResetCounter (
2538 [IN, Values {"All", "PLOGIsReceived", "PLOGIsSent",
2539 "EOFAbortsReceived", "EOFAbortsTransmitted", "PLOGOsReceived",
2540 "PLOGOsSent", "PLOGIsRejected", "PLOGOsRejected"}]
2541 uint16 SelectedCounter);
2542 mike 1.2 };
2543
2544
2545 // ===================================================================
2546 // ComputerSystemProcessor
2547 // ===================================================================
2548 [Association, Aggregation, Description (
2549 "Association indicating the processor(s) of a Unitary"
2550 "ComputerSystem. At least one processor is required. Note "
2551 "that this relationship inherits from the SystemDevice "
2552 "association, and therefore, the System Processor is weak to "
2553 "the aggregating UnitaryComputerSystem.") ]
2554 class CIM_ComputerSystemProcessor : CIM_SystemDevice {
2555 [Override ("GroupComponent"), Aggregate,
2556 Description ("The UnitaryComputerSystem.") ]
2557 CIM_UnitaryComputerSystem REF GroupComponent;
2558 [Override ("PartComponent"), Weak,
2559 Description (
2560 "The Processor which is part of the UnitaryComputerSystem.") ]
2561 CIM_Processor REF PartComponent;
2562 };
2563 mike 1.2
2564
2565 // ===================================================================
2566 // LabelReaderStatInfo
2567 // ===================================================================
2568 [Description (
2569 "Statistics for a LabelReader, related to read successes, "
2570 "failures and retries.") ]
2571 class CIM_LabelReaderStatInfo : CIM_DeviceStatisticalInformation {
2572 [Description (
2573 "The number of successful physical label scans."),
2574 Counter ]
2575 uint64 ScanSuccesses;
2576 [Description ("The number of failed physical label scans."),
2577 Counter ]
2578 uint64 ScanFailures;
2579 [Description ("The number of retried physical label scans."),
2580 Counter ]
2581 uint64 ScanRetries;
2582 [Description (
2583 "Method to reset the statistical counters. The method "
2584 mike 1.2 "takes one parameter as input - an integer indicating which "
2585 "counter to reset. For this input parameter, 0 indicates all, "
2586 "1 resets the \"Scan Successes\" counter, 2 resets the "
2587 "\"Scan Failures\" counter, and 3 resets the \"Scan Retries\" "
2588 "counter. The method returns 0 if successful, 1 if not supported, "
2589 "and any other value if an error occurred. A method is specified "
2590 "so that the Device's instrumentation can also reset its "
2591 "internal processing and counters.\n"
2592 "In a subclass, the set of possible return codes should be "
2593 "specified in a ValueMap qualifier on the method. The strings "
2594 "to which the ValueMap contents are 'translated' can be "
2595 "specified as a Values array qualifier.") ]
2596 uint32 ResetCounter (
2597 [IN, Values {"All", "Scan Successes", "Scan Failures",
2598 "Scan Retries"}]
2599 uint16 SelectedCounter);
2600 };
2601
2602
2603 // ===================================================================
2604 // MediaAccessStatInfo
2605 mike 1.2 // ===================================================================
2606 [Description (
2607 "Statistics related to reading and writing at a specific "
2608 "MediaAccessDevice, or for a specific StorageExtent. Although "
2609 "the same class is used to represent this data, at the instance "
2610 "level the object holds information for the MediaAccessDevice "
2611 "(independent of the StorageExtent), OR for the Extent "
2612 "(independent of its AccessDevice).") ]
2613 class CIM_MediaAccessStatInfo : CIM_DeviceStatisticalInformation {
2614 [Description ("The number of attempted read operations."),
2615 Counter ]
2616 uint64 ReadOperations;
2617 [Description ("The number of unrecoverable read operations."),
2618 Counter ]
2619 uint64 UnrecoverableReadOperations;
2620 [Description ("The number of attempted write operations."),
2621 Counter ]
2622 uint64 WriteOperations;
2623 [Description ("The number of unrecoverable write operations."),
2624 Counter ]
2625 uint64 UnrecoverableWriteOperations;
2626 mike 1.2 [Description ("The number of recovered read operations."),
2627 Counter ]
2628 uint64 RecoveredReadOperations;
2629 [Description ("The number of recovered write operations."),
2630 Counter ]
2631 uint64 RecoveredWriteOperations;
2632 [Description ("The number of recovered seek operations."),
2633 Counter ]
2634 uint64 RecoveredSeekOperations;
2635 [Description ("The number of unrecoverable seek operations."),
2636 Counter ]
2637 uint64 UnrecoverableSeekOperations;
2638 [Description (
2639 "Method to reset the statistical counters. The method takes one "
2640 "parameter as input - an integer indicating which counter to "
2641 "reset. For this input parameter, 0 indicates all, 1-2 and 5 "
2642 "reset the 'read operation'-related counters, 3-4 and 6 reset "
2643 "the 'write operation'-related counters, and 7-8 reset the "
2644 "seek-related counters. The method returns 0 if "
2645 "successful, 1 if not supported, and any other value if an "
2646 "error occurred. A method is specified so that the Device's "
2647 mike 1.2 "instrumentation can also reset its internal processing and "
2648 "counters.\n"
2649 "In a subclass, the set of possible return codes should be "
2650 "specified in a ValueMap qualifier on the method. The strings "
2651 "to which the ValueMap contents are 'translated' can be "
2652 "specified as a Values array qualifier.") ]
2653 uint32 ResetCounter (
2654 [IN, Values {"All", "Read Operations",
2655 "Unrecoverable Read Operations", "Write Operations",
2656 "Unrecoverable Write Operations", "Recovered Read Operations",
2657 "Recovered Write Operations", "Recovered Seeks",
2658 "Unrecoverable Seeks"} ]
2659 uint16 SelectedCounter);
2660 };
2661
2662
2663 // ===================================================================
2664 // PickerStatInfo
2665 // ===================================================================
2666 [Description (
2667 "Statistics for a PickerElement, related to pick/put successes, "
2668 mike 1.2 "retries and failures.") ]
2669 class CIM_PickerStatInfo : CIM_DeviceStatisticalInformation {
2670 [Description ("The number of successful picks."),
2671 Counter ]
2672 uint64 PickSuccesses;
2673 [Description ("The number of failed picks."),
2674 Counter ]
2675 uint64 PickFailures;
2676 [Description ("The number of retried picks."),
2677 Counter ]
2678 uint64 PickRetries;
2679 [Description ("The number of successful puts."),
2680 Counter ]
2681 uint64 PutSuccesses;
2682 [Description ("The number of failed puts."),
2683 Counter ]
2684 uint64 PutFailures;
2685 [Description ("The number of retried puts."),
2686 Counter ]
2687 uint64 PutRetries;
2688 [Description (
2689 mike 1.2 "Method to reset the statistical counters. The method takes one "
2690 "parameter as input - an integer indicating which counter to "
2691 "reset. For this input parameter, 0 indicates all, 1-3 reset "
2692 "the 'pick'-related counters, and 4-6 reset the 'put'-related "
2693 "counters. The method returns 0 if successful, 1 if not "
2694 "supported, and any other value if an error occurred. A "
2695 "method is specified so that the Device's instrumentation can "
2696 "also reset its internal pocessing and counters.\n"
2697 "In a subclass, the set of possible return codes should be "
2698 "specified in a ValueMap qualifier on the method. The strings "
2699 "to which the ValueMap contents are 'translated' can be "
2700 "specified as a Values array qualifier.") ]
2701 uint32 ResetCounter (
2702 [IN, Values {"All", "Pick Successes", "Pick Failures", "Pick Retries",
2703 "Put Successes", "Put Failures", "Put Retries"} ]
2704 uint16 SelectedCounter);
2705 };
2706
2707
2708 // ===================================================================
2709 //
2710 mike 1.2 // Controllers, Adapters, and Ports
2711 //
2712 // ===================================================================
2713
2714
2715 // ===================================================================
2716 // LogicalPort
2717 // ===================================================================
2718 [Description (
2719 "The abstraction of a port or connection point of a Device. "
2720 "This object should be instantiated when the Port has "
2721 "independent management characteristics from the Device that "
2722 "includes it. Examples are a Fibre Channel Port and a USB Port. "
2723 "This class would not be instantiated for an Ethernet Port which "
2724 "is not managed independently of the EthernetAdapter.") ]
2725 class CIM_LogicalPort : CIM_LogicalDevice {
2726 [Description ("The speed of the Port in Bits per Second."),
2727 Units ("Bits per Second") ]
2728 uint64 Speed;
2729 [Description (
2730 "The max speed of the Port in Bits per Second."),
2731 mike 1.2 Units ("Bits per Second") ]
2732 uint64 MaxSpeed;
2733 };
2734
2735
2736 // ===================================================================
2737 // PortOnDevice
2738 // ===================================================================
2739 [Association, Description (
2740 "PortOnDevice associates a Port or connection point with its "
2741 "Device.") ]
2742 class CIM_PortOnDevice : CIM_Dependency {
2743 [Override ("Antecedent"),
2744 Description ("The Device that includes the Port.") ]
2745 CIM_LogicalDevice REF Antecedent;
2746 [Override ("Dependent"),
2747 Description ("The Port on the Device.") ]
2748 CIM_LogicalPort REF Dependent;
2749 };
2750
2751
2752 mike 1.2 // ===================================================================
2753 // NetworkAdapter
2754 // ===================================================================
2755 [Abstract, Description (
2756 "NetworkAdapter is an Abstract class defining general "
2757 "networking hardware concepts (for example, PermanentAddress or "
2758 "Speed of operation). NetworkAdapters are Devices with the "
2759 "ability to support multiple, higher level protocols and provide "
2760 "the implementation behind the Network Model's ProtocolEndpoint "
2761 "class. (This information is conveyed using the DeviceSAP"
2762 "Implementation association, defined in the Core Model.) "
2763 "NetworkAdapters and their Endpoints represent the potential for "
2764 "connectivity among peers.\n"
2765 "The 'potential for connectivity' is very different than the "
2766 "master-slave/controller-controlled by relationships of CIM_"
2767 "Controller. Sometimes, however, a single Device is both a kind "
2768 "of NetworkAdapter and a Controller - for example, when a Fibre"
2769 "ChannelAdapater is operating as a ComputerSystem's SCSIController. "
2770 "In this case, there are aspects of the Device that are network "
2771 "oriented and others that are Controller oriented - and, both the "
2772 "Controller and Adapter classes should be instantiated. A Device"
2773 mike 1.2 "Identity relationship would also be created to tie together these "
2774 "differing aspects/abstractions of the Device.") ]
2775 class CIM_NetworkAdapter : CIM_LogicalDevice {
2776 [MaxLen (64), Description (
2777 "PermanentAddress defines the network address hardcoded into "
2778 "an adapter. This 'hardcoded' address may be changed via "
2779 "firmware upgrade or software configuration. If so, this field "
2780 "should be updated when the change is made. PermanentAddress "
2781 "should be left blank if no 'hardcoded' address exists for the "
2782 "NetworkAdapter."),
2783 MappingStrings {"MIF.DMTF|Network Adapter 802 Port|001.2"} ]
2784 string PermanentAddress;
2785 [MaxLen (64), Description (
2786 "An array of strings indicating the network addresses for an "
2787 "adapter."),
2788 ArrayType ("Indexed"),
2789 MappingStrings {"MIF.DMTF|Network Adapter 802 Port|001.3"} ]
2790 string NetworkAddresses[];
2791 [Description (
2792 "An estimate of the current bandwidth in Bits per Second. "
2793 "For Adapters which vary in bandwidth or for those where "
2794 mike 1.2 "no accurate estimation can be made, this property should "
2795 "contain the nominal bandwidth."),
2796 Units ("Bits per Second"),
2797 MappingStrings {"MIB.IETF|RFC1213-MIB.ifSpeed",
2798 "MIF.DMTF|Network Adapter 802 Port|001.5"} ]
2799 uint64 Speed;
2800 [Description (
2801 "The maximum speed, in Bits per Second, for the Network"
2802 "Adapter."),
2803 Units ("Bits per Second") ]
2804 uint64 MaxSpeed;
2805 [Description (
2806 "Boolean indicating that the Adapter is operating in "
2807 "full duplex mode.") ]
2808 boolean FullDuplex;
2809 [Description (
2810 "A boolean indicating whether the NetworkAdapter is capable "
2811 "of automatically determining the speed or other communications "
2812 "characteristics of the attached network media.") ]
2813 boolean AutoSense;
2814 [Description (
2815 mike 1.2 "The total number of octets transmitted, including framing "
2816 "characters."),
2817 Mappingstrings {"MIB.IETF|RFC1213-MIB.ifOutOctets",
2818 "MIF.DMTF|Network Adapter 802 Port|001.7"},
2819 Counter ]
2820 uint64 OctetsTransmitted;
2821 [Description (
2822 "The total number of octets received, including framing "
2823 "characters."),
2824 Mappingstrings {"MIB.IETF|RFC1213-MIB.ifInOctets",
2825 "MIF.DMTF|Network Adapter 802 Port|001.9"},
2826 Counter ]
2827 uint64 OctetsReceived;
2828 };
2829
2830
2831 // ===================================================================
2832 // EthernetAdapter
2833 // ===================================================================
2834 [Description ("Capabilities and management of an EthernetAdapter.") ]
2835 class CIM_EthernetAdapter : CIM_NetworkAdapter {
2836 mike 1.2 [Override ("NetworkAddresses"),
2837 Description (
2838 "Ethernet/802.3 MAC addresses formatted as twelve hexadecimal "
2839 "digits (e.g. \"010203040506\"), with each pair representing "
2840 "one of the six octets of the MAC address in \"canonical\" bit "
2841 "order. (Thus, the Group address bit is found in the low "
2842 "order bit of the first character of the string.)"),
2843 ArrayType ("Indexed") ]
2844 string NetworkAddresses[];
2845 [Description (
2846 "The maximum size of the INFO (non-MAC) field that will be "
2847 "received or transmitted."),
2848 Mappingstrings {"MIB.IETF|BRIDGE-MIB.dot1dTpPortMaxInfo"} ]
2849 uint32 MaxDataSize;
2850 [Description (
2851 "Capabilities of the EthernetAdapter. For example, the "
2852 "Device may support AlertOnLan, WakeOnLan, Load Balancing "
2853 "and/or FailOver. If failover or load balancing "
2854 "capabilities are listed, a SpareGroup (failover) or "
2855 "ExtraCapacityGroup (load balancing) should also be defined "
2856 "to completely describe the capability."),
2857 mike 1.2 ArrayType ("Indexed"),
2858 Values {"Unknown", "Other", "AlertOnLan", "WakeOnLan",
2859 "FailOver", "LoadBalancing"},
2860 ModelCorrespondence {
2861 "CIM_EthernetAdapter.CapabilityDescriptions"} ]
2862 uint16 Capabilities[];
2863 [Description (
2864 "An array of free-form strings providing more detailed "
2865 "explanations for any of the EthernetAdapter features "
2866 "indicated in the Capabilities array. Note, each entry of "
2867 "this array is related to the entry in the Capabilities "
2868 "array that is located at the same index."),
2869 ArrayType ("Indexed"),
2870 ModelCorrespondence {"CIM_EthernetAdapter.Capabilities"} ]
2871 string CapabilityDescriptions[];
2872 [Description (
2873 "Specifies which capabilities are enabled from the list "
2874 "of all supported ones, defined in the Capabilities array."),
2875 Values {"Unknown", "Other", "AlertOnLan", "WakeOnLan",
2876 "FailOver", "LoadBalancing"},
2877 ModelCorrespondence {"CIM_EthernetAdapter.Capabilities"} ]
2878 mike 1.2 uint16 EnabledCapabilities[];
2879 [Description (
2880 "The number of times there was an invalid data symbol when "
2881 "a valid carrier was present. The count is incremented at "
2882 "most once per carrier event, even if multiple symbol "
2883 "errors occur during the carrier event."),
2884 MappingStrings {"MIB.IETF|EtherLike-MIB.dot3StatsSymbolErrors"},
2885 Counter ]
2886 uint32 SymbolErrors;
2887 [Description ("The total number of packets transmitted."),
2888 MappingStrings {"MIF.DMTF|Network Adapter 802 Port|001.6"},
2889 Counter ]
2890 uint64 TotalPacketsTransmitted;
2891 [Description ("The total number of packets received."),
2892 MappingStrings {"MIF.DMTF|Network Adapter 802 Port|001.8"},
2893 Counter ]
2894 uint64 TotalPacketsReceived;
2895 [Description (
2896 "A count of frames received on a particular interface "
2897 "that are not an integral number of octets in length and do "
2898 "not pass the FCS check. The count represented by an "
2899 mike 1.2 "instance of this object is incremented when the alignment"
2900 "Error status is returned by the MAC layer to the LLC (or "
2901 "other MAC user). Received frames for which multiple error "
2902 "conditions obtain are, according to the conventions of IEEE "
2903 "802.3 Layer Management, counted exclusively according to "
2904 "the error status presented to the LLC."),
2905 Mappingstrings {
2906 "MIB.IETF|EtherLike-MIB.dot3StatsAlignmentErrors"},
2907 Counter ]
2908 uint32 AlignmentErrors;
2909 [Description (
2910 "A count of frames received on a particular interface "
2911 "that are an integral number of octets in length but do "
2912 "not pass the FCS check. The count represented by an "
2913 "instance of this object is incremented when the frame"
2914 "CheckError status is returned by the MAC layer to the "
2915 "LLC (or other MAC user). Received frames for which "
2916 "multiple error conditions obtain are, according to the "
2917 "conventions of IEEE 802.3 Layer Management, counted "
2918 "exclusively according to the error status presented to "
2919 "the LLC."),
2920 mike 1.2 Mappingstrings {
2921 "MIB.IETF|EtherLike-MIB.dot3StatsFCSErrors"},
2922 Counter ]
2923 uint32 FCSErrors;
2924 [Description (
2925 "A count of successfully transmitted frames on a particular "
2926 "interface for which transmission is inhibited by exactly "
2927 "one collision. A frame that is counted by an instance of "
2928 "this object is not counted by the corresponding instance "
2929 "of the MultipleCollisionFrames property."),
2930 Mappingstrings {
2931 "MIB.IETF|EtherLike-MIB.dot3StatsSingleCollisionFrames"},
2932 Counter ]
2933 uint32 SingleCollisionFrames;
2934 [Description (
2935 "A count of successfully transmitted frames on a particular "
2936 "interface for which transmission is inhibited by more than "
2937 "one collision. A frame that is counted by an instance of "
2938 "this object is not counted by the corresponding instance "
2939 "of the SingleCollisionFrames property."),
2940 Mappingstrings {
2941 mike 1.2 "MIB.IETF|EtherLike-MIB.dot3StatsMultipleCollisionFrames"},
2942 Counter ]
2943 uint32 MultipleCollisionFrames;
2944 [Description (
2945 "A count of times that the SQE TEST ERROR message is "
2946 "generated by the PLS sublayer for a particular interface. "
2947 "The SQE TEST ERROR message is defined in section "
2948 "7.2.2.2.4 of ANSI/IEEE 802.3-1985 and its generation is "
2949 "described in section 7.2.4.6 of the same document."),
2950 Mappingstrings {
2951 "MIB.IETF|EtherLike-MIB.dot3StatsSQETestErrors"},
2952 Counter ]
2953 uint32 SQETestErrors;
2954 [Description (
2955 "A count of frames for which the first transmission "
2956 "attempt on a particular interface is delayed because the "
2957 "medium is busy. The count represented by an instance of "
2958 "this object does not include frames involved in collisions."),
2959 Mappingstrings {
2960 "MIB.IETF|EtherLike-MIB.dot3StatsDeferredTransmissions"},
2961 Counter ]
2962 mike 1.2 uint32 DeferredTransmissions;
2963 [Description (
2964 "The number of times that a collision is detected on a "
2965 "particular interface later than 512 bit-times into the "
2966 "transmission of a packet. Five hundred and twelve bit-"
2967 "times corresponds to 51.2 microseconds on a 10 Mbit/s "
2968 "system. A (late) collision included in a count "
2969 "represented by an instance of this object is also "
2970 "considered as a (generic) collision for purposes of "
2971 "other collision-related statistics."),
2972 Mappingstrings {
2973 "MIB.IETF|EtherLike-MIB.dot3StatsLateCollisions"},
2974 Counter ]
2975 uint32 LateCollisions;
2976 [Description (
2977 "A count of frames for which transmission on a particular "
2978 "interface fails due to excessive collisions."),
2979 Mappingstrings {
2980 "MIB.IETF|EtherLike-MIB.dot3StatsExcessiveCollisions"},
2981 Counter ]
2982 uint32 ExcessiveCollisions;
2983 mike 1.2 [Description (
2984 "A count of frames for which transmission on a particular "
2985 "interface fails due to an internal MAC sublayer transmit "
2986 "error. A frame is only counted by an instance of this "
2987 "object if it is not counted by the corresponding instance "
2988 "of either the LateCollisions property, the Excessive"
2989 "Collisions property, or the CarrierSenseErrors property. "
2990 "The precise meaning of the count represented by an instance "
2991 "of this object is implementation-specific. In particular, "
2992 "an instance of this object may represent a count of "
2993 "transmission errors on a particular interface that are "
2994 "not otherwise counted."),
2995 Mappingstrings {
2996 "MIB.IETF|EtherLike-MIB.dot3StatsInternalMacTransmitErrors"},
2997 Counter ]
2998 uint32 InternalMACTransmitErrors;
2999 [Description (
3000 "A count of frames for which reception on a particular "
3001 "interface fails due to an internal MAC sublayer receive "
3002 "error. A frame is only counted by an instance of this "
3003 "object if it is not counted by the corresponding instance "
3004 mike 1.2 "of either the FrameTooLongs property, the AlignmentErrors "
3005 "property, or the FCSErrors property. The precise meaning "
3006 "of the count represented by an instance of this object is "
3007 "implementation-specific. In particular, an instance of "
3008 "this object may represent a count of receive errors on a "
3009 "particular interface that are not otherwise counted."),
3010 Mappingstrings {
3011 "MIB.IETF|EtherLike-MIB.dot3StatsInternalMacReceiveErrors"},
3012 Counter ]
3013 uint32 InternalMACReceiveErrors;
3014 [Description (
3015 "The number of times that the carrier sense condition was "
3016 "lost or never asserted when attempting to transmit a frame "
3017 "on a particular interface. The count represented by an "
3018 "instance of this object is incremented at most once per "
3019 "transmission attempt, even if the carrier sense condition "
3020 "fluctuates during a transmission attempt."),
3021 Mappingstrings {
3022 "MIB.IETF|EtherLike-MIB.dot3StatsCarrierSenseErrors"},
3023 Counter ]
3024 uint32 CarrierSenseErrors;
3025 mike 1.2 [Description (
3026 "A count of frames received on a particular interface that "
3027 "exceed the maximum permitted frame size. The count "
3028 "represented by an instance of this object is incremented "
3029 "when the FrameTooLong status is returned by the MAC layer "
3030 "to the LLC (or other MAC user). Received frames for which "
3031 "multiple error conditions obtain are, according to the "
3032 "conventions of IEEE 802.3 Layer Management, counted "
3033 "exclusively according to the error status presented to "
3034 "the LLC."),
3035 Mappingstrings {
3036 "MIB.IETF|EtherLike-MIB.dot3StatsFrameTooLongs"},
3037 Counter ]
3038 uint32 FrameTooLongs;
3039 };
3040
3041
3042 // ===================================================================
3043 // TokenRingAdapter
3044 // ===================================================================
3045 [Description ("Capabilities and management of a TokenRingAdapter.") ]
3046 mike 1.2 class CIM_TokenRingAdapter : CIM_NetworkAdapter {
3047 [Override ("NetworkAddresses"), Description (
3048 "Token Ring/802.5 MAC addresses formatted as twelve "
3049 "hexadecimal digits (e.g. \"010203040506\"), with each pair "
3050 "representing one of the six octets of the MAC address in "
3051 "\"canonical\" bit order. (Thus, the Group address bit is "
3052 "found in the low order bit of the first character of the "
3053 "string.)"),
3054 ArrayType ("Indexed") ]
3055 string NetworkAddresses[];
3056 [Description (
3057 "The maximum size of the INFO (non-MAC) field that will be "
3058 "received or transmitted."),
3059 Mappingstrings {"MIB.IETF|BRIDGE-MIB.dot1dTpPortMaxInfo"} ]
3060 uint32 MaxDataSize;
3061 [Description (
3062 "Capabilities of the TokenRingAdapter. For example, the Device "
3063 "may support AlertOnLan, WakeOnLan, Load Balancing and/or "
3064 "Failover. If failover or load balancing capabilities are "
3065 "listed, a SpareGroup (failover) or ExtraCapacityGroup (load "
3066 "balancing) should also be defined to completely describe the "
3067 mike 1.2 "capability."),
3068 ArrayType ("Indexed"),
3069 Values {"Unknown", "Other", "AlertOnLan", "WakeOnLan",
3070 "FailOver", "LoadBalancing"},
3071 ModelCorrespondence {
3072 "CIM_TokenRingAdapter.CapabilityDescriptions"} ]
3073 uint16 Capabilities[];
3074 [Description (
3075 "An array of free-form strings providing more detailed "
3076 "explanations for any of the TokenRingAdapter features "
3077 "indicated in the Capabilities array. Note, each entry of "
3078 "this array is related to the entry in the Capabilities array "
3079 "that is located at the same index."),
3080 ArrayType ("Indexed"),
3081 ModelCorrespondence {"CIM_TokenRingAdapter.Capabilities"} ]
3082 string CapabilityDescriptions[];
3083 [Description (
3084 "Specifies which of the capabilities from the \"Capabilities\" "
3085 "property are currently enabled."),
3086 Values {"Unknown", "Other", "AlertOnLan", "WakeOnLan",
3087 "FailOver", "LoadBalancing"},
3088 mike 1.2 ModelCorrespondence {"CIM_TokenRingAdapter.Capabilities"} ]
3089 uint16 EnabledCapabilities[];
3090 [Description (
3091 "The current status which can be used to diagnose fluctuating "
3092 "problems that can occur on token rings, after a station has "
3093 "successfully been added to the ring. Before an open is completed, "
3094 "this object contains the value indicating \"no status\" (131072). "
3095 "(The RingState and RingOpenStatus properties are also provided "
3096 "for debugging problems when the station can not even enter the "
3097 "ring.) The property's value is a sum of values, one for each "
3098 "currently applicable condition. The following values are defined "
3099 "for various conditions:\n"
3100 "0 = No Problems Detected, 32 = Ring Recovery, "
3101 "64 = Single Station, 256 = Remove Received, 512 = Reserved, "
3102 "1024 = Auto-Removal Error, 2048 = Lobe Wire Fault, "
3103 "4096 = Transmit Beacon, 8192 = Soft Error, 16384 = Hard Error, "
3104 "32768 = Signal Loss, 131072 = No Status, Open Not Completed."),
3105 MappingStrings {
3106 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5RingStatus"} ]
3107 uint32 RingStatus;
3108 [Description (
3109 mike 1.2 "The current Device state with respect to entering or leaving "
3110 "the ring." ),
3111 Values {"Opened", "Closed", "Opening", "Closing", "Open Failure",
3112 "Ring Failure"},
3113 MappingStrings {"MIB.IETF|IEEE 802.5 Token Ring MIB.dot5RingState"} ]
3114 uint16 RingState;
3115 [Description (
3116 "This property indicates the success, or the reason for failure, "
3117 "of the station's most recent attempt to enter the ring." ),
3118 Values {"No Open Attempted", "Bad Parameter", "Lobe Failed",
3119 "Signal Loss", "Insertion Timeout", "Ring Failed", "Beaconing",
3120 "Duplicate MAC", "Request Failed", "Remove Received",
3121 "Last Open Successful"},
3122 MappingStrings {
3123 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5RingOpenStatus"} ]
3124 uint16 RingOpenStatus;
3125 [Description ("The ring's bandwidth."),
3126 Values {"Unknown", "Other", "One Megabit", "Four Megabit",
3127 "Sixteen Megabit"},
3128 MappingStrings {"MIB.IETF|IEEE 802.5 Token Ring MIB.dot5RingSpeed"} ]
3129 uint16 RingSpeed;
3130 mike 1.2 [Description (
3131 "This counter is incremented when a station detects the absence "
3132 "of transitions for five half-bit timers (burst-five errors)."),
3133 MappingStrings {
3134 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsBurstErrors"},
3135 Counter ]
3136 uint32 BurstErrors;
3137 [Description (
3138 "This counter is incremented when a station receives an AMP or "
3139 "SMP frame in which A is equal to C is equal to 0, and then "
3140 "receives another SMP frame with A equal to C equal to 0 without "
3141 "first receiving an AMP frame. It denotes a station that cannot "
3142 "set the AC bits properly."),
3143 MappingStrings {
3144 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsACErrors"},
3145 Counter ]
3146 uint32 ACErrors;
3147 [Description (
3148 "This counter is incremented when a station transmits an abort "
3149 "delimiter while transmitting data."),
3150 MappingStrings {
3151 mike 1.2 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsAbortTransErrors"},
3152 Counter ]
3153 uint32 AbortTransErrors;
3154 [Description (
3155 "This counter is incremented when a station recognizes an "
3156 "internal error."),
3157 MappingStrings {
3158 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsInternalErrors"},
3159 Counter ]
3160 uint32 InternalErrors;
3161 [Description (
3162 "This counter is incremented when a station is transmitting "
3163 "and its TRR timer expires. This denotes a condition where a "
3164 "transmitting station in strip mode does not receive the "
3165 "trailer of the frame before the TRR timer goes off."),
3166 MappingStrings {
3167 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsLostFrameErrors"},
3168 Counter ]
3169 uint32 LostFrameErrors;
3170 [Description (
3171 "This counter is incremented when a station recognizes a frame "
3172 mike 1.2 "addressed to its specific address, but has no available buffer "
3173 "space - indicating that the station is congested."),
3174 MappingStrings {
3175 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsReceiveCongestions"},
3176 Counter ]
3177 uint32 ReceiveCongestions;
3178 [Description (
3179 "This counter is incremented when a station recognizes a frame "
3180 "addressed to its specific address and detects that the FS field "
3181 "A bits are set to 1 indicating a possible line hit or duplicate "
3182 "address."),
3183 MappingStrings {
3184 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsFrameCopiedErrors"},
3185 Counter ]
3186 uint32 FrameCopiedErrors;
3187 [Description (
3188 "This counter is incremented when a station acting as the active "
3189 "monitor recognizes an error condition that needs a token "
3190 "transmitted."),
3191 MappingStrings {
3192 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsTokenErrors"},
3193 mike 1.2 Counter ]
3194 uint32 TokenErrors;
3195 [Description (
3196 "The number of Soft Errors that the Device has detected. It "
3197 "directly corresponds to the number of Report Error MAC frames "
3198 "that this Device has transmitted. Soft Errors are those which "
3199 "are recoverable by the MAC layer protocols."),
3200 MappingStrings {
3201 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsSoftErrors"},
3202 Counter ]
3203 uint32 SoftErrors;
3204 [Description (
3205 "The number of times this Device has detected an immediately "
3206 "recoverable fatal error. It denotes the number of times this "
3207 "Device is either transmitting or receiving beacon MAC frames. "),
3208 MappingStrings {
3209 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsHardErrors"},
3210 Counter ]
3211 uint32 HardErrors;
3212 [Description (
3213 "The number of times this Device has detected the loss of "
3214 mike 1.2 "signal condition from the ring."),
3215 MappingStrings {
3216 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsSignalLoss"},
3217 Counter ]
3218 uint32 SignalLossCount;
3219 [Description (
3220 "The number of times this Device has transmitted a beacon "
3221 "frame."),
3222 MappingStrings {
3223 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsTransmitBeacons"},
3224 Counter ]
3225 uint32 TransmittedBeacons;
3226 [Description (
3227 "The number of Claim Token MAC frames received or transmitted "
3228 "after the Device has received a Ring Purge MAC frame. This "
3229 "counter signifies the number of times the ring has been purged "
3230 "and is being recovered back into a normal operating state."),
3231 MappingStrings {
3232 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsRecoverys"},
3233 Counter ]
3234 uint32 Recoverys;
3235 mike 1.2 [Description (
3236 "The number of times the Device has detected an open or short "
3237 "circuit in the lobe data path. The adapter will be closed and "
3238 "RingState will signify this condition."),
3239 MappingStrings {
3240 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsLobeWires"},
3241 Counter ]
3242 uint32 LobeWires;
3243 [Description (
3244 "The number of times the Device has received a Remove Ring "
3245 "Station MAC frame request. When this frame is received, the "
3246 "Device will enter the close state and RingState will "
3247 "signify this condition."),
3248 MappingStrings {
3249 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsRemoves"},
3250 Counter ]
3251 uint32 Removes;
3252 [Description (
3253 "The number of times the Device has sensed that it is the "
3254 "only station on the ring. This will happen if the Device "
3255 "is the first one up on a ring, or if there is a hardware "
3256 mike 1.2 "problem."),
3257 MappingStrings {
3258 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsSingles"},
3259 Counter ]
3260 uint32 Singles;
3261 [Description (
3262 "The number of times the Device has detected that the "
3263 "frequency of the incoming signal differs from the expected "
3264 "frequency by more than that specified by the IEEE 802.5 "
3265 "standard."),
3266 MappingStrings {
3267 "MIB.IETF|IEEE 802.5 Token Ring MIB.dot5StatsFreqErrors"},
3268 Counter ]
3269 uint32 FrequencyErrors;
3270 };
3271
3272 // ==================================================================
3273 // FibreChannelAdapter
3274 // ==================================================================
3275 [Description (
3276 "Capabilities and management of a Fibre Channel Adapter.") ]
3277 mike 1.2 class CIM_FibreChannelAdapter : CIM_NetworkAdapter {
3278 [Description (
3279 "The maximum frame size, in bytes, supported by the Adapter."),
3280 Units ("Bytes") ]
3281 uint64 MaxFrameSize;
3282 [Description (
3283 "The Fibre Channel Classes of Service that are supported by "
3284 "the Adapter, on its Ports. The currently negotiated COS for a "
3285 "connection is a property (NegotiatedCOS) on the FibrePort"
3286 "ActiveLogin association."),
3287 Values {"Unknown", "1", "2", "3", "4", "6", "F"} ]
3288 uint16 SupportedCOS[];
3289 [Description (
3290 "An array of integers indicating the Fibre Channel FC-4 "
3291 "protocols supported by the Adapter. The protocols that are "
3292 "active and running are indicated in the CurrentFC4Types "
3293 "property. The values used in this array are taken from the "
3294 "FC-GS2 (bitmapped) field defined in Table 11 of the standard. "
3295 "Also, FC-SB-2 codes are included from the T11 document, "
3296 "236V0. If the FC4 Type is \"Vendor Unique\" (value=255), "
3297 "then the specific vendor values (in the range, 0xE0 to 0xFF) "
3298 mike 1.2 "should be listed in the FC4VendorUniqueTypes property."),
3299 ValueMap {"0", "1", "4", "5", "8", "9", "17", "18", "19", "21",
3300 "22", "23", "25", "26", "27", "28", "32", "34", "36",
3301 "64", "80", "81", "82", "88", "96", "255"},
3302 Values {"Unknown", "Other", "ISO/IEC 8802 - 2 LLC",
3303 "IP over FC", "SCSI - FCP", "SCSI - GPP",
3304 "IPI - 3 Master", "IPI - 3 Slave", "IPI - 3 Peer",
3305 "CP IPI - 3 Master", "CP IPI - 3 Slave",
3306 "CP IPI - 3 Peer", "SBCCS Channel",
3307 "SBCCS Control Unit", "FC-SB-2 Channel",
3308 "FC-SB-2 Control Unit",
3309 "Fibre Channel Services (FC-GS, FC-GS-2, FC-GS-3)",
3310 "FC-SW", "FC - SNMP", "HIPPI - FP", "BBL Control",
3311 "BBL FDDI Encapsulated LAN PDU",
3312 "BBL 802.3 Encapsulated LAN PDU", "FC - VI", "FC - AV",
3313 "Vendor Unique"},
3314 ModelCorrespondence {
3315 "CIM_FibreChannelAdapter.FC4VendorUniqueTypes"} ]
3316 uint16 FC4TypesSupported[];
3317 [MinValue (240), MaxValue (255), Description (
3318 "When the FC4TypesSupported array contains the value 255 "
3319 mike 1.2 "(\"Vendor Unique\"), then the property, FC4VendorUniqueTypes, "
3320 "lists of all the vendor specific protocols supported by the "
3321 "Adapter. These values are in the range, 0xE0 to 0xFF.") ]
3322 uint16 FC4VendorUniqueTypes[];
3323 [Description (
3324 "An array of integers indicating the Fibre Channel FC-4 "
3325 "protocols currently running on the Adapter. A list of all "
3326 "protocols supported by the Adapter is indicated in the "
3327 "FC4TypesSupported property. The values used in this array "
3328 "are taken from the FC-GS2 (bitmapped) field defined in "
3329 "Table 11 of the standard. Also, FC-SB-2 codes are included "
3330 "from the T11 document, 236V0. If the FC4 Type is \"Vendor "
3331 "Unique\" (value=255), then the specific vendor values "
3332 "(in the range, 0xE0 to 0xFF) that are currently running "
3333 "should be listed in the CurrentFC4VendorTypes property."),
3334 ValueMap {"0", "1", "4", "5", "8", "9", "17", "18", "19", "21",
3335 "22", "23", "25", "26", "27", "28", "32", "34", "36",
3336 "64", "80", "81", "82", "88", "96", "255"},
3337 Values {"Unknown", "Other", "ISO/IEC 8802 - 2 LLC",
3338 "IP over FC", "SCSI - FCP", "SCSI - GPP",
3339 "IPI - 3 Master", "IPI - 3 Slave", "IPI - 3 Peer",
3340 mike 1.2 "CP IPI - 3 Master", "CP IPI - 3 Slave",
3341 "CP IPI - 3 Peer", "SBCCS Channel",
3342 "SBCCS Control Unit", "FC-SB-2 Channel",
3343 "FC-SB-2 Control Unit",
3344 "Fibre Channel Services (FC-GS, FC-GS-2, FC-GS-3)",
3345 "FC-SW", "FC - SNMP", "HIPPI - FP", "BBL Control",
3346 "BBL FDDI Encapsulated LAN PDU",
3347 "BBL 802.3 Encapsulated LAN PDU", "FC - VI", "FC - AV",
3348 "Vendor Unique"},
3349 ModelCorrespondence {
3350 "CIM_FibreChannelAdapter.FC4TypesSupported",
3351 "CIM_FibreChannelAdapter.CurrentFC4VendorTypes"} ]
3352 uint16 CurrentFC4Types[];
3353 [MinValue (240), MaxValue (255), Description (
3354 "When the CurrentFC4Types array contains the value 255 "
3355 "(\"Vendor Unique\"), then the property, CurrentFC4VendorTypes, "
3356 "lists all the vendor specific protocols running on the "
3357 "Adapter. These values are in the range, 0xE0 to 0xFF."),
3358 ModelCorrespondence {
3359 "CIM_FibreChannelAdapter.FC4VendorUniqueTypes"} ]
3360 uint16 CurrentFC4VendorTypes[];
3361 mike 1.2 [Description (
3362 "A list of the Capabilities of the Fibre Channel Adapter. "
3363 "For example, that the Adapter utilizes the Directory Server, "
3364 "or that it generates State Change Notifications can be "
3365 "indicated using the values 2 and 12, respectively."),
3366 ArrayType ("Indexed"),
3367 Values {"Unknown", "Other", "Utilizes the Directory Server",
3368 "Utilizes the Time Server",
3369 "Utilizes the Management Server",
3370 "Utilizes the Alias Server",
3371 "Utilizes the Security Key Distribution Server",
3372 "Utilizes the Clock Synchronization Server",
3373 "Utilizes the Multicast Server",
3374 "Utilizes QoS Facilitator",
3375 "Utilizes Broadcast Services",
3376 "Supports Fabric Login Server",
3377 "Generates State Change Notifications",
3378 "Registers for State Change Notifications",
3379 "Responds to Read Connection Status",
3380 "Supports Third Party Process Logout"} ]
3381 uint16 Capabilities[];
3382 mike 1.2 [Description (
3383 "An array of free-form strings providing more detailed "
3384 "explanations for any of the Adapter features indicated in "
3385 "the Capabilities array. Note, each entry of this array "
3386 "is related to the entry in the Capabilities array that "
3387 "is located at the same index."),
3388 ArrayType ("Indexed"),
3389 ModelCorrespondence {"CIM_FibreChannelAdapter.Capabilities"} ]
3390 string CapabilityDescriptions[];
3391 [Description (
3392 "The number of times that a frame was received but no "
3393 "buffer was available."),
3394 Counter ]
3395 uint64 ReceiveBufferErrors;
3396 [Description (
3397 "The number of times that a frame was received but no "
3398 "end-to-end credit was available."),
3399 Counter ]
3400 uint64 ReceiveEndErrors;
3401 [Description (
3402 "A 'long' timeout value (in milliseconds) for determining "
3403 mike 1.2 "when to reinstate a Recovery_Qualifier. The default value "
3404 "is 120 seconds (120000 milliseconds). It is typically set "
3405 "to the ErrorDetectTimeout value + 2*(fabric delay time)."),
3406 Units ("MilliSeconds") ]
3407 uint64 ResourceAllocationTimeout;
3408 [Description (
3409 "A 'short' timeout value (in milliseconds) for determining "
3410 "that an error has occurred. The default value is 10 "
3411 "seconds (10000 milliseconds)."),
3412 Units ("MilliSeconds") ]
3413 uint64 ErrorDetectTimeout;
3414 [Description (
3415 "Number of Class 1 sequences sent since last reset of the "
3416 "Device."),
3417 Counter ]
3418 uint64 Class1SequencesSent;
3419 [Description (
3420 "Number of Class 2 sequences sent since last reset of the "
3421 "Device."),
3422 Counter ]
3423 uint64 Class2SequencesSent;
3424 mike 1.2 [Description (
3425 "Number of Class 3 sequences sent since last reset of the "
3426 "Device."),
3427 Counter ]
3428 uint64 Class3SequencesSent;
3429 [Description (
3430 "Number of Class 4 sequences sent since last reset of the "
3431 "Device."),
3432 Counter ]
3433 uint64 Class4SequencesSent;
3434 [Description (
3435 "Number of octets received by the Adapter when running "
3436 "Class 2 service."),
3437 Counter ]
3438 uint64 Class2OctetsReceived;
3439 [Description (
3440 "Number of octets transmitted by the Adapter when running "
3441 "Class 2 service."),
3442 Counter ]
3443 uint64 Class2OctetsTransmitted;
3444 [Description (
3445 mike 1.2 "Number of frames received by the Adapter when running "
3446 "Class 2 service."),
3447 Counter ]
3448 uint64 Class2FramesReceived;
3449 [Description (
3450 "Number of frames transmitted by the Adapter when running "
3451 "Class 2 service."),
3452 Counter ]
3453 uint64 Class2FramesTransmitted;
3454 [Description (
3455 "Number of frames discarded by the Adapter when running "
3456 "Class 2 service."),
3457 Counter ]
3458 uint64 Class2DiscardFrames;
3459 [Description (
3460 "Number of octets received by the Adapter when running "
3461 "Class 3 service."),
3462 Counter ]
3463 uint64 Class3OctetsReceived;
3464 [Description (
3465 "Number of octets transmitted by the Adapter when running "
3466 mike 1.2 "Class 3 service."),
3467 Counter ]
3468 uint64 Class3OctetsTransmitted;
3469 [Description (
3470 "Number of frames received by the Adapter when running "
3471 "Class 3 service."),
3472 Counter ]
3473 uint64 Class3FramesReceived;
3474 [Description (
3475 "Number of frames transmitted by the Adapter when running "
3476 "Class 3 service."),
3477 Counter ]
3478 uint64 Class3FramesTransmitted;
3479 [Description (
3480 "Number of frames discarded by the Adapter when running "
3481 "Class 3 service."),
3482 Counter ]
3483 uint64 Class3DiscardFrames;
3484 [Description (
3485 "Number of parity errors detected somewhere in the "
3486 "data path."),
3487 mike 1.2 Counter ]
3488 uint64 ParityErrors;
3489 [Description (
3490 "Number of Class 1 or 2 frames that are not ACKed "
3491 "within the time indicated by ErrorDetectTimeout."),
3492 Counter ]
3493 uint64 FrameTimeouts;
3494 [Description (
3495 "Number of times that the Device has been without a "
3496 "buffer credit for a time longer than ErrorDetectTimeout."),
3497 Counter ]
3498 uint64 BufferCreditErrors;
3499 [Description (
3500 "Number of times that the Device has been without an end "
3501 "credit for a time longer than ErrorDetectTimeout."),
3502 Counter ]
3503 uint64 EndCreditErrors;
3504 [Description ("Number of frames received out of order."),
3505 Counter ]
3506 uint64 OutOfOrderFramesReceived;
3507 };
3508 mike 1.2
3509
3510 // ==================================================================
3511 // FibrePort
3512 // ==================================================================
3513 [Description (
3514 "Capabilities and management of a Fibre Channel Port Device.") ]
3515 class CIM_FibrePort : CIM_LogicalPort {
3516 [Description (
3517 "An address value used to identify the source (S_ID) or "
3518 "destination (D_ID) of a frame. The FC-SW standard includes a "
3519 "table of special address identifier values and their "
3520 "meanings. Consult the FC-SW documentation for additional "
3521 "information.") ]
3522 uint32 AddressIdentifier;
3523 [Description (
3524 "An array indicating the modes in which the Port can operate. "
3525 "PortType values describe the role and behavior of the Fibre "
3526 "Channel entity: \"N\" = Node Port, \"NL\" = Node Port "
3527 "supporting FC arbitrated loop, \"E\" = Expansion Port "
3528 "connecting fabric elements (for example, FC switches), "
3529 mike 1.2 "\"F\" = Fabric (element) Port, \"FL\" = Fabric (element) "
3530 "Port supporting FC arbitrated loop, and \"B\" = Bridge "
3531 "Port. PortTypes are defined in the ANSI X3 standards.\n\n"
3532 "A particular mode may be listed multiple times in the "
3533 "SupportedPortTypes array in order to define that multiple, "
3534 "unique version levels are supported. Version information is "
3535 "defined in the PortTypeVersions property. Note that each "
3536 "entry of the SupportedPortTypes array is related to the entry "
3537 "in PortTypeVersions that is located at the same index."),
3538 ArrayType ("Indexed"),
3539 Values {"Unknown", "N", "NL-Private", "NL-Public", "E", "F",
3540 "FL", "B"},
3541 ModelCorrespondence {"CIM_FibrePort.PortTypeVersions"} ]
3542 uint16 SupportedPortTypes[];
3543 [Description (
3544 "Version information for each of the SupportedPortTypes. A "
3545 "particular PortType (mode) may be listed multiple times in "
3546 "the SupportedPortTypes array in order to define multiple, "
3547 "unique version levels. Note that each entry of this array "
3548 "is related to the entry in SupportedPortTypes that is "
3549 "located at the same index."),
3550 mike 1.2 ArrayType ("Indexed"),
3551 ModelCorrespondence {"CIM_FibrePort.SupportedPortTypes"} ]
3552 string PortTypeVersions[];
3553 [Description (
3554 "The specific modes currently enabled for the Port. The "
3555 "values are equal to, or a subset of the values in the Supported"
3556 "PortTypes array."),
3557 Values {"Unknown", "N", "NL-Private", "NL-Public", "E", "F",
3558 "FL", "B"},
3559 ModelCorrespondence {"CIM_FibrePort.SupportedPortTypes",
3560 "CIM_FibrePort.EnabledVersions"} ]
3561 uint16 EnabledPortTypes[];
3562 [Description (
3563 "Version information for each of the EnabledPortTypes. A "
3564 "particular PortType (mode) may be listed multiple times in "
3565 "the EnabledPortTypes array in order to define multiple, "
3566 "unique version levels. Note that each entry of this array "
3567 "is related to the entry in EnabledPortTypes that is located "
3568 "at the same index."),
3569 ArrayType ("Indexed"),
3570 ModelCorrespondence {"CIM_FibrePort.EnabledPortTypes"} ]
3571 mike 1.2 string EnabledVersions[];
3572 [Description (
3573 "The specific mode in which the Port is currently running. The "
3574 "value is one of the entries in the EnabledPortTypes array. The "
3575 "current port type/mode is dependent on the fibre technology. "
3576 "For example, in a public loop network, you might indicate a "
3577 "port type of \"FL\" (value=6) or \"NL\" (value=2)."),
3578 Values {"Unknown", "N", "NL-Private", "NL-Public", "E", "F",
3579 "FL", "B"},
3580 ModelCorrespondence {"CIM_FibrePort.EnabledPortTypes",
3581 "CIM_FibrePort.CurrentVersion"} ]
3582 uint16 CurrentPortType;
3583 [Description (
3584 "Version information for the CurrentPortType that is active."),
3585 ModelCorrespondence {"CIM_FibrePort.CurrentPortType"} ]
3586 string CurrentVersion;
3587 [Description (
3588 "One or more address identifiers that may be recognized by "
3589 "the Port, in addition to its port-specific identifier. "
3590 "Multicast or hunt group addresses that are recognized by "
3591 "the Port would be identified in this array.") ]
3592 mike 1.2 uint32 AliasAddresses[];
3593 [Description (
3594 "Number of times that signal is lost on the Port since last "
3595 "reset of the Device."),
3596 Counter ]
3597 uint64 LossOfSignalCounter;
3598 [Description (
3599 "Number of times that synchronization is lost on the Port "
3600 "since last reset of the Device. Synchronization is assumed "
3601 "lost after a timeout period identified by the Receiver"
3602 "TransmitterTimeout property."),
3603 Counter ]
3604 uint64 LossOfSyncCounter;
3605 [Description (
3606 "Number of times that the CRC in a frame does not match the "
3607 "CRC computed by the receiver."),
3608 Counter ]
3609 uint64 CRCErrors;
3610 [Description (
3611 "The number of transmission words that had an 8b10b code "
3612 "violation in one or more of its characters, had a "
3613 mike 1.2 "K28.5 in its second, third or fourth character positions, "
3614 "and/or was an ordered set that had an incorrect Beginning "
3615 "Running Disparity."),
3616 Counter ]
3617 uint64 InvalidTransmissionWords;
3618 [Description (
3619 "The number of frames received that were shorter than 28 "
3620 "octets. The value of 28 is calculated based on an "
3621 "assumption of 24 header bytes plus 4 CRC bytes. The "
3622 "count does not include SOF/EOF bytes which are not data."),
3623 Counter ]
3624 uint64 FramesTooShort;
3625 [Description (
3626 "The number of frames received that were longer than 2140 "
3627 "octets. The value of 2140 is calculated based on an "
3628 "assumption of 24 header bytes plus 4 CRC bytes and 2112 "
3629 "bytes of payload."),
3630 Counter ]
3631 uint64 FramesTooLong;
3632 [Description (
3633 "The number of times that a fill word could not be "
3634 mike 1.2 "inserted, when required. The Elasticity Buffer is defined "
3635 "in FC-AL. This event might cause data corruption and may "
3636 "indicate a configuration error or a device out of spec."),
3637 Counter ]
3638 uint64 ElasticityBufferUnderruns;
3639 [Description (
3640 "The number of times that a fill word could not be deleted, "
3641 "when required. The Elasticity Buffer is defined in FC-AL. "
3642 "This event might cause data corruption and may indicate a "
3643 "configuration error or a device out of spec."),
3644 Counter ]
3645 uint64 ElasticityBufferOverruns;
3646 [Description (
3647 "Timeout value in milliseconds used to determine when "
3648 "loss of synchronization has occurred. The typical default "
3649 "is 100 msec."),
3650 Units ("Milliseconds") ]
3651 uint64 ReceiverTransmitterTimeout;
3652 [Description (
3653 "Indication of whether the Port is currently bypassed "
3654 "(value=2) or not (value=1). A value of 3 (\"Forced Insert\") "
3655 mike 1.2 "describes that the Port is forced active, when it would "
3656 "otherwise be \"Bypassed\"."),
3657 Values {"Unknown", "Not Bypassed", "Bypassed",
3658 "Forced Insert"} ]
3659 uint16 BypassedState;
3660 [Description (
3661 "The type of cabling as sensed by the Port. Not all FibrePorts "
3662 "are capable of providing this information. In this case, a "
3663 "value of 0, \"Unknown\", will be returned. Also, when single or "
3664 "multi-mode fiber cabling can not be distinguished, the more "
3665 "general value - 4, \"Fiber-optic\" - can be specified."),
3666 Values {"Unknown", "Other", "No Media", "Copper/Twinaxial",
3667 "Fiber-optic", "Fiber Single Mode", "Fiber Multimode"}]
3668 uint16 ConnectedMedia;
3669 };
3670
3671
3672 // ===================================================================
3673 // FibrePortOnFCAdapter
3674 // ===================================================================
3675 [Association, Description (
3676 mike 1.2 "FibrePortOnFCAdapter associates a FibrePort with a FibreChannel"
3677 "Adapter. Cardinalities are defined as Max(1) to indicate the "
3678 "intent and usage of the model - that an Adapter is synonymous "
3679 "with its Port (connection point). Where you have a multi-Port "
3680 "Adapter and more than one Port may be active at a time, "
3681 "individual Adapters with individual operating data and "
3682 "characteristics really exist. If you have multiple connection "
3683 "points, but they exist only to provide multiple physical form "
3684 "factors (only one connection may be active at a time), then one "
3685 "FibreChannelAdapter and one FibrePort (the active one) exist. "
3686 "On the hardware side, the realizations of these entities "
3687 "in PhysicalElements may be as a CIM_Card (for example) with "
3688 "multiple CIM_PhysicalConnectors.") ]
3689 class CIM_FibrePortOnFCAdapter : CIM_PortOnDevice {
3690 [Override ("Antecedent"), Max (1),
3691 Description (
3692 "The FibreChannelAdapter that includes the Port.") ]
3693 CIM_FibreChannelAdapter REF Antecedent;
3694 [Override ("Dependent"), Max (1),
3695 Description ("The FibrePort on the Adapter.") ]
3696 CIM_FibrePort REF Dependent;
3697 mike 1.2 };
3698
3699
3700 // ==================================================================
3701 // FibrePortActiveLogin
3702 // ==================================================================
3703 [Association, Description (
3704 "FibrePortActiveLogin indicates that two FibrePorts are "
3705 "connected via a login and have negotiated their Class Of "
3706 "Service, frame size and other link characteristics, as "
3707 "specified by an instance of this class.\n"
3708 "The class' key is composed of the login originator's and "
3709 "responder's keys plus the Class Of Service. This combination "
3710 "is unique and prevents subclassing FibrePortActiveLogin "
3711 "from its reasonable superclass, DeviceConnection.") ]
3712 class CIM_FibrePortActiveLogin {
3713 [Key, Description ("The originator of the login.") ]
3714 CIM_FibrePort REF LoginOriginator;
3715 [Key, Description ("The responder to the login.") ]
3716 CIM_FibrePort REF LoginResponder;
3717 [Key, Description (
3718 mike 1.2 "The Fibre Channel Class of Service that is currently running "
3719 "between the Ports. Since two Ports can be simultaneously "
3720 "connected at different Classes of Service, this property had "
3721 "to be part of the object's key and therefore, an instance's "
3722 "identity."),
3723 Values {"Unknown", "1", "2", "3", "4", "6", "F"},
3724 ModelCorrespondence {"CIM_FibreChannelAdapter.SupportedCOS"},
3725 MappingStrings {"MIF.DMTF|Fibre Channel Bus Port Extensions|001.5"} ]
3726 uint16 NegotiatedCOS;
3727 [Description (
3728 "The Fibre Channel frame size, in bytes, that is currently "
3729 "negotiated between the two Ports."),
3730 Units ("Bytes") ]
3731 uint64 NegotiatedFrameSize;
3732 [Description (
3733 "The speed for communications that is currently negotiated "
3734 "between the two Ports. Speed is specified in bits per second. "
3735 "If this information is not available, the property should be "
3736 "set to 0."),
3737 Units ("Bits per Second") ]
3738 uint64 NegotiatedSpeed;
3739 mike 1.2 [Description (
3740 "Acknowledgement model negotiated during Port login. For "
3741 "example, ACK-1 indicates that each frame should be "
3742 "acknowledged."),
3743 Values {"Unknown", "ACK-0", "ACK-1", "ACK-N"},
3744 MappingStrings {"MIF.DMTF|Fibre Channel Bus Port Extensions|001.6"} ]
3745 uint16 ACKModel;
3746 [Description (
3747 "The buffer-to-buffer model negotiated during Port login. "
3748 "Either the model defined by the FC-PH standard is used "
3749 "(value=1, \"Regular\"), or an \"Alternate\" model is "
3750 "negotiated."),
3751 Values {"Unknown", "Regular", "Alternate"} ]
3752 uint16 BufferToBufferModel;
3753 [Description (
3754 "OriginatorBufferCredit reflects the buffer credit of the "
3755 "Port defined as the LoginOriginator. It is the number of "
3756 "frame buffers made available BY the originating Port, TO "
3757 "the responder Port. Buffer credits are used in point to "
3758 "point connections, when an NL-Local Port is logged into "
3759 "another NL-Local Port, and when Nx Ports are logged into "
3760 mike 1.2 "Fx Ports. In other scenarios, this value is undefined."),
3761 MappingStrings {"MIF.DMTF|Fibre Channel Bus Port Extensions|001.3"} ]
3762 uint64 OriginatorBufferCredit;
3763 [Description (
3764 "ResponderBufferCredit reflects the buffer credit of the "
3765 "Port defined as the LoginResponder. It is the number of "
3766 "frame buffers made available BY the responder Port, TO "
3767 "the originating Port. Buffer credits are used in point to "
3768 "point connections, when an NL-Local Port is logged into "
3769 "another NL-Local Port, and when Nx Ports are logged into "
3770 "Fx Ports. In other scenarios, this value is undefined."),
3771 MappingStrings {"MIF.DMTF|Fibre Channel Bus Port Extensions|001.3"} ]
3772 uint64 ResponderBufferCredit;
3773 [Description (
3774 "OriginatorEndCredit reflects the end credit of the Port "
3775 "defined as the LoginOriginator. It is the number of frame "
3776 "buffers made available BY the originating Port, TO the "
3777 "responder Port. End credits are used in point to point "
3778 "connections, when an NL-Local Port is logged into another "
3779 "NL-Local Port, and when Nx Ports are logged into remote "
3780 "Nx Ports. In other scenarios, this value is undefined."),
3781 mike 1.2 MappingStrings {"MIF.DMTF|Fibre Channel Bus Port Extensions|001.2"} ]
3782 uint64 OriginatorEndCredit;
3783 [Description (
3784 "ResponderEndCredit reflects the end credit of the Port "
3785 "defined as the LoginResponder. It is the number of frame "
3786 "buffers made available BY the responder Port, TO the "
3787 "originating Port. End credits are used in point to point "
3788 "connections, when an NL-Local Port is logged into another "
3789 "NL-Local Port, and when Nx Ports are logged into remote "
3790 "Nx Ports. In other scenarios, this value is undefined."),
3791 MappingStrings {"MIF.DMTF|Fibre Channel Bus Port Extensions|001.2"} ]
3792 uint64 ResponderEndCredit;
3793 };
3794
3795
3796 // ===================================================================
3797 // Controller
3798 // ===================================================================
3799 [Abstract, Description (
3800 "Controller is a superclass for grouping the miscellaneous "
3801 "control-related Devices that exist. Examples of Controllers "
3802 mike 1.2 "are SCSIControllers, USBControllers, SerialControllers, ... "
3803 "The Controller class is an abstraction for Devices with a "
3804 "single protocol stack, which exist primarily for communication "
3805 "to, and control or reset of downstream (ControlledBy) Devices.") ]
3806 class CIM_Controller : CIM_LogicalDevice {
3807 [Description ("Time of last reset of the Controller.") ]
3808 datetime TimeOfLastReset;
3809 [Description (
3810 "The protocol used by the Controller to access 'controlled' "
3811 "Devices."),
3812 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
3813 "11", "12", "13", "14", "15", "16", "17", "18", "19",
3814 "20", "21", "22", "23", "24", "25", "26", "27", "28",
3815 "29", "30", "31", "32", "33", "34", "35", "36", "37",
3816 "38", "39", "40", "41", "42", "43", "44", "45", "46",
3817 "47"},
3818 Values {"Other", "Unknown", "EISA", "ISA", "PCI", "ATA/ATAPI",
3819 "Flexible Diskette", "1496", "SCSI Parallel Interface",
3820 "SCSI Fibre Channel Protocol", "SCSI Serial Bus Protocol",
3821 "SCSI Serial Bus Protocol-2 (1394)",
3822 "SCSI Serial Storage Architecture", "VESA", "PCMCIA",
3823 mike 1.2 "Universal Serial Bus", "Parallel Protocol", "ESCON",
3824 "Diagnostic", "I2C", "Power", "HIPPI", "MultiBus", "VME",
3825 "IPI", "IEEE-488", "RS232", "IEEE 802.3 10BASE5",
3826 "IEEE 802.3 10BASE2", "IEEE 802.3 1BASE5",
3827 "IEEE 802.3 10BROAD36", "IEEE 802.3 100BASEVG",
3828 "IEEE 802.5 Token-Ring", "ANSI X3T9.5 FDDI", "MCA",
3829 "ESDI", "IDE", "CMD", "ST506", "DSSI", "QIC2",
3830 "Enhanced ATA/IDE", "AGP", "TWIRP (two-way infrared)",
3831 "FIR (fast infrared)", "SIR (serial infrared)",
3832 "IrBus"},
3833 MappingStrings {"MIF.DMTF|Bus Port|003",
3834 "MIF.DMTF|Disks|003.3"},
3835 ModelCorrespondence {"CIM_Controller.ProtocolDescription"} ]
3836 uint16 ProtocolSupported;
3837 [Description (
3838 "Maximum number of directly addressable entities supported "
3839 "by this Controller. A value of 0 should be used if the "
3840 "number is unknown or unlimited."),
3841 MappingStrings {"MIF.DMTF|Bus Port|003"} ]
3842 uint32 MaxNumberControlled;
3843 [Description (
3844 mike 1.2 "A free form string providing more information related "
3845 "to the ProtocolSupported by the Controller."),
3846 ModelCorrespondence {"CIM_Controller.ProtocolSupported"},
3847 MappingStrings {"MIF.DMTF|Bus Port|003"} ]
3848 string ProtocolDescription;
3849 };
3850
3851
3852 // ===================================================================
3853 // ControlledBy
3854 // ===================================================================
3855 [Association, Description (
3856 "The ControlledBy relationship indicates which Devices are "
3857 "commanded by or accessed through the Controller LogicalDevice.") ]
3858 class CIM_ControlledBy : CIM_DeviceConnection {
3859 [Override ("Antecedent"),
3860 Description ("The Controller.") ]
3861 CIM_Controller REF Antecedent;
3862 [Override ("Dependent"),
3863 Description ("The controlled Device.") ]
3864 CIM_LogicalDevice REF Dependent;
3865 mike 1.2 [Description (
3866 "The State property indicates whether the Controller is "
3867 "actively commanding or accessing the Device (value=1) or "
3868 "not (value=2). Also, the value, \"Unknown\" (0), can be "
3869 "defined. This information is necessary when a LogicalDevice "
3870 "can be commanded by, or accessed through, multiple "
3871 "Controllers."),
3872 Values {"Unknown", "Active", "Inactive"} ]
3873 uint16 AccessState;
3874 [Description (
3875 "The time that the downstream Device was last reset by "
3876 "the Controller.") ]
3877 datetime TimeOfDeviceReset;
3878 [Description (
3879 "Number of hard resets issued by the Controller. A hard reset "
3880 "returns the Device to its initialization or 'boot-up' state. "
3881 "All internal Device state information and data are lost."),
3882 Counter ]
3883 uint32 NumberOfHardResets;
3884 [Description (
3885 "Number of soft resets issued by the Controller. A soft "
3886 mike 1.2 "reset does not completely clear current Device state and/or "
3887 "data. Exact semantics are dependent on the Device, and on "
3888 "the protocols and mechanisms used to communicate to it."),
3889 Counter ]
3890 uint32 NumberOfSoftResets;
3891 };
3892
3893
3894 // ===================================================================
3895 // SerialController
3896 // ===================================================================
3897 [Description (
3898 "Capabilities and management of the SerialController.") ]
3899 class CIM_SerialController : CIM_Controller {
3900 [Description (
3901 "The Capabilities property defines chip level compatibility "
3902 "for the SerialController. Therefore, this property describes "
3903 "the buffering and other capabilities of the SerialController, "
3904 "that may be inherent in the chip hardware. The property is "
3905 "an enumerated integer."),
3906 ArrayType ("Indexed"),
3907 mike 1.2 ValueMap {"1", "2", "3", "4", "5", "6", "160", "161"},
3908 Values {"Other", "Unknown", "XT/AT Compatible",
3909 "16450 Compatible", "16550 Compatible",
3910 "16550A Compatible", "8251 Compatible",
3911 "8251FIFO Compatible"},
3912 MappingStrings {"MIF.DMTF|Serial Ports|004.7"},
3913 ModelCorrespondence {
3914 "CIM_SerialController.CapabilityDescriptions"} ]
3915 uint16 Capabilities[];
3916 [Description (
3917 "An array of free-form strings providing more detailed "
3918 "explanations for any of the SerialController features "
3919 "indicated in the Capabilities array. Note, each entry of "
3920 "this array is related to the entry in the Capabilities "
3921 "array that is located at the same index."),
3922 ArrayType ("Indexed"),
3923 ModelCorrespondence {"CIM_SerialController.Capabilities"} ]
3924 string CapabilityDescriptions[];
3925 [Description (
3926 "Maximum baud rate in Bits per Second supported by the "
3927 "SerialController."),
3928 mike 1.2 Units ("Bits per Second"),
3929 MappingStrings {"MIF.DMTF|Serial Ports|004.6"} ]
3930 uint32 MaxBaudRate;
3931 [Description (
3932 "An enumeration indicating the operational security for the "
3933 "Controller. For example, information that the Device's "
3934 "external interface is locked out (value=4) or \"Boot "
3935 "Bypass\" (value=6) can be described using this property."),
3936 ValueMap {"1", "2", "3", "4", "5", "6"},
3937 Values {"Other", "Unknown", "None",
3938 "External Interface Locked Out",
3939 "External Interface Enabled", "Boot Bypass"},
3940 MappingStrings {"MIF.DMTF|Serial Ports|004.9"} ]
3941 uint16 Security;
3942 };
3943
3944
3945 // ===================================================================
3946 // SerialInterface
3947 // ===================================================================
3948 [Association, Description (
3949 mike 1.2 "SerialInterface is a ControlledBy relationship indicating "
3950 "which Devices are accessed through the SerialController and "
3951 "the characteristics of this access.") ]
3952 class CIM_SerialInterface : CIM_ControlledBy {
3953 [Override ("Antecedent"), Description (
3954 "The SerialController.") ]
3955 CIM_SerialController REF Antecedent;
3956 [Override ("NegotiatedDataWidth"), Description (
3957 "For the SerialInterface, NegotiatedDataWidth is the number "
3958 "of data bits to be transmitted, without stop bits or parity."),
3959 Units ("Bits") ]
3960 uint32 NegotiatedDataWidth;
3961 [Description ("Number of stop bits to be transmitted."),
3962 Units ("Bits") ]
3963 uint16 NumberOfStopBits;
3964 [Description (
3965 "Information on the parity setting for transmitted data. "
3966 "No parity (value=1), even (2) or odd (3) can be specified."),
3967 Values {"Unknown", "None", "Even", "Odd"} ]
3968 uint16 ParityInfo;
3969 [Description (
3970 mike 1.2 "An integer enumeration indicating the flow control "
3971 "(Xon-Xoff and/or RTS/CTS) for transmitted data."),
3972 Values {"Unknown", "Not Supported", "None", "XonXoff",
3973 "RTS/CTS", "Both XonXoff and RTS/CTS"} ]
3974 uint16 FlowControlInfo;
3975 };
3976
3977
3978 // ===================================================================
3979 // SCSIController
3980 // ===================================================================
3981 [Description (
3982 "Capabilities and management of the SCSIController.") ]
3983 class CIM_SCSIController : CIM_Controller {
3984 [Description (
3985 "An integer enumeration indicating whether or not the "
3986 "SCSIController provides redundancy or protection against "
3987 "device failures."),
3988 ValueMap {"1", "2", "3", "4", "5", "6"},
3989 Values {"Other", "Unknown", "Unprotected", "Protected",
3990 "Protected through SCC (SCSI-3 Controller Command)",
3991 mike 1.2 "Protected through SCC-2 (SCSI-3 Controller Command)"},
3992 MappingStrings {"MIF.DMTF|Storage Controller|001.3"} ]
3993 uint16 ProtectionManagement;
3994 [Description (
3995 "Maximum data width (in bits) supported by the SCSI"
3996 "Controller."),
3997 Units ("Bits"),
3998 MappingStrings {"MIF.DMTF|Bus Port|003"} ]
3999 uint32 MaxDataWidth;
4000 [Description (
4001 "Maximum transfer rate (in Bits per Second) supported by the "
4002 "SCSIController."),
4003 Units ("Bits per Second"),
4004 MappingStrings {"MIF.DMTF|Bus Port|003"} ]
4005 uint64 MaxTransferRate;
4006 [Description (
4007 "Number of SCSIController timeouts that have occurred since "
4008 "the TimeOfLastReset."),
4009 Counter ]
4010 uint32 ControllerTimeouts;
4011 [Description (
4012 mike 1.2 "Signal capabilities that can be supported by the SCSI"
4013 "Controller. For example, the Controller may support "
4014 "\"Single Ended\" and \"Differential\". In this case, the "
4015 "values 3 and 4 would be written to the Signal"
4016 "Capabilities array."),
4017 ValueMap {"1", "2", "3", "4", "5", "6"},
4018 Values {"Other", "Unknown", "Single Ended", "Differential",
4019 "Low Voltage Differential", "Optical"},
4020 ModelCorrespondence {"CIM_SCSIInterface.SCSISignal"} ]
4021 uint16 SignalCapabilities[];
4022 };
4023
4024
4025 // ===================================================================
4026 // SCSIInterface
4027 // ===================================================================
4028 [Association, Description (
4029 "SCSIInterface is a ControlledBy relationship indicating "
4030 "which Devices are accessed through a SCSIController and "
4031 "the characteristics of this access.") ]
4032 class CIM_SCSIInterface : CIM_ControlledBy {
4033 mike 1.2 [Override ("Antecedent"),
4034 Description ("The SCSIController.") ]
4035 CIM_SCSIController REF Antecedent;
4036 [Description (
4037 "Number of SCSI timeouts that have occurred since last hard "
4038 "or soft reset related to the controlled Device. The time of "
4039 "last reset is indicated in the TimeOfDeviceReset property, "
4040 "inherited from the ControlledBy association."),
4041 Counter ]
4042 uint32 SCSITimeouts;
4043 [Description (
4044 "Number of SCSI retries that have occurred since last hard "
4045 "or soft reset related to the controlled Device. The time of "
4046 "last reset is indicated in the TimeOfDeviceReset property, "
4047 "inherited from the ControlledBy association."),
4048 Counter,
4049 MappingStrings {"MIF.DMTF|Mass Storage Statistics|001.18"} ]
4050 uint32 SCSIRetries;
4051 [Description ("The SCSI Initiator ID."),
4052 MappingStrings {"MIF.DMTF|Bus Port|003"} ]
4053 uint32 InitiatorId;
4054 mike 1.2 [Description ("The SCSI Target ID."),
4055 MappingStrings {"MIF.DMTF|Bus Port|003"} ]
4056 uint32 TargetId;
4057 [Description ("The SCSI Target LUN."),
4058 MappingStrings {"MIF.DMTF|Storage Devices|001.4"} ]
4059 uint64 TargetLUN;
4060 [Description (
4061 "SCSIReservation indicates the type of SCSI reservation "
4062 "that currently exists between the source and destination."),
4063 Values {"Unknown", "None", "Simple", "Persistent"} ]
4064 uint16 SCSIReservation;
4065 [Description (
4066 "The SCSI signal characteristics being used for this "
4067 "connection. The value listed here must also be listed in "
4068 "the SCSIController's SignalCapabilities field."),
4069 ValueMap {"1", "2", "3", "4", "5", "6"},
4070 Values {"Other", "Unknown", "Single Ended", "Differential",
4071 "Low Voltage Differential", "Optical"},
4072 MappingStrings {"MIF.DMTF|Bus Port|003"},
4073 ModelCorrespondence {"CIM_SCSIController.SignalCapabilities"} ]
4074 uint16 SCSISignal;
4075 mike 1.2 [Description (
4076 "Maximum number of Command Descriptor Blocks (CDBs) that "
4077 "can be supported by the target. This data can not be "
4078 "obtained under all circumstances.") ]
4079 uint32 MaxQueueDepth;
4080 [Description (
4081 "The maximum number of concurrent Command Descriptor Blocks "
4082 "(CDBs) that the initiator will send to the target. This "
4083 "value should never be greater than MaxQueueDepth.") ]
4084 uint32 QueueDepthLimit;
4085 };
4086
4087
4088 // ===================================================================
4089 // VideoController
4090 // ===================================================================
4091 [Description (
4092 "Capabilities and management of the VideoController.") ]
4093 class CIM_VideoController : CIM_Controller {
4094 // Override is used to define the MappingString qualifier
4095 [Override ("Description"),
4096 mike 1.2 MappingStrings {"MIF.DMTF|Video|004.18"} ]
4097 string Description;
4098 [Description (
4099 "A free-form string describing the video processor/Controller.") ]
4100 string VideoProcessor;
4101 [Description (
4102 "An integer enumeration indicating the type of video memory."),
4103 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
4104 "11", "12", "13"},
4105 Values {"Other", "Unknown", "VRAM", "DRAM", "SRAM", "WRAM",
4106 "EDO RAM", "Burst Synchronous DRAM",
4107 "Pipelined Burst SRAM", "CDRAM", "3DRAM", "SDRAM",
4108 "SGRAM"},
4109 MappingStrings {"MIF.DMTF|Video|004.6"} ]
4110 uint16 VideoMemoryType;
4111 [Description (
4112 "Number of video pages supported given the current resolutions "
4113 "and available memory.") ]
4114 uint32 NumberOfVideoPages;
4115 [Description ("Maximum amount of memory supported in bytes."),
4116 Units ("Bytes") ]
4117 mike 1.2 uint32 MaxMemorySupported;
4118 [Description (
4119 "An array of integers indicating the graphics and 3D "
4120 "capabilities of the VideoController."),
4121 Values {"Unknown", "Other", "Graphics Accelerator",
4122 "3D Accelerator"},
4123 ModelCorrespondence {
4124 "CIM_VideoController.CapabilityDescriptions"} ]
4125 uint16 AcceleratorCapabilities[];
4126 [Description (
4127 "An array of free-form strings providing more detailed "
4128 "explanations for any of the video Accelerator features "
4129 "indicated in the Capabilities array. Note, each entry "
4130 "of this array is related to the entry in the Capabilities "
4131 "array that is located at the same index."),
4132 ArrayType ("Indexed"),
4133 ModelCorrespondence {
4134 "CIM_VideoController.AcceleratorCapabilities"} ]
4135 string CapabilityDescriptions[];
4136 [Description ("The number of bits used to display each pixel."),
4137 Units ("Bits"),
4138 mike 1.2 MappingStrings {"MIF.DMTF|Video|004.12"} ]
4139 uint32 CurrentBitsPerPixel;
4140 [Description ("Current number of horizontal pixels."),
4141 Units ("Pixels"),
4142 MappingStrings {"MIF.DMTF|Video|004.11"} ]
4143 uint32 CurrentHorizontalResolution;
4144 [Description ("Current number of vertical pixels."),
4145 Units ("Pixels"),
4146 MappingStrings {"MIF.DMTF|Video|004.10"} ]
4147 uint32 CurrentVerticalResolution;
4148 [Description (
4149 "Maximum refresh rate of the VideoController in Hertz."),
4150 Units ("Hertz"),
4151 MappingStrings {"MIF.DMTF|Video|004.5"} ]
4152 uint32 MaxRefreshRate;
4153 [Description (
4154 "Minimum refresh rate of the Video Controller in Hertz."),
4155 Units ("Hertz"),
4156 MappingStrings {"MIF.DMTF|Video|004.4"} ]
4157 uint32 MinRefreshRate;
4158 [Description ("Current refresh rate in Hertz."),
4159 mike 1.2 Units ("Hertz"),
4160 MappingStrings {"MIF.DMTF|Video|004.15"} ]
4161 uint32 CurrentRefreshRate;
4162 [Description (
4163 "Current scan mode. \"Interlaced\" (value=3) or "
4164 "\"Non Interlaced\" (4) can be defined using this property."),
4165 ValueMap {"1", "2", "3", "4"},
4166 Values {"Other", "Unknown", "Interlaced", "Non Interlaced"},
4167 MappingStrings {"MIF.DMTF|Video|004.8"} ]
4168 uint16 CurrentScanMode;
4169 [Description (
4170 "If in character mode, number of rows for this Video"
4171 "Controller. Otherwise, enter 0."),
4172 MappingStrings {"MIF.DMTF|Video|004.13"} ]
4173 uint32 CurrentNumberOfRows;
4174 [Description (
4175 "If in character mode, number of columns for this "
4176 "VideoController. Otherwise, enter 0."),
4177 MappingStrings {"MIF.DMTF|Video|004.14"} ]
4178 uint32 CurrentNumberOfColumns;
4179 [Description (
4180 mike 1.2 "Number of colors supported at the current resolutions.") ]
4181 uint64 CurrentNumberOfColors;
4182 };
4183
4184
4185 // ===================================================================
4186 // PCVideoController
4187 // ===================================================================
4188 [Description (
4189 "Capabilities and management of a PCVideoController, a subtype "
4190 "of VideoController.") ]
4191 class CIM_PCVideoController : CIM_VideoController {
4192 [Description (
4193 "The video architecture. For example, VGA (value=5) or "
4194 "PC-98 (160) may be specified."),
4195 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
4196 "11", "12", "160"},
4197 Values {"Other", "Unknown", "CGA", "EGA", "VGA", "SVGA", "MDA",
4198 "HGC", "MCGA", "8514A", "XGA", "Linear Frame Buffer",
4199 "PC-98"},
4200 MappingStrings {"MIF.DMTF|Video|004.2"} ]
4201 mike 1.2 uint16 VideoArchitecture;
4202 [Description ("Current video mode."),
4203 MappingStrings {"MIF.DMTF|Video|004.3"} ]
4204 uint16 VideoMode;
4205 [Description (
4206 "Current number of color planes. If this value is not "
4207 "applicable for the current video configuration, enter 0.") ]
4208 uint16 NumberOfColorPlanes;
4209 };
4210
4211
4212 // ===================================================================
4213 // AGPVideoController
4214 // ===================================================================
4215 [Description (
4216 "Capabilities and management of an AGPVideoController.") ]
4217 class CIM_AGPVideoController: CIM_VideoController {
4218 [Description (
4219 "Capabilities of the AGP Graphics Controller. For example, "
4220 "the Device may support multiple monitors, PCI Mastering and "
4221 "large memory addresses. In this case, the values 3, 4 and 6 "
4222 mike 1.2 "would be written to the Capabilities array."),
4223 ArrayType("Indexed"),
4224 Values { "Unknown", "Other", "PCI Fast Write",
4225 "MultiMonitor Support", "PCI Mastering",
4226 "Second Monochrome Adapter Support",
4227 "Large Memory Address Support"},
4228 ModelCorrespondence{
4229 "CIM_AGPVideoController.CapabilityDescriptions"} ]
4230 uint16 Capabilities[];
4231 [Description (
4232 "An array of free form strings providing more detailed "
4233 "explanations for any of the entries in the Capabilities "
4234 "array. Note, each entry of this array is related to the "
4235 "entry in the Capabilities array that is located at the "
4236 "same index."),
4237 ArrayType("Indexed"),
4238 ModelCorrespondence{"CIM_AGPVideoController.Capabilities"} ]
4239 string CapabilityDescriptions[];
4240 [Description ("Size of the non-local video memory in KB."),
4241 Units ("KiloBytes") ]
4242 uint32 NonlocalVideoMemorySize;
4243 mike 1.2 [Description (
4244 "Width of the internal bus in the graphics Controller, in bits."),
4245 Units ("Bits") ]
4246 uint32 LocalBusWidth;
4247 [Description (
4248 "An integer enumeration indicating the usage model of the "
4249 "graphics Controller. Usage model indicates how the Controller "
4250 "does manipulations of graphics surfaces, textures, etc. in "
4251 "memory. DMA indicates that the graphics Controller brings "
4252 "structures from the system memory to its local memory to "
4253 "perform needed manipulations or renderings. Execute specifies "
4254 "that the graphics Controller can directly access a specified "
4255 "region in main memory (called the graphics aperture) using GART "
4256 "- Graphics Aperture Remapping Table. It then performs "
4257 "manipulations in that range as if that whole graphics aperture "
4258 "were part of its local memory. A value of \"Both\" DMA and "
4259 "Execute models may also be specified."),
4260 Values {"Unknown", "Other", "Execute", "DMA", "Both"} ]
4261 uint16 UsageModel;
4262 [Description (
4263 "An integer enumeration indicating the data transfer rate of "
4264 mike 1.2 "the graphics Controller."),
4265 Values {"Unknown", "Other", "1X", "2X", "4X"} ]
4266 uint16 DataTransferRate;
4267 [Description (
4268 "An integer enumeration indicating the addressing mode of the "
4269 "graphics Controller."),
4270 Values {"Unknown", "Other", "Sideband", "Pipeline"} ]
4271 uint16 AddressingMode;
4272 [Description (
4273 "The maximum number of AGP Transaction requests that the master "
4274 "(AGP Graphics Controller) is allowed to enqueue into the target.") ]
4275 uint32 MaximumAGPCommandQueuePath;
4276 [Description (
4277 "The number of AGP Transaction that the core logic (chipset) can "
4278 "accept into its transaction request queue from the Controller.") ]
4279 uint32 MaxNumberOfPipelinedAGPTransactions;
4280 [Description ("Size of the graphics aperture in KB."),
4281 Units ("KiloBytes") ]
4282 uint32 GraphicsApertureSize;
4283 [Description (
4284 "A string containing the AGP specification version to which this "
4285 mike 1.2 "graphics Controller conforms.") ]
4286 string AGPSpecificationVersionConformance;
4287 };
4288
4289
4290 // ===================================================================
4291 // ParallelController
4292 // ===================================================================
4293 [Description (
4294 "Capabilities and management of the ParallelController.") ]
4295 class CIM_ParallelController : CIM_Controller {
4296 [Description (
4297 "Set to true if the ParallelController supports DMA."),
4298 MappingStrings {"MIF.DMTF|Parallel Ports|003.7"} ]
4299 boolean DMASupport;
4300 [Description (
4301 "An integer enumeration indicating the capabilities of the "
4302 "ParallelController."),
4303 ArrayType ("Indexed"),
4304 Values {"Unknown", "Other", "XT/AT Compatible",
4305 "PS/2 Compatible", "ECP", "EPP", "PC-98",
4306 mike 1.2 "PC-98-Hireso", "PC-H98"},
4307 MappingStrings {"MIF.DMTF|Parallel Ports|003.8"},
4308 ModelCorrespondence {
4309 "CIM_ParallelController.CapabilityDescriptions"} ]
4310 uint16 Capabilities[];
4311 [Description (
4312 "An array of free-form strings providing more detailed "
4313 "explanations for any of the ParallelController features "
4314 "indicated in the Capabilities array. Note, each entry of "
4315 "this array is related to the entry in the Capabilities "
4316 "array that is located at the same index."),
4317 ArrayType ("Indexed"),
4318 ModelCorrespondence {"CIM_ParallelController.Capabilities"} ]
4319 string CapabilityDescriptions[];
4320 [Description (
4321 "An enumeration indicating the operational security for the "
4322 "Controller. For example, information that the Device's "
4323 "external interface is locked out (value=4) or \"Boot "
4324 "Bypass\" (value=6) can be described using this property."),
4325 ValueMap {"1", "2", "3", "4", "5", "6"},
4326 Values {"Other", "Unknown", "None",
4327 mike 1.2 "External Interface Locked Out",
4328 "External Interface Enabled", "Boot Bypass"},
4329 MappingStrings {"MIF.DMTF|Parallel Ports|003.10"} ]
4330 uint16 Security;
4331 };
4332
4333
4334 // ===================================================================
4335 // SSAController
4336 // ===================================================================
4337 [Description (
4338 "Capabilities and management of an SSAController (Serial "
4339 "Storage Architecture).") ]
4340 class CIM_SSAController : CIM_Controller {
4341 };
4342
4343
4344
4345 // ===================================================================
4346 // ManagementController
4347 // ===================================================================
4348 mike 1.2 [Description (
4349 "Capabilities and managment of a ManagementController. An I2C "
4350 "microcontroller is a type of ManagementController.") ]
4351 class CIM_ManagementController : CIM_Controller {
4352 };
4353
4354
4355 // ===================================================================
4356 // IDEController
4357 // ===================================================================
4358 [Description (
4359 "Capabilities and management of an IDEController.") ]
4360 class CIM_IDEController : CIM_Controller {
4361 };
4362
4363
4364 // ===================================================================
4365 // InfraredController
4366 // ===================================================================
4367 [Description (
4368 "Capabilities and management of an InfraredController.") ]
4369 mike 1.2 class CIM_InfraredController : CIM_Controller {
4370 };
4371
4372
4373 // ===================================================================
4374 // PCIController
4375 // ===================================================================
4376 [Description (
4377 "PCIController is a superclass for the PCIBridge and PCIDevice "
4378 "classes. These classes model adapters and bridges on a PCI "
4379 "bus. The properties in PCIController and its subclasses are "
4380 "defined in the various PCI Specifications published by the "
4381 "PCI SIG.") ]
4382 class CIM_PCIController : CIM_Controller {
4383 [Description (
4384 "Current contents of the register that provides basic "
4385 "control over the device's ability to respond "
4386 "to, and/or perform PCI accesses.") ]
4387 uint16 CommandRegister;
4388 [Description (
4389 "An array of integers indicating controller capabilities. "
4390 mike 1.2 "Information such as \"Supports 66MHz\" (value=2) is "
4391 "specified in this property. The data in the Capabilities array "
4392 "is gathered from the PCI Status Register and the PCI "
4393 "Capabilities List as defined in the PCI Specification."),
4394 ArrayType ("Indexed"),
4395 Values {"Unknown", "Other", "Supports 66MHz",
4396 "Supports User Definable Features",
4397 "Supports Fast Back-to-Back Transactions",
4398 "PCI-X Capable", "PCI Power Management Supported",
4399 "Message Signaled Interrupts Supported",
4400 "Parity Error Recovery Capable",
4401 "AGP Supported", "Vital Product Data Supported",
4402 "Provides Slot Identification", "Hot Swap Supported"},
4403 ModelCorrespondence {"CIM_PCIController.CapabilityDescriptions"} ]
4404 uint16 Capabilities[];
4405 [Description (
4406 "An array of free-form strings providing more detailed "
4407 "explanations for any of the PCIController features indicated "
4408 "in the Capabilities array. Note, each entry of this array "
4409 "is related to the entry in the Capabilities array that "
4410 "is located at the same index."),
4411 mike 1.2 ArrayType ("Indexed"),
4412 ModelCorrespondence {"CIM_PCIController.Capabilities"} ]
4413 string CapabilityDescriptions[];
4414 [Description (
4415 "The slowest device select timing for a target device."),
4416 Values {"Unknown", "Other", "Fast", "Medium", "Slow",
4417 "Reserved"} ]
4418 uint16 DeviceSelectTiming;
4419 [Description (
4420 "Register of 8 bits that identifies the basic function of the "
4421 "PCI device. This is only the upper byte (offset 0Bh) of the "
4422 "3 byte ClassCode field. Note that the property's ValueMap "
4423 "array specifies the decimal representation of this "
4424 "information."),
4425 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
4426 "10", "11", "12", "13", "14", "15", "16", "17",
4427 "255"},
4428 // values 18-254 reserved for expansion by PCI
4429 Values {"Pre 2.0", "Mass Storage", "Network", "Display",
4430 "Multimedia", "Memory", "Bridge", "Simple Communications",
4431 "Base Peripheral", "Input", "Docking Station", "Processor",
4432 mike 1.2 "Serial Bus", "Wireless", "Intelligent I/O",
4433 "Satellite Communication", "Encryption/Decryption",
4434 "Data Acquisition and Signal Processing", "Other"} ]
4435 uint8 ClassCode;
4436 [Description (
4437 "Specifies the system cache line size in doubleword increments "
4438 "(e.g., a 486-based system would store the value 04h, "
4439 "indicating a cache line size of four doublewords."),
4440 Units ("DoubleWords") ]
4441 uint8 CacheLineSize;
4442 [Description (
4443 "Defines the minimum amount of time, in PCI clock cycles, that "
4444 "the bus master can retain ownership of the bus."),
4445 Units ("PCI clock cycles") ]
4446 uint8 LatencyTimer;
4447 [Description (
4448 "Defines the PCI interrupt request pin (INTA# to "
4449 "INTD#) to which a PCI functional device is connected."),
4450 Values {"None", "INTA#", "INTB#", "INTC#", "INTD#", "Unknown"} ]
4451 uint16 InterruptPin;
4452 [Description (
4453 mike 1.2 "Doubleword Expansion ROM base memory address."),
4454 Units ("DoubleWords") ]
4455 uint32 ExpansionROMBaseAddress;
4456 [Description (
4457 "Reports if the PCI device can perform the self test "
4458 "function. Returns bit 7 of the BIST register as a boolean.") ]
4459 boolean SelfTestEnabled;
4460 [Description (
4461 "Method to invoke PCI device self-test. This method sets bit "
4462 "6 of the BIST register. The return result is the lower "
4463 "four bits of the BIST register where 0 indicates success and "
4464 "non-zero is a device dependent failure. Support for this "
4465 "method is optional in the PCI Specification.") ]
4466 uint8 BISTExecution( );
4467 };
4468
4469
4470 // ===================================================================
4471 // PCIDevice
4472 // ===================================================================
4473 [Description (
4474 mike 1.2 "Capabilities and management of a PCI device controller "
4475 "on an adapter card.") ]
4476 class CIM_PCIDevice : CIM_PCIController {
4477 [Description ("Array of doubleword base memory addresses.") ]
4478 uint32 BaseAddress[6];
4479 [Description ("Subsystem identifier code.") ]
4480 uint16 SubsystemID;
4481 [Description (
4482 "Subsystem vendor ID. ID information is reported from a "
4483 "PCIDevice via protocol-specific requests. The correct place "
4484 "in the CIM Schema for this information is in CIM_Physical"
4485 "Element (the Manufacturer property) for hardware, and "
4486 "CIM_Product (the Vendor property) if the information is "
4487 "related to Product acquisition. This data is also reported "
4488 "here since it is part of the standard output from the "
4489 "Device, and as an optimization.") ]
4490 uint16 SubsystemVendorID;
4491 [Description (
4492 "Register indiating how long the master would like to "
4493 "retain PCI bus ownership whenever it initiates a "
4494 "transaction. A zero value indicates no requirement."),
4495 mike 1.2 Units ("250 nanoseconds") ]
4496 uint8 MinGrantTime;
4497 [Description (
4498 "Register specifying how often the device needs access to "
4499 "the PCI bus in 250ns. A zero value indicates no "
4500 "requirement."),
4501 Units ("250 nanoseconds") ]
4502 uint8 MaxLatency;
4503 };
4504
4505
4506 // ===================================================================
4507 // PCIBridge
4508 // ===================================================================
4509 [Description (
4510 "Capabilities and management of a PCI controller providing "
4511 "bridge to bridge capability.") ]
4512 class CIM_PCIBridge : CIM_PCIController {
4513 [Description ("Array of doubleword base memory addresses.") ]
4514 uint32 BaseAddress[2];
4515 [Description (
4516 mike 1.2 "The type of bridge. Except for \"Host\" (value=0), the type "
4517 "of bridge is PCI to <value>. For type \"Host\", the device is "
4518 "a Host to PCI bridge."),
4519 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "128"},
4520 Values {"Host", "ISA", "EISA", "Micro Channel", "PCI",
4521 "PCMCIA", "NuBus", "CardBus", "RACEway", "Other"} ]
4522 uint16 BridgeType;
4523 [Description (
4524 "The timeslice for the secondary interface when the bridge "
4525 "is acting as an initiator. A zero value indicates no "
4526 "requirement."),
4527 Units ("PCI clock cycles") ]
4528 uint8 SecondaryLatencyTimer;
4529 [Description (
4530 "The number of the highest numbered bus that exists behind "
4531 "the bridge.") ]
4532 uint8 SubordinateBusNumber;
4533 [Description (
4534 "The number of the PCI bus segment to which the secondary "
4535 "interface of the bridge is connected.") ]
4536 uint8 SecondayBusNumber;
4537 mike 1.2 [Description (
4538 "The number of the PCI bus segment to which the primary "
4539 "interface of the bridge is connected.") ]
4540 uint8 PrimaryBusNumber;
4541 [Description (
4542 "The contents of the Bridge's SecondaryStatusRegister. "
4543 "For more information on the contents of this register, refer "
4544 "to the PCI-to-PCI Bridge Architecture Specification.") ]
4545 uint16 SecondaryStatusRegister;
4546 [Description (
4547 "The slowest device select timing for a target device on the "
4548 "secondary bus."),
4549 Values {"Unknown", "Other", "Fast", "Medium", "Slow",
4550 "Reserved"} ]
4551 uint16 SecondaryBusDeviceSelectTiming;
4552 [Description (
4553 "End address of the I/O addresses supported by the bus. The "
4554 "upper four bits of this property specify the address bits, "
4555 "AD[15::12], of the I/O address. The remaining 12 bits of "
4556 "the I/O address are assumed to be all 1's.") ]
4557 uint8 IOLimit;
4558 mike 1.2 [Description (
4559 "Base address of I/O addresses supported by the bus. The "
4560 "upper four bits of this property specify the address bits, "
4561 "AD[15::12], of the I/O address. The remaining 12 bits of "
4562 "the I/O address are assumed to be 0.") ]
4563 uint8 IOBase;
4564 [Description (
4565 "End address of the memory supported by the bus. The "
4566 "upper twelve bits of this property specify the address bits, "
4567 "AD[31::20], of a 32-bit memory address. The remaining 20 "
4568 "bits of the address are assumed to be all 1's.") ]
4569 uint16 MemoryLimit;
4570 [Description (
4571 "Base address of the memory supported by the bus. The "
4572 "upper twelve bits of this property specify the address bits, "
4573 "AD[31::20], of a 32-bit memory address. The remaining 20 "
4574 "bits of the address are assumed to be 0.") ]
4575 uint16 MemoryBase;
4576 [Description (
4577 "End address of the memory that can be prefetched by the bus. "
4578 "The upper twelve bits of this property specify the address "
4579 mike 1.2 "bits, AD[31::20], of a 32-bit memory address. The remaining "
4580 "20 bits of the address are assumed to be all 1's.") ]
4581 uint16 PrefetchMemoryLimit;
4582 [Description (
4583 "Base address of the memory that can be prefetched by the bus. "
4584 "The upper twelve bits of this property specify the address "
4585 "bits, AD[31::20], of a 32-bit memory address. The remaining "
4586 "20 bits of the address are assumed to be 0.") ]
4587 uint16 PrefetchMemoryBase;
4588 [Description (
4589 "Upper 32 bits of the supported prefetch end address when "
4590 "64-bit addressing is used. The lower 32 bits are assumed to "
4591 "be all 1's.") ]
4592 uint32 PrefetchLimitUpper32;
4593 [Description (
4594 "Upper 32 bits of the supported prefetch base address when "
4595 "64-bit addressing is used. The lower 32 bits are assumed "
4596 "to be 0.") ]
4597 uint32 PrefetchBaseUpper32;
4598 [Description (
4599 "Upper 16 bits of the supported I/O end address when 32-bit "
4600 mike 1.2 "I/O addressing is used. The lower 16 bits are assumed to be "
4601 "all 1's.") ]
4602 uint16 IOLimitUpper16;
4603 [Description (
4604 "Upper 16 bits of the supported I/O base address when 32-bit "
4605 "I/O addressing is used. The lower 16 bits are assumed to be "
4606 "0.") ]
4607 uint16 IOBaseUpper16;
4608 };
4609
4610
4611 // ===================================================================
4612 // PCMCIAController
4613 // ===================================================================
4614 [Description (
4615 "Capabilities and management of a PCMCIAController.") ]
4616 class CIM_PCMCIAController : CIM_Controller {
4617 };
4618
4619
4620 // ===================================================================
4621 mike 1.2 // ESCONController
4622 // ===================================================================
4623 [Description (
4624 "Capabilities and management of an ESCONController.") ]
4625 class CIM_ESCONController : CIM_Controller {
4626 };
4627
4628
4629 // ===================================================================
4630 // USBController
4631 // ===================================================================
4632 [Description (
4633 "Capabilities and managment of a USB Host Controller.") ]
4634 class CIM_USBController : CIM_Controller {
4635 [Description (
4636 "Indicates the latest USB Version supported by the Controller. "
4637 "The property is expressed as a Binary-Coded Decimal (BCD) "
4638 "where a decimal point is implied between the 2nd and 3rd "
4639 "digits. For example, a value of 0x201 indicates that "
4640 "version 2.01 is supported.") ]
4641 uint16 USBVersion;
4642 mike 1.2 [Description (
4643 "The type of interface used between the host system software "
4644 "and the USBController."),
4645 Values {"Unknown", "Other", "UHCI", "OHCI"},
4646 ModelCorrespondence {"CIM_USBController.ControllerVersion"} ]
4647 uint16 InterfaceType;
4648 [Description (
4649 "Indicates the version of the USB Host Controller register "
4650 "set, specific to the InterfaceType. The property is "
4651 "expressed as a Binary-Coded Decimal (BCD) value where a "
4652 "decimal point is implied between the 2nd and 3rd digits. "
4653 "For example, a value of 0x103 indicates that version "
4654 "1.03 is supported."),
4655 ModelCorrespondence {"CIM_USBController.InterfaceType"} ]
4656 uint16 ControllerVersion;
4657 };
4658
4659
4660 // ===================================================================
4661 // USBDevice
4662 // ===================================================================
4663 mike 1.2 [Description (
4664 "The management characterisitics of a USB Device. These ") ]
4665 class CIM_USBDevice: CIM_LogicalDevice {
4666 [Description (
4667 "Indicates the latest USB Version supported by the USB Device. "
4668 "The property is expressed as a Binary-Coded Decimal (BCD) "
4669 "where a decimal point is implied between the 2nd and 3rd "
4670 "digits. For example, a value of 0x201 indicates that "
4671 "version 2.01 is supported.") ]
4672 uint16 USBVersion;
4673 [Description ("Indicates the USB class code.") ]
4674 uint8 ClassCode;
4675 [Description ("Indicates the USB subclass code.") ]
4676 uint8 SubclassCode;
4677 [Description ("Indicates the USB protocol code.") ]
4678 uint8 ProtocolCode;
4679 [Description (
4680 "Number of device configurations that are defined for the "
4681 "Device.") ]
4682 uint8 NumberOfConfigs;
4683 [Description (
4684 mike 1.2 "Indicates the configuration currently selected for the "
4685 "Device. If this value is zero, the Device is "
4686 "unconfigured."),
4687 ModelCorrespondence {"CIM_USBDevice.CurrentAlternateSettings"} ]
4688 uint8 CurrentConfigValue;
4689 [Description (
4690 "An array of USB 'alternate settings' for each interface "
4691 "in the currently selected configuration (indicated by the "
4692 "CurrentConfigValue property). This array has one entry for "
4693 "each interface in the configuration. If the property, "
4694 "CurrentConfigValue, is zero (indicating the Device is not "
4695 "configured), the array is undefined. To understand how "
4696 "to parse this octet string, refer to the USB Specification."),
4697 ModelCorrespondence {"CIM_USBDevice.CurrentConfigValue"} ]
4698 uint8 CurrentAlternateSettings[];
4699 [Description (
4700 "This method returns the USBDevice Descriptor as specified by "
4701 "the input parameters. Each parameter is briefly described here "
4702 "with more detail in its Qualifier list. RequestType is an input "
4703 "parameter that defines whether the request is for standard, "
4704 "class or vendor-specific information, as well as specifying the "
4705 mike 1.2 "recipient. RequestValue is also an input parameter and defines "
4706 "the USB Descriptor Type and Index. RequestIndex is an input "
4707 "parameter which describes the language used to return a string "
4708 "Descriptor. RequestLength is both an input and output parameter. "
4709 "It specifies the length of the Descriptor that should be returned "
4710 "(on input) and what is actually returned in the Buffer parameter "
4711 "(on output). Buffer is an output parameter, containing the "
4712 "Descriptor data. The GetDescriptor method returns an integer "
4713 "value of 0 if the USB Descriptor is successfully returned, "
4714 "1 if the request is not supported and any other number to "
4715 "indicate an error.\n"
4716 "In a subclass, the set of possible return codes could be "
4717 "specified, using a ValueMap qualifier on the method. The "
4718 "strings to which the ValueMap contents are 'translated' may "
4719 "also be specified in the subclass as a Values array qualifier.") ]
4720 uint32 GetDescriptor(
4721 [IN, Description ("RequestType is bit-mapped and identifies the "
4722 "type of Descriptor request and the recipient. The type of "
4723 "request may be 'standard', 'class' or 'vendor-specific'. "
4724 "The recipient may be 'device', 'interface', 'endpoint' "
4725 "or 'other'. Refer to the USB Specification for the "
4726 mike 1.2 "appropriate values for each bit.") ]
4727 uint8 RequestType,
4728 [IN, Description ("RequestValue contains the Descriptor Type in "
4729 "the high byte and the Descriptor Index (for example, index "
4730 "or offset into the Descriptor array) in the low byte. "
4731 "Refer to the USB Specification for more information.") ]
4732 uint16 RequestValue,
4733 [IN, Description ("RequestIndex defines the 2 byte Language ID "
4734 "code used by the USBDevice when returning string Descriptor "
4735 "data. The parameter is typically 0 for non-string "
4736 "Descriptors. Refer to the USB Specification for more "
4737 "information.") ]
4738 uint16 RequestIndex,
4739 [IN, OUT, Description ("On input, RequestLength is the length "
4740 "(in octets) of the Descriptor that should be returned. "
4741 "If this value is less than the actual length of the "
4742 "Descriptor, only the requested length will be returned. "
4743 "If it is more than the actual length, the actual length "
4744 "is returned. On output, this parameter is the length, "
4745 "in octets, of the Buffer being returned. If the requested "
4746 "Descriptor does not exist, the contents of this parameter "
4747 mike 1.2 "are undefined.") ]
4748 uint16 RequestLength,
4749 [OUT, Description ("Buffer returns the requested Descriptor "
4750 "information. If the Descriptor does not exist, the "
4751 "contents of the Buffer are undefined.") ]
4752 uint8 Buffer[]);
4753 };
4754
4755
4756 // ===================================================================
4757 // USBHub
4758 // ===================================================================
4759 [Description ("USB Hub Device.") ]
4760 class CIM_USBHub : CIM_USBDevice {
4761 [Description (
4762 "Indicates whether power to the Hub Ports is individually or "
4763 "gang-switched. If this value is FALSE, power is switched "
4764 "individually for each Port. If this value is TRUE, power is "
4765 "switched to all Ports on the Hub at once.") ]
4766 boolean GangSwitched;
4767 [Description (
4768 mike 1.2 "Number of downstream Ports on the Hub, including those "
4769 "embedded in the Hub's silicon. Individual USBPorts are "
4770 "associated with the Hub using the USBPortOnHub association.") ]
4771 uint8 NumberOfPorts;
4772 };
4773
4774
4775 // ===================================================================
4776 // USBPort
4777 // ===================================================================
4778 [Description ("A Port on a USBHub.") ]
4779 class CIM_USBPort : CIM_LogicalPort {
4780 [Override ("Speed"), Description (
4781 "USB Port Speed in bits per second. This speed is determined "
4782 "and set by the attached Device. The 'attached Device' is "
4783 "indicated using the USBConnection association. At this time, "
4784 "only several Port speeds are valid. These are: 1.5Mbps and "
4785 "12Mbps. The value 0 can also be specified to indicate that the "
4786 "current speed is 'unknown' or 1 to indicate that the speed is "
4787 "'other' than 1.5 or 12Mbps."),
4788 ValueMap {"0", "1", "1500000", "12000000"} ]
4789 mike 1.2 uint64 Speed;
4790 [Override ("StatusInfo"),
4791 Description ("Indicates whether the Port is currently enabled."),
4792 ValueMap {"2", "3", "4"},
4793 Values {"Unknown", "Enabled", "Disabled"} ]
4794 uint16 StatusInfo;
4795 [Override ("Availability"),
4796 Description ("Indicates whether the Port is currently Powered."),
4797 ValueMap {"2", "3", "7"},
4798 Values {"Unknown", "Running/Full Power", "Power Off"} ]
4799 uint16 Availability;
4800 [Description (
4801 "The USB Port's power capability. The current specification "
4802 "defines that 1 or 5 loads can be supported (values 2 or 3 would "
4803 "be specified, respectively)."),
4804 Values {"Unknown", "Other", "1 Unit Load", "5 Unit Loads"} ]
4805 uint16 Power;
4806 [Description (
4807 "Indicates whether the Port is currently Suspended.") ]
4808 boolean Suspended;
4809 [Description (
4810 mike 1.2 "Indicates whether the Port is disabled due to an "
4811 "overcurrent event.") ]
4812 boolean Overcurrent;
4813 };
4814
4815
4816 // ===================================================================
4817 // USBPortOnHub
4818 // ===================================================================
4819 [Association,
4820 Description (
4821 "USBPortOnHub associates a USBPort or connection point with the "
4822 "USBHub that includes it.") ]
4823 class CIM_USBPortOnHub : CIM_PortOnDevice {
4824 [Override ("Antecedent"),
4825 Min(1), Max(1),
4826 Description ("The Hub that includes the USBPort.") ]
4827 CIM_USBHub REF Antecedent;
4828 [Override ("Dependent"),
4829 Min(1), Description ("The Port on the USBHub.") ]
4830 CIM_USBPort REF Dependent;
4831 mike 1.2 };
4832
4833
4834 // ===================================================================
4835 // USBControllerHasHub
4836 // ===================================================================
4837 [Association, Description (
4838 "USBControllerHasHub defines the Hub(s) that are downstream "
4839 "of the USBController.") ]
4840 class CIM_USBControllerHasHub : CIM_ControlledBy {
4841 [Override ("Antecedent"), Min(1), Max(1),
4842 Description ("The USBController.") ]
4843 CIM_USBController REF Antecedent;
4844 [Override ("Dependent"), Min(1),
4845 Description (
4846 "The USBHub that is associated with the Controller.") ]
4847 CIM_USBHub REF Dependent;
4848 };
4849
4850
4851 // ===================================================================
4852 mike 1.2 // USBConnection
4853 // ===================================================================
4854 [Association, Description (
4855 "USBConnection associates a Device with the USBPort to which it "
4856 "is connected.") ]
4857 class CIM_USBConnection: CIM_DeviceConnection {
4858 [Override ("Antecedent"), Max(1),
4859 Description ("The USBPort.") ]
4860 CIM_USBPort REF Antecedent;
4861 [Override ("Dependent"), Max(1),
4862 Description ("The USBDevice that is connected to the Port.") ]
4863 CIM_USBDevice REF Dependent;
4864 };
4865
4866
4867 // ===================================================================
4868 //
4869 // Modems
4870 //
4871 // ===================================================================
4872
4873 mike 1.2
4874 // ===================================================================
4875 // Modem
4876 // ===================================================================
4877 [Abstract, Description (
4878 "CIM_Modem is the superclass for grouping the numerous types "
4879 "of Modems.") ]
4880 class CIM_Modem : CIM_LogicalDevice {
4881 };
4882
4883
4884 // ===================================================================
4885 // ConnectionBasedModem
4886 // ===================================================================
4887 [Abstract, Description (
4888 "CIM_ConnectionBasedModem is the superclass for grouping the "
4889 "numerous types of connection-based Modems. A CableModem is a "
4890 "type of connection-based Modem.") ]
4891 class CIM_ConnectionBasedModem : CIM_Modem {
4892 [Description (
4893 "VendorID information is reported via Modem-specific requests. "
4894 mike 1.2 "For example, for ADSLModem Devices the VendorID is assigned by "
4895 "T1E1.4 according to T1.413, Appendix D. The correct place in "
4896 "the CIM Schema for this information is in PhysicalElement "
4897 "(the Manufacturer property) for hardware and Product (the "
4898 "Vendor property) if the information is related to Product "
4899 "acquisition. This data is also reported here since it is part "
4900 "of the standard output from the Device, and as an "
4901 "optimization.") ]
4902 string VendorID;
4903 };
4904
4905
4906 // ===================================================================
4907 // DSLModem
4908 // ===================================================================
4909 [Description (
4910 "The DSLModem class represents the superclass for Digital "
4911 "Subscriber Line (DSL) Devices. Properties "
4912 "will be defined in a future release of the model.") ]
4913 class CIM_DSLModem : CIM_ConnectionBasedModem {
4914 };
4915 mike 1.2
4916
4917 // ===================================================================
4918 // VDSLModem
4919 // ===================================================================
4920 [Description (
4921 "The VDSLmodem class represents Modems of the DSL type = "
4922 "VDSL, Very high data rate Digital Subscriber Line. Properties "
4923 "will be defined in a future release of the model.") ]
4924 class CIM_VDSLModem : CIM_DSLModem {
4925 };
4926
4927
4928 // ===================================================================
4929 // HDSLModem
4930 // ===================================================================
4931 [Description (
4932 "The HDSLModem class represents Modems of the DSL type = "
4933 "HDSL, High data rate Digital Subscribe Line, capable of "
4934 "delivering T1 or E1 speeds. Properties will be defined in a "
4935 "future release of the model.") ]
4936 mike 1.2 class CIM_HDSLModem : CIM_DSLModem {
4937 };
4938
4939
4940 // ===================================================================
4941 // SDSLModem
4942 // ===================================================================
4943 [Description (
4944 "The SDSLModem class represents Modems of the DSL type = "
4945 "SDSL, Symmetric Digital Subscriber Line. Properties "
4946 "will be defined in a future release of the model.") ]
4947 class CIM_SDSLModem : CIM_DSLModem {
4948 };
4949
4950
4951 // ===================================================================
4952 // ADSLModem
4953 // ===================================================================
4954 [Description (
4955 "The ADSLModem class represents Modems of the DSL type = ADSL, "
4956 "Asymmetric Digital Subscriber Line.") ]
4957 mike 1.2 class CIM_ADSLModem : CIM_DSLModem {
4958 [Description (
4959 "Noise Margin of this Modem with respect to its received signal, "
4960 "in tenths of dB."),
4961 Units ("Tenths of Decibels") ]
4962 uint32 NoiseMargin;
4963 [Gauge, Description (
4964 "Measured difference in the total power transmitted by the peer "
4965 "Modem and the total power received by this Modem. This is "
4966 "measured in tenths of dB."),
4967 Units ("Tenths of Decibels") ]
4968 uint32 LineAttenuation;
4969 [Description (
4970 "Status indicates the current state of the connection (line). The "
4971 "property holds a bitmap describing the possible conditions. "
4972 "For example, 1) No Defect - There no defects on the line; "
4973 "2) Loss Of Framing - ATUR failure due to not receiving valid frame; "
4974 "4) Loss Of Signal - ATUR failure due to not receiving signal; "
4975 "8) Loss Of Power - ATUR failure due to loss of power; "
4976 "32) Loss Of Signal Quality - Loss of Signal Quality is declared "
4977 "when the NoiseMargin falls below the minimum NoiseMargin, or the "
4978 mike 1.2 "bit-error-rate exceeds 10^-7."),
4979 ValueMap {"1", "2", "4", "8", "32"},
4980 Values {"No Defect", "Loss Of Framing", "Loss Of Signal",
4981 "Loss Of Power", "Loss Of Signal Quality"} ]
4982 uint32 LineState;
4983 [Gauge, Description (
4984 "Measured total output power (in tenths of dB) transmitted by "
4985 "this Modem."),
4986 Units ("Tenths of Decibels") ]
4987 uint32 TotalOutputPower;
4988 [Description (
4989 "Indicates the maximum currently attainable data rate for the Modem. "
4990 "This value will be equal or greater than the current line rate."),
4991 Units ("Bits per Second") ]
4992 uint32 MaxDataRate;
4993 };
4994
4995
4996 // ===================================================================
4997 // CableModem
4998 // ===================================================================
4999 mike 1.2 [Description (
5000 "The CableModem class represents a device for transmission "
5001 "across a cable infrastructure.") ]
5002 class CIM_CableModem: CIM_ConnectionBasedModem {
5003 };
5004
5005
5006 // ===================================================================
5007 // CallBasedModem
5008 // ===================================================================
5009 [Abstract, Description (
5010 "CIM_CallBasedModem is the superclass for grouping the numerous "
5011 "types of call-based modems. The POTSModem is a type of call-"
5012 "based Modem.") ]
5013 class CIM_CallBasedModem : CIM_Modem {
5014 [Description (
5015 "Indicates whether online fallback is enabled, to be negotiated "
5016 "by the Modem.") ]
5017 boolean FallbackEnabled;
5018 [Description (
5019 "An array enumerating all the compression protocols supported "
5020 mike 1.2 "by the Modem."),
5021 Values {"Unknown", "Other", "No Compression", "MNP 5", "V.42bis",
5022 "MNP 3", "MNP 4", "V.58", "PEP", "HST"},
5023 ModelCorrespondence {
5024 "CIM_CallBasedModem.OtherCompressionDescription"} ]
5025 uint16 CompressionSupported[];
5026 [Description (
5027 "Description of the compression type when \"Other \" (value=1) "
5028 "is defined in the CompressionSupported array. If there are "
5029 "multiple \"Other\" types, then combine their descriptions into "
5030 "a single string."),
5031 ModelCorrespondence {"CIM_CallBasedModem.CompressionSupported"} ]
5032 string OtherCompressionDescription;
5033 [Description (
5034 "Describes the current data compression characteristics of the "
5035 "Modem. "),
5036 Values {"Unknown", "Other", "No Compression", "MNP 5", "V.42bis",
5037 "MNP 3", "MNP 4", "V.58", "PEP", "HST"},
5038 ModelCorrespondence {"CIM_CallBasedModem.CompressionSupported",
5039 "CIM_CallBasedModem.OtherCompressionInfoDescription"} ]
5040 uint16 CompressionInfo;
5041 mike 1.2 [Description (
5042 "Description of the current compression type when \"Other\" "
5043 "(value=1) is specified in the CompressionInfo property."),
5044 ModelCorrespondence {"CIM_CallBasedModem.CompressionInfo"} ]
5045 string OtherCompressionInfoDescription;
5046 [Description (
5047 "An array enumerating all the modulation protocols supported by "
5048 "the Modem. The beginning entries in the Values qualifier array "
5049 "are mapped from the CIM_POTSModem ModulationScheme property."),
5050 Values {"Unknown", "Other", "Not Supported", "Bell 103",
5051 "Bell 212A", "V.22bis", "V.32", "V.32bis", "V.terbo",
5052 "V.FC", "V.34", "V.34bis", "V.17 (G3 Fax Call)", "V.21",
5053 "V.22", "V.23 Constant Carrier (1200/75)",
5054 "V.23 Switched Carrier (Half Duplex)", "V.26bis",
5055 "V.26ter", "V.27ter (G3 Fax Call)",
5056 "V.29 HD (G3 Fax Call)", "V.34 HD (G3 Fax Call)",
5057 "V.90 Issue 1 (Asymmetric)", "V.90 Issue 2 (Symmetric)",
5058 "V.58", "X2", "K56FLEX", "V.Fast", "PEP", "HST"},
5059 ModelCorrespondence {
5060 "CIM_CallBasedModem.OtherModulationDescription"} ]
5061 uint16 ModulationSupported[];
5062 mike 1.2 [Description (
5063 "Description of the current modulation type when \"Other\" "
5064 "(value=1) is specified in the ModulationSupported property. "
5065 "If there are multiple \"Other\" types, then combine their "
5066 "descriptions into a single string."),
5067 ModelCorrespondence {"CIM_CallBasedModem.ModulationSupported"} ]
5068 string OtherModulationDescription;
5069 [Description (
5070 "Describes the current modulation scheme of the Modem."),
5071 Values {"Unknown", "Other", "Not Supported", "Bell 103",
5072 "Bell 212A", "V.22bis", "V.32", "V.32bis", "V.terbo",
5073 "V.FC", "V.34", "V.34bis", "V.17 (G3 Fax Call)", "V.21",
5074 "V.22", "V.23 Constant Carrier (1200/75)",
5075 "V.23 Switched Carrier (Half Duplex)", "V.26bis",
5076 "V.26ter", "V.27ter (G3 Fax Call)",
5077 "V.29 HD (G3 Fax Call)", "V.34 HD (G3 Fax Call)",
5078 "V.90 Issue 1 (Asymmetric)", "V.90 Issue 2 (Symmetric)",
5079 "V.58", "X2", "K56FLEX", "V.Fast", "PEP", "HST"},
5080 ModelCorrespondence {"CIM_CallBasedModem.ModulationSupported",
5081 "CIM_CallBasedModem.OtherSchemeDescription"} ]
5082 uint16 ModulationScheme;
5083 mike 1.2 [Description (
5084 "Description of the current modulation type when \"Other\" "
5085 "(value=1) is specified in the ModulationScheme property."),
5086 ModelCorrespondence {"CIM_CallBasedModem.ModulationScheme"} ]
5087 string OtherSchemeDescription;
5088 [Description (
5089 "An array enumerating the error control protocols supported "
5090 "by the Modem. The beginning entries in the Values qualifier "
5091 "array are mapped from the CIM_POTSModem ErrorControlInfo "
5092 "property."),
5093 Values {"Unknown", "Other", "No Error Correction", "MNP 4",
5094 "LAPM", "V.58", "ECP Enhanced Cellular Protocol",
5095 "ETC Enhanced Throughput Cellular", "MNP 1", "MNP 2",
5096 "MNP 3", "MNP10", "PEP", "HST"},
5097 ModelCorrespondence {
5098 "CIM_CallBasedModem.OtherErrorControlDescription"} ]
5099 uint16 ErrorControlSupported[];
5100 [Description (
5101 "Description of the error control type when \"Other\" (value="
5102 "1) is specified in the ErrorControlSupported property. If "
5103 "there are multiple \"Other\" types, then combine their "
5104 mike 1.2 "descriptions into a single string."),
5105 ModelCorrespondence {
5106 "CIM_CallBasedModem.ErrorControlSupported"} ]
5107 string OtherErrorControlDescription;
5108 [Description (
5109 "Describes the current error correction characteristics of the "
5110 "Modem."),
5111 Values {"Unknown", "Other", "No Error Correction", "MNP 4",
5112 "LAPM", "V.58", "ECP Enhanced Cellular Protocol",
5113 "ETC Enhanced Throughput Cellular", "MNP 1", "MNP 2",
5114 "MNP 3", "MNP10", "PEP", "HST"},
5115 ModelCorrespondence {"CIM_CallBasedModem.ErrorControlSupported",
5116 "CIM_CallBasedModem.OtherErrorControlInfoDescription"} ]
5117 uint16 ErrorControlInfo;
5118 [Description (
5119 "Description of the error control when \"Other\" (value=1) "
5120 "is defined as the value of the ErrorControlInfo property."),
5121 ModelCorrespondence {"CIM_CallBasedModem.ErrorControlInfo"} ]
5122 string OtherErrorControlInfoDescription;
5123 [Description ("Time of last reset of the Modem.") ]
5124 datetime TimeOfLastReset;
5125 mike 1.2 [Description (
5126 "The rate at which the receiver and transmitter are or were "
5127 "last cooperating, on a call, before disconnection."),
5128 Units ("Bits per Second") ]
5129 uint32 CallSpeed;
5130 [Description (
5131 "Status of the Modem. For example, information regarding "
5132 "modem negotiation or whether the modem is connected (values "
5133 "8 and 9, respectively) can be conveyed in this property."),
5134 Values {"Unknown", "Other", "Offline", "On Hook", "Dialing",
5135 "Waiting for Answer", "Ringing", "Modem Detected",
5136 "Negotiating", "Online", "Error"} ]
5137 uint16 CallStatus;
5138 [Description (
5139 "Total number of characters sent by the Device on the last "
5140 "or current call. That a call is in-progress is indicated by "
5141 "the CallStatus property."),
5142 Counter ]
5143 uint32 CharsSent;
5144 [Description (
5145 "Total number of characters received by the Device on the last "
5146 mike 1.2 "or current call. That a call is in-progress is indicated by the "
5147 "CallStatus property."),
5148 Counter ]
5149 uint32 CharsReceived;
5150 [Description (
5151 "Total number of characters lost by the Device on the last or "
5152 "current call. That a call is in-progress is indicated by the "
5153 "CallStatus property."),
5154 Counter ]
5155 uint32 CharsLost;
5156 [Description (
5157 "Total number of blocks sent by the Device on the last or "
5158 "current call. That a call is in-progress is indicated by the "
5159 "CallStatus property."),
5160 Counter ]
5161 uint32 BlocksSent;
5162 [Description (
5163 "Total number of blocks resent by the Device on the last or "
5164 "current call. That a call is in-progress is indicated by the "
5165 "CallStatus property."),
5166 Counter ]
5167 mike 1.2 uint32 BlocksResent;
5168 [Description (
5169 "Total number of blocks received by the Device on the last or "
5170 "current call. That a call is in-progress is indicated by the "
5171 "CallStatus property."),
5172 Counter ]
5173 uint32 BlocksReceived;
5174 [Description (
5175 "Total number of block errors seen by the Device on the last "
5176 "or current call. That a call is in-progress is indicated by the "
5177 "CallStatus property."),
5178 Counter ]
5179 uint32 BlockErrors;
5180 [Description (
5181 "Length of the last or current call. That a call is in-progress "
5182 "is indicated by the CallStatus property. The 'interval' "
5183 "format of the datetime data type should be used for the property "
5184 "value.") ]
5185 datetime CallLength;
5186 [Description (
5187 "Last or current number dialed to which the statistics apply, or "
5188 mike 1.2 "NULL if the call was incoming.") ]
5189 string NumberDialed;
5190 };
5191
5192
5193 // ===================================================================
5194 // ISDNModem
5195 // ===================================================================
5196 [Description (
5197 "The ISDNModem class, a kind of call-based Modem. Properties "
5198 "will be defined in a future release of the model.") ]
5199 class CIM_ISDNModem: CIM_CallBasedModem {
5200 };
5201
5202
5203 // ===================================================================
5204 // POTSModem
5205 // ===================================================================
5206 [Description (
5207 "The POTSModem class represents a Device that translates "
5208 "binary data into wave modulations for sound based "
5209 mike 1.2 "transmission. It connects to the POTS (Plain Old Telephone "
5210 "System) network.") ]
5211 class CIM_POTSModem : CIM_CallBasedModem {
5212 [Description (
5213 "Capabilities of the POTSModem. For example, the Device "
5214 "may support distinctive ring, caller ID, fax, voice, etc."),
5215 ArrayType ("Indexed"),
5216 Values {"Unknown", "Other", "Distinctive Ring", "Caller ID",
5217 "Voice", "Fax Class 1", "Fax Class 2", "WakeOnRing",
5218 "Fax Group 3", "GSM Support", "AMPS Support",
5219 "OOB Alerting", "Worldwide Country Support"},
5220 ModelCorrespondence {"CIM_POTSModem.CapabilityDescriptions"} ]
5221 uint16 Capabilities[];
5222 [Description (
5223 "An array of free-form strings providing more detailed "
5224 "explanations for any of the POTSModem features indicated "
5225 "in the Capabilities array. Note, each entry of this array "
5226 "is related to the entry in the Capabilities array that "
5227 "is located at the same index."),
5228 ArrayType ("Indexed"),
5229 ModelCorrespondence {"CIM_POTSModem.Capabilities"} ]
5230 mike 1.2 string CapabilityDescriptions[];
5231 [Description (
5232 "Specifies which capabilities are enabled from the list of "
5233 "ones supported, defined in the Capabilities array."),
5234 Values {"Unknown", "Other", "Distinctive Ring", "Caller ID",
5235 "Voice", "Fax Class 1", "Fax Class 2", "WakeOnRing",
5236 "Fax Group 3", "GSM Support", "AMPS Support",
5237 "OOB Alerting", "Worldwide Country Support"},
5238 ModelCorrespondence {"CIM_POTSModem.Capabilities"} ]
5239 uint16 EnabledCapabilities[];
5240 [Description (
5241 "Defines the maximum settable communication speed "
5242 "to the COM Port for an external modem. Enter 0 if "
5243 "not applicable."),
5244 Units ("Bits per Second") ]
5245 uint32 MaxBaudRateToSerialPort;
5246 [Description (
5247 "Defines the maximum settable communication speed "
5248 "for accessing the phone system."),
5249 Units ("Bits per Second") ]
5250 uint32 MaxBaudRateToPhone;
5251 mike 1.2 [Description (
5252 "Boolean indicating that synchronous, as well as "
5253 "asynchronous, communication is supported.") ]
5254 boolean SupportsSynchronousConnect;
5255 [Description (
5256 "DialType is an integer indicating whether tone (value=1) or "
5257 "pulse dialing (value=2) is used. \"Unknown\" (0) can also be "
5258 "defined."),
5259 Values {"Unknown", "Tone", "Pulse"} ]
5260 uint16 DialType;
5261 [Description (
5262 "InactivityTimeout defines the time limit (in seconds) "
5263 "for automatic disconnection of the phone line, if no data "
5264 "is exchanged. A value of 0 indicates that this "
5265 "feature is present but not enabled."),
5266 Units ("Seconds") ]
5267 uint32 InactivityTimeout;
5268 [Description (
5269 "Describes the volume level of the audible tones from the "
5270 "Modem. For example, high, medium or low volume can be "
5271 "reported (values 3, 4 or 5, respectively)."),
5272 mike 1.2 Values {"Unknown", "Other", "Not Supported", "High",
5273 "Medium", "Low", "Off", "Auto"} ]
5274 uint16 SpeakerVolumeInfo;
5275 [MaxLen (64), Description (
5276 "CountriesSupported is an array of strings defining the "
5277 "countries in which the POTSModem operates.") ]
5278 string CountriesSupported[];
5279 [MaxLen (64), Description (
5280 "CountrySelected is a string value defining the country "
5281 "for which the Modem is currently programmed. When multiple "
5282 "countries are supported, this property defines which one "
5283 "is currently selected for use.") ]
5284 string CountrySelected;
5285 [Description (
5286 "Number of rings before the Modem answers an incoming call.") ]
5287 uint8 RingsBeforeAnswer;
5288 [Description (
5289 "MaxNumberOfPasswords specifies the number of passwords "
5290 "definable in the Modem itself. If this feature is not "
5291 "supported, enter 0.") ]
5292 uint16 MaxNumberOfPasswords;
5293 mike 1.2 [MaxLen (24), Description (
5294 "CurrentPasswords is an array containing the currently defined "
5295 "passwords for the Modem. This array may be left blank for "
5296 "security reasons.") ]
5297 string CurrentPasswords[];
5298 [Description (
5299 "Indication of whether the Modem supports call-back.") ]
5300 boolean SupportsCallback;
5301 [Description (
5302 "AnswerMode defines the current auto-answer/call-back "
5303 "setting for the Modem."),
5304 Values {"Unknown", "Other", "Disabled", "Manual Answer",
5305 "Auto Answer", "Auto Answer with Call-Back"} ]
5306 uint16 AnswerMode;
5307 [Description (
5308 "The current equalization setting for the Modem."),
5309 Values {"Unknown", "Other", "Long", "Short"} ]
5310 uint16 Equalization;
5311 [Description ("List of black-listed numbers for the Modem.") ]
5312 string BlackListedNumbers[];
5313 };
5314 mike 1.2
5315
5316 // ===================================================================
5317 // Unimodem
5318 // ===================================================================
5319 [Description (
5320 "Unimodem is a POTSModem that supports the Unimodem 1.0 "
5321 "Specification.") ]
5322 class CIM_Unimodem : CIM_POTSModem {
5323 [Description ("Current call setup result code."),
5324 Values {"No Previous Call", "No Dial Tone Detected",
5325 "Reorder Signal Detected, Network Busy",
5326 "Busy Signal Detected", "No Recognized Signal Detected",
5327 "Voice Detected", "Text Telephone Detected",
5328 "Data Answering Signal Detected",
5329 "Data Calling Signal Detected",
5330 "Fax Answering Signal Detected",
5331 "Fax Calling Signal Detected", "V.8bis Signal Detected"} ]
5332 uint16 CallSetupResultCode;
5333 [Description ("Current multi-media mode of the Unimodem."),
5334 Values {"Data Only", "Fax Only", "Voice Only", "Voice View",
5335 mike 1.2 "ASVD V.61", "ASVD V.34Q", "DSVD Multi-Tech", "DSVD 1.2",
5336 "DSVD V.70", "Video Telephony H.324", "Other V.80 Call"} ]
5337 uint16 MultiMediaMode;
5338 [Description (
5339 "Current DTE-DCE interface mode of the Unimodem, such as "
5340 "asynchronous, v.80 transparent or framed synchronous modes."),
5341 Values {"Async Data", "V.80 Transparent Synchronous Mode",
5342 "V.80 Framed Synchronous Mode"} ]
5343 uint16 DTEDCEInterfaceMode;
5344 [Description ("The active transmit modulation scheme."),
5345 Values {"V.17 (G3 Fax Call)", "V.21", "V.22", "V.22bis",
5346 "V.23 Constant Carrier (1200/75)",
5347 "V.23 Switched Carrier (Half Duplex)", "V.26bis",
5348 "V.26ter", "V.27ter (G3 Fax Call)",
5349 "V.29 HD (G3 Fax Call)", "V.32", "V.32bis", "V.34",
5350 "V.34 HD (G3 Fax Call)", "V.90 Issue 1 (Asymmetric)",
5351 "V.90 Issue 2 (Symmetric)", "Reserved (V.58)", "X2",
5352 "K56FLEX", "V.FC", "V.32terbo", "Bell 212A",
5353 "Bell 103", "Reserved for Mfgs"} ]
5354 uint16 TransmitCarrierNegotiation;
5355 [Description ("The active receive modulation scheme."),
5356 mike 1.2 Values {"V.17 (G3 Fax Call)", "V.21", "V.22", "V.22bis",
5357 "V.23 Constant Carrier (1200/75)",
5358 "V.23 Switched Carrier (Half Duplex)", "V.26bis",
5359 "V.26ter", "V.27ter (G3 Fax Call)",
5360 "V.29 HD (G3 Fax Call)", "V.32", "V.32bis", "V.34",
5361 "V.34 HD (G3 Fax Call)", "V.90 Issue 1 (Asymmetric)",
5362 "V.90 Issue 2 (Symmetric)", "Reserved (V.58)", "X2",
5363 "K56FLEX", "V.FC", "V.32terbo", "Bell 212A",
5364 "Bell 103", "Reserved for Mfgs"} ]
5365 uint16 ReceiveCarrierNegotiation;
5366 [Description (
5367 "Initial transmit carrier data rate for the current or "
5368 "last call, in bits per second."),
5369 Units ("Bits per Second") ]
5370 uint32 InitialTransmitCarrierDataRate;
5371 [Description (
5372 "Initial receive carrier data rate for the current or last "
5373 "call, in bits per second."),
5374 Units ("Bits per Second") ]
5375 uint32 InitialReceiveCarrierDataRate;
5376 [Description (
5377 mike 1.2 "The number of carrier retrains requested during the current "
5378 "or last call."),
5379 Counter ]
5380 uint8 CarrierRetrainsRequested;
5381 [Description (
5382 "The number of carrier retrains granted during the current "
5383 "or last call."),
5384 Counter ]
5385 uint8 CarrierRetrainsGranted;
5386 [Description (
5387 "Final transmit carrier data rate of the current or last "
5388 "call, in bits per second."),
5389 Units ("Bits per Second") ]
5390 uint32 FinalTransmitCarrierDataRate;
5391 [Description (
5392 "Final receive carrier data rate of the current or last "
5393 "call, in bits per second."),
5394 Units ("Bits per Second") ]
5395 uint32 FinalReceiveCarrierDataRate;
5396 [Description ("Cause of last call termination."),
5397 Values {"Cause Unidentified", "No Previous Call",
5398 mike 1.2 "Call Is Still in Progress", "Call Waiting Signal Detected",
5399 "Delayed", "NMS Initiated Dial Call",
5400 "NMS Initiated Leased Line Restoral", "NMS Initiated Redial",
5401 "NMS Initiated Dial Disconnect", "Power Loss",
5402 "Equipment Failure", "Front Panel Disconnect Requested",
5403 "Front Panel Leased Line Restoral",
5404 "Automatic Leased Line Restoral", "Inactivity Timer Expired",
5405 "cct116 Restoral Request", "cct108 Is Off Inhibits Dial",
5406 "cct108 Turned Off", "No Number Provided", "Blacklisted Number",
5407 "Call Attempts Limit Exceeded", "Extension Phone Off Hook",
5408 "Call Setup Fail Timer Expired", "Incoming Call Detected",
5409 "Loop Current Interrupted", "No Dial Tone", "Voice Detected",
5410 "Reorder Tone", "Sit Tone", "Engaged Tone",
5411 "Long Space Disconnect", "Carrier Lost", "Training Failed",
5412 "No Modulation in Common", "Retrain Failed",
5413 "Retrain Attempt Count Exceeded", "GSTN Cleardown Received",
5414 "Fax Detected", "In Test Mode",
5415 "Intrusive Self Test Initiated", "Any Key Abort",
5416 "DTE Hangup Command", "DTE Reset Command", "Frame Reject",
5417 "No Error Control Established", "Protocol Violation",
5418 "n400 Exceeded", "Negotiation Failed",
5419 mike 1.2 "Disconnect Frame Received", "Sabme Frame Received",
5420 "Loss Of Synchronization"} ]
5421 uint16 TerminationCause;
5422 [Description (
5423 "Diagnostic Command Specification, Unimodem revision number.") ]
5424 string UnimodemRevision;
5425 [Gauge, Description (
5426 "Estimated noise level for the last or current call in "
5427 "-dBm. Values are in the range of 0-100."),
5428 Units ("-dBm") ]
5429 uint32 EstimatedNoiseLevel;
5430 [Description (
5431 "Normalized mean squared error for the last or current call.") ]
5432 uint32 NormalizedMeanSquaredError;
5433 [Description (
5434 "Temporary carrier loss event count for the last or current "
5435 "call."),
5436 Counter ]
5437 uint8 TemporaryCarrierLossEventCount;
5438 [Description (
5439 "Carrier Rate re-negotiation event count for the last or "
5440 mike 1.2 "current call."),
5441 Counter ]
5442 uint8 CarrierRenegotiationEventCount;
5443 [Description (
5444 "Error Control frame size in bytes for the last or current call."),
5445 Units ("Bytes") ]
5446 uint16 ErrorControlFrameSize;
5447 [Description (
5448 "Error control link timeouts in transmission for the last or "
5449 "current call."),
5450 Counter ]
5451 uint8 ErrorControlLinkTimeouts;
5452 [Description (
5453 "Error control link NAKs received for the last or current call."),
5454 Counter ]
5455 uint8 ErrorControlLinkNAKs;
5456 [Description (
5457 "The flow control mechanism used in transmitting data."),
5458 Values {"Unknown", "Off", "DC1/DC3", "V.24 ckt 106/133"} ]
5459 uint16 TransmitFlowControl;
5460 [Description (
5461 mike 1.2 "The flow control mechanism used in receiving data."),
5462 Values {"Unknown", "Off", "DC1/DC3", "V.24 ckt 106/133"} ]
5463 uint16 ReceiveFlowControl;
5464 [Description (
5465 "Number of transmit chars sent from the DTE for the last "
5466 "or current call. A continuous connection may exceed this value, "
5467 "given enough time. Typically these counters are implemented "
5468 "as 32 bit counters, but additional bits may be provided and "
5469 "are accounted for in this property. If these counters hit "
5470 "maximum value, the DCE manufacturer may roll over to 0."),
5471 Counter ]
5472 uint64 TransmitCharsSentFromDTE;
5473 [Description (
5474 "Number of receive chars sent to the DTE for the last or "
5475 "current call. A continuous connection may exceed this value, "
5476 "given enough time. Typically these counters are implemented "
5477 "as 32 bit counters, but additional bits may be provided and "
5478 "are accounted for in this property. If these counters hit "
5479 "maximum value, the DCE manufacturer may roll over to 0."),
5480 Counter ]
5481 uint64 ReceiveCharsSentToDTE;
5482 mike 1.2 [Description (
5483 "Number of transmit characters lost for the last or current "
5484 "call. A DCE may limit this counter to 16 bits, but additional "
5485 "bits may be provided and are accounted for in this property."),
5486 Counter ]
5487 uint64 TransmitCharsLost;
5488 [Description (
5489 "Number of receive characters lost for the last or current "
5490 "call. A DCE may limit this counter to 16 bits, but additional "
5491 "bits may be provided and are accounted for in this property."),
5492 Counter ]
5493 uint64 ReceiveCharsLost;
5494 [Description (
5495 "Number of I-Frames transmitted for the last or current call. "
5496 "A continuous connection may exceed this value, given enough "
5497 "time. Typically these counters are implemented as 32 bit "
5498 "counters, but additional bits may be provided and are accounted "
5499 "for in this property. If these counters hit maximum value, the "
5500 "DCE manufacturer may roll over to 0."),
5501 Counter ]
5502 uint64 TransmitIFrameCount;
5503 mike 1.2 [Description (
5504 "Number of I-Frames received for the last or current call. "
5505 "A continuous connection may exceed this value, given enough "
5506 "time. Typically these counters are implemented as 32 bit "
5507 "counters, but additional bits may be provided and are "
5508 "accounted for in this property. If these counters hit maximum "
5509 "value, the DCE manufacturer may roll over to 0."),
5510 Counter ]
5511 uint64 ReceiveIFrameCount;
5512 [Description (
5513 "Number of I-Frame errors detected for the last or current "
5514 "call, if error control protocol is running. A DCE may limit "
5515 "this counter to 16 bits, but additional bits may be provided "
5516 "and are accounted for in this property."),
5517 Counter ]
5518 uint64 TransmitIFrameErrorCount;
5519 [Description (
5520 "Number of I-Frame errors detected for the last or current "
5521 "call, if error control protocol is running. A DCE may limit "
5522 "this counter to 16 bits, but additional bits may be provided "
5523 "and are accounted for in this property."),
5524 mike 1.2 Counter ]
5525 uint64 ReceivedIFrameErrorCount;
5526 [Description (
5527 "Number of Call waiting events detected for the last or "
5528 "current call."),
5529 Counter ]
5530 uint8 CallWaitingEventCount;
5531 };
5532
5533
5534 // ===================================================================
5535 //
5536 // Storage
5537 //
5538 // ===================================================================
5539
5540
5541 // ===================================================================
5542 // MediaAccessDevice
5543 // ===================================================================
5544 [Description (
5545 mike 1.2 "A MediaAccessDevice represents the ability to access one or "
5546 "more media and use this media to store and retrieve data.") ]
5547 class CIM_MediaAccessDevice : CIM_LogicalDevice {
5548 [Description (
5549 "Capabilities of the MediaAccessDevice. For example, the "
5550 "Device may support \"Random Access\", removeable media and "
5551 "\"Automatic Cleaning\". In this case, the values 3, 7 and 9 "
5552 "would be written to the array.\n"
5553 "Several of the enumerated values require some explanation: "
5554 "1) Value 11, Supports Dual Sided Media, distinguishes a "
5555 "Device that can access both sides of dual sided Media, from "
5556 "a Device that reads only a single side and requires the "
5557 "Media to be flipped; and, 2) Value 12, Predismount Eject "
5558 "Not Required, indicates that Media does not have to be "
5559 "explicitly ejected from the Device before being accessed "
5560 "by a PickerElement."),
5561 ArrayType ("Indexed"),
5562 Values {"Unknown", "Other", "Sequential Access",
5563 "Random Access", "Supports Writing", "Encryption",
5564 "Compression", "Supports Removeable Media",
5565 "Manual Cleaning", "Automatic Cleaning",
5566 mike 1.2 "SMART Notification", "Supports Dual Sided Media",
5567 "Predismount Eject Not Required" },
5568 MappingStrings {"MIF.DMTF|Storage Devices|001.9",
5569 "MIF.DMTF|Storage Devices|001.11",
5570 "MIF.DMTF|Storage Devices|001.12",
5571 "MIF.DMTF|Disks|003.7", "MIF.DMTF|Host Disk|001.2",
5572 "MIF.DMTF|Host Disk|001.4"},
5573 ModelCorrespondence {
5574 "CIM_MediaAccessDevice.CapabilityDescriptions"} ]
5575 uint16 Capabilities[];
5576 [Description (
5577 "An array of free-form strings providing more detailed "
5578 "explanations for any of the AccessDevice features indicated "
5579 "in the Capabilities array. Note, each entry of this array "
5580 "is related to the entry in the Capabilities array that "
5581 "is located at the same index."),
5582 ArrayType ("Indexed"),
5583 ModelCorrespondence {"CIM_MediaAccessDevice.Capabilities"} ]
5584 string CapabilityDescriptions[];
5585 [Description (
5586 "ErrorMethodology is a free-form string describing "
5587 mike 1.2 "the type(s) of error detection and correction supported "
5588 "by this Device.") ]
5589 string ErrorMethodology;
5590 [Description (
5591 "A free form string indicating the algorithm or tool used by "
5592 "the device to support compression. "
5593 "If it is not possible or not desired to describe the "
5594 "compression scheme (perhaps because it is not known), "
5595 "recommend using the following words: \"Unknown\" to "
5596 "represent that it is not known whether the device supports "
5597 "compression capabilities or not, \"Compressed\" to represent "
5598 "that the device supports compression capabilities but either "
5599 "its compression scheme is not known or not disclosed, and "
5600 "\"Not Compressed\" to represent that the devices does not "
5601 "support compression capabilities.") ]
5602 string CompressionMethod;
5603 [Description (
5604 "When the MediaAccessDevice supports multiple individual "
5605 "Media, this property defines the maximum number which can "
5606 "be supported or inserted.") ]
5607 uint32 NumberOfMediaSupported;
5608 mike 1.2 [Description (
5609 "Maximum size, in KBytes, of media supported by this Device. "
5610 "KBytes is interpreted as the number of bytes multiplied by "
5611 "1000 (NOT the number of bytes multiplied by 1024)."),
5612 MappingStrings {"MIF.DMTF|Sequential Access Devices|001.2",
5613 "MIF.DMTF|Host Disk|001.5"} ]
5614 uint64 MaxMediaSize;
5615 [Description ("Default block size, in bytes, for this Device."),
5616 Units ("Bytes") ]
5617 uint64 DefaultBlockSize;
5618 [Description (
5619 "Maximum block size, in bytes, for media accessed by this "
5620 "Device."),
5621 Units ("Bytes") ]
5622 uint64 MaxBlockSize;
5623 [Description (
5624 "Minimum block size, in bytes, for media accessed by this "
5625 "Device."),
5626 Units ("Bytes") ]
5627 uint64 MinBlockSize;
5628 [Description (
5629 mike 1.2 "Boolean indicating that the MediaAccessDevice needs cleaning. "
5630 "Whether manual or automatic cleaning is possible is indicated "
5631 "in the Capabilities array property. ") ]
5632 boolean NeedsCleaning;
5633 [Description (
5634 "True indicates that the media is locked in the Device "
5635 "and can not be ejected. For non-removeable Devices, this "
5636 "value should be true.") ]
5637 boolean MediaIsLocked;
5638 [Description (
5639 "An enumeration indicating the operational security defined "
5640 "for the MediaAccessDevice. For example, information that "
5641 "the Device is \"Read Only\" (value=4) or \"Boot Bypass\" "
5642 "(value=6) can be described using this property."),
5643 ValueMap {"1", "2", "3", "4", "5", "6", "7"},
5644 Values {"Other", "Unknown", "None", "Read Only", "Locked Out",
5645 "Boot Bypass", "Boot Bypass and Read Only"},
5646 MappingStrings {"MIF.DMTF|Disks|003.22"} ]
5647 uint16 Security;
5648 [Description (
5649 "The date and time on which the Device was last cleaned.") ]
5650 mike 1.2 datetime LastCleaned;
5651 [Description (
5652 "Time in milliseconds to move from the first location on "
5653 "the Media to the location that is furthest with respect to "
5654 "time. For a DiskDrive, this represents full seek + full "
5655 "rotational delay. For TapeDrives, this represents a search "
5656 "from the beginning of the tape to the most physically "
5657 "distant point. (The end of a tape may be at its most "
5658 "physically distant point, but this is not necessarily "
5659 "true.)"),
5660 Units ("MilliSeconds") ]
5661 uint64 MaxAccessTime;
5662 [Description (
5663 "The sustained data transfer rate in KB/sec that the "
5664 "Device can read from and write to a Media. This is a "
5665 "sustained, raw data rate. Maximum rates or rates "
5666 "assuming compression should not be reported in this "
5667 "property."),
5668 Units ("KiloBytes per Second") ]
5669 uint32 UncompressedDataRate;
5670 [Description (
5671 mike 1.2 "Time in milliseconds from 'load' to being able to read "
5672 "or write a Media. For example, for DiskDrives, this is "
5673 "the interval between a disk not spinning to the disk "
5674 "reporting that it is ready for read/write (ie, the disk "
5675 "spinning at nominal speeds). For TapeDrives, this is "
5676 "the time from a Media being injected to reporting that "
5677 "it is ready for an application. This is usually at the "
5678 "tape's BOT area."),
5679 Units ("MilliSeconds") ]
5680 uint64 LoadTime;
5681 [Description (
5682 "Time in milliseconds from being able to read or write a "
5683 "Media to its 'unload'. For example, for DiskDrives, "
5684 "this is the interval between a disk spinning at nominal "
5685 "speeds and a disk not spinning. For TapeDrives, this is "
5686 "the time for a Media to go from its BOT to being fully "
5687 "ejected and accessible to a PickerElement or human "
5688 "operator."),
5689 Units ("MilliSeconds") ]
5690 uint64 UnloadTime;
5691 [Description (
5692 mike 1.2 "For a MediaAccessDevice that supports removable Media, "
5693 "the number of times that Media have been mounted for "
5694 "data transfer or to clean the Device. For Devices "
5695 "accessing nonremovable Media, such as hard disks, "
5696 "this property is not applicable and should be set to 0."),
5697 Counter ]
5698 uint64 MountCount;
5699 [Description (
5700 "For a MediaAccessDevice that supports removable Media, "
5701 "the most recent date and time that Media was mounted "
5702 "on the Device. For Devices accessing nonremovable Media, "
5703 "such as hard disks, this property has no meaning and is "
5704 "not applicable.") ]
5705 datetime TimeOfLastMount;
5706 [Description (
5707 "For a MediaAccessDevice that supports removable Media, "
5708 "the total time (in seconds) that Media have been mounted "
5709 "for data transfer or to clean the Device. For Devices "
5710 "accessing nonremovable Media, such as hard disks, "
5711 "this property is not applicable and should be set to 0.") ]
5712 uint64 TotalMountTime;
5713 mike 1.2 [Description (
5714 "Defines 'Units' relative to its use in the property, "
5715 "MaxUnitsBeforeCleaning. This describes the criteria used "
5716 "to determine when the MediaAccessDevice should be cleaned."),
5717 ModelCorrespondence {
5718 "CIM_MediaAccessDevice.MaxUnitsBeforeCleaning",
5719 "CIM_MediaAccessDevice.UnitsUsed"} ]
5720 string UnitsDescription;
5721 [Description (
5722 "An unsigned integer indicating the maximum 'units' "
5723 "that can be used, with respect to the AccessDevice, "
5724 "before the Device should be cleaned. The property, "
5725 "UnitsDescription, defines how 'units' should be "
5726 "interpreted."),
5727 ModelCorrespondence {
5728 "CIM_MediaAccessDevice.UnitsDescription"} ]
5729 uint64 MaxUnitsBeforeCleaning;
5730 [Description (
5731 "An unsigned integer indicating the currently used "
5732 "'units' of the AccessDevice, helpful to describe "
5733 "when the Device may require cleaning. The property, "
5734 mike 1.2 "UnitsDescription, defines how 'units' should be "
5735 "interpreted."),
5736 Gauge,
5737 ModelCorrespondence {
5738 "CIM_MediaAccessDevice.UnitsDescription",
5739 "CIM_MediaAccessDevice.MaxUnitsBeforeCleaning"}]
5740 uint64 UnitsUsed;
5741 [Description (
5742 "Method to lock and unlock the media in a removeable Access"
5743 "Device. The method takes one parameter as input - a boolean "
5744 "indicating whether to lock or unlock. TRUE indicates that "
5745 "the media should be locked in the Device, FALSE indicates "
5746 "that the media should be unlocked. The method returns 0 if "
5747 "successful, 1 if not supported, and any other value if an "
5748 "error occurred. The set of possible return codes should be "
5749 "specified in a ValueMap qualifier on the method. The strings "
5750 "to which the ValueMap contents are 'translated' should be "
5751 "specified as a Values array qualifier on the method.") ]
5752 uint32 LockMedia (
5753 [IN] boolean Lock);
5754 };
5755 mike 1.2
5756
5757 // ===================================================================
5758 // DiskDrive
5759 // ===================================================================
5760 [Description (
5761 "Capabilities and managment of a DiskDrive, a subtype of "
5762 "MediaAccessDevice.") ]
5763 class CIM_DiskDrive : CIM_MediaAccessDevice {
5764 };
5765
5766
5767 // ===================================================================
5768 // DisketteDrive
5769 // ===================================================================
5770 [Description (
5771 "Capabilities and managment of a DisketteDrive, a subtype of "
5772 "MediaAccessDevice.") ]
5773 class CIM_DisketteDrive : CIM_MediaAccessDevice {
5774 };
5775
5776 mike 1.2
5777 // ===================================================================
5778 // CDROMDrive
5779 // ===================================================================
5780 [Description (
5781 "Capabilities and managment of a CDROMDrive, a subtype of "
5782 "MediaAccessDevice.") ]
5783 class CIM_CDROMDrive : CIM_MediaAccessDevice {
5784 };
5785
5786
5787 // ===================================================================
5788 // DVDDrive
5789 // ===================================================================
5790 [Description (
5791 "Capabilities and management of a DVDDrive, a subtype of "
5792 "MediaAccessDevice.") ]
5793 class CIM_DVDDrive : CIM_MediaAccessDevice {
5794 [Description (
5795 "The CD and DVD formats that are supported by this Device. "
5796 "For example, the Drive may support \"CD-ROM\" and "
5797 mike 1.2 "\"DVD-RAM\". In this case, the values 16 and 24 would be "
5798 "written to the array. This property's values align with "
5799 "those defined in PhysicalMedia.MediaType."),
5800 ValueMap {"0", "1", "16", "17", "18", "19", "22", "23", "24",
5801 "25", "26", "27", "33", "34", "35", "36", "37", "38",
5802 "39", "40", "41", "42"},
5803 Values {"Unknown", "Other", "CD-ROM", "CD-ROM/XA",
5804 "CD-I", "CD Recordable", "DVD", "DVD-RW+",
5805 "DVD-RAM", "DVD-ROM", "DVD-Video", "Divx", "CD-RW",
5806 "CD-DA", "CD+", "DVD Recordable", "DVD-RW",
5807 "DVD-Audio", "DVD-5", "DVD-9", "DVD-10", "DVD-18"},
5808 ModelCorrespondence {"CIM_PhysicalMedia.MediaType"} ]
5809 uint16 FormatsSupported[];
5810 };
5811
5812
5813 // ===================================================================
5814 // WORMDrive
5815 // ===================================================================
5816 [Description (
5817 "Capabilities and managment of a WORMDrive, a subtype of "
5818 mike 1.2 "MediaAccessDevice.") ]
5819 class CIM_WORMDrive : CIM_MediaAccessDevice {
5820 };
5821
5822
5823 // ===================================================================
5824 // MagnetoOpticalDrive
5825 // ===================================================================
5826 [Description (
5827 "Capabilities and managment of a MagnetoOpticalDrive, a "
5828 "subtype of MediaAccessDevice.") ]
5829 class CIM_MagnetoOpticalDrive : CIM_MediaAccessDevice {
5830 };
5831
5832
5833 // ===================================================================
5834 // TapeDrive
5835 // ===================================================================
5836 [Description (
5837 "Capabilities and managment of a TapeDrive, a subtype of "
5838 "MediaAccessDevice.") ]
5839 mike 1.2 class CIM_TapeDrive : CIM_MediaAccessDevice {
5840 [Description (
5841 "EOTWarningZoneSize indicates the size, in bytes, of the "
5842 "area designated as 'end of tape'. Access in this area "
5843 "generates an 'end of tape' warning."),
5844 Units ("Bytes") ]
5845 uint32 EOTWarningZoneSize;
5846 [Description ("Maximum partition count for the TapeDrive.") ]
5847 uint32 MaxPartitionCount;
5848 [Description (
5849 "Padding indicates the number of bytes inserted between "
5850 "blocks on a tape Media."),
5851 Units ("Bytes") ]
5852 uint32 Padding;
5853 [Description (
5854 "Time in milliseconds to move from the most physically distant "
5855 "point on the tape to the beginning."),
5856 Units ("MilliSeconds") ]
5857 uint64 MaxRewindTime;
5858 };
5859
5860 mike 1.2
5861 // ===================================================================
5862 // StorageExtent
5863 // ===================================================================
5864 [Description (
5865 "StorageExtent describes the capabilities and management of "
5866 "the various media that exist to store data and allow data "
5867 "retrieval. This superclass could be used to represent the "
5868 "various components of RAID (Hardware or Software) or as a "
5869 "raw logical extent on top of physical media.") ]
5870 class CIM_StorageExtent : CIM_LogicalDevice {
5871 [Description ("Type of data organization used."),
5872 Values {"Other", "Unknown", "Fixed Block", "Variable Block",
5873 "Count Key Data"} ]
5874 uint16 DataOrganization;
5875 [Description (
5876 "A free form string describing the media and/or its use."),
5877 MappingStrings {
5878 "MIB.IETF|HOST-RESOURCES-MIB.hrStorageDescr"} ]
5879 string Purpose;
5880 [Description (
5881 mike 1.2 "Access describes whether the media is readable (value=1), "
5882 "writeable (value=2), or both (value=3). \"Unknown\" (0) "
5883 "and \"Write Once\" (4) can also be defined."),
5884 Values {"Unknown", "Readable", "Writeable",
5885 "Read/Write Supported", "Write Once"} ]
5886 uint16 Access;
5887 [Description (
5888 "ErrorMethodology is a free-form string describing "
5889 "the type of error detection and correction supported "
5890 "by this StorageExtent.") ]
5891 string ErrorMethodology;
5892 [Description (
5893 "Size in bytes of the blocks which form this StorageExtent. "
5894 "If variable block size, then the maximum block size in bytes "
5895 "should be specified. If the block size is unknown or if a "
5896 "block concept is not valid (for example, for Aggregate Extents, "
5897 "Memory or LogicalDisks), enter a 1."),
5898 Units ("Bytes"),
5899 MappingStrings {"MIF.DMTF|Host Storage|001.4",
5900 "MIB.IETF|HOST-RESOURCES-MIB.hrStorageAllocationUnits",
5901 "MIF.DMTF|Storage Devices|001.5"} ]
5902 mike 1.2 uint64 BlockSize;
5903 [Description (
5904 "Total number of logically contiguous blocks, of size Block"
5905 "Size, which form this Extent. The total size of the Extent "
5906 "can be calculated by multiplying BlockSize by NumberOfBlocks. "
5907 "If the BlockSize is 1, this property is the total size of the "
5908 "Extent."),
5909 MappingStrings {"MIF.DMTF|Host Storage|001.5",
5910 "MIB.IETF|HOST-RESOURCES-MIB.hrStorageSize"} ]
5911 uint64 NumberOfBlocks;
5912 [Description (
5913 "The maximum number of blocks, of size BlockSize, which are "
5914 "available for consumption when layering StorageExtents "
5915 "using the BasedOn association. This property only has meaning "
5916 "when this StorageExtent is an Antecedent reference in a "
5917 "BasedOn relationship. For example, a StorageExtent could be "
5918 "composed of 120 blocks. However, the Extent itself may use 20 "
5919 "blocks for redundancy data. If another StorageExtent is BasedOn "
5920 "this Extent, only 100 blocks would be available to it. This "
5921 "information ('100 blocks is available for consumption') is "
5922 "indicated in the ConsumableBlocks property.") ]
5923 mike 1.2 uint64 ConsumableBlocks;
5924 [Description (
5925 "True indicates that the underlying StorageExtent(s) "
5926 "participate in a StorageRedundancyGroup.") ]
5927 boolean IsBasedOnUnderlyingRedundancy;
5928 [Description (
5929 "Boolean set to TRUE if the Storage is sequentially accessed "
5930 "by a MediaAccessDevice. A TapePartition is an example of a "
5931 "sequentially accessed StorageExtent. StorageVolumes, Disk"
5932 "Partitions and LogicalDisks represent randomly accessed "
5933 "Extents.") ]
5934 boolean SequentialAccess;
5935 };
5936
5937
5938 // ===================================================================
5939 // ResidesOnExtent
5940 // ===================================================================
5941 [Association, Description (
5942 "An association between a FileSystem and the StorageExtent "
5943 "where it is located. Typically, a FileSystem ResidesOn "
5944 mike 1.2 "a LogicalDisk.") ]
5945 class CIM_ResidesOnExtent : CIM_Dependency {
5946 [Override ("Antecedent"), Description ("The StorageExtent.") ]
5947 CIM_StorageExtent REF Antecedent;
5948 [Override ("Dependent"), Description (
5949 "The FileSystem that is located on the StorageExtent.") ]
5950 CIM_FileSystem REF Dependent;
5951 };
5952
5953
5954 // ===================================================================
5955 // BasedOn
5956 // ===================================================================
5957 [Association, Description (
5958 "BasedOn is an association describing how StorageExtents can "
5959 "be assembled from lower level Extents. For example, "
5960 "ProtectedSpaceExtents are parts of PhysicalExtents, while "
5961 "VolumeSets are assembled from one or more Physical or "
5962 "ProtectedSpaceExtents. As another example, CacheMemory "
5963 "can be defined independently and realized in a PhysicalElement "
5964 "or can be 'based on' Volatile or NonVolatileStorageExtents.") ]
5965 mike 1.2 class CIM_BasedOn : CIM_Dependency {
5966 [Override ("Antecedent"), Description (
5967 "The lower level StorageExtent.") ]
5968 CIM_StorageExtent REF Antecedent;
5969 [Override ("Dependent"), Description (
5970 "The higher level StorageExtent.") ]
5971 CIM_StorageExtent REF Dependent;
5972 [Description (
5973 "StartingAddress indicates where in lower level storage, "
5974 "the higher level Extent begins.") ]
5975 uint64 StartingAddress;
5976 [Description (
5977 "EndingAddress indicates where in lower level storage, "
5978 "the higher level Extent ends. This property is useful when "
5979 "mapping non-contiguous Extents into a higher level grouping.") ]
5980 uint64 EndingAddress;
5981 [Description (
5982 "If there is an order to the BasedOn associations that "
5983 "describe how a higher level StorageExtent is assembled, the "
5984 "OrderIndex property indicates this. When an order exists, "
5985 "the instances of BasedOn with the same Dependent value "
5986 mike 1.2 "(i.e., the same higher level Extent) should place unique "
5987 "values in the OrderIndex property. The lowest value implies "
5988 "the first member of the collection of lower level Extents, "
5989 "and increasing values imply successive members of the "
5990 "collection. If there is no ordered relationship, a value "
5991 "of zero should be specified. An example of the use of this "
5992 "property is to define a RAID-0 striped array of 3 disks. "
5993 "The resultant RAID array is a StorageExtent that is "
5994 "dependent on (BasedOn) the StorageExtents that describe "
5995 "each of the 3 disks. The OrderIndex of each BasedOn "
5996 "association from the disk Extents to the RAID array could "
5997 "be specified as 1, 2 and 3 to indicate the order in which "
5998 "the disk Extents are used to access the RAID data.") ]
5999 uint16 OrderIndex;
6000 };
6001
6002
6003 // ===================================================================
6004 // MediaPresent
6005 // ===================================================================
6006 [Association, Description (
6007 mike 1.2 "Where a StorageExtent must be accessed through a MediaAccess"
6008 "Device, this relationship is described by the MediaPresent "
6009 "association."),
6010 MappingStrings {"MIF.DMTF|Storage Devices|001.8"} ]
6011 class CIM_MediaPresent : CIM_Dependency {
6012 [Override ("Antecedent"),
6013 Description ("The MediaAccessDevice.") ]
6014 CIM_MediaAccessDevice REF Antecedent;
6015 [Override ("Dependent"), Description (
6016 "The StorageExtent accessed using the MediaAccessDevice.") ]
6017 CIM_StorageExtent REF Dependent;
6018 [Description (
6019 "Boolean indicating that the accessed StorageExtent is "
6020 "fixed in the MediaAccessDevice and can not be ejected.") ]
6021 boolean FixedMedia;
6022 };
6023
6024
6025 // ===================================================================
6026 // StorageError
6027 // ===================================================================
6028 mike 1.2 [Description (
6029 "StorageError defines blocks of media or memory space that are "
6030 "mapped 'out of use' due to errors. The Key of the class is "
6031 "the StartingAddress of the bytes in error.") ]
6032 class CIM_StorageError : CIM_ManagedElement {
6033 [Propagated("CIM_StorageExtent.SystemCreationClassName"),
6034 Key, MaxLen (256),
6035 Description ("The scoping System's CreationClassName.") ]
6036 string SystemCreationClassName;
6037 [Propagated("CIM_StorageExtent.SystemName"),
6038 Key, MaxLen (256),
6039 Description ("The scoping System's Name.") ]
6040 string SystemName;
6041 [Propagated("CIM_StorageExtent.CreationClassName"),
6042 Key, MaxLen (256),
6043 Description ("The scoping StorageExtent's CreationClassName.") ]
6044 string DeviceCreationClassName;
6045 [Propagated("CIM_StorageExtent.DeviceID"),
6046 Key, MaxLen (64),
6047 Description ("The scoping StorageExtent's DeviceID.") ]
6048 string DeviceID;
6049 mike 1.2 [Key,
6050 Description ("The starting address of the bytes in error.") ]
6051 uint64 StartingAddress;
6052 [Description ("The ending address of the bytes in error.") ]
6053 uint64 EndingAddress;
6054 };
6055
6056
6057 // ===================================================================
6058 // StorageDefect
6059 // ===================================================================
6060 [Association, Aggregation, Description (
6061 "The StorageDefect aggregation collects the StorageErrors for "
6062 "a StorageExtent.") ]
6063 class CIM_StorageDefect {
6064 [Key, Aggregate, Min (1), Max (1), Description (
6065 "The Extent reference defines the StorageExtent on which the "
6066 "errors occurred.") ]
6067 CIM_StorageExtent REF Extent;
6068 [Key, Weak, Description (
6069 "Error references the Error object, defining the starting "
6070 mike 1.2 "and ending addresses that are 'mapped out' of the Storage"
6071 "Extent.") ]
6072 CIM_StorageError REF Error;
6073 };
6074
6075
6076 // ===================================================================
6077 // PhysicalExtent
6078 // ===================================================================
6079 [Description (
6080 "A PhysicalExtent is used to model an SCC RAID "
6081 "implementation. It defines the consecutive addressable "
6082 "block addresses on a single storage device, that are "
6083 "treated as a single StorageExtent and that are in the "
6084 "same StorageRedundancyGroup. An alternate possibility, "
6085 "if automatic configuration is used, is to instantiate or "
6086 "extend the AggregatePExtent class.") ]
6087 class CIM_PhysicalExtent : CIM_StorageExtent {
6088 // Override is used to define the MappingString qualifier
6089 [Override ("BlockSize"),
6090 MappingStrings {"MIF.DMTF|Physical Extent|001.4"} ]
6091 mike 1.2 uint64 BlockSize;
6092 // Override is used to define the MappingString qualifier
6093 [Override ("NumberOfBlocks"),
6094 MappingStrings {"MIF.DMTF|Physical Extent|001.3"} ]
6095 uint64 NumberOfBlocks;
6096 [Description (
6097 "Number of bytes of user data to skip before "
6098 "starting the check data interleave."),
6099 Units ("Bytes"),
6100 MappingStrings {"MIF.DMTF|Physical Extent|001.6"} ]
6101 uint64 UnitsBeforeCheckDataInterleave;
6102 [Description (
6103 "Number of bytes to be reserved for check data."),
6104 Units ("Bytes"),
6105 MappingStrings {"MIF.DMTF|Physical Extent|001.7"} ]
6106 uint64 UnitsOfCheckData;
6107 [Description (
6108 "Number of bytes to be reserved for user data."),
6109 Units ("Bytes"),
6110 MappingStrings {"MIF.DMTF|Physical Extent|001.8"} ]
6111 uint64 UnitsOfUserData;
6112 mike 1.2 };
6113
6114
6115 // ===================================================================
6116 // ProtectedSpaceExtent
6117 // ===================================================================
6118 [Description (
6119 "A ProtectedSpaceExtent is used to model an SCC RAID "
6120 "implementation. ProtectedSpaceExtent defines addressable logical "
6121 "block addresses, treated as a single Extent, located on one or "
6122 "more PhysicalExtents. ProtectedSpaceExtents exclude any logical "
6123 "blocks mapped as check data and contain user data stripe depth "
6124 "mapping information. An alternate possibility, if automatic "
6125 "configuration is used, is to instantiate or extend the Aggregate"
6126 "PSExtent class.") ]
6127 class CIM_ProtectedSpaceExtent : CIM_StorageExtent {
6128 // Override is used to define the MappingString qualifier
6129 [Override ("BlockSize"),
6130 MappingStrings {"MIF.DMTF|Protected Space Extent|001.4"} ]
6131 uint64 BlockSize;
6132 [Override ("NumberOfBlocks"),
6133 mike 1.2 Description (
6134 "The number of user data blocks contained in this Extent."),
6135 MappingStrings {"MIF.DMTF|Protected Space Extent|001.3"} ]
6136 uint64 NumberOfBlocks;
6137 [Description (
6138 "For a ProtectedSpaceExtent that is allocated to a VolumeSet, "
6139 "(i.e. is named in a CIM_VolumeSetBasedOnPSExtent "
6140 "association), this property is the number of user data bytes "
6141 "placed on this ProtectedSpaceExtent before moving on to the "
6142 "next ProtectedSpaceExtent in the VolumeSet. Otherwise, this "
6143 "ProtectedSpaceExtent is considered to be unallocated and "
6144 "this property shall be set to zero (0h.)"),
6145 Units ("Bytes"),
6146 MappingStrings {"MIF.DMTF|Protected Space Extent|001.6"} ]
6147 uint64 UserDataStripeDepth;
6148 };
6149
6150
6151 // ===================================================================
6152 // PSExtentBasedOnPExtent
6153 // ===================================================================
6154 mike 1.2 [Association, Description (
6155 "ProtectedSpaceExtents are BasedOn a PhysicalExtent. This "
6156 "relationship is made explicit in this association.") ]
6157 class CIM_PSExtentBasedOnPExtent : CIM_BasedOn {
6158 [Override ("Antecedent"), Description (
6159 "The PhysicalExtent.") ]
6160 CIM_PhysicalExtent REF Antecedent;
6161 [Override ("Dependent"), Description (
6162 "The ProtectedSpaceExtent which is built on the Physical"
6163 "Extent.") ]
6164 CIM_ProtectedSpaceExtent REF Dependent;
6165 [Override ("StartingAddress"), Description (
6166 "The starting logical block address of the PhysicalExtent "
6167 "from which this ProtectedSpaceExtent is derived."),
6168 MappingStrings {"MIF.DMTF|Protected Space Extent|001.2"} ]
6169 uint64 StartingAddress;
6170 };
6171
6172
6173 // ===================================================================
6174 // StorageVolume
6175 mike 1.2 // ===================================================================
6176 [Description (
6177 "A StorageVolume is an Extent that is presented to the Operating"
6178 "System (for example, by a hardware RAID cabinet), to a File"
6179 "System (for example, by a software volume manager) or to another "
6180 "entity. StorageVolumes do NOT participate in StorageRedundancy"
6181 "Groups. They are directly Realized in hardware or are the end "
6182 "result of assembling lower level Extents.") ]
6183 class CIM_StorageVolume : CIM_StorageExtent {
6184 };
6185
6186
6187 // ===================================================================
6188 // VolumeSet
6189 // ===================================================================
6190 [Description (
6191 "A VolumeSet is used to model an SCC RAID implementation. "
6192 "VolumeSets represent a contiguous range of logical blocks "
6193 "presented to the operating environment. VolumeSets may overlap. "
6194 "However, the underlying PhysicalExtents within the overlap "
6195 "shall not contain any check data. They are BasedOn one or more "
6196 mike 1.2 "ProtectedSpaceExtents. These BasedOn associations should be "
6197 "instantiated or subclassed as needed.") ]
6198 class CIM_VolumeSet : CIM_StorageVolume {
6199 // Override is used to define the MappingString qualifier
6200 [Override ("NumberOfBlocks"),
6201 MappingStrings {"MIF.DMTF|Volume Set|001.3"} ]
6202 uint64 NumberOfBlocks;
6203 [Description (
6204 "Number of contiguous ProtectedSpaceExtents counted "
6205 "before looping back to the first ProtectedSpaceExtent "
6206 "of the current stripe. It is the number of Extents forming "
6207 "the user data stripe."),
6208 MappingStrings {"MIF.DMTF|Volume Set|001.4"} ]
6209 uint64 PSExtentStripeLength;
6210 [Description (
6211 "Number of ProtectedSpaceExtents to stripe as a collective "
6212 "set. In SCC, this value is defined as the number of stripes "
6213 "to count before continuing to map into the next contiguous "
6214 "set of Extents, beyond the current stripe."),
6215 MappingStrings {"MIF.DMTF|Volume Set|001.5"} ]
6216 uint64 PSExtentInterleaveDepth;
6217 mike 1.2 [Description (
6218 "VolumeSets in SCC have additional status information "
6219 "beyond that captured in the Availability and StatusInfo "
6220 "properties, inherited from ManagedSystemElement. This "
6221 "additional information (for example, \"Protection Disabled\", "
6222 "value=9) is captured in the VolumeStatus property."),
6223 Values {"Other", "Unknown", "None/Not Applicable", "Broken",
6224 "Data Lost", "Dynamic Reconfig", "Exposed",
6225 "Fractionally Exposed", "Partially Exposed",
6226 "Protection Disabled", "Readying", "Rebuild",
6227 "Recalculate", "Spare in Use", "Verify In Progress"} ]
6228 uint16 VolumeStatus;
6229 };
6230
6231
6232 // ===================================================================
6233 // VolumeSetBasedOnPSExtent
6234 // ===================================================================
6235 [Association, Description (
6236 "VolumeSets are BasedOn on one or more ProtectedSpaceExtents. "
6237 "This relationship is made explicit in this association.") ]
6238 mike 1.2 class CIM_VolumeSetBasedOnPSExtent : CIM_BasedOn {
6239 [Override ("Antecedent"), Min (1),
6240 Description ("The ProtectedSpaceExtent.") ]
6241 CIM_ProtectedSpaceExtent REF Antecedent;
6242 [Override ("Dependent"), Description (
6243 "The VolumeSet which is built on the ProtectedSpaceExtent.") ]
6244 CIM_VolumeSet REF Dependent;
6245 [Description (
6246 "True if logical blocks in the ProtectedSpaceExtent are mapped "
6247 "in decrementing order. This property corresponds to the INCDEC "
6248 "value in the SCC-2 Volume Set PS_Extent Descriptor.") ]
6249 boolean LBAsMappedByDecrementing;
6250 [Description (
6251 "True if the logical block mapping algorithm includes check data "
6252 "bytes. This property corresponds to the NOCHKSKIP attribute in "
6253 "the SCC-2 Volume Set PS_Extent Descriptor.") ]
6254 boolean LBAMappingIncludesCheckData;
6255 };
6256
6257
6258 // ===================================================================
6259 mike 1.2 // MediaPartition
6260 // ===================================================================
6261 [Description (
6262 "A MediaPartition is a presentation of a contiguous range "
6263 "of logical blocks and has identifying data written on/to it. "
6264 "It may include a signature written by the OS or by "
6265 "an application. This class is a common superclass for Disk and "
6266 "TapePartions. Partitions are directly realized by Physical"
6267 "Media (indicated by the RealizesExtent association) or built "
6268 "on StorageVolumes (indicated by the BasedOn association.") ]
6269 class CIM_MediaPartition : CIM_StorageExtent {
6270 [Description (
6271 "Boolean indicating that the Partition is labeled as "
6272 "bootable. (Note that this does not mean that an Operating"
6273 "System is actually loaded on the Partition.) With the advent "
6274 "of bootable Tape and other bootable media, this property is "
6275 "included in the higher level MediaPartition class, rather "
6276 "than in a subclass such as DiskPartition.") ]
6277 boolean Bootable;
6278 [Description (
6279 "Boolean indicating that the Partition is available and "
6280 mike 1.2 "may be allocated for use.") ]
6281 boolean Allocatable;
6282 [Description (
6283 "An identifying string written to the Partition. Additional "
6284 "information related to this 'Signature' may be found in the "
6285 "properties, SignatureState and SignatureAlgorithm."),
6286 ModelCorrespondence {"CIM_MediaPartition.SignatureState",
6287 "CIM_MediaPartition.SignatureAlgorithm"} ]
6288 string Signature;
6289 [Description (
6290 "A free-form string describing the algorithm used to "
6291 "define the Partition Signature. The value of this property "
6292 "is dependent on the Signature's State. "),
6293 ModelCorrespondence {"CIM_MediaPartition.Signature",
6294 "CIM_MediaPartition.SignatureState"} ]
6295 string SignatureAlgorithm;
6296 [Description (
6297 "An enumeration describing the state of the Partition's "
6298 "identifying Signature string. Information such as "
6299 "\"Uninitialized\" (value=2), or \"Assigned by Owning "
6300 "Application\" (value=5) are possible entries. "),
6301 mike 1.2 Values {"Unknown", "Unimplemented", "Uninitialized",
6302 "Calculated by Operating System",
6303 "Calculated by a Media Manager",
6304 "Assigned by Owning Application"},
6305 ModelCorrespondence {"CIM_MediaPartition.Signature",
6306 "CIM_MediaPartition.SignatureAlgorithm"} ]
6307 string SignatureState;
6308 [Description (
6309 "Boolean indicating that the Partition can be grown/extended "
6310 "without reformatting.") ]
6311 boolean Extendable;
6312 };
6313
6314
6315 // ===================================================================
6316 // DiskPartition
6317 // ===================================================================
6318 [Description (
6319 "A DiskPartition is a presentation of a contiguous range "
6320 "of logical blocks that is identifiable by the Operating"
6321 "System via the Partition's type and subtype fields. Disk"
6322 mike 1.2 "Partitions should be directly realized by PhysicalMedia "
6323 "(indicated by the RealizesDiskPartition association) or built "
6324 "on StorageVolumes (indicated by the PartitionBasedOnVolume "
6325 "association.") ]
6326 class CIM_DiskPartition : CIM_MediaPartition {
6327 [Description (
6328 "Boolean indicating that the DiskPartition is labelled as "
6329 "the primary partition for a ComputerSystem.") ]
6330 boolean PrimaryPartition;
6331 [Description ("The type of Partition."),
6332 Values {"Unknown", "Primary", "Extended", "Logical"} ]
6333 uint16 PartitionType;
6334 [Description (
6335 "The 'sub' type of a primary, extended, or logical Partition. "
6336 "The list of possible values corresponds to the decimal "
6337 "representation of the typical values in the Partition record."),
6338 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
6339 "10", "11", "12", "14", "15", "16", "17", "18",
6340 "20", "22", "23", "27", "28", "33", "35", "36",
6341 "38", "49", "51", "52", "53", "54", "55", "60",
6342 "64", "65", "66", "67", "80", "81", "82", "83",
6343 mike 1.2 "84", "85", "86", "97", "99", "100", "101", "102",
6344 "103", "104", "105", "113", "115", "116", "117",
6345 "118", "119", "120", "121", "128", "129", "130",
6346 "131", "132", "134", "135", "147", "148", "161",
6347 "163", "164", "165", "166", "177", "179", "180",
6348 "182", "183", "184", "193", "196", "198", "199",
6349 "216", "219", "225", "227", "228", "229", "230",
6350 "239", "240", "241", "242", "243", "244", "246",
6351 "254", "255", "65535"},
6352 Values {"Empty | Microsoft", "DOS 12-bit FAT",
6353 "XENIX root", "XENIX usr", "DOS 16-bit FAT",
6354 "DOS Extended", "DOS 16-bit FAT (> 32MB)",
6355 "OS/2 HPFS | Win NTFS | QNX Ver 2 | Adv UNIX",
6356 "AIX Boot | OS /2 | Dell (Array) | Commodore DOS",
6357 "AIX Data, Coherent", "OS/2 Boot Manager",
6358 "32-bit FAT", "32-bit FAT", "Microsoft 16-bit FAT",
6359 "Microsoft DOS Extended", "OPUS | OS/2 2.0",
6360 "OS/2 (MOSS) Inactive Type 1",
6361 "Compaq Diagnostics Partition | Microsoft",
6362 "OS/2 (MOSS) Inactive Type 4",
6363 "OS/2 (MOSS) Inactive Type 6",
6364 mike 1.2 "OS/2 (MOSS) Inactive Type 7",
6365 "OS/2 (MOSS) Inactive Type B",
6366 "OS/2 (MOSS) Inactive Type C", "Microsoft",
6367 "Microsoft", "Microsoft", "Microsoft", "Microsoft",
6368 "Microsoft", "Microsoft", "OS/2 Logical Volume Manager",
6369 "Microsoft", "OS/2 JFS Log", "PowerQuest",
6370 "VENIX 80286 | Series/1 Disk", "Personal RISC Boot",
6371 "Veritas", "Veritas", "OnTrack Disk Manager Read Only DOS",
6372 "OnTrack Disk Manager Read/Write DOS",
6373 "CPM | Microport System V/386 | OnTrack Disk Mgr | Microsoft",
6374 "OnTrack Disk Manager", "OnTrack Disk Manager Non-DOS",
6375 "Micro House EZ-Drive Non-DOS",
6376 "Golden Bow Vfeature | Microsoft",
6377 "Storage Dimensions SpeedStor | Microsoft",
6378 "UNIX - AT&T System V/386 | SCO UNIX",
6379 "Novell NetWare | Speedstore", "Novell NetWare",
6380 "Novell NetWare", "Novell", "Novell", "Novell",
6381 "Microsoft", "Microsoft", "Microsoft", "PC/IX IBM",
6382 "Microsoft", "QNX POSIX", "QNX POSIX (Secondary)",
6383 "QNX POSIX (Secondary)",
6384 "Minix (<=1.4a) | Linux | Microsoft",
6385 mike 1.2 "Minix (>=1.4b) | Microsoft", "Linux Swap | Prime",
6386 "Linux Native | Apple", "System Hibernation for APM",
6387 "Microsoft", "HPFS FT mirror", "Amoeba | Microsoft",
6388 "Amoeba BBT | Microsoft", "Microsoft", "Microsoft",
6389 "Microsoft", "BSD/386", "Microsoft", "Microsoft",
6390 "Microsoft", "Microsoft", "Microsoft",
6391 "BSDI fs | Microsoft", "BSDI Swap | Microsoft",
6392 "Microsoft", "Microsoft", "Microsoft",
6393 "Syrinx | HPFS FT Disabled Mirror", "CP/M 86",
6394 "Digital Research CPM-86 | Concurrent DOS | OUTRIGGER",
6395 "SpeedStor 12-bit FAT Extended",
6396 "DOS Read-Only | Storage Dimensions",
6397 "SpeedStor 16-bit FAT Extended", "Microsoft",
6398 "Microsoft", "Intel", "OS/2 Raw Data",
6399 "Storage Dimensions", "DOS (Secondary)", "Microsoft",
6400 "SpeedStor Large | Storage Dimensions", "Microsoft",
6401 "Lan Step | SpeedStor | IBM PS/2 IML",
6402 "Bad Block Tables", "Unknown"} ]
6403 uint16 PartitionSubtype;
6404 };
6405
6406 mike 1.2
6407 // ===================================================================
6408 // DiskPartitionBasedOnVolume
6409 // ===================================================================
6410 [Association, Description (
6411 "DiskPartitions should be BasedOn a single StorageVolume (for "
6412 "example, exposed by a hardware RAID cabinet), an SCC VolumeSet, "
6413 "or realized directly in PhysicalMedia. The first two "
6414 "relationships are made explicit in this association. The latter "
6415 "is conveyed by the RealizesDiskPartition association.") ]
6416 class CIM_DiskPartitionBasedOnVolume : CIM_BasedOn {
6417 [Override ("Antecedent"), Max (1),
6418 Description ("The StorageVolume.") ]
6419 CIM_StorageVolume REF Antecedent;
6420 [Override ("Dependent"), Description (
6421 "The DiskPartition which is built on the Volume.") ]
6422 CIM_DiskPartition REF Dependent;
6423 };
6424
6425
6426 // ===================================================================
6427 mike 1.2 // TapePartition
6428 // ===================================================================
6429 [Description (
6430 "Capabilities and management of a TapePartition StorageExtent. "
6431 "Note that if a PhysicalTape is not partitioned, only a "
6432 "generic StorageExtent that represents the entire Tape should "
6433 "be instantiated. TapePartitions may be BasedOn other "
6434 "StorageExtents or directly Realized on a PhysicalTape.") ]
6435 class CIM_TapePartition : CIM_MediaPartition {
6436 [Gauge, Description (
6437 "Number of blocks that are currently unused/not written on "
6438 "the Partition. When this number is multiplied by the "
6439 "BlockSize, inherited from StorageExtent, the total number "
6440 "of bytes available for writing can be computed.") ]
6441 uint64 UnusedBlocks;
6442
6443 };
6444
6445
6446 // ===================================================================
6447 // TapePartitionOnSurface
6448 mike 1.2 // ===================================================================
6449 [Association, Description (
6450 "TapePartitionOnSurface represents the ability to have one or "
6451 "more TapePartitions on each surface of a PhysicalTape. The "
6452 "individual surfaces are represented as instances of "
6453 "CIM_StorageExtent.") ]
6454 class CIM_TapePartitionOnSurface : CIM_BasedOn {
6455 [Override ("Antecedent"), Max (1),
6456 Description (
6457 "The StorageExtent that represents the Tape's surface.") ]
6458 CIM_StorageExtent REF Antecedent;
6459 [Override ("Dependent"), Description (
6460 "The TapePartition which is built on the Extent.") ]
6461 CIM_TapePartition REF Dependent;
6462 };
6463
6464
6465 // ===================================================================
6466 // LogicalDisk
6467 // ===================================================================
6468 [Description (
6469 mike 1.2 "A LogicalDisk is a presentation of a contiguous range of "
6470 "logical blocks that is identifiable by a FileSystem via the "
6471 "Disk's DeviceId (key) field. For example in a Windows "
6472 "environment, the DeviceID field would contain a drive letter. "
6473 "In a Unix environment, it would contain the access path; and in "
6474 "a NetWare environment, DeviceID would contain the volume name. "
6475 "LogicalDisks are typically built on a DiskPartition or Storage"
6476 "Volume (for example, exposed by a software volume manager) "
6477 "using the LogicalDiskBasedOnPartition or LogicalDiskBasedOn"
6478 "Volume associations. However, it can be based on other "
6479 "StorageExtents, like CIM_Memory, in the case of a RAM disk. "
6480 "The latter is described using the LogicalDiskBasedOnExtent "
6481 "relationship. (Indeed, the BasedOnExtent association is the "
6482 "superclass for the BasedOnPartition and BasedOnVolume "
6483 "relationships.)") ]
6484 class CIM_LogicalDisk : CIM_StorageExtent {
6485 };
6486
6487
6488 // ===================================================================
6489 // LogicalDiskBasedOnExtent
6490 mike 1.2 // ===================================================================
6491 [Association, Description (
6492 "LogicalDisks can be BasedOn a single StorageVolume, Memory "
6493 "(in the case of a RAM Disk), a DiskPartition or other "
6494 "StorageExtent. These relationships are made explicit in this "
6495 "association. Subclasses of the association, LogicalDiskBasedOn"
6496 "Partition and LogicalDiskBasedOnVolume, detail the 'typical' "
6497 "semantics.") ]
6498 class CIM_LogicalDiskBasedOnExtent : CIM_BasedOn {
6499 [Override ("Antecedent"), Max (1),
6500 Description ("The StorageExtent.") ]
6501 CIM_StorageExtent REF Antecedent;
6502 [Override ("Dependent"), Description (
6503 "The LogicalDisk which is built on the StorageExtent.") ]
6504 CIM_LogicalDisk REF Dependent;
6505 };
6506
6507
6508 // ===================================================================
6509 // LogicalDiskBasedOnVolume
6510 // ===================================================================
6511 mike 1.2 [Association, Description (
6512 "LogicalDisks can be BasedOn a single Volume (for example, "
6513 "exposed by a software volume manager), or be BasedOn a Disk"
6514 "Partition directly. The former relationship is made explicit "
6515 "in this association.") ]
6516 class CIM_LogicalDiskBasedOnVolume : CIM_LogicalDiskBasedOnExtent {
6517 [Override ("Antecedent"), Max (1),
6518 Description ("The StorageVolume.") ]
6519 CIM_StorageVolume REF Antecedent;
6520 };
6521
6522
6523 // ===================================================================
6524 // LogicalDiskBasedOnVolumeSet
6525 // ===================================================================
6526 [Association, Description (
6527 "LogicalDisks can be BasedOn a VolumeSet. This association is "
6528 "an optimization where software RAID doesn't exist and the "
6529 "LogicalDisk is built right on top of a VolumeSet presented by "
6530 "an SCC cabinet. However, this would be better modeled by a "
6531 "DiskPartition BasedOn the VolumeSet (described using the "
6532 mike 1.2 "DiskPartitionBasedOnVolume association) and then basing the "
6533 "LogicalDisk on the DiskPartition (using the LogicalDisk"
6534 "BasedOnPartition association).") ]
6535 class CIM_LogicalDiskBasedOnVolumeSet : CIM_LogicalDiskBasedOnVolume {
6536 [Override ("Antecedent"), Max (1),
6537 Description ("The VolumeSet.") ]
6538 CIM_VolumeSet REF Antecedent;
6539 };
6540
6541
6542 // ===================================================================
6543 // LogicalDiskBasedOnPartition
6544 // ===================================================================
6545 [Association, Description (
6546 "LogicalDisks can be BasedOn a DiskPartition. For example, a "
6547 "personal computer's C: drive may be located on a Partition on "
6548 "local PhysicalMedia. In this association of LogicalDisks to "
6549 "Partitions, note that the cardinality of the Antecedent, Disk"
6550 "Partition, is Max(1). This dictates that a LogicalDisk can not "
6551 "span more than one Partition. However, there are cases where "
6552 "this is true. When it occurs, the LogicalDisk is really based "
6553 mike 1.2 "on some kind of RAID configuration (for example, a mirror or "
6554 "stripe set). In these scenarios, the LogicalDisk is more "
6555 "correctly BasedOn a StorageVolume. To prevent incorrectly using "
6556 "the LogicalDiskBasedOnPartition association, the Max(1) "
6557 "qualifier was put on the Antecedent reference to the "
6558 "DiskPartition.") ]
6559 class CIM_LogicalDiskBasedOnPartition : CIM_LogicalDiskBasedOnExtent {
6560 [Override ("Antecedent"), Max (1),
6561 Description ("The DiskPartition.") ]
6562 CIM_DiskPartition REF Antecedent;
6563 };
6564
6565
6566 // ===================================================================
6567 // AggregatePExtent
6568 // ===================================================================
6569 [Description (
6570 "An AggregatePExtent is used to model an SCC RAID "
6571 "implementation. AggregatePExtents provide summary information "
6572 "about the addressable logical blocks which are in the same "
6573 "StorageRedundancyGroup and reside on the same storage device. "
6574 mike 1.2 "This is an alternative grouping for PhysicalExtents, when only "
6575 "summary information is needed or when automatic configuration "
6576 "is used.") ]
6577 class CIM_AggregatePExtent : CIM_StorageExtent {
6578 [Override ("NumberOfBlocks"),
6579 Description (
6580 "Total number of blocks (including the check data blocks) "
6581 "contained in this AggregatePExtent. The block size (an "
6582 "inherited property) should be set to the same value as for "
6583 "the MediaAccessDevice associated with this Extent."),
6584 MappingStrings {"MIF.DMTF|Aggregate Physical Extent|001.2"} ]
6585 uint64 NumberOfBlocks;
6586 [Description (
6587 "The number of blocks contained in this AggregatePExtent "
6588 "to be used as check data. If this AggregatePExtent is "
6589 "available, then this value shall be zero."),
6590 MappingStrings {"MIF.DMTF|Aggregate Physical Extent|001.3"} ]
6591 uint64 BlocksOfCheckData;
6592 };
6593
6594
6595 mike 1.2 // ===================================================================
6596 // AggregatePSExtent
6597 // ===================================================================
6598 [Description (
6599 "An AggregatePSExtent is used to model an SCC RAID "
6600 "implementation. AggregatePSExtents define the number of "
6601 "addressable logical blocks on a single storage device, "
6602 "excluding any logical blocks mapped as check data. "
6603 "This is an alternative grouping for ProtectedSpaceExtents, "
6604 "when only summary information is needed or when automatic "
6605 "configuration is used.") ]
6606 class CIM_AggregatePSExtent : CIM_StorageExtent {
6607 [Override ("NumberOfBlocks"), Description (
6608 "Total number of user data blocks that are contained in this "
6609 "Extent."),
6610 MappingStrings {
6611 "MIF.DMTF|Aggregate Protected Space Extent|001.2"} ]
6612 uint64 NumberOfBlocks;
6613 };
6614
6615
6616 mike 1.2 // ===================================================================
6617 // AggregatePSExtentBasedOnPExtent
6618 // ===================================================================
6619 [Association, Description (
6620 "AggregatePSExtents are BasedOn a single PhysicalExtent. This "
6621 "relationship is made explicit in this association.") ]
6622 class CIM_AggregatePSExtentBasedOnPExtent : CIM_BasedOn {
6623 [Override ("Antecedent"), Max (1),
6624 Description ("The PhysicalExtent.")]
6625 CIM_PhysicalExtent REF Antecedent;
6626 [Override ("Dependent"), Description (
6627 "The AggregatePSExtent which is built on the "
6628 "PhysicalExtent.") ]
6629 CIM_AggregatePSExtent REF Dependent;
6630 };
6631
6632
6633 // ===================================================================
6634 // AggregatePSExtentBasedOnAggregatePExtent
6635 // ===================================================================
6636 [Association, Description (
6637 mike 1.2 "AggregatePSExtents are BasedOn a single AggregatePExtent. This "
6638 "relationship is made explicit in this association.") ]
6639 class CIM_AggregatePSExtentBasedOnAggregatePExtent : CIM_BasedOn {
6640 [Override ("Antecedent"), Max (1),
6641 Description ("The AggregatePExtent.")]
6642 CIM_AggregatePExtent REF Antecedent;
6643 [Override ("Dependent"), Description (
6644 "The AggregatePSExtent which is built on the Aggregate"
6645 "PExtent.") ]
6646 CIM_AggregatePSExtent REF Dependent;
6647 };
6648
6649
6650 // ===================================================================
6651 // Snapshot
6652 // ===================================================================
6653 [Description (
6654 "The Snapshot class is an optional construct. It can be "
6655 "used to represent an Extent that contains a full copy of "
6656 "another Extent, or the changes to that Extent when performing "
6657 "a delta-based (delta before or delta after) copy.\n"
6658 mike 1.2 "Snapshot's definition in CIM is not equivalent to the act "
6659 "of creating a volume or file-based snapshot, or a point in "
6660 "time copy. It is at a much lower level and represents the "
6661 "use of storage to hold a copied image of an Extent, or to hold "
6662 "changes to an Extent. Use of the Snapshot object when making "
6663 "a full copy is only recommended if the purpose is to describe "
6664 "the existence of a copy. (This use will be very infrequent.) "
6665 "The problem with describing an Extent solely as a 'snapshot' "
6666 "is that when the snapshot/copy is broken, the object must be "
6667 "destroyed. Typically, this object still holds valid data, and "
6668 "would have to be reinstantiated. If the 'full copy' object "
6669 "is to be treated as a StorageVolume or more general Extent, "
6670 "then it should be modeled as such from the beginning - "
6671 "i.e., not as an instance of Snapshot but as an instance of a "
6672 "generic StorageExtent or StorageVolume. In this case, the "
6673 "Synchronized association would be used to describe that one "
6674 "StorageExtent is synchronized with another.\n"
6675 "When describing a delta-based snapshot/point in time copy, "
6676 "the Snapshot object represents the store holding the before/after "
6677 "image changes to the original Extent. For example, when doing a "
6678 "'delta before' Snapshot, the resultant target would be modeled "
6679 mike 1.2 "as a StorageExtent that is BasedOn the original Extent and the "
6680 "instance of Snapshot (that holds the changes to the original Extent).") ]
6681 class CIM_Snapshot : CIM_StorageExtent {
6682 [Description ("True indicates that the snapshot is synced.") ]
6683 boolean IsSynced;
6684 [Description (
6685 "The time stamp indicating when the sync occurred.") ]
6686 datetime SyncTime;
6687 };
6688
6689
6690 // ===================================================================
6691 // SnapshotOfExtent
6692 // ===================================================================
6693 [Association, Description (
6694 "SnapshotOfExtent is an association between an Extent and "
6695 "its Snapshot. This relationship is made explicit in this "
6696 "association.") ]
6697 class CIM_SnapshotOfExtent : CIM_Dependency {
6698 [Override ("Antecedent"), Max (1),
6699 Description ("The StorageExtent.") ]
6700 mike 1.2 CIM_StorageExtent REF Antecedent;
6701 [Override ("Dependent"),
6702 Description ("The Snapshot.") ]
6703 CIM_Snapshot REF Dependent;
6704 [Description ("The type of snapshot."),
6705 Values {"Other", "Unknown", "Copy", "Before Delta",
6706 "After Delta"} ]
6707 uint16 SnapshotType;
6708 };
6709
6710
6711 // ===================================================================
6712 // Memory
6713 // ===================================================================
6714 [Description (
6715 "Capabilities and management of Memory-related LogicalDevices.") ]
6716 class CIM_Memory : CIM_StorageExtent {
6717 [Override ("ErrorMethodology"),
6718 Description (
6719 "ErrorMethodology for Memory is a string property that "
6720 "indicates whether parity or CRC algorithms, ECC or other "
6721 mike 1.2 "mechanisms are used. Details on the algorithm can also "
6722 "be supplied."),
6723 MappingStrings {"MIF.DMTF|Physical Memory Array|001.7"} ]
6724 string ErrorMethodology;
6725 [Description (
6726 "The beginning address, referenced by an application or "
6727 "operating system and mapped by a memory controller, for "
6728 "this Memory object. The starting address is specified in "
6729 "KBytes."),
6730 Units ("KiloBytes"),
6731 MappingStrings {"MIF.DMTF|Memory Array Mapped Addresses|001.3",
6732 "MIF.DMTF|Memory Device Mapped Addresses|001.4"} ]
6733 uint64 StartingAddress;
6734 [Description (
6735 "The ending address, referenced by an application or "
6736 "operating system and mapped by a memory controller, for "
6737 "this Memory object. The ending address is specified in "
6738 "KBytes."),
6739 Units ("KiloBytes"),
6740 MappingStrings {"MIF.DMTF|Memory Array Mapped Addresses|001.4",
6741 "MIF.DMTF|Memory Device Mapped Addresses|001.5"} ]
6742 mike 1.2 uint64 EndingAddress;
6743 [Description (
6744 "An integer enumeration describing the type of error that "
6745 "occurred most recently. For example, single (value=6) or "
6746 "double bit errors (7) can be specified using this property. "
6747 "The values, 12-14, are undefined in the CIM Schema since in "
6748 "DMI, they mix the semantics of the type of error and whether "
6749 "it was correctable or not. The latter is indicated in the "
6750 "property, CorrectableError."),
6751 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
6752 "11", "12", "13", "14"},
6753 Values {"Other", "Unknown", "OK", "Bad Read", "Parity Error",
6754 "Single-Bit Error", "Double-Bit Error", "Multi-Bit Error",
6755 "Nibble Error", "Checksum Error", "CRC Error", "Undefined",
6756 "Undefined", "Undefined"},
6757 MappingStrings {"MIF.DMTF|Memory Device|005",
6758 "MIF.DMTF|Physical Memory Array|001.8"},
6759 ModelCorrespondence {"CIM_Memory.OtherErrorDescription"} ]
6760 uint16 ErrorInfo;
6761 [Description (
6762 "Free form string providing more information if the Error"
6763 mike 1.2 "Type property is set to 1, \"Other\". If not set to 1, this "
6764 "string has no meaning."),
6765 ModelCorrespondence {"CIM_Memory.ErrorInfo"} ]
6766 string OtherErrorDescription;
6767 [Description (
6768 "Boolean indicating that the most recent error was "
6769 "correctable. If the ErrorInfo property is equal to 3, "
6770 "\"OK\", then this property has no meaning."),
6771 MappingStrings {"MIF.DMTF|Memory Device|005",
6772 "MIF.DMTF|Physical Memory Array|001.8"} ]
6773 boolean CorrectableError;
6774 [Description (
6775 "The time that the last memory error occurred. The type of "
6776 "error is described by the ErrorInfo property. If the Error"
6777 "Info property is equal to 3, \"OK\", then this property has "
6778 "no meaning.") ]
6779 datetime ErrorTime;
6780 [Description (
6781 "An integer enumeration indicating the memory access "
6782 "operation that caused the last error. The type of error is "
6783 "described by the ErrorInfo property. If the ErrorInfo "
6784 mike 1.2 "property is equal to 3, \"OK\", then this property "
6785 "has no meaning."),
6786 ValueMap {"1", "2", "3", "4", "5"},
6787 Values {"Other", "Unknown", "Read", "Write", "Partial Write"},
6788 MappingStrings {"MIF.DMTF|Memory Device|005",
6789 "MIF.DMTF|Physical Memory Array|001.10"} ]
6790 uint16 ErrorAccess;
6791 [Description (
6792 "The size of the data transfer in bits that caused the last "
6793 "error. 0 indicates no error. If the ErrorInfo property "
6794 "is equal to 3, \"OK\", then this property should be set "
6795 "to 0."),
6796 Units ("Bits"),
6797 MappingStrings {"MIF.DMTF|Memory Device|005",
6798 "MIF.DMTF|Physical Memory Array|001.11"} ]
6799 uint32 ErrorTransferSize;
6800 [OctetString, Description (
6801 "Data captured during the last erroneous mebmory access. "
6802 "The data occupies the first n octets of the array necessary "
6803 "to hold the number of bits specified by the ErrorTransferSize "
6804 "property. If ErrorTransferSize is 0, then this property "
6805 mike 1.2 "has no meaning."),
6806 ArrayType ("Indexed"),
6807 MappingStrings {"MIF.DMTF|Memory Device|005",
6808 "MIF.DMTF|Physical Memory Array|001.12"} ]
6809 uint8 ErrorData[64];
6810 [Description (
6811 "The ordering for data stored in the ErrorData property. "
6812 "\"Least Significant Byte First\" (value=1) or "
6813 "\"Most Significant Byte First\" (2) can be specified. If "
6814 "ErrorTransferSize is 0, then this property has no meaning."),
6815 Values {"Unknown", "Least Significant Byte First",
6816 "Most Significant Byte First"} ]
6817 uint16 ErrorDataOrder;
6818 [Description (
6819 "Specifies the address of the last memory error. The type "
6820 "of error is described by the ErrorInfo property. "
6821 "If the ErrorInfo property is equal to 3, \"OK\", then this "
6822 "property has no meaning."),
6823 MappingStrings {"MIF.DMTF|Memory Device|005",
6824 "MIF.DMTF|Memory Device|005",
6825 "MIF.DMTF|Physical Memory Array|001.14"} ]
6826 mike 1.2 uint64 ErrorAddress;
6827 [Description (
6828 "Boolean indicating whether the address information in "
6829 "the property, ErrorAddress, is a system-level address (TRUE) "
6830 "or a physical address (FALSE). If the ErrorInfo property is "
6831 "equal to 3, \"OK\", then this property has no meaning.") ]
6832 boolean SystemLevelAddress;
6833 [Description (
6834 "Specifies the range, in bytes, to which the last error can be "
6835 "resolved. For example, if error addresses are resolved to bit "
6836 "11 (ie, on a typical page basis), then errors can be "
6837 "resolved to 4K boundaries and this property is set to 4000. "
6838 "If the ErrorInfo property is equal to 3, \"OK\", then this "
6839 "property has no meaning."),
6840 Units ("Bytes"),
6841 MappingStrings {"MIF.DMTF|Memory Device|005",
6842 "MIF.DMTF|Physical Memory Array|001.15"} ]
6843 uint64 ErrorResolution;
6844 [OctetString, Description (
6845 "An array of octets holding additional error information. "
6846 "An example is ECC Syndrome or the return of the check bits "
6847 mike 1.2 "if a CRC-based ErrorMethodology is used. In the latter case, "
6848 "if a single bit error is recognized and the CRC algorithm "
6849 "is known, it is possible to determine the exact bit that "
6850 "failed. This type of data (ECC Syndrome, Check Bit or "
6851 "Parity Bit data, or other vendor supplied information) is "
6852 "included in this field. If the ErrorInfo property is "
6853 "equal to 3, \"OK\", then AdditionalErrorData has no meaning."),
6854 MappingStrings {"MIF.DMTF|Memory Device|005",
6855 "MIF.DMTF|Physical Memory Array|001.13"} ]
6856 uint8 AdditionalErrorData[64];
6857 };
6858
6859
6860 // ===================================================================
6861 // AssociatedMemory
6862 // ===================================================================
6863 [Association, Description (
6864 "LogicalDevices may have Memory installed on them or "
6865 "otherwise associated with them - such as CacheMemory. "
6866 "This is made explicit in this association.") ]
6867 class CIM_AssociatedMemory : CIM_Dependency {
6868 mike 1.2 [Override ("Antecedent"), Description (
6869 "Memory installed on or associated with a Device.") ]
6870 CIM_Memory REF Antecedent;
6871 [Override ("Dependent"), Description (
6872 "The LogicalDevice.") ]
6873 CIM_LogicalDevice REF Dependent;
6874 };
6875
6876
6877 // ===================================================================
6878 // ComputerSystemMemory
6879 // ===================================================================
6880 [Association, Aggregation, Description (
6881 "Association indicating that memory is installed and required "
6882 "for the UnitaryComputerSystem to operate. At least one "
6883 "Memory StorageExtent is required. Note that this relationship "
6884 "inherits from the SystemDevice association, and therefore, "
6885 "the Memory StorageExtent is weak to the aggregating Unitary"
6886 "ComputerSystem.") ]
6887 class CIM_ComputerSystemMemory : CIM_SystemDevice {
6888 [Override ("GroupComponent"), Aggregate,
6889 mike 1.2 Description ("The UnitaryComputerSystem.") ]
6890 CIM_UnitaryComputerSystem REF GroupComponent;
6891 [Override ("PartComponent"), Description (
6892 "The Memory StorageExtent which is part of the "
6893 "UnitaryComputerSystem.") ]
6894 CIM_Memory REF PartComponent;
6895 };
6896
6897
6898 // ===================================================================
6899 // AssociatedProcessorMemory
6900 // ===================================================================
6901 [Association, Description (
6902 "Associates the Processor and system Memory, or a Processor's "
6903 "Cache. ") ]
6904 class CIM_AssociatedProcessorMemory : CIM_AssociatedMemory {
6905 [Override ("Dependent"),
6906 Description (
6907 "The Processor that accesses the Memory or uses the Cache.") ]
6908 CIM_Processor REF Dependent;
6909 [Description (
6910 mike 1.2 "Speed of the bus, in MHertz, between the Processor and "
6911 "Memory. "),
6912 Units ("MegaHertz") ]
6913 uint32 BusSpeed;
6914 };
6915
6916
6917 // ===================================================================
6918 // NonVolatileStorage
6919 // ===================================================================
6920 [Description (
6921 "Capabilities and management of NV Storage. Non-volatile memory "
6922 "natively includes flash and ROM storage. In addition, NV memory "
6923 "can be BasedOn VolatileStorage, if the volatile memory is backed "
6924 "by a Battery. This scenario would be completely described by an "
6925 "instance of the AssociatedBattery relationship, referencing the "
6926 "NonVolatileStorage as the Dependent and the Battery as the "
6927 "Antecedent, and an instance of the BasedOn relationship, "
6928 "referencing the NonVolatileStorage as the Dependent and the "
6929 "VolatileStorage as the Antecedent.") ]
6930 class CIM_NonVolatileStorage : CIM_Memory {
6931 mike 1.2 [Description ("Indicating that the NV storage is writeable.") ]
6932 boolean IsWriteable;
6933 [Description (
6934 "Boolean indicating that at least some portion of the "
6935 "NonVolatileStorage is writeable by applications.") ]
6936 boolean ApplicationWriteable;
6937 [Description (
6938 "When at least some portion of the NonVolatileStorage is "
6939 "writeable (ApplicationWriteable property = TRUE), StartAddress"
6940 "forApplcationWrite indicates the starting address for "
6941 "application data. If the ApplicationWriteable property is "
6942 "FALSE, this property is undefined."),
6943 ModelCorrespondence {
6944 "CIM_NonVolatileStorage.ApplicationWriteable"} ]
6945 uint64 StartAddressForApplicationWrite;
6946 [Description (
6947 "When at least some portion of the NonVolatileStorage is "
6948 "writeable (ApplicationWriteable property = TRUE), Application"
6949 "WritableSize indicates the number of bits available for "
6950 "application data. If the ApplicationWriteable property is "
6951 "FALSE, this property is undefined."),
6952 mike 1.2 Units ("Bits"),
6953 ModelCorrespondence {
6954 "CIM_NonVolatileStorage.ApplicationWriteable"} ]
6955 uint64 ApplicationWriteableSize;
6956 };
6957
6958
6959 // ===================================================================
6960 // BIOSLoadedInNV
6961 // ===================================================================
6962 [Association, Description (
6963 "A link between BIOSElement and NonVolatileStorage where "
6964 "the BIOS is loaded.") ]
6965 class CIM_BIOSLoadedInNV : CIM_Dependency {
6966 [Override ("Antecedent"),
6967 Description ("The non-volatile storage.") ]
6968 CIM_NonVolatileStorage REF Antecedent;
6969 [Override ("Dependent"),
6970 Description ("The BIOS stored in the NonVolatile Extent.") ]
6971 CIM_BIOSElement REF Dependent;
6972 [Description (
6973 mike 1.2 "The starting address where the BIOS is located in "
6974 "non-volatile storage.") ]
6975 uint64 StartingAddress;
6976 [Description (
6977 "The ending address where the BIOS is located in "
6978 "non-volatile storage.") ]
6979 uint64 EndingAddress;
6980 };
6981
6982
6983 // ===================================================================
6984 // VolatileStorage
6985 // ===================================================================
6986 [Description (
6987 "Capabilities and management of Volatile Storage.") ]
6988 class CIM_VolatileStorage : CIM_Memory {
6989 [Description (
6990 "Indicates whether this Memory can be cached or not."),
6991 MappingStrings {"MIF.DMTF|System Resource Memory Info|002"} ]
6992 boolean Cacheable;
6993 [Description (
6994 mike 1.2 "An enumeration indicating the cache type that is "
6995 "compatible with this Memory. For example, 4 indicates "
6996 "write-through cache. If the Cacheable property is "
6997 "set to false, then this property does not have meaning and "
6998 "should be set to 5, \"Not Applicable\"."),
6999 Values {"Other", "Unknown", "Write-Back", "Write-Through",
7000 "Not Applicable"},
7001 MappingStrings {"MIF.DMTF|System Resource Memory Info|002"} ]
7002 uint16 CacheType;
7003 };
7004
7005
7006 // ===================================================================
7007 // CacheMemory
7008 // ===================================================================
7009 [Description (
7010 "Capabilities and management of Cache Memory. Cache memory is "
7011 "dedicated or allocated RAM that a Processor searches first "
7012 "for data, before going to 'regular' memory. CacheMemory is "
7013 "used to speed up the delivery of data to a Processor. It is "
7014 "usually described by its closeness to the Processor (for "
7015 mike 1.2 "example, Primary or Secondary Cache).\n"
7016 "If a DiskDrive includes RAM allocated for holding the disk's "
7017 "most recently read and/or adjacent data (in order to speed "
7018 "up retrieval), this also would be modeled as CacheMemory. "
7019 "Note that CacheMemory is NOT operating system or application "
7020 "level buffers but actual RAM allocated for caching data for "
7021 "a Processor, from a hard disk, etc.") ]
7022 class CIM_CacheMemory : CIM_Memory {
7023 [Description (
7024 "Defines whether this is the Primary (value=3), Secondary "
7025 "(value=4) or Tertiary (value=5) Cache. Also, \"Other\" (1), "
7026 "\"Unknown\" (2) and \"Not Applicable\" (6) can be defined."),
7027 ValueMap {"1", "2", "3", "4", "5", "6"},
7028 Values {"Other", "Unknown", "Primary", "Secondary", "Tertiary",
7029 "Not Applicable"},
7030 MappingStrings {"MIF.DMTF|System Cache|006"} ]
7031 uint16 Level;
7032 [Description (
7033 "Defines whether this is write-back (value=3) or write-through "
7034 "(value=4) Cache, or whether this information \"Varies with "
7035 "Address\" (5) or is defined individually for each I/O (6). "
7036 mike 1.2 "Also, \"Other\" (1) and \"Unknown\" (2) can be specified."),
7037 ValueMap {"1", "2", "3", "4", "5", "6"},
7038 Values {"Other", "Unknown", "Write Back", "Write Through",
7039 "Varies with Address", "Determination Per I/O"},
7040 MappingStrings {"MIF.DMTF|System Cache|006"} ]
7041 uint16 WritePolicy;
7042 [Description (
7043 "Defines whether this is for instruction caching (value=3), "
7044 "data caching (value=4) or both (value=5, \"Unified\"). "
7045 "Also, \"Other\" (1) and \"Unknown\" (2) can be defined."),
7046 ValueMap {"1", "2", "3", "4", "5"},
7047 Values {"Other", "Unknown", "Instruction", "Data", "Unified"},
7048 MappingStrings {"MIF.DMTF|System Cache|006"} ]
7049 uint16 CacheType;
7050 [Description (
7051 "Size, in bytes, of a single cache bucket or line."),
7052 Units ("Bytes"),
7053 MappingStrings {"MIF.DMTF|System Cache|006"} ]
7054 uint32 LineSize;
7055 [Description (
7056 "An integer enumeration describing the algorithm to "
7057 mike 1.2 "determine which cache lines or buckets should be re-used."),
7058 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8"},
7059 Values {"Other", "Unknown", "Least Recently Used (LRU)",
7060 "First In First Out (FIFO)", "Last In First Out (LIFO)",
7061 "Least Frequently Used (LFU)",
7062 "Most Frequently Used (MFU)",
7063 "Data Dependent Multiple Algorithms"},
7064 MappingStrings {"MIF.DMTF|System Cache|006"} ]
7065 uint16 ReplacementPolicy;
7066 [Description (
7067 "Policy that shall be employed by the Cache for handling "
7068 "read requests. For example, \"Read\", \"Read-Ahead\" or "
7069 "both can be specified using the values, 3, 4 or 5, "
7070 "respectively. If the read policy is determined individually "
7071 "(ie, for each request), then the value 6 (\"Determination "
7072 "per I/O\") should be specified. \"Other\" (1) and "
7073 "\"Unknown\" (2) are also valid values."),
7074 ValueMap {"1", "2", "3", "4", "5", "6"},
7075 Values {"Other", "Unknown", "Read", "Read-Ahead",
7076 "Read and Read-Ahead", "Determination Per I/O"},
7077 MappingStrings {"MIF.DMTF|System Cache|006"} ]
7078 mike 1.2 uint16 ReadPolicy;
7079 [Description (
7080 "Maximum amount of time, in seconds, dirty lines or "
7081 "buckets may remain in the Cache before they are flushed. "
7082 "A value of zero indicated that a cache flush is not "
7083 "controlled by a flushing timer."),
7084 Units ("Seconds"),
7085 MappingStrings {"MIF.DMTF|System Cache|006"} ]
7086 uint32 FlushTimer;
7087 [Description (
7088 "An integer enumeration defining the system cache "
7089 "associativity. For example, 6 indicates a fully associative "
7090 "cache."),
7091 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8"},
7092 Values {"Other", "Unknown", "Direct Mapped",
7093 "2-way Set-Associative",
7094 "4-way Set-Associative", "Fully Associative",
7095 "8-way Set-Associative", "16-way Set-Associative"},
7096 MappingStrings {"MIF.DMTF|System Cache|006"} ]
7097 uint16 Associativity;
7098 };
7099 mike 1.2
7100
7101 // ===================================================================
7102 // MediaTransferDevice
7103 // ===================================================================
7104 [Description (
7105 "A MediaTransferDevice represents hardware that moves Physical"
7106 "Media. It is a superclass for Devices like PickerElement, "
7107 "ChangerDevice and InterLibraryPort.") ]
7108 class CIM_MediaTransferDevice : CIM_LogicalDevice {
7109 };
7110
7111 // ===================================================================
7112 // PickerElement
7113 // ===================================================================
7114 [Description (
7115 "PickerElements represent hardware used to pick or place "
7116 "PhysicalMedia from/into StorageMediaLocations.") ]
7117 class CIM_PickerElement : CIM_MediaTransferDevice {
7118 [Description (
7119 "The maximum time in seconds for a PickerElement to grab "
7120 mike 1.2 "a PhysicalMedia from a StorageMediaLocation, once the "
7121 "Picker has arrived at that Location. The maximum time "
7122 "interval for moving a Media from one point to another is "
7123 "the sum of the PickerElement's MaxPickTime, the Changer"
7124 "Device's MaxTransitTime and the PickerElement's MaxPutTime."),
7125 Units ("Seconds") ]
7126 uint32 MaxPickTime;
7127 [Description (
7128 "The maximum time in seconds for a PickerElement to place "
7129 "a PhysicalMedia into a StorageMediaLocation, once the "
7130 "Picker has arrived at that Location. The maximum time "
7131 "interval for moving a Media from one point to another is "
7132 "the sum of the PickerElement's MaxPickTime, the Changer"
7133 "Device's MaxTransitTime and the PickerElement's MaxPutTime."),
7134 Units ("Seconds") ]
7135 uint32 MaxPutTime;
7136 [Description (
7137 "String describing the location in the StorageLibrary "
7138 "where the Picker is currently positioned.") ]
7139 string CellLocation;
7140 };
7141 mike 1.2
7142
7143 // ===================================================================
7144 // ChangerDevice
7145 // ===================================================================
7146 [Description (
7147 "ChangerDevices represent hardware that moves PhysicalMedia "
7148 "within a System, such as a StorageLibrary.") ]
7149 class CIM_ChangerDevice : CIM_MediaTransferDevice {
7150 [Description (
7151 "The maximum time in seconds between a PickerElement pick "
7152 "and place. It should be reported as the transit time "
7153 "between the two most physically distant StorageMedia"
7154 "Locations in a System. The maximum time interval for "
7155 "moving a Media from one point to another is the sum of "
7156 "the PickerElement's MaxPickTime, the ChangerDevice's Max"
7157 "TransitTime and the PickerElement's MaxPutTime."),
7158 Units ("Seconds") ]
7159 uint32 MaxTransitTime;
7160 [Description (
7161 "Boolean set to TRUE if the Changer supports media flipping. "
7162 mike 1.2 "Media needs to be flipped when multi-sided PhysicalMedia "
7163 "are placed into a MediaAccessDevice that does NOT support "
7164 "dual sided access.") ]
7165 boolean MediaFlipSupported;
7166 [Description (
7167 "Boolean set to TRUE if an audit is currently being performed "
7168 "by the Changer.") ]
7169 boolean AuditInProgress;
7170 [Description (
7171 "A count of the number of audits performed by the Changer."),
7172 Counter ]
7173 uint64 AuditsPerformed;
7174 };
7175
7176
7177 // ===================================================================
7178 // PickerForChanger
7179 // ===================================================================
7180 [Association, Description (
7181 "PickerForChanger indicates the PickerElement(s) that access "
7182 "StorageMediaLocations and deliver PhysicalMedia to the Changer, "
7183 mike 1.2 "for movement through the System. A Changer may have several "
7184 "Pickers for faster exchange of Media.") ]
7185 class CIM_PickerForChanger : CIM_Dependency {
7186 [Override ("Antecedent"), Description (
7187 "The PickerElement that accesses StorageMediaLocations "
7188 "to deliver Media to the Changer.") ]
7189 CIM_PickerElement REF Antecedent;
7190 [Override ("Dependent"), Max (1),
7191 Description ("The ChangerDevice.") ]
7192 CIM_ChangerDevice REF Dependent;
7193 };
7194
7195
7196 // ===================================================================
7197 // LimitedAccessPort
7198 // ===================================================================
7199 [Description (
7200 "LimitedAccessPorts represent hardware that transports Physical"
7201 "Media into or out of a System, such as a StorageLibrary. They "
7202 "are identified as 'limited' since these Ports do not provide "
7203 "access to ALL the PhysicalMedia or StorageMediaLocations in a "
7204 mike 1.2 "Library, but only to a subset.") ]
7205 class CIM_LimitedAccessPort : CIM_MediaTransferDevice {
7206 [Description (
7207 "Boolean indicating that the Port is 'locked' (TRUE) or "
7208 "'unlocked' (FALSE). When the Port is locked, access its Media "
7209 "Locations is prevented without the use of a physical key, "
7210 "front panel activity or the issuance of a software unlock "
7211 "command.") ]
7212 boolean Locked;
7213 [Description (
7214 "When a Port is 'Extended' or 'open' (value=TRUE), its Storage"
7215 "MediaLocations are accessible to a human operator. If not "
7216 "extended (value=FALSE), the Locations are accessible to a "
7217 "PickerElement.") ]
7218 boolean Extended;
7219 [Description (
7220 "When a LimitedAccessPort is 'Extended', all related media-"
7221 "transfer componentry may be stopped. The ExtendTimeout "
7222 "property provides a mechanism to event on a Port left open "
7223 "for a period of time (in seconds) exceeding the property's "
7224 "value."),
7225 mike 1.2 Units ("Seconds") ]
7226 uint32 ExtendTimeout;
7227 [Description ("Date and time that the Port was last extended.") ]
7228 datetime LastExtended;
7229 [Counter, Description (
7230 "The number of times that the LimitedAccessPort was used to "
7231 "move a PhysicalMedia into the System/StorageLibrary.") ]
7232 uint64 ImportCount;
7233 [Counter, Description (
7234 "The number of times that the LimitedAccessPort was used to "
7235 "move a PhysicalMedia out of the System/StorageLibrary.") ]
7236 uint64 ExportCount;
7237 [Description (
7238 "An enumeration expressing whether the Port is used for "
7239 "import into the Library/System which scopes and names it "
7240 "(value=1), export from the Library/System (value=2), or "
7241 "both (value=3)."),
7242 Values {"Unknown", "Import", "Export", "Both Import and Export"} ]
7243 uint16 Direction;
7244 };
7245
7246 mike 1.2
7247 // ===================================================================
7248 // InterLibraryPort
7249 // ===================================================================
7250 [Description (
7251 "InterLibraryPorts represent hardware that transports Physical"
7252 "Media between connected StorageLibraries. The LibraryExchange "
7253 "association identifies the connected Libraries, by identifying "
7254 "the connected InterLibraryPorts.") ]
7255 class CIM_InterLibraryPort : CIM_MediaTransferDevice {
7256 [Description (
7257 "Date and time that the Port was last accessed by its "
7258 "System/StorageLibrary. This value may be different "
7259 "than that specified for the Port(s) to which this Inter"
7260 "LibraryPort is connected. Connected Ports are identified "
7261 "using the LibraryExchange association.") ]
7262 datetime LastAccessed;
7263 [Counter, Description (
7264 "The number of times that the InterLibraryPort was used to "
7265 "move a PhysicalMedia into the System/StorageLibrary.") ]
7266 uint64 ImportCount;
7267 mike 1.2 [Counter, Description (
7268 "The number of times that the InterLibraryPort was used to "
7269 "move a PhysicalMedia out of the System/StorageLibrary.") ]
7270 uint64 ExportCount;
7271 [Description (
7272 "An enumeration expressing whether the Port is used for "
7273 "import into the Library/System which scopes and names it "
7274 "(value=1), export from the Library/System (value=2), or "
7275 "both (value=3)."),
7276 Values {"Unknown", "Import", "Export", "Both Import and Export"} ]
7277 uint16 Direction;
7278 };
7279
7280
7281 // ===================================================================
7282 // LibraryExchange
7283 // ===================================================================
7284 [Association, Description (
7285 "LibraryExchange indicates that two StorageLibraries are "
7286 "connected through their InterLibraryPorts.") ]
7287 class CIM_LibraryExchange : CIM_Dependency {
7288 mike 1.2 [Override ("Antecedent"),
7289 Description ("The InterLibraryPort of one StorageLibrary.") ]
7290 CIM_InterLibraryPort REF Antecedent;
7291 [Override ("Dependent"),
7292 Description ("The InterLibraryPort of the connected Library.") ]
7293 CIM_InterLibraryPort REF Dependent;
7294 [Description (
7295 "Enumeration indicating whether the Antecedent (value=1), "
7296 "Dependent (value=2), or neither Library (value=3) currently has "
7297 "access to the Port."),
7298 Values {"Unknown", "Antecedent", "Dependent", "Neither"} ]
7299 uint16 CurrentlyAccessingPort;
7300 };
7301
7302
7303 // ===================================================================
7304 // LabelReader
7305 // ===================================================================
7306 [Description (
7307 "LabelReaders represent hardware capable of scanning or reading "
7308 "a physical label or the NonVolatileMemory on a PhysicalMedia. "
7309 mike 1.2 "Examples of labels include barcode and OCR tags.") ]
7310 class CIM_LabelReader : CIM_LogicalDevice {
7311 [Description (
7312 "An array of enumerated integers describing the formats of "
7313 "the labels that can be read or scanned by the LabelReader. "
7314 "The values specified for this property correspond to "
7315 "those defined for CIM_PhysicalMedia.LabelFormats."),
7316 Values {"Barcode", "Radio Frequency Identification",
7317 "OCR (Optical Character Recognition)",
7318 "MICR (Magnetic Ink Character Recognition)",
7319 "7 Character Barcode", "9 Character Barcode"},
7320 ModelCorrespondence {"CIM_PhysicalMedia.LabelFormats"} ]
7321 uint16 SupportedFormats[];
7322 [Description (
7323 "The technology used by the LabelReader. One entry of the "
7324 "Values array requires some explanation - \"Memory Reader\". "
7325 "The latter describes the ability to access memory in a Physical"
7326 "Media's packaging (for example, memory on an AIT tape). The "
7327 "existence of this Memory is indicated by the MemoryWithMedia "
7328 "association on the physical side, or by AssociatedMemory on "
7329 "the logical side."),
7330 mike 1.2 Values {"Unknown", "Other", "Laser", "Infrared", "RF",
7331 "Camera", "Memory Reader"} ]
7332 uint16 Technology;
7333 };
7334
7335
7336 // ===================================================================
7337 // AssociatedLabelReader
7338 // ===================================================================
7339 [Association, Description (
7340 "A LogicalDevice may use or require one or more LabelReaders, to "
7341 "scan barcodes or otherwise identify entities. This relationship "
7342 "is described by the AssociatedLabelReader dependency. ") ]
7343 class CIM_AssociatedLabelReader : CIM_Dependency {
7344 [Override ("Antecedent"),
7345 Description ("The LabelReader.") ]
7346 CIM_LabelReader REF Antecedent;
7347 [Override ("Dependent"), Description (
7348 "The Device that is dependent on the Reader Device.") ]
7349 CIM_LogicalDevice REF Dependent;
7350 };
7351 mike 1.2
7352
7353 // ===================================================================
7354 // PickerLabelReader
7355 // ===================================================================
7356 [Association, Description (
7357 "PickerLabelReader is used to indicate that one or more Label"
7358 "Readers works in conjunction with PickerElements, to identify "
7359 "PhysicalMedia as they are being picked/placed.") ]
7360 class CIM_PickerLabelReader : CIM_AssociatedLabelReader {
7361 [Override ("Dependent"), Description (
7362 "The PickerElement that is dependent on the Reader Device.") ]
7363 CIM_PickerElement REF Dependent;
7364 };
7365
7366
7367 // ===================================================================
7368 // AccessLabelReader
7369 // ===================================================================
7370 [Association, Description (
7371 "AccessLabelReader is used to indicate that one or more Label"
7372 mike 1.2 "Readers works in conjunction with MediaAccessDevices, "
7373 "to identify PhysicalMedia before read/write.") ]
7374 class CIM_AccessLabelReader : CIM_AssociatedLabelReader {
7375 [Override ("Dependent"), Description (
7376 "The MediaAccessDevice that is dependent on the Reader "
7377 "Device.") ]
7378 CIM_MediaAccessDevice REF Dependent;
7379 };
7380
7381
7382 // ===================================================================
7383 //
7384 // Services and Printing
7385 //
7386 // ===================================================================
7387
7388
7389 // ===================================================================
7390 // DeviceServiceImplementation
7391 // ===================================================================
7392 [Association, Description (
7393 mike 1.2 "An association between a Service and how it is implemented. "
7394 "The cardinality of this association is many-to-many. "
7395 "A Service may be provided by more than one Logical"
7396 "Device, operating in conjunction. And, any Device may "
7397 "provide more than one Service. When multiple Devices are "
7398 "associated with a single Service, it is assumed that these "
7399 "elements operate in conjunction to provide the Service. If "
7400 "different implementations of a Service exist, each of these "
7401 "implementations would result in individual instantiations "
7402 "of the Service object. These individual instantiations "
7403 "would then have associations to the unique implementations.") ]
7404 class CIM_DeviceServiceImplementation : CIM_Dependency {
7405 [Override ("Antecedent"),
7406 Description ("The LogicalDevice.") ]
7407 CIM_LogicalDevice REF Antecedent;
7408 [Override ("Dependent"),
7409 Description ("The Service implemented using the LogicalDevice.") ]
7410 CIM_Service REF Dependent;
7411 };
7412
7413
7414 mike 1.2 // ===================================================================
7415 // DeviceSAPImplementation
7416 // ===================================================================
7417 [Association, Description (
7418 "An association between a ServiceAccessPoint and how "
7419 "it is implemented. The cardinality of this association "
7420 "is many-to-many. A SAP may be provided by more "
7421 "than one LogicalDevice, operating in conjunction. And, any "
7422 "Device may provide more than one ServiceAccessPoint. "
7423 "When many LogicalDevices are associated with a single "
7424 "SAP, it is assumed that these elements operate in "
7425 "conjunction to provide the AccessPoint. If different "
7426 "implementations of a SAP exist, each of these implementations "
7427 "would result in individual instantiations of the "
7428 "ServiceAccessPoint object. These individual instantiations "
7429 "would then have associations to the unique implementations.") ]
7430 class CIM_DeviceSAPImplementation : CIM_Dependency {
7431 [Override ("Antecedent"),
7432 Description ("The LogicalDevice.") ]
7433 CIM_LogicalDevice REF Antecedent;
7434 [Override ("Dependent"),
7435 mike 1.2 Description (
7436 "The ServiceAccessPoint implemented using the LogicalDevice.") ]
7437 CIM_ServiceAccessPoint REF Dependent;
7438 };
7439
7440
7441 // ===================================================================
7442 // VideoBIOSFeature
7443 // ===================================================================
7444 [Description (
7445 "VideoBIOSFeature represents the capabilities of the low-level "
7446 "software that is used to bring up, configure and use a "
7447 "ComputerSystem's VideoController and Display.") ]
7448 class CIM_VideoBIOSFeature : CIM_SoftwareFeature {
7449 [Description (
7450 "An array of integers that specify the features supported by "
7451 "the VideoBIOS. For example, one could indicate support for "
7452 "VESA power management (value=6) or video BIOS shadowing (8). "
7453 "The value, 3, is not valid in the CIM Schema since in DMI it "
7454 "represents that no BIOS Features are supported. In this "
7455 "case, the object should not be instantiated."),
7456 mike 1.2 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9"},
7457 Values {"Other", "Unknown", "Undefined", "Standard Video BIOS",
7458 "VESA BIOS Extensions Supported",
7459 "VESA Power Management Supported",
7460 "VESA Display Data Channel Supported",
7461 "Video BIOS Shadowing Allowed", "Video BIOS Upgradeable"},
7462 ArrayType ("Indexed"),
7463 MappingStrings {"MIF.DMTF|Video BIOS Characteristic|001.3"},
7464 ModelCorrespondence {
7465 "CIM_VideoBIOSFeature.CharacteristicDescriptions"} ]
7466 uint16 Characteristics[];
7467 [Description (
7468 "An array of free-form strings providing more detailed "
7469 "explanations for any of the VideoBIOS features indicated in "
7470 "the Characteristics array. Note, each entry of this array "
7471 "is related to the entry in the Characteristics array that "
7472 "is located at the same index."),
7473 ArrayType ("Indexed"),
7474 MappingStrings {"MIF.DMTF|Video BIOS Characteristic|001.4"},
7475 ModelCorrespondence {"CIM_VideoBIOSFeature.Characteristics"} ]
7476 string CharacteristicDescriptions[];
7477 mike 1.2 };
7478
7479
7480 // ===================================================================
7481 // VideoBIOSElement
7482 // ===================================================================
7483 [Description (
7484 "VideoBIOSElement represents the low-level software that is "
7485 "loaded into non-volatile storage and used to bring up, "
7486 "configure and access a ComputerSystem's VideoController and "
7487 "Display.") ]
7488 class CIM_VideoBIOSElement : CIM_SoftwareElement {
7489 [Override ("Version"),
7490 MappingStrings {"MIF.DMTF|Video BIOS|001.3"} ]
7491 string Version;
7492 [Override ("Manufacturer"),
7493 MappingStrings {"MIF.DMTF|Video BIOS|001.2"} ]
7494 string Manufacturer;
7495 [Description (
7496 "If true, indicates that the Video BIOS is shadowed."),
7497 MappingStrings {"MIF.DMTF|Video BIOS|001.5"} ]
7498 mike 1.2 boolean IsShadowed;
7499 [Description (
7500 "Date that this BIOS was released."),
7501 MappingStrings {"MIF.DMTF|Video BIOS|001.4"} ]
7502 datetime ReleaseDate;
7503 };
7504
7505
7506 // ===================================================================
7507 // VideoBIOSFeatureVideoBIOSElements
7508 // ===================================================================
7509 [Association, Aggregation, Description (
7510 "A link between VideoBIOSFeature and its aggregated "
7511 "VideoBIOSElements.") ]
7512 class CIM_VideoBIOSFeatureVideoBIOSElements :
7513 CIM_SoftwareFeatureSoftwareElements {
7514 [Override ("GroupComponent"), Aggregate,
7515 Description ("The VideoBIOSFeature.") ]
7516 CIM_VideoBIOSFeature REF GroupComponent;
7517 [Override ("PartComponent"),
7518 Description (
7519 mike 1.2 "The VideoBIOSElement that implements the capabilities "
7520 "described by VideoBIOSFeature.") ]
7521 CIM_VideoBIOSElement REF PartComponent;
7522 };
7523
7524
7525 // ===================================================================
7526 // DeviceSoftware
7527 // ===================================================================
7528 [Association, Description (
7529 "The DeviceSoftware relationship identifies any software that "
7530 "is associated with a Device - such as drivers, configuration "
7531 "or application software, or firmware.") ]
7532 class CIM_DeviceSoftware : CIM_Dependency {
7533 [Override ("Antecedent"),
7534 Description ("The SoftwareElement.") ]
7535 CIM_SoftwareElement REF Antecedent;
7536 [Override ("Dependent"),
7537 Description (
7538 "The LogicalDevice that requires or uses the software.") ]
7539 CIM_LogicalDevice REF Dependent;
7540 mike 1.2 [Description (
7541 "An enumerated integer to indicate the role this software "
7542 "plays in regards to its associated Device. For example, this "
7543 "software could be instrumentation (value=5) or firmware (6)."),
7544 Values {"Unknown", "Other", "Driver", "Configuration Software",
7545 "Application Software", "Instrumentation", "Firmware",
7546 "BIOS", "Boot ROM"},
7547 ModelCorrespondence {"CIM_DeviceSoftware.PurposeDescription"},
7548 MappingStrings {"MIF.DMTF|SubComponent Software|001.2"} ]
7549 uint16 Purpose;
7550 [Description (
7551 "A free-form string to provide more information for "
7552 "the Purpose property, e.g. \"Application Software\"."),
7553 ModelCorrespondence {"CIM_DeviceSoftware.Purpose"} ]
7554 string PurposeDescription;
7555 [Description (
7556 "Boolean indicating that the software is 'burned into' or "
7557 "otherwise located on the hardware of the LogicalDevice.") ]
7558 boolean LoadedOnDevice;
7559 [Description (
7560 "Boolean indicating whether the software is upgradeable, "
7561 mike 1.2 "when it is LoadedOnDevice. Software that is loaded as "
7562 "part of the OperatingSystem is typically changeable and "
7563 "upgradeable. However, when DeviceSoftware is burned into "
7564 "EEPROM or a chip that Realizes the LogicalDevice, then "
7565 "it may not be upgradeable. This property indicates the "
7566 "ability to update and upgrade DeviceSoftware.") ]
7567 boolean UpgradeableOnDevice;
7568 };
7569
7570
7571 // ===================================================================
7572 // Printer
7573 // ===================================================================
7574 [Description (
7575 "Capabilities and management of the Printer LogicalDevice.") ]
7576 class CIM_Printer : CIM_LogicalDevice {
7577 [Description (
7578 "Status information for a Printer, beyond that specified "
7579 "in the LogicalDevice Availability property. Values include "
7580 "\"Idle\" (3) and an indication that the Device is currently "
7581 "printing (4)."),
7582 mike 1.2 ValueMap {"1", "2", "3", "4", "5", "6", "7"},
7583 Values {"Other", "Unknown", "Idle", "Printing", "Warmup",
7584 "Stopped Printing", "Offline"},
7585 MappingStrings {"MIB.IETF|Printer-MIB.hrPrinterStatus"} ]
7586 uint16 PrinterStatus;
7587 [Description ("Printer error information."),
7588 Values {"Unknown", "Other", "No Error", "Low Paper",
7589 "No Paper", "Low Toner",
7590 "No Toner", "Door Open", "Jammed", "Offline",
7591 "Service Requested", "Output Bin Full"},
7592 ModelCorrespondence {"CIM_Printer.ErrorInformation"},
7593 MappingStrings {
7594 "MIB.IETF|Printer-MIB.hrPrinterDetectedErrorState"} ]
7595 uint16 DetectedErrorState;
7596 [Description (
7597 "An array providing supplemental information for the "
7598 "current error state, indicated in DetectedErrorState."),
7599 ModelCorrespondence {"CIM_Printer.DetectedErrorState"} ]
7600 string ErrorInformation[];
7601 [Description (
7602 "An integer array indicating the types of paper supported."),
7603 mike 1.2 Values {"Unknown", "Other", "A", "B", "C", "D", "E",
7604 "Letter", "Legal", "NA-10x13-Envelope", "NA-9x12-Envelope",
7605 "NA-Number-10-Envelope", "NA-7x9-Envelope",
7606 "NA-9x11-Envelope", "NA-10x14-Envelope",
7607 "NA-Number-9-Envelope", "NA-6x9-Envelope",
7608 "NA-10x15-Envelope", "A0", "A1", "A2", "A3", "A4", "A5",
7609 "A6", "A7", "A8", "A9" "A10", "B0", "B1", "B2", "B3", "B4",
7610 "B5", "B6", "B7", "B8", "B9", "B10", "C0", "C1", "C2" "C3",
7611 "C4", "C5", "C6", "C7", "C8", "ISO-Designated", "JIS B0",
7612 "JIS B1", "JIS B2", "JIS B3", "JIS B4", "JIS B5", "JIS B6",
7613 "JIS B7", "JIS B8", "JIS B9", "JIS B10",
7614 "NA-Letter", "NA-Legal", "B4-Envelope", "B5-Envelope",
7615 "C3-Envelope", "C4-Envelope", "C5-Envelope", "C6-Envelope",
7616 "Designated-Long-Envelope", "Monarch-Envelope",
7617 "Executive", "Folio", "Invoice", "Ledger", "Quarto"} ]
7618 uint16 PaperSizesSupported[];
7619 [Description (
7620 "An array of free-form strings specifying the types of "
7621 "paper that are currently available on the Printer. Each "
7622 "string should be expressed in the form specified by "
7623 "ISO/IEC 10175 Document Printing Application (DPA) which "
7624 mike 1.2 "is also summarized in Appendix C of RFC 1759 (Printer MIB). "
7625 "Examples of valid strings are \"iso-a4-colored\" and "
7626 "\"na-10x14-envelope\". By definition a paper size that "
7627 "is available and listed in PaperTypesAvailable should "
7628 "also appear in the PaperSizesSupported property."),
7629 ArrayType ("Indexed"),
7630 ModelCorrespondence {"CIM_PrintJob.RequiredPaperType",
7631 "CIM_PrintService.PaperTypesAvailable"},
7632 MappingStrings {"MIB.IETF|Printer-MIB.prtInputMediaName"} ]
7633 string PaperTypesAvailable[];
7634 [Description (
7635 "Specifies the paper type that the Printer will use if a "
7636 "PrintJob does not specify a particular type. The string "
7637 "should be expressed in the form specified by ISO/IEC "
7638 "10175 Document Printing Application (DPA) which is also "
7639 "summarized in Appendix C of RFC 1759 (Printer MIB)."),
7640 ModelCorrespondence {"CIM_Printer.PaperTypesAvailable"} ]
7641 string DefaultPaperType;
7642 [Description (
7643 "Specifies the paper type that the Printer is currently "
7644 "using. The string should be expressed in the form specified "
7645 mike 1.2 "by ISO/IEC 10175 Document Printing Application (DPA) which "
7646 "is also summarized in Appendix C of RFC 1759 (Printer MIB)."),
7647 ModelCorrespondence {"CIM_Printer.PaperTypesAvailable"} ]
7648 string CurrentPaperType;
7649 [Description (
7650 "An array indicating the print languages natively supported."),
7651 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
7652 "11", "12", "13", "14", "15", "16", "17", "18", "19",
7653 "20", "21", "22", "23", "24", "25", "26", "27", "28",
7654 "29", "30", "31", "32", "33", "34", "35", "36", "37",
7655 "38", "39", "40", "41", "42", "43", "44", "45", "46", "47"},
7656 Values {"Other", "Unknown", "PCL", "HPGL", "PJL", "PS",
7657 "PSPrinter", "IPDS", "PPDS", "EscapeP", "Epson", "DDIF",
7658 "Interpress", "ISO6429", "Line Data", "MODCA", "REGIS",
7659 "SCS", "SPDL", "TEK4014", "PDS", "IGP", "CodeV", "DSCDSE",
7660 "WPS", "LN03", "CCITT", "QUIC", "CPAP", "DecPPL",
7661 "Simple Text", "NPAP", "DOC", "imPress", "Pinwriter",
7662 "NPDL", "NEC201PL", "Automatic", "Pages", "LIPS", "TIFF",
7663 "Diagnostic", "CaPSL", "EXCL", "LCDS", "XES", "MIME"},
7664 MappingStrings {"MIB.IETF|Printer-MIB.prtInterpreterLangFamily"},
7665 ModelCorrespondence {"CIM_Printer.MimeTypesSupported",
7666 mike 1.2 "CIM_PrintJob.Language",
7667 "CIM_PrintService.LanguagesSupported"} ]
7668 uint16 LanguagesSupported[];
7669 [Description (
7670 "An array of free-form strings providing more detailed "
7671 "explanations of any mime types that are supported by "
7672 "the Printer. If data is provided for this property, then "
7673 "the value 47, \"Mime\", should be included in the Languages"
7674 "Supported property."),
7675 ModelCorrespondence {"CIM_Printer.LanguagesSupported",
7676 "CIM_PrintJob.MimeTypes",
7677 "CIM_PrintService.MimeTypesSupported"} ]
7678 string MimeTypesSupported[];
7679 [Description (
7680 "Indicates the current printer language being used. A "
7681 "language that is being used by the Printer should also be "
7682 "listed in LanguagesSupported."),
7683 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
7684 "11", "12", "13", "14", "15", "16", "17", "18", "19",
7685 "20", "21", "22", "23", "24", "25", "26", "27", "28",
7686 "29", "30", "31", "32", "33", "34", "35", "36", "37",
7687 mike 1.2 "38", "39", "40", "41", "42", "43", "44", "45", "46",
7688 "47"},
7689 Values {"Other", "Unknown", "PCL", "HPGL", "PJL", "PS",
7690 "PSPrinter", "IPDS", "PPDS", "EscapeP", "Epson", "DDIF",
7691 "Interpress", "ISO6429", "Line Data", "MODCA", "REGIS",
7692 "SCS", "SPDL", "TEK4014", "PDS", "IGP", "CodeV", "DSCDSE",
7693 "WPS", "LN03", "CCITT", "QUIC", "CPAP", "DecPPL",
7694 "Simple Text", "NPAP", "DOC", "imPress", "Pinwriter",
7695 "NPDL", "NEC201PL", "Automatic", "Pages", "LIPS", "TIFF",
7696 "Diagnostic", "CaPSL", "EXCL", "LCDS", "XES", "MIME"},
7697 ModelCorrespondence {"CIM_Printer.LanguagesSupported",
7698 "CIM_Printer.CurrentMimeType"} ]
7699 uint16 CurrentLanguage;
7700 [Description (
7701 "Specifies the mime type currently being used by the "
7702 "Printer if the CurrentLanguage is set to indicate a "
7703 "mime type is in use (value = 47)."),
7704 ModelCorrespondence {"CIM_Printer.CurrentLanguage"} ]
7705 string CurrentMimeType;
7706 [Description (
7707 "Indicates the default printer language. A language that "
7708 mike 1.2 "is used as a default by the Printer should also be listed "
7709 "in LanguagesSupported."),
7710 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
7711 "11", "12", "13", "14", "15", "16", "17", "18", "19",
7712 "20", "21", "22", "23", "24", "25", "26", "27", "28",
7713 "29", "30", "31", "32", "33", "34", "35", "36", "37",
7714 "38", "39", "40", "41", "42", "43", "44", "45", "46",
7715 "47"},
7716 Values {"Other", "Unknown", "PCL", "HPGL", "PJL", "PS",
7717 "PSPrinter", "IPDS", "PPDS", "EscapeP", "Epson", "DDIF",
7718 "Interpress", "ISO6429", "Line Data", "MODCA", "REGIS",
7719 "SCS", "SPDL", "TEK4014", "PDS", "IGP", "CodeV", "DSCDSE",
7720 "WPS", "LN03", "CCITT", "QUIC", "CPAP", "DecPPL",
7721 "Simple Text", "NPAP", "DOC", "imPress", "Pinwriter",
7722 "NPDL", "NEC201PL", "Automatic", "Pages", "LIPS", "TIFF",
7723 "Diagnostic", "CaPSL", "EXCL", "LCDS", "XES", "MIME"},
7724 ModelCorrespondence {"CIM_Printer.LanguagesSupported",
7725 "CIM_Printer.DefaultMimeType"} ]
7726 uint16 DefaultLanguage;
7727 [Description (
7728 "Specifies the default mime type used by the Printer if the "
7729 mike 1.2 "DefaultLanguage is set to indicate a mime type is in use "
7730 "(value=47)."),
7731 ModelCorrespondence {"CIM_Printer.DefaultLanguage"} ]
7732 string DefaultMimeType;
7733 [Description (
7734 "Printer jobs processed since last reset. These jobs may be "
7735 "processed from one or more PrintQueues."),
7736 Counter ]
7737 uint32 JobCountSinceLastReset;
7738 [Description ("Time of last reset of the Printer Device.") ]
7739 datetime TimeOfLastReset;
7740 [Description (
7741 "An array of integers indicating Printer capabilities. "
7742 "Information such as \"Duplex Printing\" (value=3) or "
7743 "\"Transparency Printing\" (7) is specified in this "
7744 "property."),
7745 ArrayType ("Indexed"),
7746 Values {"Unknown", "Other", "Color Printing",
7747 "Duplex Printing", "Copies", "Collation", "Stapling",
7748 "Transparency Printing", "Punch", "Cover", "Bind",
7749 "Black and White Printing", "One Sided",
7750 mike 1.2 "Two Sided Long Edge", "Two Sided Short Edge",
7751 "Portrait", "Landscape", "Reverse Portrait",
7752 "Reverse Landscape", "Quality High", "Quality Normal",
7753 "Quality Low"},
7754 ModelCorrespondence {"CIM_Printer.CapabilityDescriptions",
7755 "CIM_PrintJob.Finishing",
7756 "CIM_PrintService.Capabilities"} ]
7757 uint16 Capabilities[];
7758 [Description (
7759 "An array of free-form strings providing more detailed "
7760 "explanations for any of the Printer features indicated in "
7761 "the Capabilities array. Note, each entry of this array "
7762 "is related to the entry in the Capabilities array that "
7763 "is located at the same index."),
7764 ArrayType ("Indexed"),
7765 ModelCorrespondence {"CIM_Printer.Capabilities"} ]
7766 string CapabilityDescriptions[];
7767 [Description (
7768 "Specifies which finishings and other capabilities of "
7769 "the Printer will be used by default. An entry in Default"
7770 "Capabilities should also be listed in the Capabilities "
7771 mike 1.2 "array."),
7772 Values {"Unknown", "Other", "Color Printing",
7773 "Duplex Printing", "Copies", "Collation", "Stapling",
7774 "Transparency Printing", "Punch", "Cover", "Bind",
7775 "Black and White Printing", "One Sided",
7776 "Two Sided Long Edge", "Two Sided Short Edge",
7777 "Portrait", "Landscape", "Reverse Portrait",
7778 "Reverse Landscape", "Quality High", "Quality Normal",
7779 "Quality Low"},
7780 ModelCorrespondence {"CIM_Printer.Capabilities"} ]
7781 uint16 DefaultCapabilities[];
7782 [Description (
7783 "Specifies which finishings and other capabilities of "
7784 "the Printer are currently being used. An entry in this "
7785 "property should also be listed in the Capabilities array."),
7786 Values {"Unknown", "Other", "Color Printing",
7787 "Duplex Printing", "Copies", "Collation", "Stapling",
7788 "Transparency Printing", "Punch", "Cover", "Bind",
7789 "Black and White Printing", "One Sided",
7790 "Two Sided Long Edge", "Two Sided Short Edge",
7791 "Portrait", "Landscape", "Reverse Portrait",
7792 mike 1.2 "Reverse Landscape", "Quality High", "Quality Normal",
7793 "Quality Low"},
7794 ModelCorrespondence {"CIM_Printer.Capabilities"} ]
7795 uint16 CurrentCapabilities[];
7796 [Description (
7797 "The maximum number of copies that can be produced by "
7798 "the Printer from a single Job."),
7799 ModelCorrespondence {"CIM_PrintJob.Copies"} ]
7800 uint32 MaxCopies;
7801 [Description (
7802 "The number of copies that will be produced for a "
7803 "single Job unless otherwise specified.") ]
7804 uint32 DefaultCopies;
7805 [Description (
7806 "The maximum number of print-stream pages that the "
7807 "Printer can render onto a single media sheet."),
7808 ModelCorrespondence {"CIM_PrintJob.NumberUp"} ]
7809 uint32 MaxNumberUp;
7810 [Description (
7811 "The number of print-stream pages that the Printer will "
7812 "render onto a single media sheet unless a Job specifies "
7813 mike 1.2 "otherwise.") ]
7814 uint32 DefaultNumberUp;
7815 [Description (
7816 "Printer's horizontal resolution in Pixels per Inch."),
7817 Units ("Pixels per Inch"),
7818 ModelCorrespondence {"CIM_PrintJob.HorizontalResolution"} ]
7819 uint32 HorizontalResolution;
7820 [Description (
7821 "Printer's vertical resolution in Pixels per Inch."),
7822 Units ("Pixels per Inch"),
7823 ModelCorrespondence {"CIM_PrintJob.HorizontalResolution"} ]
7824 uint32 VerticalResolution;
7825 [Description (
7826 "Identifies the available character sets for the output "
7827 "of text related to managing the Printer. Strings "
7828 "provided in this property should conform to the "
7829 "semantics and syntax specified by section 4.1.2 "
7830 "(\"Charset parameter\") in RFC 2046 (MIME Part 2) and "
7831 "contained in the IANA character-set registry. Examples "
7832 "include \"utf-8\", \"us-ascii\" and \"iso-8859-1\"."),
7833 ArrayType ("Indexed"),
7834 mike 1.2 ModelCorrespondence {"CIM_PrintJob.CharSet"},
7835 MappingStrings {
7836 "MIB.IETF|Printer-MIB.prtLocalizationCharacterSet"} ]
7837 string CharSetsSupported[];
7838 [Description (
7839 "Specifies the current character set being used for "
7840 "the output of text relating to management of the "
7841 "Printer. The character set described by this property "
7842 "should also be listed in CharsetsSupported. The string "
7843 "specified by this property should conform to the "
7844 "semantics and syntax specified by section 4.1.2 "
7845 "(\"Charset parameter\") in RFC 2046 (MIME Part 2) and "
7846 "contained in the IANA character-set registry. Examples "
7847 "include \"utf-8\", \"us-ascii\" and \"iso-8859-1\"."),
7848 ModelCorrespondence {"CIM_Printer.CharSetsSupported"} ]
7849 string CurrentCharSet;
7850 [Description (
7851 "Identifies the available languages for strings used by "
7852 "the Printer for the output of management information. "
7853 "The strings should conform to RFC 1766, for example "
7854 "\"en\" is used for English."),
7855 mike 1.2 ArrayType ("Indexed"),
7856 MappingStrings {
7857 "MIB.IETF|Printer-MIB.prtLocalizationLanguage"},
7858 ModelCorrespondence {"CIM_PrintJob.NaturalLanguage"} ]
7859 string NaturalLanguagesSupported[];
7860 [Description (
7861 "Identifies the current language being used by the "
7862 "Printer for management. The language listed in the "
7863 "CurrentNaturalLanguage property should also be listed "
7864 "in NaturalLanguagesSupported."),
7865 ModelCorrespondence {"CIM_Printer.NaturalLanguagesSupported"} ]
7866 string CurrentNaturalLanguage;
7867 [Description (
7868 "Specifies the largest Job (as a byte stream) that the "
7869 "Printer will accept in units of Kbytes. A value of zero "
7870 "indicates that no limit has been set."),
7871 Units ("KiloBytes"),
7872 ModelCorrespondence {"CIM_PrintJob.JobSize"} ]
7873 uint32 MaxSizeSupported;
7874 [Description (
7875 "Describes all of the job sheets that are available on "
7876 mike 1.2 "the Printer. This can also be used to describe the banner "
7877 "that a Printer might provide at the beginning of each Job, "
7878 "or can describe other user specified options."),
7879 ModelCorrespondence {"CIM_PrintJob.RequiredJobSheets"} ]
7880 string AvailableJobSheets[];
7881 [Description (
7882 "Specifies the marking technology used by the Printer."),
7883 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9",
7884 "10", "11", "12", "13", "14", "15", "16", "17",
7885 "18", "19", "20", "21", "22", "23", "24", "25",
7886 "26", "27"},
7887 Values {"Other", "Unknown", "Electrophotographic LED",
7888 "Electrophotographic Laser",
7889 "Electrophotographic Other",
7890 "Impact Moving Head Dot Matrix 9pin",
7891 "Impact Moving Head Dot Matrix 24pin",
7892 "Impact Moving Head Dot Matrix Other",
7893 "Impact Moving Head Fully Formed",
7894 "Impact Band", "Impact Other", "Inkjet Aqueous",
7895 "Inkjet Solid", "Inkjet Other", "Pen",
7896 "Thermal Transfer", "Thermal Sensitive",
7897 mike 1.2 "Thermal Diffusion", "Thermal Other",
7898 "Electroerosion", "Electrostatic",
7899 "Photographic Microfiche",
7900 "Photographic Imagesetter", "Photographic Other",
7901 "Ion Deposition", "eBeam", "Typesetter"},
7902 MappingStrings {"MIB.IETF|Printer-MIB.prtMarkerMarkTech"} ]
7903 uint16 MarkingTechnology;
7904 };
7905
7906
7907 // ===================================================================
7908 // PrintQueue
7909 // ===================================================================
7910 [Description (
7911 "Capabilities and management of a Printer Queue. A PrintQueue "
7912 "holds PrintJobs - which are placed on the Queue by a Print"
7913 "Service. Jobs can move from Queue to Queue.") ]
7914 class CIM_PrintQueue : CIM_JobDestination {
7915 [Description (
7916 "Indicates that Jobs on the Queue will be passed to a "
7917 "Printer. When FALSE, a Job will remain on the Queue and "
7918 mike 1.2 "will not be passed to a Printer for output.") ]
7919 boolean QueueEnabled;
7920 [Description (
7921 "When FALSE, no PrintService can place PrintJobs on the "
7922 "PrintQueue. The ability of an individual PrintService "
7923 "to place a Job on the Queue can be specified using the "
7924 "QueueAcceptingFromService property in the QueueForPrint"
7925 "Service association.") ]
7926 boolean QueueAccepting;
7927 [Description ("The current number of Jobs on the Queue."),
7928 Gauge ]
7929 uint32 NumberOnQueue;
7930 [Description (
7931 "Gives Queue-specific status information, beyond the "
7932 "ManagedSystemElement.Status property. This may be used to "
7933 "provide further qualification as to the status of the "
7934 "Queue or to indicate a secondary condition (e.g. spool "
7935 "area is full)."),
7936 Values {"Other", "Unknown", "No Additional Status",
7937 "QueueSpoolAreaFull"} ]
7938 uint16 QueueStatus;
7939 mike 1.2 [Description (
7940 "Provides a textual explanation for the status of the Queue. "
7941 "The settings of both QueueStatus and the Status property "
7942 "inherited from ManagedSystemElement may be described by "
7943 "QueueStatusInfo. For example, if \"Stopping\" is the value "
7944 "assigned to Status, then this property may contain an "
7945 "explanation as to why the Queue is being stopped.") ]
7946 string QueueStatusInfo;
7947 [Description (
7948 "Specifies the largest possible Job (in terms of a single "
7949 "byte stream) that may be submitted to this Queue. A value "
7950 "of zero indicates that no limit has been set. Units "
7951 "are Kbytes."),
7952 Units ("KiloBytes"),
7953 ModelCorrespondence {"CIM_PrintJob.JobSize"} ]
7954 uint32 MaxJobSize;
7955 [Description (
7956 "Specifies the priority that will be assigned to a new Job "
7957 "being submitted to this Queue, if the Job does not "
7958 "explicitly specify a priority. The range of valid priorities "
7959 "and the interpretation of priorities may be determined from "
7960 mike 1.2 "the JobPriorityHigh and JobPriorityLow properties."),
7961 ModelCorrespondence {"CIM_PrintQueue.JobPriorityHigh",
7962 "CIM_PrintQueue.JobPriorityLow"} ]
7963 uint32 DefaultJobPriority;
7964 [Description (
7965 "Specifies the numeric value that is used to represent the "
7966 "highest priority Jobs that are submitted to this Queue. The "
7967 "range of numeric values for priority may be inversed, e.g. "
7968 "a high priority job is represented by a low integer value. "
7969 "This is indicated by JobPriorityLow being greater than "
7970 "JobPriorityHigh. If both values (PriorityLow and Priority"
7971 "High) are assigned to zero, then the Queue does not support "
7972 "Job priorities."),
7973 ModelCorrespondence {"CIM_PrintQueue.JobPriorityLow",
7974 "CIM_Job.Priority"} ]
7975 uint32 JobPriorityHigh;
7976 [Description (
7977 "Specifies the numeric value that is used to represent the "
7978 "lowest priority Jobs that are submitted to this Queue. The "
7979 "range of numeric values for priority may be inversed, e.g. "
7980 "a low priority job is represented by a high integer value. "
7981 mike 1.2 "This is indicated by JobPriorityLow being greater than "
7982 "JobPriorityHigh. If both values (PriorityLow and PriorityHigh) "
7983 "are assigned to zero, then the Queue does not support "
7984 "Job priorities."),
7985 ModelCorrespondence {"CIM_PrintQueue.JobPriorityHigh",
7986 "CIM_Job.Priority"} ]
7987 uint32 JobPriorityLow;
7988 [Description (
7989 "Specifies the job sheets that are supported by this Queue. "
7990 "Typically the job sheets provided by a Queue will be the "
7991 "union or aggregation of those provided by all the Printers "
7992 "that it supports. However, a system administrator may choose "
7993 "to restrict access to some job sheets on a particular Queue. "
7994 "A Queue might also support additional job sheets through the "
7995 "use of a filter that adds a banner or some other page when a "
7996 "Job is taken from the Queue."),
7997 ModelCorrespondence {"CIM_PrintJob.RequiredJobSheets"} ]
7998 string AvailableJobSheets[];
7999 };
8000
8001
8002 mike 1.2 // ===================================================================
8003 // PrintJob
8004 // ===================================================================
8005 [Description (
8006 "Description of a print request that is either waiting on a "
8007 "Queue for a Printer to become available, in the process of "
8008 "being output on a Printer, or that has previously been "
8009 "printed on a Printer. PrintJobs are weak to their current "
8010 "Queue, or to the last Queue that held them.") ]
8011 class CIM_PrintJob : CIM_Job {
8012 [Propagated ("CIM_PrintQueue.SystemCreationClassName"),
8013 Key, MaxLen (256),
8014 Description ("The scoping System's CreationClassName.") ]
8015 string SystemCreationClassName;
8016 [Propagated ("CIM_PrintQueue.SystemName"),
8017 Key, MaxLen (256),
8018 Description ("The scoping System's Name.") ]
8019 string SystemName;
8020 [Propagated ("CIM_PrintQueue.CreationClassName"),
8021 Key, MaxLen (256),
8022 Description ("The scoping Queue's CreationClassName.") ]
8023 mike 1.2 string QueueCreationClassName;
8024 [Propagated ("CIM_PrintQueue.Name"),
8025 Key, MaxLen (256),
8026 Description ("The scoping Queue's Name.") ]
8027 string QueueName;
8028 [Override("JobStatus"),
8029 Description (
8030 "The inherited JobStatus is used to provide additional "
8031 "information about the status of a PrintJob beyond that "
8032 "enumerated by PrintJobStatus."),
8033 ModelCorrespondence {"CIM_PrintJob.PrintJobStatus"} ]
8034 string JobStatus;
8035 [Key, Description (
8036 "Uniquely identifies this Job within its scoping Queue.")]
8037 string JobID;
8038 [Description (
8039 "Provides additional textual descriptions of how this "
8040 "Job should be scheduled.") ]
8041 string SchedulingInformation;
8042 [Description (
8043 "Specifies the size of the PrintJob (as a byte stream) in "
8044 mike 1.2 "units of Kbytes."),
8045 Units ("KiloBytes"),
8046 ModelCorrespondence {"CIM_Printer.MaxSizeSupported",
8047 "CIM_PrintQueue.MaxJobSize"} ]
8048 uint32 JobSize;
8049 [Description (
8050 "Specifies the print language used by this Job."),
8051 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
8052 "11", "12", "13", "14", "15", "16", "17", "18", "19",
8053 "20", "21", "22", "23", "24", "25", "26", "27", "28",
8054 "29", "30", "31", "32", "33", "34", "35", "36", "37",
8055 "38", "39", "40", "41", "42", "43", "44", "45", "46",
8056 "47"},
8057 Values {"Other", "Unknown", "PCL", "HPGL", "PJL", "PS",
8058 "PSPrinter", "IPDS", "PPDS", "EscapeP", "Epson", "DDIF",
8059 "Interpress", "ISO6429", "Line Data", "MODCA", "REGIS",
8060 "SCS", "SPDL", "TEK4014", "PDS", "IGP", "CodeV", "DSCDSE",
8061 "WPS", "LN03", "CCITT", "QUIC", "CPAP", "DecPPL",
8062 "Simple Text", "NPAP", "DOC", "imPress", "Pinwriter",
8063 "NPDL", "NEC201PL", "Automatic", "Pages", "LIPS", "TIFF",
8064 "Diagnostic", "CaPSL", "EXCL", "LCDS", "XES", "MIME"},
8065 mike 1.2 ArrayType ("Indexed"),
8066 MappingStrings {"MIB.IETF|Printer-MIB.prtInterpreterLangFamily"},
8067 ModelCorrespondence {"CIM_Printer.LanguagesSupported",
8068 "CIM_PrintService.LanguagesSupported",
8069 "CIM_PrintJob.MimeTypes"} ]
8070 uint16 Language;
8071 [Description (
8072 "Specifies the mime types used by the PrintJob if "
8073 "Language is set to indicate a mime type is in use (value=47)."),
8074 ModelCorrespondence {"CIM_PrintJob.Language",
8075 "CIM_Printer.MimeTypesSupported",
8076 "CIM_PrintService.MimeTypesSupported"} ]
8077 string MimeTypes[];
8078 [Description (
8079 "A string specifying the type of paper that is required by "
8080 "this PrintJob. Each string should be expressed in the form "
8081 "specified by ISO/IEC 10175 Document Printing Application (DPA) "
8082 "which is also summarized in Appendix C of RFC 1759 (Printer "
8083 "MIB). Examples of valid strings are \"iso-a4-colored\" and "
8084 "\"na-10x14-envelope\"."),
8085 ModelCorrespondence {"CIM_Printer.PaperTypesAvailable",
8086 mike 1.2 "CIM_PrintService.PaperTypesAvailable"} ]
8087 string RequiredPaperType;
8088 [Description (
8089 "An array of integers indicating the type of finishing "
8090 "required by this Job. It is equivalent to the Capabilities "
8091 "property provided by the Printer."),
8092 ArrayType ("Indexed"),
8093 Values {"Unknown", "Other", "Color Printing",
8094 "Duplex Printing", "Copies", "Collation", "Stapling",
8095 "Transparency Printing", "Punch", "Cover", "Bind",
8096 "Black and White Printing", "One Sided",
8097 "Two Sided Long Edge", "Two Sided Short Edge",
8098 "Portrait", "Landscape", "Reverse Portrait",
8099 "Reverse Landscape", "Quality High", "Quality Normal",
8100 "Quality Low"},
8101 ModelCorrespondence {"CIM_Printer.Capabilities",
8102 "CIM_PrintService.Capabilities"} ]
8103 uint16 Finishing[];
8104 [Description (
8105 "The number of physical copies of the output that will be "
8106 "produced from this Job."),
8107 mike 1.2 ModelCorrespondence {"CIM_Printer.MaxCopies"} ]
8108 uint32 Copies;
8109 [Description (
8110 "The horizontal resolution in Pixels per Inch for the Job."),
8111 Units ("Pixels per Inch"),
8112 ModelCorrespondence {"CIM_Printer.HorizontalResolution"} ]
8113 uint32 HorizontalResolution;
8114 [Description (
8115 "The vertical resolution in Pixels per Inch for the Job."),
8116 Units ("Pixels per Inch"),
8117 ModelCorrespondence {"CIM_Printer.VerticalResolution"} ]
8118 uint32 VerticalResolution;
8119 [Description (
8120 "Specifies the character set and encoding method that "
8121 "should be used by the Printer for the management of "
8122 "this Job. The strings should conform to the semantics and "
8123 "syntax specified by section 4.1.2 (\"Charset parameter\") "
8124 "in RFC 2046 (MIME Part 2) and contained in the IANA "
8125 "character-set registry. Examples include \"utf-8\", "
8126 "\"us-ascii\" and \"iso-8859-1\"."),
8127 ModelCorrespondence {"CIM_Printer.CharSetsSupported"} ]
8128 mike 1.2 string CharSet;
8129 [Description (
8130 "Identifies the language that should be used by the Printer "
8131 "for the management of this Job. The specified value should "
8132 "conform to RFC 1766. For example, \"en\" is used for "
8133 "English."),
8134 ModelCorrespondence {"CIM_Printer.NaturalLanguagesSupported"} ]
8135 string NaturalLanguage;
8136 [Description (
8137 "The number of print-stream pages that should be rendered "
8138 "onto a single media sheet when the Printer outputs this "
8139 "PrintJob."),
8140 ModelCorrespondence {"CIM_Printer.MaxNumberUp"} ]
8141 uint32 NumberUp;
8142 [Description (
8143 "Describes the current state of this Job with respect "
8144 "to the PrintQueue and the Printer. Additional information "
8145 "may be specified in JobStatus."),
8146 ValueMap {"1", "2", "3", "4", "5", "6", "7"},
8147 Values {"Other", "Unknown", "Pending", "Blocked",
8148 "Complete", "Completed With Error", "Printing"},
8149 mike 1.2 ModelCorrespondence {"CIM_PrintJob.TimeCompleted",
8150 "CIM_PrintJob.JobStatus"} ]
8151 uint16 PrintJobStatus;
8152 [Description (
8153 "Time when this Job was completed. This value is only "
8154 "valid if the PrintJobStatus has been assigned to "
8155 "\"Complete\" (value=5) or \"Completed With Error\" "
8156 "(value=6)."),
8157 ModelCorrespondence {"CIM_PrintJob.PrintJobStatus"} ]
8158 datetime TimeCompleted;
8159 [Description (
8160 "Describes the job sheets that should be used when this "
8161 "Job is output on the Printer."),
8162 ModelCorrespondence {"CIM_Printer.AvailableJobSheets"} ]
8163 string RequiredJobSheets[];
8164 [Description (
8165 "Provides additional information, beyond Job Owner "
8166 "inherited from CIM_Job, to identify the origins of the "
8167 "PrintJob. This property could include information such as "
8168 "the System, application or Process that created the Job.") ]
8169 string JobOrigination;
8170 mike 1.2 };
8171
8172
8173 // ===================================================================
8174 // PrintSAP
8175 // ===================================================================
8176 [Description ("The ServiceAccessPoint for a printing Service.") ]
8177 class CIM_PrintSAP : CIM_ServiceAccessPoint {
8178 [Description (
8179 "Specifies the print procotols that this AccessPoint uses. "
8180 "Note that each entry of this array is related to the entry in "
8181 "the PrintProtocolInfo array that is located at the same "
8182 "index."),
8183 ArrayType ("Indexed"),
8184 Values {"Unknown", "Other", "SMB", "BSD", "SYSV","HPNP", "IPP",
8185 "Local"},
8186 ModelCorrespondence {"CIM_PrintSAP.PrintProtocolInfo"} ]
8187 uint16 PrintProtocol[];
8188 [Description (
8189 "Provides clarifying or additional information about the "
8190 "protocols supported by this AccessPoint. Note, each entry "
8191 mike 1.2 "of this array is related to the entry in the PrintProtocol "
8192 "array that is located at the same index."),
8193 ArrayType ("Indexed"),
8194 ModelCorrespondence {"CIM_PrintSAP.PrintProtocol"} ]
8195 string PrintProtocolInfo[];
8196 };
8197
8198
8199 // ===================================================================
8200 // PrintService
8201 // ===================================================================
8202 [Description (
8203 "The Service that provides support for printing. The basic "
8204 "assumption of the Printing Model is that a PrintService accepts "
8205 "a PrintJob for processing, via its PrintSAP. The Job is then "
8206 "placed on a PrintQueue (indicated by the QueueForPrintService "
8207 "association). Printers take Jobs from Queues (indicated by the "
8208 "PrinterServicingQueue association).") ]
8209 class CIM_PrintService : CIM_Service {
8210 [Description (
8211 "An array of free-form strings specifying the types of "
8212 mike 1.2 "paper that may be used by Jobs that are submitted to this "
8213 "PrintService. This may be different than the paper types that "
8214 "are installed on the Printer, because the PrintService may "
8215 "include support for manually making other types available or "
8216 "only a subset of paper types may be exported via this Service. "
8217 "Each string should be expressed in the form specified by "
8218 "ISO/IEC 10175 Document Printing Application (DPA) which is "
8219 "also summarized in Appendix C of RFC 1759 (Printer MIB). "
8220 "Examples of valid strings are \"iso-a4-colored\" and "
8221 "\"na-10x14-envelope\"."),
8222 ModelCorrespondence {"CIM_Printer.PaperTypesAvailable",
8223 "CIM_PrintJob.RequiredPaperType"} ]
8224 string PaperTypesAvailable[];
8225 [Description (
8226 "An array indicating the print languages supported by the "
8227 "PrintService. A PrintService may support more languages "
8228 "than those available on the underlying Printer through the "
8229 "use of filters. An administrator may also choose to prevent "
8230 "some languages from being exported by the PrintService."),
8231 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
8232 "11", "12", "13", "14", "15", "16", "17", "18", "19",
8233 mike 1.2 "20", "21", "22", "23", "24", "25", "26", "27", "28",
8234 "29", "30", "31", "32", "33", "34", "35", "36", "37",
8235 "38", "39", "40", "41", "42", "43", "44", "45", "46",
8236 "47"},
8237 Values {"Other", "Unknown", "PCL", "HPGL", "PJL", "PS",
8238 "PSPrinter", "IPDS", "PPDS", "EscapeP", "Epson", "DDIF",
8239 "Interpress", "ISO6429", "Line Data", "MODCA", "REGIS",
8240 "SCS", "SPDL", "TEK4014", "PDS", "IGP", "CodeV", "DSCDSE",
8241 "WPS", "LN03", "CCITT", "QUIC", "CPAP", "DecPPL",
8242 "Simple Text", "NPAP", "DOC", "imPress", "Pinwriter",
8243 "NPDL", "NEC201PL", "Automatic", "Pages", "LIPS", "TIFF",
8244 "Diagnostic", "CaPSL", "EXCL", "LCDS", "XES", "MIME"},
8245 ArrayType ("Indexed"),
8246 MappingStrings {"MIB.IETF|Printer-MIB.prtInterpreterLangFamily"},
8247 ModelCorrespondence {"CIM_Printer.LanguagesSupported",
8248 "CIM_PrintJob.Language",
8249 "CIM_PrintService.MimeTypesSupported"} ]
8250 uint16 LanguagesSupported[];
8251 [Description (
8252 "An array of free-form strings providing more detailed "
8253 "explanations for any mime types that are supported by "
8254 mike 1.2 "the PrintService. Support for mime types is indicated "
8255 "by specifying a value of 47 in the LanguagesSupported array."),
8256 ModelCorrespondence {"CIM_Printer.MimeTypesSupported",
8257 "CIM_PrintJob.MimeTypes",
8258 "CIM_PrintService.LanguagesSupported"} ]
8259 string MimeTypesSupported[];
8260 [Description (
8261 "An array of integers indicating the capabilities supported "
8262 "by this service. Information such as \"Duplex Printing\" "
8263 "(value=3) or \"Transparency Printing\" (7) is specified in "
8264 "this property."),
8265 ArrayType ("Indexed"),
8266 Values {"Unknown", "Other", "Color Printing", "Duplex Printing",
8267 "Copies", "Collation", "Stapling", "Transparency Printing",
8268 "Punch", "Cover", "Bind", "Black and White Printing",
8269 "One Sided", "Two Sided Long Edge", "Two Sided Short Edge",
8270 "Portrait", "Landscape", "Reverse Portrait",
8271 "Reverse Landscape", "Quality High", "Quality Normal",
8272 "Quality Low"},
8273 ModelCorrespondence {"CIM_Printer.Capabilities",
8274 "CIM_PrintJob.Finishing",
8275 mike 1.2 "CIM_PrintService.CapabilityDescriptions"} ]
8276 uint16 Capabilities[];
8277 [Description (
8278 "An array of free-form strings providing more detailed "
8279 "explanations for any of the Printer features indicated in "
8280 "the Capabilities array. Note, each entry of this array "
8281 "is related to the entry in the Capabilities array that "
8282 "is located at the same index."),
8283 ArrayType ("Indexed"),
8284 ModelCorrespondence {"CIM_PrintService.Capabilities"} ]
8285 string CapabilityDescriptions[];
8286 [Description (
8287 "Describes the filters that are available within this Print"
8288 "Service. For example, a PrintService may be able to convert "
8289 "a Job submitted in one page description language to another, "
8290 "so that it can be passed to an available Printer.") ]
8291 string AvailableFilters[];
8292 };
8293
8294
8295 // ===================================================================
8296 mike 1.2 // PrinterServicingQueue
8297 // ===================================================================
8298 [Association, Description (
8299 "This association indicates that a Printer can be passed "
8300 "PrintJobs from a particular Queue.") ]
8301 class CIM_PrinterServicingQueue : CIM_Dependency {
8302 [Override ("Antecedent"), Description (
8303 "A destination Printer for Jobs enqueued on the Dependent "
8304 "Queue.") ]
8305 CIM_Printer REF Antecedent;
8306 [Override ("Dependent"), Description (
8307 "A Queue that is providing Jobs to the Printer.") ]
8308 CIM_PrintQueue REF Dependent;
8309 };
8310
8311
8312 // ===================================================================
8313 // PrinterServicingJob
8314 // ===================================================================
8315 [Association, Description (
8316 "This association indicates that a Printer is currently "
8317 mike 1.2 "servicing a particular PrintJob.") ]
8318 class CIM_PrinterServicingJob : CIM_Dependency {
8319 [Override ("Antecedent"),
8320 Description ("The destination Printer for a PrintJob.") ]
8321 CIM_Printer REF Antecedent;
8322 [Override ("Dependent"), Description ("The PrintJob.") ]
8323 CIM_PrintJob REF Dependent;
8324 };
8325
8326
8327 // ===================================================================
8328 // PrintJobFile
8329 // ===================================================================
8330 [Association, Aggregation, Description (
8331 "This association indicates which files are associated with "
8332 "a PrintJob.") ]
8333 class CIM_PrintJobFile : CIM_Component {
8334 [Override ("GroupComponent"), Aggregate,
8335 Description ("The PrintJob that is based on one or more Files.") ]
8336 CIM_PrintJob REF GroupComponent;
8337 [Override ("PartComponent"),
8338 mike 1.2 Description ("The File(s) that make up a PrintJob.") ]
8339 CIM_DataFile REF PartComponent;
8340 };
8341
8342
8343 // ===================================================================
8344 // QueueForPrintService
8345 // ===================================================================
8346 [Association, Description (
8347 "This association indicates that a PrintService utilizes a "
8348 "particular PrintQueue.") ]
8349 class CIM_QueueForPrintService : CIM_Dependency {
8350 [Override ("Antecedent"),
8351 Description ("The PrintQueue that the Service utilizes.") ]
8352 CIM_PrintQueue REF Antecedent;
8353 [Override ("Dependent"),
8354 Description ("The PrintService that puts Jobs on the Queue.") ]
8355 CIM_PrintService REF Dependent;
8356 [Description (
8357 "Indicates that the PrintService can accept Jobs and "
8358 "place them on the Queue.") ]
8359 mike 1.2 boolean QueueAcceptingFromService;
8360 };
8361
8362
8363 // ===================================================================
8364 // QueueForwardsToPrintSAP
8365 // ===================================================================
8366 [Association, Description (
8367 "This association indicates that the Jobs from a PrintQueue "
8368 "can be sent to the referenced PrintSAP, to be handled by the "
8369 "SAP's backing PrintService.") ]
8370 class CIM_QueueForwardsToPrintSAP : CIM_Dependency {
8371 [Override ("Antecedent"),
8372 Description ("The PrintSAP for the PrintService.") ]
8373 CIM_PrintSAP REF Antecedent;
8374 [Override ("Dependent"),
8375 Description ("The PrintQueue that forwards Jobs to the SAP.") ]
8376 CIM_PrintQueue REF Dependent;
8377 };
8378
8379
8380 mike 1.2 // ===================================================================
8381 // OwningPrintQueue
8382 // ===================================================================
8383 [Association, Description (
8384 "This association indicates which Queue holds a PrintJob and "
8385 "where the Job is located within that Queue. A Job may remain on "
8386 "its final Queue once it has been printed with a PrintJobStatus "
8387 "of \"Complete\" or \"Completed With Error\".") ]
8388 class CIM_OwningPrintQueue : CIM_JobDestinationJobs {
8389 [Override ("Antecedent"), Min(1), Max(1),
8390 Description ("The PrintQueue on which the Job is held.") ]
8391 CIM_PrintQueue REF Antecedent;
8392 [Override ("Dependent"), Weak,
8393 Description ("The PrintJob.") ]
8394 CIM_PrintJob REF Dependent;
8395 [Description (
8396 "The position of the PrintJob on the Queue. The top of the "
8397 "Queue is indicated by a value of 1 with higher values being "
8398 "used to represent Jobs that are further away from the top of "
8399 "the Queue. A QueuePosition of zero indicate that the Job has "
8400 "completed (either with or without error).") ]
8401 mike 1.2 uint32 QueuePosition;
8402 };
8403
8404
8405 // ===================================================================
8406 // CIM_OOBAlertService
8407 // ===================================================================
8408 [Description (
8409 "This Service is implemented by a LogicalDevice (e.g. a "
8410 "NetworkAdapter or Modem) that is capable of sending alert "
8411 "messages to a remote destination. The alert messages reflect "
8412 "the state of one or more ManagedSystemElements. The Elements "
8413 "for which alert messages are forwarded, are defined by "
8414 "enumerating the ProvidesServiceToElement association for the "
8415 "Service. Out of Band (OOB) refers to the mechanisms in use when "
8416 "normal OS-based management mechanisms are not possible. This "
8417 "occurs when the OS is down or not functioning properly.") ]
8418 class CIM_OOBAlertService : CIM_Service {
8419 [Description (
8420 "The type of the alert destination. For example, the alert "
8421 "may be received by an application listening on a UDP Port on "
8422 mike 1.2 "a remote destination, or could be sent to a pager (values "
8423 "4 or 2, respectively)."),
8424 Values {"Unknown", "Other", "Pager", "TCP Port", "UDP Port"},
8425 ModelCorrespondence {
8426 "CIM_OOBAlertService.OtherDestinationTypeDescription"} ]
8427 uint16 DestinationType;
8428 [Description (
8429 "The description of the alert DestinationType. This is used "
8430 "when the DestinationType is set to \"Other\" (value=1)."),
8431 ModelCorrespondence {"CIM_OOBAlertService.DestinationType"} ]
8432 string OtherDestinationTypeDescription;
8433 [Description (
8434 "The address where this Service sends the alerts. The "
8435 "format of this address depends on the DestinationType. For "
8436 "example, if the DestinationType is a UDP Port (value=4), "
8437 "then this property contains a string identifying the IP "
8438 "address of the Port (for example, 111.222.333.444:4567). "
8439 "If DestinationType is a pager (value=2), then the "
8440 "address is a Pager number (for example, 18002257654).") ]
8441 string DestinationAddress;
8442 [Description (
8443 mike 1.2 "The format of the Alert Message sent by the Service."),
8444 Values {"Unknown", "Other", "Numeric", "AlphaNumeric",
8445 "Free Form Text", "Platform Event Trap"},
8446 ModelCorrespondence {
8447 "CIM_OOBAlertService.OtherMessageFormatDescription"} ]
8448 uint16 MessageFormat;
8449 [Description (
8450 "The description of the format of the alert message used "
8451 "by the Service when the AlertMessageFormat property is "
8452 "set to \"Other\" (value=1)."),
8453 ModelCorrespondence {"CIM_OOBAlertService.MessageFormat"} ]
8454 string OtherMessageFormatDescription;
8455 [Description (
8456 "If the AlertService only uses a fixed message to send "
8457 "an alert, then this flag should be set to TRUE.") ]
8458 boolean OnlySendsFixedMessage;
8459 [Description (
8460 "The AlertService may require some fixed data to send as "
8461 "part of the message. This may include things like the "
8462 "address or name of the System. This string contains the "
8463 "complete message when the property, OnlySendsFixedMessage, "
8464 mike 1.2 "is set to TRUE.") ]
8465 string FixedPartOfMessage;
8466 [Description (
8467 "If the destination is capable of sending an acknowledgement "
8468 "to the alert, then this flag is set to TRUE. The format of "
8469 "the acknowledgement is determined by the DestinationType "
8470 "and the MessageFormat.") ]
8471 boolean DestinationIsAckCapable;
8472 [Description (
8473 "The AlertService may retry and send an alert more than "
8474 "once. The RetryCount identifies how often the operation will "
8475 "be repeated. If DestinationIsAckCapable is set to TRUE, then "
8476 "the retry will only be done if an Ack is not received. "
8477 "Otherwise, the retries are done unconditionally.") ]
8478 uint16 RetryCount;
8479 [Description (
8480 "The interval between each successive retry, in seconds. "
8481 "If DestinationIsAckCapable is set to TRUE, then this "
8482 "interval is used as a timeout interval, before the next "
8483 "retry is done."),
8484 Units ("Seconds") ]
8485 mike 1.2 uint16 RetryInterval;
8486 [Read, Description (
8487 "If the OOB Alerting service is capable of sending Presence "
8488 "heart beat messages")]
8489 boolean PresenceHeartbeatCapable;
8490 [Description (
8491 "When set to true causes the OOBAlertService to send Presence"
8492 "heart beat messages"),
8493 ModelCorrespondence{"CIM_OOBAlertService.PresenceHeartbeatCapable"} ]
8494 boolean EnablePresenceHeartbeats;
8495 };
8496
8497
8498 // ===================================================================
8499 // WakeUpService
8500 // ===================================================================
8501 [Description (
8502 "WakeUpService allows a UnitaryComputerSystem to be woken up "
8503 "from a low power sleep state. This Service is implemented "
8504 "by a LogicalDevice (e.g. NetworkAdapter or Modem) that is "
8505 "capable of receiving wakeup messages, and notifying the "
8506 mike 1.2 "System.") ]
8507 class CIM_WakeUpService : CIM_Service {
8508 [Description ("The Type of the WakeUp Service."),
8509 Values {"Unknown", "Other", "Wake On LAN - Magic Packet",
8510 "Wake on LAN - Packet Filtering", "Wake On Ring"},
8511 ModelCorrespondence {
8512 "CIM_WakeUpServcice.OtherWakeUpTypeDescription"} ]
8513 uint16 WakeUpType;
8514 [Description (
8515 "A description of the type of WakeUpService used when "
8516 "WakeUpType is set to \"Other\" (value=1)."),
8517 ModelCorrespondence {"CIM_WakeUpService.WakeUpType"} ]
8518 string OtherWakeUpTypeDescription;
8519 [Description (
8520 "The filter type on the packets/messages that trigger "
8521 "the WakeUpService. This field is only used when the WakeUp"
8522 "Type is set to \"Wake On LAN - Packet Filtering\" (value"
8523 "=3)."),
8524 Values {"Unknown", "Other", "ARP Broadcast",
8525 "Neighbor Discovery Multicast",
8526 "IP Packet with Directed MAC Address",
8527 mike 1.2 "IPX Diagnostic Responder", "NBT Name Query",
8528 "Binary Match"},
8529 ModelCorrespondence {
8530 "CIM_WakeUpService.OtherFilterTypeDescription"} ]
8531 uint16 FilterType;
8532 [OctetString, Description (
8533 "The binary data that is used to compare the contents "
8534 "of the received packet. This is used when the FilterType is "
8535 "set to \"Binary Match\" (value=7). This could also be used "
8536 "when the FilterType is set to \"Other\" (value=1).") ]
8537 uint8 FilterData[];
8538 [Description (
8539 "The description of the format of the FilterType used by "
8540 "the Service when the FilterType is set to \"Other\" "
8541 "(value=1)."),
8542 ModelCorrespondence {"CIM_WakeUpService.FilterType"} ]
8543 string OtherFilterTypeDescription;
8544 };
8545
8546
8547 // ===================================================================
8548 mike 1.2 // OOBAlertServiceOnModem
8549 // ===================================================================
8550 [Association, Description (
8551 "OOBAlertServiceOnModem defines where the out of band alerting "
8552 "Service is implemented. The Service can either employ a Modem "
8553 "or NetworkAdapter to send alerts.") ]
8554 class CIM_OOBAlertServiceOnModem : CIM_DeviceServiceImplementation {
8555 [Override ("Antecedent"), Max (1),
8556 Description ("The Modem which implements the alerting Service.") ]
8557 CIM_Modem REF Antecedent;
8558 [Override ("Dependent"),
8559 Description ("The alerting Service provided on the Modem.") ]
8560 CIM_OOBAlertService REF Dependent;
8561 };
8562
8563
8564 // ===================================================================
8565 // WakeUpServiceOnModem
8566 // ===================================================================
8567 [Association, Description (
8568 "WakeUpServiceOnModem defines where the WakeUpService is "
8569 mike 1.2 "implemented. The Service can either employ a Modem or "
8570 "NetworkAdapter to receive a wakeup signal.") ]
8571 class CIM_WakeUpServiceOnModem : CIM_DeviceServiceImplementation {
8572 [Override ("Antecedent"), Max (1),
8573 Description ("The Modem which implements the WakeUpService.") ]
8574 CIM_Modem REF Antecedent;
8575 [Override ("Dependent"),
8576 Description ("The wakeup Service provided on the Modem.") ]
8577 CIM_WakeUpService REF Dependent;
8578 };
8579
8580
8581 // ===================================================================
8582 // OOBAlertServiceOnNetworkAdapter
8583 // ===================================================================
8584 [Association,
8585 Description (
8586 "OOBAlertServiceOnNetworkAdapter defines where the out of band "
8587 "alerting Service is implemented. Currently, the Service can "
8588 "either employ a Modem or a NetworkAdapter to send alerts.") ]
8589 class CIM_OOBAlertServiceOnNetworkAdapter : CIM_DeviceServiceImplementation {
8590 mike 1.2 [Override ("Antecedent"), Max (1), Description (
8591 "The NetworkAdapter which implements the Service.") ]
8592 CIM_NetworkAdapter REF Antecedent;
8593 [Override ("Dependent"), Description (
8594 "The alerting Service provided on the NetworkAdapter.") ]
8595 CIM_OOBAlertService REF Dependent;
8596 };
8597
8598
8599 // ===================================================================
8600 // WakeUpServiceOnNetworkAdapter
8601 // ===================================================================
8602 [Association, Description (
8603 "WakeUpServiceOnNetworkAdapter defines where the WakeUpService "
8604 "is implemented. Currently, the Service can either employ a Modem "
8605 "or a NetworkAdapter for wakeup.") ]
8606 class CIM_WakeUpServiceOnNetworkAdapter : CIM_DeviceServiceImplementation {
8607 [Override ("Antecedent"), Max (1), Description (
8608 "The NetworkAdapter which implements the Service.") ]
8609 CIM_NetworkAdapter REF Antecedent;
8610 [Override ("Dependent"), Description (
8611 mike 1.2 "The wakeup Service provided on the NetworkAdapter.") ]
8612 CIM_WakeUpService REF Dependent;
8613 };
8614
8615
8616 // ==================================================================
8617 // FibreProtocolService
8618 // ==================================================================
8619 [Description (
8620 "FibreProtocolService abstracts and allows the management of "
8621 "the Alias, Management, Time, Security, Directory (Naming) and "
8622 "other services and functions available in a Fibre Channel "
8623 "network. This class will be further defined in a later "
8624 "release of CIM.") ]
8625 class CIM_FibreProtocolService : CIM_Service {
8626 };
8627
8628
8629 // ===================================================================
8630 // AGPSoftwareFeature
8631 // ===================================================================
8632 mike 1.2 [Description (
8633 "AGPSoftwareFeature adds two attributes to SoftwareFeature "
8634 "to represent the capabilities of an AGP device driver. An "
8635 "instance of this class would be associated with the "
8636 "Driver's SoftwareElement using the SoftwareFeatureSoftware"
8637 "Elements relationship. The driver's SoftwareElement is "
8638 "associated with the AGPVideoController via the Device"
8639 "Software relationship.") ]
8640 class CIM_AGPSoftwareFeature : CIM_SoftwareFeature {
8641 [Description (
8642 "An array of integers indicating various capabilities and "
8643 "characteristics of the AGPVideoController."),
8644 ArrayType ("Indexed"),
8645 Values {"Unknown", "Other", "OS support",
8646 "Hardware Acceleration", "Hardware Blit",
8647 "OpenGL Support", "Cache Coherency"},
8648 ModelCorrespondence {
8649 "CIM_AGPSoftwareFeature.CharacteristicDescriptions"} ]
8650 uint16 Characteristics[];
8651 [Description (
8652 "An array of free-form strings providing more detailed "
8653 mike 1.2 "explanations for any of the features indicated in the "
8654 "Characteristics array. Each entry in this array is "
8655 "related to the Characteristics array entry located at "
8656 "the same index."),
8657 ArrayType ("Indexed"),
8658 ModelCorrespondence {"CIM_AGPSoftwareFeature.Characteristics"} ]
8659 string CharacteristicDescriptions[];
8660 };
8661
8662
8663 // ===================================================================
8664 //
8665 // Settings, Logs, and Redundancy
8666 //
8667 // ===================================================================
8668
8669
8670 // ===================================================================
8671 // RedundancyGroup
8672 // ===================================================================
8673 [Description (
8674 mike 1.2 "A class derived from LogicalElement that is a special "
8675 "collection of ManagedSystemElements. This collection indicates "
8676 "that the aggregated components together provide redundancy. "
8677 "All elements aggregated in a RedundancyGroup should be "
8678 "instantiations of the same object class.") ]
8679 class CIM_RedundancyGroup : CIM_LogicalElement {
8680 [Key, MaxLen (256), Description (
8681 "CreationClassName indicates the name of the class or "
8682 "the subclass used in the creation of an instance. When "
8683 "used with the other key properties of this class, this "
8684 "property allows all instances of this class and its "
8685 "subclasses to be uniquely identified.") ]
8686 string CreationClassName;
8687 [Override("Name"),
8688 Key, MaxLen (256), Description (
8689 "The RedundancyGroup Name serves as the key for the "
8690 "Group's instance in an enterprise environment.") ]
8691 string Name;
8692 [Description (
8693 "RedundancyStatus provides information on the state of the "
8694 "RedundancyGroup. \"Fully Redundant\" (value=2) means that "
8695 mike 1.2 "all of the configured redundancy is still available; "
8696 "\"Degraded Redundancy\" (3) means that some failures have "
8697 "been experienced but some reduced amount of redundancy is "
8698 "still available; \"Redundancy Lost\" (4) means that a "
8699 "sufficient number of failures have been experienced such "
8700 "that no redundancy is available and the next failure "
8701 "experienced will cause overall failure. Also, the values, "
8702 "\"Other\" (1) and \"Unknown\" (0), are defined."),
8703 Values {"Unknown", "Other", "Fully Redundant",
8704 "Degraded Redundancy", "Redundancy Lost"} ]
8705 uint16 RedundancyStatus;
8706 };
8707
8708
8709 // ===================================================================
8710 // RedundancyComponent
8711 // ===================================================================
8712 [Association, Aggregation, Description (
8713 "A RedundancyGroup aggregates Managed System Elements and "
8714 "indicates that these elements, taken together, provide "
8715 "redundancy. All elements aggregated in a RedundancyGroup "
8716 mike 1.2 "should be instantiations of the same object class.") ]
8717 class CIM_RedundancyComponent : CIM_Component {
8718 [Override ("GroupComponent"), Aggregate,
8719 Description (
8720 "The RedundancyComponent association indicates that "
8721 "'this set of fans' or 'these physical extents' participate "
8722 "in a single RedundancyGroup.") ]
8723 CIM_RedundancyGroup REF GroupComponent;
8724 };
8725
8726
8727 // ===================================================================
8728 // SpareGroup
8729 // ===================================================================
8730 [Description (
8731 "A class derived from RedundancyGroup indicating that one or "
8732 "more of the aggregated elements can be spared. (The actual "
8733 "Spares are defined using the ActsAsSpare association.) An "
8734 "example is the use of redundant NICs in a ComputerSystem - "
8735 "where one NIC is primary and the other is Spare. The 'primary' "
8736 "NIC would be a member of the SpareGroup (associated using the "
8737 mike 1.2 "RedundancyComponent class) and the 'other' NIC would be "
8738 "associated using the ActsAsSpare relationship.") ]
8739 class CIM_SpareGroup : CIM_RedundancyGroup {
8740 [Description (
8741 "This method is forces a failover from one ManagedSystemElement "
8742 "to another. There are two parameters to the Failover method, "
8743 "FailoverFrom and FailoverTo. The FailoverFrom parameter is a "
8744 "reference to the primary ManagedSystemElement that will become "
8745 "inactive after the method. This Element should be associated "
8746 "with the SpareGroup through the RedundancyComponent relationship. "
8747 "The FailoverTo parameter is a reference to the ManagedSystem"
8748 "Element that will take over for the primary. This Element "
8749 "should be associated with the SpareGroup through the ActsAsSpare "
8750 "association. Once the failover has occurred, the SpareGroup and "
8751 "the RedundancyComponent and ActsAsSpare associations will be "
8752 "updated with current status. For example, the ActsAsSpare "
8753 "association that contained the FailoverTo Element will "
8754 "be deleted and a new RedundancyComponent association instantiated "
8755 "in its place. The method should return 0 if successful, 1 if "
8756 "the request is not supported, and some other value if any other "
8757 "error occurred. In a subclass, the set of possible return codes "
8758 mike 1.2 "could be specified, using a ValueMap qualifier on the method. "
8759 "The strings to which the ValueMap contents are 'translated' may "
8760 "also be specified in the subclass as a Values array qualifier.") ]
8761 uint32 Failover(
8762 [IN] CIM_ManagedSystemElement REF FailoverFrom,
8763 [IN] CIM_ManagedSystemElement REF FailoverTo);
8764 };
8765
8766
8767 // ===================================================================
8768 // ActsAsSpare
8769 // ===================================================================
8770 [Association,
8771 Description (
8772 "The ActsAsSpare association indicates which elements can spare "
8773 "or replace the other aggregated elements. The fact that a "
8774 "spare can operate in \"hot standby\" mode is specified on an "
8775 "element by element basis.") ]
8776 class CIM_ActsAsSpare {
8777 [Key, Description ("The SpareGroup") ]
8778 CIM_SpareGroup REF Group;
8779 mike 1.2 [Key, Description (
8780 "A ManagedSystemElement acting as a spare and participating "
8781 "in the SpareGroup.") ]
8782 CIM_ManagedSystemElement REF Spare;
8783 [Description (
8784 "HotStandby is a boolean indicating that the spare is "
8785 "operating as a hot standby.") ]
8786 boolean HotStandby;
8787 };
8788
8789
8790 // ===================================================================
8791 // StorageRedundancyGroup
8792 // ===================================================================
8793 [Description (
8794 "A class derived from RedundancyGroup containing mass "
8795 "storage-related redundancy information. StorageRedundancy"
8796 "Groups are used to protect user data. They are made up of one "
8797 "or more PhysicalExtents, or one or more AggregatePExtents. "
8798 "StorageRedundancyGroups may overlap. However, the "
8799 "underlying Extents within the overlap should not contain "
8800 mike 1.2 "any check data.") ]
8801 class CIM_StorageRedundancyGroup : CIM_RedundancyGroup {
8802 [Description (
8803 "The TypeOfAlgorithm specifies the algorithm used for data "
8804 "redundancy and reconstruction. For example, \"P+Q\" (value"
8805 "=5) or \"P+S\" (7) may be specified. The value of 0, is "
8806 "defined as \"None\" to indicate that data redundancy is not "
8807 "active. An inactive redundancy should only be instantiated "
8808 "if data striping or concatenation are active. These are "
8809 "indicated by the IsStriped or IsConcatentated boolean "
8810 "properties of this RedundancyGroup."),
8811 Values {"None", "Other", "Unknown", "Copy", "XOR", "P+Q",
8812 "S", "P+S"},
8813 MappingStrings {"MIF.DMTF|Redundancy Group|001.2"} ]
8814 uint16 TypeOfAlgorithm;
8815 [Description (
8816 "StorageRedundancy provides additional information on the "
8817 "state of the RedundancyGroup, beyond the RedundancyStatus "
8818 "property. Information like \"Reconfig In Progress\" (value"
8819 "=1) or \"Redundancy Disabled\" can be specified using "
8820 "this property."),
8821 mike 1.2 Values {"No Additional Status", "Reconfig In Progress",
8822 "Data Lost", "Not Currently Configured",
8823 "Protected Rebuild", "Redundancy Disabled",
8824 "Unprotected Rebuild", "Recalculating", "Verifying"} ]
8825 uint16 StorageRedundancy;
8826 [Description (
8827 "True indicates that the data is striped across the various "
8828 "StorageExtents in the Group.") ]
8829 boolean IsStriped;
8830 [Description (
8831 "True indicates that the data is concatenated across the "
8832 "various StorageExtents in the Group.") ]
8833 boolean IsConcatenated;
8834 };
8835
8836
8837 // ===================================================================
8838 // ExtraCapacityGroup
8839 // ===================================================================
8840 [Description (
8841 "A class derived from RedundancyGroup indicating that the "
8842 mike 1.2 "aggregated elements have more capacity or capability than is "
8843 "needed. An example of this type of redundancy is the "
8844 "installation of N+1 power supplies or fans in a system.") ]
8845 class CIM_ExtraCapacityGroup : CIM_RedundancyGroup {
8846 [Description (
8847 "MinNumberNeeded indicates the smallest number of elements "
8848 "that must be operational in order to have redundancy. "
8849 "For example, in an N+1 redundancy relationship, "
8850 "the MinNumberNeeded property should be set equal to N.") ]
8851 uint32 MinNumberNeeded;
8852 [Description (
8853 "Boolean indicating whether load balancing is supported by "
8854 "the ExtraCapacityGroup.") ]
8855 boolean LoadBalancedGroup;
8856 };
8857
8858
8859 // ===================================================================
8860 // MonitorResolution
8861 // ===================================================================
8862 [Description (
8863 mike 1.2 "MonitorResolution describes the relationship between "
8864 "horizontal and vertical resolutions, refresh rate and scan "
8865 "mode for a DesktopMonitor. The actual resolutions, etc. that "
8866 "are in use, are the values specified in the VideoController "
8867 "object.") ]
8868 class CIM_MonitorResolution : CIM_Setting {
8869 [Override ("SettingID"),
8870 Key, MaxLen (256),
8871 Description (
8872 "The inherited SettingID serves as part of the key for a "
8873 "MonitorResolution instance.") ]
8874 string SettingID;
8875 [Description ("Monitor's horizontal resolution in Pixels."),
8876 Units ("Pixels"),
8877 ModelCorrespondence {
8878 "CIM_VideoController.CurrentHorizontalResolution"},
8879 MappingStrings {"MIF.DMTF|Monitor Resolutions|002.2"} ]
8880 uint32 HorizontalResolution;
8881 [Description ("Monitor's vertical resolution in Pixels."),
8882 Units ("Pixels"),
8883 ModelCorrespondence {
8884 mike 1.2 "CIM_VideoController.CurrentVerticalResolution"},
8885 MappingStrings {"MIF.DMTF|Monitor Resolutions|002.3"} ]
8886 uint32 VerticalResolution;
8887 [Description (
8888 "Monitor's refresh rate in Hertz. If a range of rates is "
8889 "supported, use the MinRefreshRate and MaxRefreshRate "
8890 "properties, and set RefreshRate (this property) to 0."),
8891 Units ("Hertz"),
8892 ModelCorrespondence {
8893 "CIM_VideoController.CurrentRefreshRate"},
8894 MappingStrings {"MIF.DMTF|Monitor Resolutions|002.4"} ]
8895 uint32 RefreshRate;
8896 [Description (
8897 "Monitor's minimum refresh rate in Hertz, when a range of "
8898 "rates is supported at the specified resolutions."),
8899 Units ("Hertz"),
8900 ModelCorrespondence {
8901 "CIM_VideoController.MinRefreshRate"},
8902 MappingStrings {"MIF.DMTF|Monitor Resolutions|002.6"} ]
8903 uint32 MinRefreshRate;
8904 [Description (
8905 mike 1.2 "Monitor's maximum refresh rate in Hertz, when a range of "
8906 "rates is supported at the specified resolutions."),
8907 Units ("Hertz"),
8908 ModelCorrespondence {
8909 "CIM_VideoController.MaxRefreshRate"},
8910 MappingStrings {"MIF.DMTF|Monitor Resolutions|002.7"} ]
8911 uint32 MaxRefreshRate;
8912 [Description (
8913 "Integer indicating whether the monitor operates in "
8914 "interlaced (value=5) or non-interlaced (4) mode."),
8915 ValueMap {"1", "2", "3", "4", "5"},
8916 Values {"Other", "Unknown", "Not Supported",
8917 "Non-Interlaced Operation", "Interlaced Operation"},
8918 ModelCorrespondence {
8919 "CIM_VideoController.CurrentScanMode"},
8920 MappingStrings {"MIF.DMTF|Monitor Resolutions|002.5"} ]
8921 uint16 ScanMode;
8922 };
8923
8924
8925 // ===================================================================
8926 mike 1.2 // MonitorSetting
8927 // ===================================================================
8928 [Association, Description (
8929 "MonitorSetting associates the MonitorResolution Setting object "
8930 "with the DesktopMonitor to which it applies.") ]
8931 class CIM_MonitorSetting : CIM_ElementSetting {
8932 [Override ("Element"), Description (
8933 "The DesktopMonitor.") ]
8934 CIM_DesktopMonitor REF Element;
8935 [Override ("Setting"), Description (
8936 "The MonitorResolution associated with the DesktopMonitor.") ]
8937 CIM_MonitorResolution REF Setting;
8938 };
8939
8940
8941 // ===================================================================
8942 // NetworkAdapterRedundancyComponent
8943 // ===================================================================
8944 [Association, Description (
8945 "CIM_NetworkAdapterRedundancyComponent indicates the role that "
8946 "a NetworkAdapter plays in a ExtraCapacityGroup, providing "
8947 mike 1.2 "load balancing.") ]
8948 class CIM_NetworkAdapterRedundancyComponent : CIM_RedundancyComponent {
8949 [Override("GroupComponent"), Aggregate,
8950 Description (
8951 "The RedundancyGroup representing a set of load balanced "
8952 "NetworkAdapters.") ]
8953 CIM_ExtraCapacityGroup REF GroupComponent;
8954 [Override("PartComponent"),
8955 Description (
8956 "The Network Adapter(s) belonging to the RedundancyGroup.") ]
8957 CIM_NetworkAdapter REF PartComponent;
8958 [Description (
8959 "Indicates the scope of load balancing for the NetworkAdapters "
8960 "involved in the RedundancyGroup. Load balancing may be "
8961 "restricted to transmitting data only (value=1), "
8962 "receiving data only (value=2), or used for both transmit "
8963 "and receive (value=3)."),
8964 Values {"Unknown", "Load Balancing - Transmit Only",
8965 "Load Balancing - Receive Only", "Full Load Balancing"} ]
8966 uint16 ScopeOfBalancing;
8967 [Description (
8968 mike 1.2 "Boolean indicating whether the Network Adapter is an original "
8969 "primary adapter (value=1), a preferred primary adapter (2), "
8970 "or both (3). Values of \"Unknown\" and \"Not Applicable\" may "
8971 "also be specified."),
8972 Values {"Unknown", "Original Primary", "Preferred Primary",
8973 "Both", "Not Applicable"} ]
8974 uint16 PrimaryAdapter;
8975 };
8976
8977
8978 // ===================================================================
8979 // NetworkVirtualAdapter
8980 // ===================================================================
8981 [Association, Description (
8982 "NetworkVirtualAdapter describes that an instance of Network"
8983 "Adapter is actually the result of several Adapters "
8984 "participating in a load balanced RedundancyGroup.") ]
8985 class CIM_NetworkVirtualAdapter : CIM_LogicalIdentity {
8986 [Override ("SystemElement"),
8987 Description ("The 'virtual' NetworkAdapter.") ]
8988 CIM_NetworkAdapter REF SystemElement;
8989 mike 1.2 [Override ("SameElement"),
8990 Description (
8991 "The ExtraCapacity RedundancyGroup that describes the load "
8992 "balancing. The result of the load balancing is the 'virtual' "
8993 "Adapter.") ]
8994 CIM_ExtraCapacityGroup REF SameElement;
8995 };
8996
8997
8998 // ===================================================================
8999 // VideoControllerResolution
9000 // ===================================================================
9001 [Description (
9002 "VideoControllerResolution describes the various video modes "
9003 "that a VideoController can support. Video modes are defined by "
9004 "the possible horizontal and vertical resolutions, refresh "
9005 "rate, scan mode and number of colors settings supported by a "
9006 "Controller. The actual resolutions, etc. that are in use, are "
9007 "the values specified in the VideoController object.") ]
9008 class CIM_VideoControllerResolution : CIM_Setting {
9009 [Override ("SettingID"),
9010 mike 1.2 Key, MaxLen (256), Description (
9011 "The inherited SettingID serves as part of the key for a "
9012 "VideoControllerResolution instance.") ]
9013 string SettingID;
9014 [Description ("Controller's horizontal resolution in Pixels."),
9015 Units ("Pixels"),
9016 ModelCorrespondence {
9017 "CIM_VideoController.CurrentHorizontalResolution"},
9018 MappingStrings {"MIF.DMTF|Monitor Resolutions|002.2"} ]
9019 uint32 HorizontalResolution;
9020 [Description ("Controller's vertical resolution in Pixels."),
9021 Units ("Pixels"),
9022 ModelCorrespondence {
9023 "CIM_VideoController.CurrentVerticalResolution"},
9024 MappingStrings {"MIF.DMTF|Monitor Resolutions|002.3"} ]
9025 uint32 VerticalResolution;
9026 [Description (
9027 "Refresh rate in Hertz. If a range of rates is supported, use "
9028 "the MinRefreshRate and MaxRefreshRate properties, and set "
9029 "RefreshRate (this property) to 0."),
9030 Units ("Hertz"),
9031 mike 1.2 ModelCorrespondence {"CIM_VideoController.CurrentRefreshRate"},
9032 MappingStrings {"MIF.DMTF|Monitor Resolutions|002.4"} ]
9033 uint32 RefreshRate;
9034 [Description (
9035 "Minimum refresh rate in Hertz, when a range of rates is "
9036 "supported at the specified resolutions."),
9037 Units ("Hertz"),
9038 ModelCorrespondence {"CIM_VideoController.MinRefreshRate"},
9039 MappingStrings {"MIF.DMTF|Monitor Resolutions|002.6"} ]
9040 uint32 MinRefreshRate;
9041 [Description (
9042 "Maximum refresh rate in Hertz, when a range of rates is "
9043 "supported at the specified resolutions."),
9044 Units ("Hertz"),
9045 ModelCorrespondence {"CIM_VideoController.MaxRefreshRate"},
9046 MappingStrings {"MIF.DMTF|Monitor Resolutions|002.7"} ]
9047 uint32 MaxRefreshRate;
9048 [Description (
9049 "Integer indicating whether the Controller operates in "
9050 "interlaced (value=5) or non-interlaced (4) mode."),
9051 ValueMap {"1", "2", "3", "4", "5"},
9052 mike 1.2 Values {"Other", "Unknown", "Not Supported",
9053 "Non-Interlaced Operation", "Interlaced Operation"},
9054 ModelCorrespondence {"CIM_VideoController.CurrentScanMode"},
9055 MappingStrings {"MIF.DMTF|Monitor Resolutions|002.5"} ]
9056 uint16 ScanMode;
9057 [Description (
9058 "Number of colors supported at the current resolutions."),
9059 ModelCorrespondence {
9060 "CIM_VideoController.CurrentNumberOfColors"} ]
9061 uint64 NumberOfColors;
9062 };
9063
9064
9065 // ===================================================================
9066 // VideoSetting
9067 // ===================================================================
9068 [Association, Description (
9069 "VideoSetting associates the VideoControllerResolution Setting "
9070 "with the Controller(s) to which it applies.") ]
9071 class CIM_VideoSetting : CIM_ElementSetting {
9072 [Override ("Element"),
9073 mike 1.2 Description ("The VideoController.") ]
9074 CIM_VideoController REF Element;
9075 [Override ("Setting"),
9076 Description (
9077 "The resolutions, refresh rates, scan mode and number of colors "
9078 "that can be set for the Controller.") ]
9079 CIM_VideoControllerResolution REF Setting;
9080 };
9081
9082
9083 // ===================================================================
9084 // ExtentRedundancyComponent
9085 // ===================================================================
9086 [Association, Aggregation, Description (
9087 "Describes the StorageExtents participating in a Storage"
9088 "RedundancyGroup.") ]
9089 class CIM_ExtentRedundancyComponent : CIM_RedundancyComponent {
9090 [Override ("GroupComponent"), Aggregate,
9091 Description ("The StorageRedundancyGroup.") ]
9092 CIM_StorageRedundancyGroup REF GroupComponent;
9093 [Override ("PartComponent"), Description (
9094 mike 1.2 "The StorageExtent participating in the RedundancyGroup.") ]
9095 CIM_StorageExtent REF PartComponent;
9096 };
9097
9098
9099 // ===================================================================
9100 // PExtentRedundancyComponent
9101 // ===================================================================
9102 [Association, Aggregation, Description (
9103 "Describes the PhysicalExtents participating in a Storage"
9104 "RedundancyGroup.") ]
9105 class CIM_PExtentRedundancyComponent : CIM_ExtentRedundancyComponent {
9106 [Override ("GroupComponent"), Aggregate,
9107 Description ("The StorageRedundancyGroup.") ]
9108 CIM_StorageRedundancyGroup REF GroupComponent;
9109 [Override ("PartComponent"), Description (
9110 "The PhysicalExtent participating in the RedundancyGroup.") ]
9111 CIM_PhysicalExtent REF PartComponent;
9112 };
9113
9114
9115 mike 1.2 // ===================================================================
9116 // AggregateRedundancyComponent
9117 // ===================================================================
9118 [Association, Aggregation, Description (
9119 "Describes the AggregatePExtent in a StorageRedundancyGroup.") ]
9120 class CIM_AggregateRedundancyComponent : CIM_ExtentRedundancyComponent {
9121 [Override ("GroupComponent"), Aggregate,
9122 Description ("The StorageRedundancyGroup.") ]
9123 CIM_StorageRedundancyGroup REF GroupComponent;
9124 [Override ("PartComponent"), Description (
9125 "The AggregatePExtent participating in the RedundancyGroup.") ]
9126 CIM_AggregatePExtent REF PartComponent;
9127 };
9128
9129
9130 // ==============================================================
9131 // DiskGroup
9132 // ==============================================================
9133 [Description (
9134 "A DiskGroup is a named collection of DiskDrives and the "
9135 "StorageExtent(s) accessed via those Drives. The "
9136 mike 1.2 "collection is used to limit the BasedOn relationships of "
9137 "the Extents in the DiskGroup. Extents in the Group can NOT "
9138 "be BasedOn storage accessed from Drives outside of the "
9139 "Group. For example, a SoftwareVolume created 'within the "
9140 "DiskGroup' is restricted to be completely accessed using "
9141 "Drives in the Group. Actions such as 'replicate' or "
9142 "'migrate' on an Extent must operate within the scope of "
9143 "the Extents present in the DiskGroup.") ]
9144 class CIM_DiskGroup : CIM_CollectionOfMSEs {
9145 [Override ("CollectionID"), Key]
9146 string CollectionID;
9147 };
9148
9149
9150 // ===================================================================
9151 // DriveInDiskGroup
9152 // ===================================================================
9153 [Association, Aggregation, Description (
9154 "CIM_DriveInDiskGroup defines the DiskDrive(s) that participate "
9155 "in the Group.") ]
9156 class CIM_DriveInDiskGroup : CIM_CollectedMSEs {
9157 mike 1.2 [Override ("Collection"), Aggregate, Max (1),
9158 Description (
9159 "The DiskGroup. A Drive is a member of at most one "
9160 "DiskGroup.") ]
9161 CIM_DiskGroup REF Collection;
9162 [Override ("Member"), Description (
9163 "The DiskDrive in the Group.") ]
9164 CIM_DiskDrive REF Member;
9165 };
9166
9167
9168 // ===================================================================
9169 // ExtentInDiskGroup
9170 // ===================================================================
9171 [Association, Aggregation, Description (
9172 "CIM_ExtentInDiskGroup defines the StorageExtent(s) that are "
9173 "located within and restricted by the Group.") ]
9174 class CIM_ExtentInDiskGroup : CIM_CollectedMSEs {
9175 [Override ("Collection"), Aggregate, Max (1),
9176 Description (
9177 "The DiskGroup. An Extent is defined within at most one "
9178 mike 1.2 "DiskGroup.") ]
9179 CIM_DiskGroup REF Collection;
9180 [Override ("Member"), Description (
9181 "The StorageExtent restricted by and participating in the "
9182 "Group.") ]
9183 CIM_StorageExtent REF Member;
9184 };
9185
9186
9187 // ===================================================================
9188 // GroupInDiskGroup
9189 // ===================================================================
9190 [Association, Aggregation, Description (
9191 "CIM_GroupInDiskGroup describes that a DiskGroup may be "
9192 "divided into smaller named Collections.") ]
9193 class CIM_GroupInDiskGroup : CIM_CollectedCollections {
9194 [Override ("Collection"), Aggregate, Max (1),
9195 Description (
9196 "The DiskGroup that is subsetted into smaller "
9197 "Collections.") ]
9198 CIM_DiskGroup REF Collection;
9199 mike 1.2 [Override ("CollectionInCollection"), Description (
9200 "The DiskGroup that is a subset of the larger Group.") ]
9201 CIM_DiskGroup REF CollectionInCollection;
9202 };
9203
9204
9205 // ===================================================================
9206 // MessageLog
9207 // ===================================================================
9208 [Description (
9209 "MessageLog represents any type of event, error or informational "
9210 "register or chronicle. The object describes the existence of "
9211 "the log and its characteristics. Several methods are defined "
9212 "for retrieving, writing and deleting log entries, and "
9213 "maintaining the log.") ]
9214 class CIM_MessageLog : CIM_LogicalElement {
9215 [Key, MaxLen (256),
9216 Description (
9217 "CreationClassName indicates the name of the class or "
9218 "the subclass used in the creation of an instance. When "
9219 "used with the other key properties of this class, this "
9220 mike 1.2 "property allows all instances of this class and its "
9221 "subclasses to be uniquely identified.") ]
9222 string CreationClassName;
9223 [Override ("Name"),
9224 Key, MaxLen (256),
9225 Description (
9226 "The inherited Name serves as part of the key (a unique "
9227 "identifier) for the MessageLog instance.") ]
9228 string Name;
9229 [Description (
9230 "An array of integers indicating the Log capabilities. "
9231 "Information such as \"Write Record Supported\" (value="
9232 "2) or \"Variable Length Records Supported\" (8) is "
9233 "specified in this property."),
9234 ArrayType ("Indexed"),
9235 Values {"Unknown", "Other", "Write Record Supported",
9236 "Delete Record Supported",
9237 "Can Move Backward in Log", "Freeze Log Supported",
9238 "Clear Log Supported",
9239 "Supports Addressing by Ordinal Record Number",
9240 "Variable Length Records Supported",
9241 mike 1.2 "Variable Formats for Records",
9242 "Can Flag Records for Overwrite"},
9243 ModelCorrespondence {
9244 "CIM_MessageLog.CapabilitiesDescriptions"} ]
9245 uint16 Capabilities[];
9246 [Description (
9247 "An array of free-form strings providing more detailed "
9248 "explanations for any of the Log features indicated in "
9249 "the Capabilities array. Note, each entry of this array "
9250 "is related to the entry in the Capabilities array that "
9251 "is located at the same index."),
9252 ArrayType ("Indexed"),
9253 ModelCorrespondence {"CIM_MessageLog.Capabilities"} ]
9254 string CapabilitiesDescriptions[];
9255 [Description (
9256 "The maximum size, in bytes, to which the Log can grow. "
9257 "If there is no maximum, then MaxLogSize should be set "
9258 "to 0."),
9259 Units ("Bytes") ]
9260 uint64 MaxLogSize;
9261 [Description (
9262 mike 1.2 "The size of the Log header, in bytes, if one is "
9263 "present. If there is no Log header, then this property "
9264 "should be set to 0. Headers may include general "
9265 "information about the Log such as the current number of "
9266 "records, time of last update, or a pointer to the location "
9267 "of the first Log entry. Note that this property is NOT the "
9268 "size of the header for an individual Log entry. The latter "
9269 "is described by the property, SizeOfRecordHeader."),
9270 Units ("Bytes") ]
9271 uint64 SizeOfHeader;
9272 [Description (
9273 "If the SizeOfHeader property is non-zero, this property "
9274 "describes the structure and format of the Log header. It "
9275 "is a free-form string. If the SizeOfHeader property is 0, "
9276 "then the information in this property is undefined.") ]
9277 string HeaderFormat;
9278 [Description (
9279 "Maximum size, in bytes, to which an individual Log "
9280 "entry (record) can grow - if the Capabilities array "
9281 "includes a value of 7 (\"Variable Length Records "
9282 "Supported\"). If the Capabilities array does not "
9283 mike 1.2 "include a 7, then the Log only supports fixed length "
9284 "entries. The size of these entries is described by "
9285 "this property."),
9286 Units ("Bytes") ]
9287 uint64 MaxRecordSize;
9288 [Description (
9289 "The size of the header for the Log's individual entries, "
9290 "in bytes, if record headers are defined. If there are no "
9291 "record headers, then this property should be set to 0. "
9292 "Record headers may include information such as the type of "
9293 "the Log entry, the date/time that the entry was last "
9294 "updated, or a pointer to the start of optional data. Note "
9295 "that this property defines the header size for individual "
9296 "records in the Log, while the SizeOfHeader property "
9297 "describes the Log's overall header, typically located at "
9298 "the start of the MessageLog."),
9299 Units ("Bytes") ]
9300 uint64 SizeOfRecordHeader;
9301 [Description (
9302 "If the SizeOfRecordHeader property is non-zero, this "
9303 "property describes the structure and format of the "
9304 mike 1.2 "record headers. It is a free-form string. If the "
9305 "SizeOfRecordHeader property is 0, then the information "
9306 "in this property is undefined.") ]
9307 string RecordHeaderFormat;
9308 [Description (
9309 "Maximum number of records that can be captured in "
9310 "the Log. If undefined, a value of zero should be "
9311 "specified. Note that when the Capabilities array "
9312 "indicates that variable length records are supported "
9313 "(value=7), then it is possible that this maximum may "
9314 "not be achieved.") ]
9315 uint64 MaxNumberOfRecords;
9316 [Description (
9317 "Current number of entries (records) in the Log."),
9318 Gauge ]
9319 uint64 CurrentNumberOfRecords;
9320 [Description (
9321 "An enumeration describing the behavior of the Log, when "
9322 "it becomes full or near full. For example, the Log may "
9323 "wrap (value=2) or may simply stop recording entries (value"
9324 "=7).\n\n"
9325 mike 1.2 "Some of the property's possible values need further "
9326 "explanation:\n"
9327 "3=\"Clear When Near Full\" indicates that all of the Log's "
9328 "entries will be deleted when a specified record capacity is "
9329 "reached. The capacity is specified in percentage, using the "
9330 "property, PercentageNearFull. 'Near Full' may be less than "
9331 "100% if the Log takes time to clear, and a position should "
9332 "always be available for new records.\n"
9333 "4=\"Overwrite Outdated When Needed\" describes that Log "
9334 "entries (timestamped later than the date/time specified in "
9335 "the property, TimeWhenOutdated) can be overwritten.\n"
9336 "5=\"Remove Outdated Records\" specifies that records "
9337 "(timestamped later than the date/time specified in the "
9338 "property, TimeWhenOutdated) are logically and/or physically "
9339 "removed from the Log.\n"
9340 "6=\"Overwrite Specific Records\" indicates that specially "
9341 "flagged records may be overwritten. This property only makes "
9342 "sense when the Capabilities array includes a value of 10, "
9343 "\"Can Flag Records for Overwrite\"."),
9344 Values {"Unknown", "Other", "Wraps When Full",
9345 "Clear When Near Full",
9346 mike 1.2 "Overwrite Outdated When Needed",
9347 "Remove Outdated Records",
9348 "Overwrite Specific Records",
9349 "Never Overwrite"},
9350 ModelCorrespondence {"CIM_MessageLog.OtherPolicyDescription",
9351 "CIM_MessageLog.TimeWhenOutdated",
9352 "CIM_MessageLog.PercentageNearFull"} ]
9353 uint16 OverwritePolicy;
9354 [Description (
9355 "When the OverwritePolicy specifies a value of 1 "
9356 "(\"Other\"), the Log's behavior can be explained "
9357 "using this property. If OverwritePolicy is not 1, "
9358 "then this property's contents are undefined."),
9359 ModelCorrespondence {"CIM_MessageLog.OverwritePolicy"} ]
9360 string OtherPolicyDescription;
9361 [Description (
9362 "If the OverwritePolicy is based on 'outdated' records "
9363 "(values 4 or 5), this property defines when a Log entry "
9364 "is considered to be outdated - either by time interval or "
9365 "at a specific date and time."),
9366 ModelCorrespondence {"CIM_MessageLog.OverwritePolicy"} ]
9367 mike 1.2 datetime TimeWhenOutdated;
9368 [Description (
9369 "If the OverwritePolicy is based on clearing records "
9370 "when the Log is near full (value=3), this property defines "
9371 "the record capacity (in percentage) that is considered to "
9372 "be 'near full'."),
9373 Units ("Percent"),
9374 ModelCorrespondence {"CIM_MessageLog.OverwritePolicy"} ]
9375 uint8 PercentageNearFull;
9376 [Description (
9377 "An enumeration describing the last change to the "
9378 "MessageLog."),
9379 Values {"Unknown", "Add", "Delete", "Modify", "Log Cleared"} ]
9380 uint16 LastChange;
9381 [Description (
9382 "When a change is made to the Log, the date/time of "
9383 "that modification is captured. This property could be "
9384 "used to event against any update to the MessageLog.") ]
9385 datetime TimeOfLastChange;
9386 [Description (
9387 "When a change is made to the Log, the record number that "
9388 mike 1.2 "was modified is captured.") ]
9389 uint64 RecordLastChanged;
9390 [Description (
9391 "Boolean indicating that the Log is currently frozen and "
9392 "modifications are not allowed.") ]
9393 boolean IsFrozen;
9394 [Description (
9395 "An enumeration describing the character set used to record "
9396 "data in the individual Log entries. For example, the "
9397 "Log records may contain ASCII data (value=2), or be raw octet "
9398 "strings (value=10)."),
9399 Values {"Unknown", "Other", "ASCII", "Unicode", "ISO2022",
9400 "ISO8859", "Extended UNIX Code", "UTF-8", "UCS-2",
9401 "Bitmapped Data", "OctetString",
9402 "Defined by Individual Records"} ]
9403 uint16 CharacterSet;
9404 [Description (
9405 "Requests that the MessageLog be cleared of all entries. "
9406 "The return value should be 0 if the request was successfully "
9407 "executed, 1 if the request is not supported and some other "
9408 "value if an error occurred. If the request is not supported, "
9409 mike 1.2 "check the Capabilities array that a value of 6 (\"Clear Log "
9410 "Supported\") is specified.\n\n"
9411 "Note: In a subclass, the set of possible return codes could "
9412 "be described using a ValueMap qualifier on the method. The "
9413 "strings to which the ValueMap contents are 'translated' may "
9414 "also be specified in the subclass as a Values array "
9415 "qualifier.") ]
9416 uint32 ClearLog();
9417 [Description (
9418 "Requests that an iteration of the MessageLog be established "
9419 "and that the iterator be set to the first entry in the Log. "
9420 "An identifier for the iterator is returned as an output "
9421 "parameter of the method.\n\n"
9422 "Regarding iteration, you have 2 choices: 1) Embed iteration "
9423 "data in the method call, and allow implementations to track/"
9424 "store this data manually; or, 2) Iterate using a separate "
9425 "object (for example, class ActiveIterator) as an iteration "
9426 "agent. The first approach is used here for interoperability. "
9427 "The second requires an instance of the Iterator object for "
9428 "EACH iteration in progress. 2's functionality could be "
9429 "implemented underneath 1.\n\n"
9430 mike 1.2 "The return value from PositionToFirstRecord should be 0 if "
9431 "the request was successfully executed, 1 if the request is "
9432 "not supported and some other value if an error occurred. In "
9433 "a subclass, the set of possible return codes could be specified, "
9434 "using a ValueMap qualifier on the method. The strings to which "
9435 "the ValueMap contents are 'translated' may also be specified "
9436 "in the subclass as a Values array qualifier.") ]
9437 uint32 PositionToFirstRecord (
9438 [OUT] string IterationIdentifier);
9439 [Description (
9440 "Requests that the Log's iteration identifier be advanced or "
9441 "retreated a specific number of records, or set to the "
9442 "entry at a specified numeric location. These two different "
9443 "behaviors are accomplished using the input parameters of the "
9444 "method. Advancing or retreating is achieved by setting the "
9445 "MoveAbsolute boolean to FALSE, and then specifying the number of "
9446 "entries to advance or retreat as positive or negative values "
9447 "in the RecordNumber parameter. Moving to a specific record "
9448 "number is accomplished by setting the MoveAbsolute input "
9449 "parameter to TRUE, and then placing the record number into "
9450 "the RecordNumber parameter. This can only be done if the "
9451 mike 1.2 "Capabilities array includes a value of 7, \"Supports "
9452 "Addressing by Ordinal Record Number\".\n\n"
9453 "After the method completes and if ordinal record numbers are "
9454 "supported (the Capabilities array includes a 7), the current "
9455 "record number is returned in the RecordNumber output parameter. "
9456 "Otherwise, the value of the parameter is undefined.\n\n"
9457 "IterationIdentifier is defined as an Input/Output method "
9458 "parameter to allow the Log to embed state information in "
9459 "the Identifier and potentially let the identifier be "
9460 "maintained by the using application.\n\n"
9461 "The return value from PositionAtRecord should be 0 if "
9462 "the request was successfully executed, 1 if the request is "
9463 "not supported and some other value if an error occurred. If "
9464 "the request is not supported, check the Capabilities array "
9465 "regarding support for ordinal record number addressing and "
9466 "backward movement in the Log (values 7 and 4, respectively).\n\n"
9467 "Note: In a subclass, the set of possible return codes could "
9468 "be described using a ValueMap qualifier on the method. The "
9469 "strings to which the ValueMap contents are 'translated' may "
9470 "also be specified in the subclass as a Values array "
9471 "qualifier.") ]
9472 mike 1.2 uint32 PositionAtRecord (
9473 [IN, OUT] string IterationIdentifier,
9474 [IN, Description ("Advancing or retreating the IterationIdentifier "
9475 "is achieved by setting the MoveAbsolute boolean to FALSE, and "
9476 "specifying the number of entries to advance or retreat as "
9477 "positive or negative values in the RecordNumber parameter. "
9478 "Moving to a specific record number is accomplished by setting "
9479 "the MoveAbsolute parameter to TRUE, and placing the record "
9480 "number into the RecordNumber parameter.") ]
9481 boolean MoveAbsolute,
9482 [IN, OUT] sint64 RecordNumber);
9483 [Description (
9484 "Requests that the record indicated by the IterationIdentifier "
9485 "be retrieved from the MessageLog. After retrieval, the Iteration"
9486 "Identifier may be advanced to the next record by setting the "
9487 "PositionToNext input parameter to TRUE. Two output parameters "
9488 "are defined for the method - RecordData which holds the contents "
9489 "of the Log entry (as an array of bytes that can be recast to an "
9490 "appropriate format), and RecordNumber which returns the current "
9491 "record number addressed via the IterationIdentifier. The "
9492 "RecordNumber parameter is only defined/valid when the "
9493 mike 1.2 "Capabilities array indicates that ordinal record number "
9494 "addressing is supported (a value of 7).\n\n"
9495 "IterationIdentifier is defined as an Input/Output method "
9496 "parameter to allow the Log to embed state information in "
9497 "the Identifier and potentially let the identifier be "
9498 "maintained by the using application.\n\n"
9499 "The return value from GetRecord should be 0 if the request "
9500 "was successfully executed, 1 if the request is not supported, "
9501 "and some other value if an error occurred. In a subclass, the "
9502 "set of possible return codes could be specified, using a "
9503 "ValueMap qualifier on the method. The strings to which the "
9504 "ValueMap contents are 'translated' may also be specified in "
9505 "the subclass as a Values array qualifier.") ]
9506 uint32 GetRecord (
9507 [IN, OUT] string IterationIdentifier,
9508 [IN, Description ("Boolean indicating that the Iteration"
9509 "Identifier should be advanced to the next record, after "
9510 "retrieving the current Log entry.") ]
9511 boolean PositionToNext,
9512 [OUT] uint64 RecordNumber,
9513 [OUT] uint8 RecordData[]);
9514 mike 1.2 [Description (
9515 "Requests that the record indicated by the IterationIdentifier "
9516 "be deleted from the MessageLog. After deletion, the Iteration"
9517 "Identifier may be advanced to the next record by setting the "
9518 "PositionToNext input parameter to TRUE. If set to FALSE, then "
9519 "the IterationIdentifier will be positioned at the previous "
9520 "record. Two output parameters are defined for the method - "
9521 "RecordData which holds the contents of the deleted Log entry "
9522 "(as an array of bytes that can be recast to an appropriate "
9523 "format or discarded), and RecordNumber which returns the current "
9524 "record number addressed via the IterationIdentifier. The "
9525 "RecordNumber parameter is only defined/valid when the "
9526 "Capabilities array indicates that ordinal record number "
9527 "addressing is supported (a value of 7).\n\n"
9528 "IterationIdentifier is defined as an Input/Output method "
9529 "parameter to allow the Log to embed state information in "
9530 "the Identifier and potentially let the identifier be "
9531 "maintained by the using application.\n\n"
9532 "The return value from DeleteRecord should be 0 if the request "
9533 "was successfully executed, 1 if the request is not supported, "
9534 "and some other value if an error occurred. If the request is "
9535 mike 1.2 "not supported, check the Capabilities array that a value of 3 "
9536 "(\"Delete Record Supported\") is specified.\n\n"
9537 "Note: In a subclass, the set of possible return codes could "
9538 "be described using a ValueMap qualifier on the method. The "
9539 "strings to which the ValueMap contents are 'translated' may "
9540 "also be specified in the subclass as a Values array "
9541 "qualifier.") ]
9542 uint32 DeleteRecord (
9543 [IN, OUT] string IterationIdentifier,
9544 [IN, Description ("Boolean that when set to TRUE requests the "
9545 "IterationIdentifier to be advanced to the next record, "
9546 "after the current entry is deleted. If set to FALSE, "
9547 "IterationIdentifier is set to the previous record.") ]
9548 boolean PositionToNext,
9549 [OUT] uint64 RecordNumber,
9550 [OUT] uint8 RecordData[]);
9551 [Description (
9552 "Requests that a record be inserted at the Log position "
9553 "indicated by the IterationIdentifier. The entry's data is "
9554 "provided in the RecordData input parameter. After insertion, "
9555 "the IterationIdentifier may be advanced to the next record "
9556 mike 1.2 "by setting the PositionToNext input parameter to TRUE. "
9557 "The output parameter, RecordNumber, returns the current "
9558 "record number addressed via the IterationIdentifier. This "
9559 "parameter is only defined/valid when the Capabilities array "
9560 "indicates that ordinal record number addressing is supported "
9561 "(a value of 7).\n\n"
9562 "IterationIdentifier is defined as an Input/Output method "
9563 "parameter to allow the Log to embed state information in "
9564 "the Identifier and potentially let the identifier be "
9565 "maintained by the using application.\n\n"
9566 "The return value from WriteRecord should be 0 if the request "
9567 "was successfully executed, 1 if the request is not supported, "
9568 "and some other value if an error occurred. If the request is "
9569 "not supported, check the Capabilities array that a value of 2 "
9570 "(\"Write Record Supported\") is specified.\n\n"
9571 "Note: In a subclass, the set of possible return codes could "
9572 "be described using a ValueMap qualifier on the method. The "
9573 "strings to which the ValueMap contents are 'translated' may "
9574 "also be specified in the subclass as a Values array "
9575 "qualifier.") ]
9576 uint32 WriteRecord (
9577 mike 1.2 [IN, OUT] string IterationIdentifier,
9578 [IN, Description ("Boolean indicating that the Iteration"
9579 "Identifier should be advanced to the next record, after "
9580 "writing the Log entry.") ] boolean PositionToNext,
9581 [IN] uint8 RecordData[],
9582 [OUT] uint64 RecordNumber);
9583 [Description (
9584 "Requests that an iteration of the Log, identified by the "
9585 "IterationIdentifier input parameter, be stopped. The "
9586 "return value from CancelIteration should be 0 if the "
9587 "request was successfully executed, 1 if the request is "
9588 "not supported and some other value if an error occurred. In "
9589 "a subclass, the set of possible return codes could be "
9590 "specified, using a ValueMap qualifier on the method. The "
9591 "strings to which the ValueMap contents are 'translated' "
9592 "may also be specified in the subclass as a Values array "
9593 "qualifier.") ]
9594 uint32 CancelIteration (
9595 [IN] string IterationIdentifier);
9596 [Description (
9597 "Requests that the MessageLog be placed in a frozen state "
9598 mike 1.2 "(\"Freeze\" input parameter = TRUE) or 'unfrozen' (= FALSE). "
9599 "If frozen, modifications to the Log will not be allowed. "
9600 "If successful, the Log's IsFrozen boolean property will "
9601 "be updated to reflect the desired state.\n\n"
9602 "The method's return code should be 0 if the request was "
9603 "successfully executed, 1 if the request is not supported "
9604 "and some other value if an error occurred. If the request "
9605 "is not supported, check the Capabilities array that a value "
9606 "of 5 (\"Freeze Log Supported\") is specified.\n\n"
9607 "Note: In a subclass, the set of possible return codes could "
9608 "be described using a ValueMap qualifier on the method. The "
9609 "strings to which the ValueMap contents are 'translated' may "
9610 "also be specified in the subclass as a Values array "
9611 "qualifier.") ]
9612 uint32 FreezeLog(
9613 [IN] boolean Freeze);
9614 [Description (
9615 "Requests that the record indicated by the IterationIdentifier "
9616 "be flagged as overwriteable. This method is only supported "
9617 "when the Capabilities array includes a value of 10, \"Can Flag "
9618 "Records for Overwrite\". After updating the entry, the Iteration"
9619 mike 1.2 "Identifier may be advanced to the next record by setting the "
9620 "PositionToNext input parameter to TRUE. One output parameter "
9621 "is defined for the method RecordNumber. It returns the "
9622 "current record number addressed via the Iteration"
9623 "Identifier. This parameter is only defined/valid when the "
9624 "Capabilities array indicates that ordinal record number "
9625 "addressing is supported (a value of 7).\n\n"
9626 "IterationIdentifier is defined as an Input/Output method "
9627 "parameter to allow the Log to embed state information in "
9628 "the Identifier and potentially let the identifier be "
9629 "maintained by the using application.\n\n"
9630 "The return value from FlagRecordForOverwrite should be 0 if "
9631 "the request was successfully executed, 1 if the request is not "
9632 "supported, and some other value if an error occurred. In a "
9633 "subclass, the set of possible return codes could be specified, "
9634 "using a ValueMap qualifier on the method. The strings to which "
9635 "the ValueMap contents are 'translated' may also be specified "
9636 "in the subclass as a Values array qualifier.") ]
9637 uint32 FlagRecordForOverwrite (
9638 [IN, OUT] string IterationIdentifier,
9639 [IN, Description ("Boolean indicating that the Iteration"
9640 mike 1.2 "Identifier should be advanced to the next record, after "
9641 "updating the current Log entry.") ]
9642 boolean PositionToNext,
9643 [OUT] uint64 RecordNumber);
9644 };
9645
9646
9647 // ===================================================================
9648 // LogRecord
9649 // ===================================================================
9650 [Description (
9651 "The LogRecord object can describe the definitional format for "
9652 "entries in a MessageLog, or can be used to instantiate the "
9653 "actual records in the Log. The latter approach provides a "
9654 "great deal more semantic definition and management control over "
9655 "the individual entries in a MessageLog, than do the record "
9656 "manipulation methods of the Log class. It is recommended that "
9657 "the data in individual Log entries be modeled using subclasses "
9658 "of LogRecord, to avoid the creation of LogRecords with one "
9659 "property (such as RecordData) without semantics.\n"
9660 "Definitional formats for LogRecords could be specified by "
9661 mike 1.2 "establishing a naming convention for the RecordID and Message"
9662 "Timestamp key properties.") ]
9663 class CIM_LogRecord : CIM_ManagedElement {
9664 [Propagated("CIM_MessageLog.CreationClassName"),
9665 Key, MaxLen (256),
9666 Description ("The scoping Log's CreationClassName.") ]
9667 string LogCreationClassName;
9668 [Propagated("CIM_MessageLog.Name"),
9669 Key, MaxLen (256),
9670 Description ("The scoping Log's Name.") ]
9671 string LogName;
9672 [Key, MaxLen (256),
9673 Description (
9674 "CreationClassName indicates the name of the class or "
9675 "the subclass used in the creation of an instance. When "
9676 "used with the other key properties of this class, this "
9677 "property allows all instances of this class and its "
9678 "subclasses to be uniquely identified.") ]
9679 string CreationClassName;
9680 [Key, MaxLen (256),
9681 Description (
9682 mike 1.2 "RecordID, with the MessageTimestamp property, serve to "
9683 "uniquely identify the LogRecord within a MessageLog. Note "
9684 "that this property is different than the RecordNumber "
9685 "parameters of the MessageLog methods. The latter are ordinal "
9686 "values only, useful to track position when iterating through "
9687 "a Log. On the other hand, RecordID is truly an identifier "
9688 "for an instance of LogRecord. It may be set to the record's "
9689 "ordinal position, but this is not required.") ]
9690 string RecordID;
9691 [Key, Description (
9692 "A LogRecord's key structure includes a timestamp for "
9693 "the entry.") ]
9694 datetime MessageTimestamp;
9695 [Description (
9696 "A free-form string describing the LogRecord's data structure.") ]
9697 string DataFormat;
9698 };
9699
9700
9701 // ===================================================================
9702 // RecordInLog
9703 mike 1.2 // ===================================================================
9704 [Association, Aggregation, Description (
9705 "RecordInLog describes the aggregation or location of Log "
9706 "entries within a MessageLog.") ]
9707 class CIM_RecordInLog {
9708 [Key, Aggregate, Min (1), Max (1),
9709 Description ("The Message Log.") ]
9710 CIM_MessageLog REF MessageLog;
9711 [Key, Weak, Description (
9712 "The Log entry contained within the MessageLog.") ]
9713 CIM_LogRecord REF LogRecord;
9714 };
9715
9716
9717 // ===================================================================
9718 // LogInDeviceFile
9719 // ===================================================================
9720 [Association, Description (
9721 "MessageLogs can reside in data files, on specially allocated "
9722 "storage areas such as disks or memory, or output as raw I/O "
9723 "streams. In fact, a single Log may use each of these mechanisms "
9724 mike 1.2 "to output or capture its contents. The LogInDeviceFile "
9725 "association describes a Log outputting to a raw I/O stream "
9726 "DeviceFile - for example, a serial port on a UNIX system.") ]
9727 class CIM_LogInDeviceFile : CIM_Dependency {
9728 [Override ("Antecedent"), Description (
9729 "The I/O stream DeviceFile.") ]
9730 CIM_DeviceFile REF Antecedent;
9731 [Override ("Dependent"),
9732 Description ("The MessageLog outputting to the DeviceFile.") ]
9733 CIM_MessageLog REF Dependent;
9734 };
9735
9736
9737 // ===================================================================
9738 // LogInDataFile
9739 // ===================================================================
9740 [Association, Description (
9741 "MessageLogs can reside in data files, on specially allocated "
9742 "storage areas such as disks or memory, or output as raw I/O "
9743 "streams. In fact, a single Log may use each of these mechanisms "
9744 "to output or capture its contents. The LogInDataFile "
9745 mike 1.2 "association describes a Log stored as a DataFile.") ]
9746 class CIM_LogInDataFile : CIM_Dependency {
9747 [Override ("Antecedent"), Description (
9748 "The DataFile.") ]
9749 CIM_DataFile REF Antecedent;
9750 [Override ("Dependent"),
9751 Description ("The MessageLog residing in the DataFile.") ]
9752 CIM_MessageLog REF Dependent;
9753 };
9754
9755
9756 // ===================================================================
9757 // LogInStorage
9758 // ===================================================================
9759 [Association, Description (
9760 "MessageLogs can reside in data files, on specially allocated "
9761 "storage areas such as disks or memory, or output as raw I/O "
9762 "streams. In fact, a single Log may use each of these mechanisms "
9763 "to output or capture its contents. The LogInStorage "
9764 "association describes a Log located in a specially allocated "
9765 "portion of a StorageExtent. The offset of the Log, within "
9766 mike 1.2 "the Extent, is defined using a property of the association, "
9767 "StartingOffset.") ]
9768 class CIM_LogInStorage : CIM_Dependency {
9769 [Override ("Antecedent"), Description ("The StorageExtent.") ]
9770 CIM_StorageExtent REF Antecedent;
9771 [Override ("Dependent"),
9772 Description ("The MessageLog located within the Extent.") ]
9773 CIM_MessageLog REF Dependent;
9774 [Description (
9775 "StartingOffset indicates where in the Extent that the Log "
9776 "begins.") ]
9777 uint64 StartingOffset;
9778 };
9779
9780
9781 // ===================================================================
9782 // UseOfMessageLog
9783 // ===================================================================
9784 [Association, Description (
9785 "ManagedSystemElements may record their event, error or "
9786 "informational data within MessageLogs. The use of a Log to "
9787 mike 1.2 "hold a ManagedSystemElement's data is described by this "
9788 "association. The type of Element data captured by the Log "
9789 "can be specified using the RecordedData string property.") ]
9790 class CIM_UseOfMessageLog : CIM_Dependency {
9791 [Override ("Antecedent"), Description ("The MessageLog.") ]
9792 CIM_MessageLog REF Antecedent;
9793 [Override ("Dependent"), Description (
9794 "The ManagedSystemElement whose information is recorded in "
9795 "the MessageLog.") ]
9796 CIM_ManagedSystemElement REF Dependent;
9797 [Description (
9798 "A free-form string describing the use of the Log by the "
9799 "ManagedSystemElement.") ]
9800 string RecordedData;
9801 };
9802
9803 // ==================================================================
9804 // Pragmas for new classes in premliminary release status
9805 // ==================================================================
9806
9807 #pragma include ("CIM_Device26_Add.mof")
9808 mike 1.2
9809
9810 // ===================================================================
9811 // end of file
9812 // ===================================================================
9813
|