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

  1 tony  1.1 // ===================================================================
  2           // Title:       Device USB 2.8
  3           // Filename:    Device28_USB.mof
  4           // Version:     2.8
  5           // Status:      Final
  6           // Date:        Jan 26, 2004
  7           // ===================================================================
  8           // Copyright 2000-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
 46           //              the modeling constructs to manage USB devices.
 47           // 
 48           //              The object classes below are listed in an order that
 49           //              avoids forward references. Required objects, defined
 50           //              by other working groups, are omitted.
 51           // ==================================================================
 52           // Change Log for v2.8 - None
 53           // 
 54           // Change Log for v2.7 - None
 55           // ==================================================================
 56           
 57           #pragma locale ("en_US")
 58           
 59           
 60           // ===================================================================
 61           // USBDevice
 62           // ===================================================================
 63              [Version ( "2.6.0" ), Description (
 64 tony  1.1        "The management characterisitics of a USB Device.")]
 65           class CIM_USBDevice : CIM_LogicalDevice {
 66           
 67                 [Description (
 68                     "Indicates the latest USB Version supported by the USB "
 69                     "Device. The property is expressed as a Binary-Coded Decimal "
 70                     "(BCD) where a decimal point is implied between the 2nd and "
 71                     "3rd digits. For example, a value of 0x201 indicates that "
 72                     "version 2.01 is supported.")]
 73              uint16 USBVersion;
 74           
 75                 [Description (
 76                     "Indicates the USB class code.")]
 77              uint8 ClassCode;
 78           
 79                 [Description (
 80                     "Indicates the USB subclass code.")]
 81              uint8 SubclassCode;
 82           
 83                 [Description (
 84                     "Indicates the USB protocol code.")]
 85 tony  1.1    uint8 ProtocolCode;
 86           
 87                 [Description (
 88                     "Number of device configurations that are defined for the "
 89                     "Device.")]
 90              uint8 NumberOfConfigs;
 91           
 92                 [Description (
 93                     "Indicates the configuration currently selected for the "
 94                     "Device. If this value is zero, the Device is unconfigured."), 
 95                  ModelCorrespondence { "CIM_USBDevice.CurrentAlternateSettings" }]
 96              uint8 CurrentConfigValue;
 97           
 98                 [Description (
 99                     "An array of USB 'alternate settings' for each interface in "
100                     "the currently selected configuration (indicated by the "
101                     "CurrentConfigValue property). This array has one entry for "
102                     "each interface in the configuration. If the property, "
103                     "CurrentConfigValue, is zero (indicating the Device is not "
104                     "configured), the array is undefined. To understand how to "
105                     "parse this octet string, refer to the USB Specification."), 
106 tony  1.1        ModelCorrespondence { "CIM_USBDevice.CurrentConfigValue" }]
107              uint8 CurrentAlternateSettings[];
108           
109                 [Description (
110                     "This method returns the USBDevice Descriptor as specified "
111                     "by the input parameters. Each parameter is briefly "
112                     "described here with more detail in its Qualifier list. "
113                     "RequestType is an input parameter that defines whether the "
114                     "request is for standard, class or vendor-specific "
115                     "information, as well as specifying the recipient. "
116                     "RequestValue is also an input parameter and defines the USB "
117                     "Descriptor Type and Index. RequestIndex is an input "
118                     "parameter which describes the language used to return a "
119                     "string Descriptor. RequestLength is both an input and "
120                     "output parameter. It specifies the length of the Descriptor "
121                     "that should be returned (on input) and what is actually "
122                     "returned in the Buffer parameter (on output). Buffer is an "
123                     "output parameter, containing the Descriptor data. The "
124                     "GetDescriptor method returns an integer value of 0 if the "
125                     "USB Descriptor is successfully returned, 1 if the request "
126                     "is not supported and any other number to indicate an error. "
127 tony  1.1           "\nIn a subclass, the set of possible return codes could be "
128                     "specified, using a ValueMap qualifier on the method. The "
129                     "strings to which the ValueMap contents are 'translated' may "
130                     "also be specified in the subclass as a Values array "
131                     "qualifier.")]
132              uint32 GetDescriptor( 
133                    [IN, Description (
134                        "RequestType is bit-mapped and identifies the type of "
135                        "Descriptor request and the recipient. The type of "
136                        "request may be 'standard', 'class' or 'vendor-specific'. "
137                        "The recipient may be 'device', 'interface', 'endpoint' "
138                        "or 'other'. Refer to the USB Specification for the "
139                        "appropriate values for each bit.")]
140                 uint8 RequestType, 
141                    [IN, Description (
142                        "RequestValue contains the Descriptor Type in the high "
143                        "byte and the Descriptor Index (for example, index or "
144                        "offset into the Descriptor array) in the low byte. Refer "
145                        "to the USB Specification for more information.")]
146                 uint16 RequestValue, 
147                    [IN, Description (
148 tony  1.1              "RequestIndex defines the 2 byte Language ID code used by "
149                        "the USBDevice when returning string Descriptor data. The "
150                        "parameter is typically 0 for non-string Descriptors. "
151                        "Refer to the USB Specification for more information.")]
152                 uint16 RequestIndex, 
153                    [IN, OUT, Description (
154                        "On input, RequestLength is the length (in octets) of the "
155                        "Descriptor that should be returned. If this value is "
156                        "less than the actual length of the Descriptor, only the "
157                        "requested length will be returned. If it is more than "
158                        "the actual length, the actual length is returned. On "
159                        "output, this parameter is the length, in octets, of the "
160                        "Buffer being returned. If the requested Descriptor does "
161                        "not exist, the contents of this parameter are undefined.")]
162                 uint16 RequestLength, 
163                    [IN ( false ), OUT, Description (
164                        "Buffer returns the requested Descriptor information. If "
165                        "the Descriptor does not exist, the contents of the "
166                        "Buffer are undefined.")]
167                 uint8 Buffer[]); 
168           };
169 tony  1.1 
170           
171           // ===================================================================
172           // USBHub
173           // ===================================================================
174              [Version ( "2.6.0" ), Description (
175                  "USB Hub Device.")]
176           class CIM_USBHub : CIM_USBDevice {
177           
178                 [Description (
179                     "Indicates whether power to the Hub Ports is individually or "
180                     "gang-switched. If this value is FALSE, power is switched "
181                     "individually for each Port. If this value is TRUE, power is "
182                     "switched to all Ports on the Hub at once.")]
183              boolean GangSwitched;
184           
185                 [Description (
186                     "Number of downstream Ports on the Hub, including those "
187                     "embedded in the Hub's silicon. Individual USBPorts are "
188                     "associated with the Hub using the USBPortOnHub association.")]
189              uint8 NumberOfPorts;
190 tony  1.1 };
191           
192           
193           // ===================================================================
194           // USBPort
195           // ===================================================================
196              [Version ( "2.6.0" ), Description (
197                  "A Port on a USBHub.")]
198           class CIM_USBPort : CIM_LogicalPort {
199           
200                 [Override ( "Speed" ), Description (
201                     "USB Port Speed in bits per second. This speed is determined "
202                     "and set by the attached Device. The 'attached Device' is "
203                     "indicated using the USBConnection association. At this "
204                     "time, only several Port speeds are valid. These are: "
205                     "1.5Mbps and 12Mbps. The value 0 can also be specified to "
206                     "indicate that the current speed is 'unknown' or 1 to "
207                     "indicate that the speed is 'other' than 1.5 or 12Mbps."), 
208                  ValueMap { "0", "1", "1500000", "12000000" }]
209              uint64 Speed;
210           
211 tony  1.1       [Override ( "StatusInfo" ), Description (
212                     "Indicates whether the Port is currently enabled."), 
213                  ValueMap { "2", "3", "4" }, 
214                  Values { "Unknown", "Enabled", "Disabled" }]
215              uint16 StatusInfo;
216           
217                 [Override ( "Availability" ), Description (
218                     "Indicates whether the Port is currently Powered."), 
219                  ValueMap { "2", "3", "7" }, 
220                  Values { "Unknown", "Running/Full Power", "Power Off" }]
221              uint16 Availability;
222           
223                 [Description (
224                     "The USB Port's power capability. The current specification "
225                     "defines that 1 or 5 loads can be supported (values 2 or 3 "
226                     "would be specified, respectively)."), 
227                  ValueMap { "0", "1", "2", "3" }, 
228                  Values { "Unknown", "Other", "1 Unit Load", "5 Unit Loads" }]
229              uint16 Power;
230           
231                 [Description (
232 tony  1.1           "Indicates whether the Port is currently Suspended.")]
233              boolean Suspended;
234           
235                 [Description (
236                     "Indicates whether the Port is disabled due to an "
237                     "overcurrent event.")]
238              boolean Overcurrent;
239           };
240           
241           
242           // ===================================================================
243           // USBPortOnHub
244           // ===================================================================
245              [Association, Version ( "2.6.0" ), Description (
246                  "USBPortOnHub associates a USBPort or connection point with the "
247                  "USBHub that includes it.")]
248           class CIM_USBPortOnHub : CIM_PortOnDevice {
249           
250                 [Override ( "Antecedent" ), Min ( 1 ), Max ( 1 ), Description (
251                     "The Hub that includes the USBPort.")]
252              CIM_USBHub REF Antecedent;
253 tony  1.1 
254                 [Override ( "Dependent" ), Min ( 1 ), Description (
255                     "The Port on the USBHub.")]
256              CIM_USBPort REF Dependent;
257           };
258           
259           
260           // ===================================================================
261           // USBControllerHasHub
262           // ===================================================================
263              [Association, Version ( "2.6.0" ), Description (
264                  "USBControllerHasHub defines the Hub(s) that are downstream of "
265                  "the USBController.")]
266           class CIM_USBControllerHasHub : CIM_ControlledBy {
267           
268                 [Override ( "Antecedent" ), Min ( 1 ), Max ( 1 ), Description (
269                     "The USBController.")]
270              CIM_USBController REF Antecedent;
271           
272                 [Override ( "Dependent" ), Min ( 1 ), Description (
273                     "The USBHub that is associated with the Controller.")]
274 tony  1.1    CIM_USBHub REF Dependent;
275           };
276           
277           
278           // ===================================================================
279           // USBConnection
280           // ===================================================================
281              [Association, Version ( "2.6.0" ), Description (
282                  "USBConnection associates a Device with the USBPort to which it "
283                  "is connected.")]
284           class CIM_USBConnection : CIM_DeviceConnection {
285           
286                 [Override ( "Antecedent" ), Max ( 1 ), Description (
287                     "The USBPort.")]
288              CIM_USBPort REF Antecedent;
289           
290                 [Override ( "Dependent" ), Max ( 1 ), Description (
291                     "The USBDevice that is connected to the Port.")]
292              CIM_USBDevice REF Dependent;
293           };
294           
295 tony  1.1 
296           // ===================================================================
297           // end of file
298           // ===================================================================

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2