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

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2