1 karl 1.1 // ===================================================================
2 // Title: Device Elements 2.7
3 // Filename: Device27_Elements.mof
4 // Version: 2.7.0
5 // Release: Preliminary
6 // Date: 07/30/02
7 // ===================================================================
8 // Copyright 2002 Distributed Management Task Force, Inc. (DMTF).
9 // All rights reserved.
10 // DMTF is a not-for-profit association of industry members dedicated
11 // to promoting enterprise and systems management and interoperability.
12 // DMTF specifications and documents may be reproduced for uses
13 // consistent with this purpose by members and non-members,
14 // provided that correct attribution is given.
15 // As DMTF specifications may be revised from time to time,
16 // the particular version and release date should always be noted.
17 //
18 // Implementation of certain elements of this standard or proposed
19 // standard may be subject to third party patent rights, including
20 // provisional patent rights (herein "patent rights"). DMTF makes
21 // no representations to users of the standard as to the existence
22 karl 1.1 // of such rights, and is not responsible to recognize, disclose, or
23 // identify any or all such third party patent right, owners or
24 // claimants, nor for any incomplete or inaccurate identification or
25 // disclosure of such rights, owners or claimants. DMTF shall have no
26 // liability to any party, in any manner or circumstance, under any
27 // legal theory whatsoever, for failure to recognize, disclose, or
28 // identify any such third party patent rights, or for such party's
29 // reliance on the standard or incorporation thereof in its product,
30 // protocols or testing procedures. DMTF shall have no liability to
31 // any party implementing such standard, whether such implementation
32 // is foreseeable or not, nor to any patent owner or claimant, and shall
33 // have no liability or responsibility for costs or losses incurred if
34 // a standard is withdrawn or modified after publication, and shall be
35 // indemnified and held harmless by any party implementing the
36 // standard from any and all claims of infringement by a patent owner
37 // for such implementations.
38 //
39 // For information about patents held by third-parties which have
40 // notified the DMTF that, in their opinion, such patent may relate to
41 // or impact implementations of DMTF standards, visit
42 // http://www.dmtf.org/about/policies/disclosures.php.
43 karl 1.1 // ===================================================================
44 // Description: The Device Model extends the management concepts that
45 // are related to LogicalDevices. This file defines the
46 // basic concepts that generally apply to all devices,
47 // such as error statistics and connections between devices.
48 //
49 // The object classes below are listed in an order that
50 // avoids forward references. Required objects, defined
51 // by other working groups, are omitted.
52 // ==================================================================
53 // Change Log for v2.7
54 // CR621 - Add PackageDependency
55 // CR622 - Fix the DMI mapping string to include the attribute number
56 // DeviceErrorCounts.CriticalErrorCount, .MajorErrorCount, &
57 // .WarningCount
58 // CR721 - Add DeviceErrorCountData that is part of the new statistics
59 // hierarchy
60 // ==================================================================
61
62 #pragma locale ("en_US")
63
64 karl 1.1
65 // ===================================================================
66 // DeviceConnection
67 // ===================================================================
68 [Association, Version ("2.6.0"), Description (
69 "The DeviceConnection relationship indicates that two or more "
70 "Device are connected together.") ]
71 class CIM_DeviceConnection : CIM_Dependency {
72
73 [Override ("Antecedent"),
74 Description ("A LogicalDevice.") ]
75 CIM_LogicalDevice REF Antecedent;
76
77 [Override ("Dependent"),
78 Description (
79 "A second LogicalDevice connected to the Antecedent "
80 "Device.") ]
81 CIM_LogicalDevice REF Dependent;
82
83 [Description (
84 "When several bus and/or connection speeds are possible, the "
85 karl 1.1 "NegotiatedSpeed property defines the one in use between the "
86 "Devices. Speed is specified in bits per second. If "
87 "connection or bus speeds are not negotiated, or if this "
88 "information is not available/important to Device management, "
89 "the property should be set to 0."),
90 Units ("Bits per Second"),
91 MappingStrings {"MIF.DMTF|Bus Port Association|001.2"} ]
92 uint64 NegotiatedSpeed;
93
94 [Description (
95 "When several bus and/or connection data widths are possible, "
96 "the NegotiatedDataWidth property defines the one in use "
97 "between the Devices. Data width is specified in bits. If "
98 "data width is not negotiated, or if this information is not "
99 "available/important to Device management, the property should "
100 "be set to 0."),
101 Units ("Bits"),
102 MappingStrings {"MIF.DMTF|Bus Port Association|001.3"} ]
103 uint32 NegotiatedDataWidth;
104 };
105
106 karl 1.1
107 // ===================================================================
108 // DeviceIdentity
109 // ===================================================================
110 [Association, Version ("2.6.0"), Description (
111 "CIM_DeviceIdentity indicates that two LogicalDevices "
112 "represent different aspects of the same underlying entity. "
113 "This association refines the CIM_LogicalIdentity superclass "
114 "by restricting it to the Device level and defining its use in "
115 "well understood scenarios. One of these scenarios is to "
116 "represent that a Device is both a 'bus' entity and a "
117 "'functional' entity. For example, a Device could be both a PCI "
118 "Device (or a USB Device), as well as a CIM_Keyboard. The other "
119 "scenario is where a Device plays multiple functional roles "
120 "that can not be distinguished by their hardware realization "
121 "alone. For example, a Fibre Channel adapter might have aspects "
122 "of both a NetworkAdapter and a SCSIController.") ]
123 class CIM_DeviceIdentity: CIM_LogicalIdentity {
124
125 [Override ("SystemElement"),
126 Description (
127 karl 1.1 "SystemElement represents one aspect of the Device.") ]
128 CIM_LogicalDevice ref SystemElement;
129
130 [Override ("SameElement"),
131 Description (
132 "SameElement represents an alternate aspect of "
133 "the System entity.") ]
134 CIM_LogicalDevice ref SameElement;
135 };
136
137
138 // ==================================================================
139 // PackageDependency
140 // ==================================================================
141 [Association, Version ("2.6.0"), Description (
142 "A LogicalDevice is installed in a Package such as "
143 "a Chassis or a Rack, not for a specific Device, but to "
144 "function with the Package in general. This relationship "
145 "is described by the PackageDependency association.") ]
146 class CIM_PackageDependency : CIM_Dependency {
147
148 karl 1.1 [Override ("Antecedent"), Description (
149 "The Logical Device for the Package.")]
150 CIM_LogicalDevice REF Antecedent;
151
152 [Override ("Dependent"), Description (
153 "The PhysicalPackage whose environment is affected.")]
154 CIM_PhysicalPackage REF Dependent;
155 };
156
157
158 // ===================================================================
159 // DeviceSoftware
160 // ===================================================================
161 [Association, Version ("2.6.0"), Description (
162 "The DeviceSoftware relationship identifies any software that "
163 "is associated with a Device - such as drivers, configuration "
164 "or application software, or firmware.") ]
165 class CIM_DeviceSoftware : CIM_Dependency {
166
167 [Override ("Antecedent"), Description (
168 "The SoftwareElement.") ]
169 karl 1.1 CIM_SoftwareElement REF Antecedent;
170
171 [Override ("Dependent"), Description (
172 "The LogicalDevice that requires or uses the software.") ]
173 CIM_LogicalDevice REF Dependent;
174
175 [Description (
176 "An enumerated integer to indicate the role this software "
177 "plays in regards to its associated Device. For example, this "
178 "software could be instrumentation (value=5) or firmware (6)."),
179 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8"},
180 Values {"Unknown", "Other", "Driver", "Configuration Software",
181 "Application Software", "Instrumentation", "Firmware",
182 "BIOS", "Boot ROM"},
183 ModelCorrespondence {"CIM_DeviceSoftware.PurposeDescription"},
184 MappingStrings {"MIF.DMTF|SubComponent Software|001.2"} ]
185 uint16 Purpose;
186
187 [Description (
188 "A free-form string to provide more information for "
189 "the Purpose property, e.g. \"Application Software\"."),
190 karl 1.1 ModelCorrespondence {"CIM_DeviceSoftware.Purpose"} ]
191 string PurposeDescription;
192
193 [Description (
194 "Boolean indicating that the software is 'burned into' or "
195 "otherwise located on the hardware of the LogicalDevice.") ]
196 boolean LoadedOnDevice;
197
198 [Description (
199 "Boolean indicating whether the software is upgradeable, "
200 "when it is LoadedOnDevice. Software that is loaded as "
201 "part of the OperatingSystem is typically changeable and "
202 "upgradeable. However, when DeviceSoftware is burned into "
203 "EEPROM or a chip that Realizes the LogicalDevice, then "
204 "it may not be upgradeable. This property indicates the "
205 "ability to update and upgrade DeviceSoftware.") ]
206 boolean UpgradeableOnDevice;
207 };
208
209
210 // ==================================================================
211 karl 1.1 // DeviceErrorCounts
212 // ==================================================================
213 [Version ("2.7.0"), Description (
214 "DeviceErrorCounts is a statistical class containing error-"
215 "related counters for a LogicalDevice. The types of errors "
216 "are as defined by CCITT (Rec X.733) and ISO (IEC 10164-4). "
217 "Note that the CIM_DeviceErrorCountData class uses a "
218 "simplified naming/identity algorithm as compared to this class. "
219 "DeviceErrorCounts is not deprecated since its naming algorithm "
220 "is still in use in various implementations.") ]
221 class CIM_DeviceErrorCounts : CIM_StatisticalInformation {
222
223 [Propagated ("CIM_LogicalDevice.SystemCreationClassName"),
224 Key, MaxLen (256), Description (
225 "The scoping System's CreationClassName. ") ]
226 string SystemCreationClassName;
227
228 [Propagated ("CIM_LogicalDevice.SystemName"),
229 Key, MaxLen (256), Description (
230 "The scoping System's Name. ") ]
231 string SystemName;
232 karl 1.1
233 [Propagated ("CIM_LogicalDevice.CreationClassName"),
234 Key, MaxLen (256), Description (
235 "The scoping Device's CreationClassName. ") ]
236 string DeviceCreationClassName;
237
238 [Propagated ("CIM_LogicalDevice.DeviceID"),
239 Key, MaxLen (64), Description (
240 "The scoping Device's ID. ") ]
241 string DeviceID;
242
243 [Override ("Name"),
244 Key, MaxLen (256), Description (
245 "The inherited Name serves as part of the key for the "
246 "DeviceErrorCounts instance. The object is scoped by "
247 "the LogicalDevice to which the statistics apply. ") ]
248 string Name;
249
250 [Description ("Count of the indeterminate errors. "),
251 Counter ]
252 uint64 IndeterminateErrorCount;
253 karl 1.1
254 [Description ("Count of the critical errors. "),
255 MappingStrings {"MIF.DMTF|Operational State|006.7"},
256 Counter ]
257 uint64 CriticalErrorCount;
258
259 [Description ("Count of the major errors. "),
260 MappingStrings {"MIF.DMTF|Operational State|006.8"},
261 Counter ]
262 uint64 MajorErrorCount;
263
264 [Description ("Count of the minor errors. "),
265 Counter ]
266 uint64 MinorErrorCount;
267
268 [Description ("Count of the warnings. "),
269 MappingStrings {"MIF.DMTF|Operational State|006.9"},
270 Counter ]
271 uint64 WarningCount;
272
273 [Description (
274 karl 1.1 "Method to reset the error and warning counters. The method "
275 "takes one parameter as input - an integer indicating which "
276 "counter to reset. For this input parameter, 0 indicates all, "
277 "1 indicates a reset of the indeterminate error counter, "
278 "2 the critical error counter, 3 the major error counter, "
279 "4 the minor error counter and 5 the warning counter. The "
280 "method returns 0 if successful, 1 if not supported, and any "
281 "other value if an error occurred. A method is specified so "
282 "that the LogicalDevice's instrumentation, which tabulates "
283 "the errors and warnings, can also reset its internal "
284 "processing and counters. \n"
285 "In a subclass, the set of possible return codes could be "
286 "specified, using a ValueMap qualifier on the method. The "
287 "strings to which the ValueMap contents are 'translated' "
288 "may also be specified in the subclass as a Values "
289 "array qualifier.") ]
290 uint32 ResetCounter (
291 [IN,
292 ValueMap {"0", "1", "2", "3", "4", "5"},
293 Values {"All", "Indeterminate Error Counter",
294 "Critical Error Counter", "Major Error Counter",
295 karl 1.1 "Minor Error Counter", "Warning Counter"} ]
296 uint16 SelectedCounter);
297 };
298
299
300 // ==================================================================
301 // ErrorCountersForDevice
302 // ==================================================================
303 [Association, Version ("2.6.0"), Description (
304 "ErrorCountersForDevice relates the DeviceErrorCounts class "
305 "to the LogicalDevice to which it applies. ") ]
306 class CIM_ErrorCountersForDevice : CIM_Statistics {
307
308 [Override ("Stats"), Weak,
309 Description (
310 "The statistical object - in this case, the error counter "
311 "class.") ]
312 CIM_DeviceErrorCounts REF Stats;
313
314 [Override ("Element"), Min (1), Max (1),
315 Description ("The Device to which the error counters apply. ") ]
316 karl 1.1 CIM_LogicalDevice REF Element;
317 };
318
319
320 // ==================================================================
321 // DeviceErrorCountData
322 // ==================================================================
323 [Experimental, Version ("2.7.0"), Description (
324 "DeviceErrorCountData is a statistical class containing error-"
325 "related counters for a LogicalDevice. The types of errors "
326 "are as defined by CCITT (Rec X.733) and ISO (IEC 10164-4)."
327 "The element whose statistics are described is associated "
328 "using the relationship, ElementStatisticalData. Note that "
329 "this class uses a simplified identity/naming algorithm over "
330 "CIM_DeviceErrorCounts.") ]
331 class CIM_DeviceErrorCountData : CIM_StatisticalData {
332
333 [Description ("Count of the indeterminate errors. "),
334 Counter ]
335 uint64 IndeterminateErrorCount;
336
337 karl 1.1 [Description ("Count of the critical errors. "),
338 MappingStrings {"MIF.DMTF|Operational State|006.7"},
339 Counter ]
340 uint64 CriticalErrorCount;
341
342 [Description ("Count of the major errors. "),
343 MappingStrings {"MIF.DMTF|Operational State|006.8"},
344 Counter ]
345 uint64 MajorErrorCount;
346
347 [Description ("Count of the minor errors. "),
348 Counter ]
349 uint64 MinorErrorCount;
350
351 [Description ("Count of the warnings. "),
352 MappingStrings {"MIF.DMTF|Operational State|006.9"},
353 Counter ]
354 uint64 WarningCount;
355 };
356
357
358 karl 1.1 // ===================================================================
359 // end of file
360 // ===================================================================
|