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

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2