(file) Return to Device_DeviceElements.mof CVS log (file) (dir) Up to [Pegasus] / pegasus / Schemas / CIMPrelim291

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2