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