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