Changeset 43960 in vbox
- Timestamp:
- Nov 26, 2012 12:01:53 PM (12 years ago)
- svn:sync-xref-src-repo-rev:
- 82305
- Location:
- trunk
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vusb.h
r37807 r43960 55 55 #define VUSB_DT_OTHER_SPEED_CFG 0x07 56 56 #define VUSB_DT_INTERFACE_POWER 0x08 57 #define VUSB_DT_INTERFACE_ASSOCIATION 0x0B 57 58 /** @} */ 58 59 … … 163 164 164 165 /** 166 * USB interface association descriptor (from USB ECN Interface Association Descriptors) 167 */ 168 typedef struct VUSBDESCIAD 169 { 170 uint8_t bLength; 171 uint8_t bDescriptorType; 172 uint8_t bFirstInterface; 173 uint8_t bInterfaceCount; 174 uint8_t bFunctionClass; 175 uint8_t bFunctionSubClass; 176 uint8_t bFunctionProtocol; 177 uint8_t iFunction; 178 } VUSBDESCIAD; 179 /** Pointer to a USB interface association descriptor. */ 180 typedef VUSBDESCIAD *PVUSBDESCIAD; 181 /** Pointer to a readonly USB interface association descriptor. */ 182 typedef const VUSBDESCIAD *PCVUSBDESCIAD; 183 184 185 /** 165 186 * USB interface descriptor (from spec) 166 187 */ … … 257 278 * Core.bNumEndpoints in size. */ 258 279 const struct VUSBDESCENDPOINTEX *paEndpoints; 280 /** Interface association descriptor, which prepends a group of interfaces, 281 * starting with this interface. */ 282 PCVUSBDESCIAD pIAD; 283 /** Size of interface association descriptor. */ 284 uint16_t cbIAD; 259 285 } VUSBDESCINTERFACEEX; 260 286 /** Pointer to an prased USB interface descriptor. */ -
trunk/src/VBox/Devices/Input/UsbKbd.cpp
r40392 r43960 299 299 /* .pvClass = */ &g_UsbHidIfHidDesc, 300 300 /* .cbClass = */ sizeof(g_UsbHidIfHidDesc), 301 &g_aUsbHidEndpointDescs[0] 301 &g_aUsbHidEndpointDescs[0], 302 /* .pIAD = */ NULL, 303 /* .cbIAD = */ 0 302 304 }; 303 305 -
trunk/src/VBox/Devices/Input/UsbMouse.cpp
r43780 r43960 379 379 /* .pvClass = */ &g_UsbHidMIfHidDesc, 380 380 /* .cbClass = */ sizeof(g_UsbHidMIfHidDesc), 381 &g_aUsbHidMEndpointDescs[0] 381 &g_aUsbHidMEndpointDescs[0], 382 /* .pIAD = */ NULL, 383 /* .cbIAD = */ 0 382 384 }; 383 385 … … 398 400 /* .pvClass = */ &g_UsbHidTIfHidDesc, 399 401 /* .cbClass = */ sizeof(g_UsbHidTIfHidDesc), 400 &g_aUsbHidTEndpointDescs[0] 402 &g_aUsbHidTEndpointDescs[0], 403 /* .pIAD = */ NULL, 404 /* .cbIAD = */ 0 401 405 }; 402 406 -
trunk/src/VBox/Devices/Storage/UsbMsd.cpp
r43815 r43960 350 350 /* .pvClass = */ NULL, 351 351 /* .cbClass = */ 0, 352 &g_aUsbMsdEndpointDescsFS[0] 352 &g_aUsbMsdEndpointDescsFS[0], 353 /* .pIAD = */ NULL, 354 /* .cbIAD = */ 0 353 355 }; 354 356 … … 369 371 /* .pvClass = */ NULL, 370 372 /* .cbClass = */ 0, 371 &g_aUsbMsdEndpointDescsHS[0] 373 &g_aUsbMsdEndpointDescsHS[0], 374 /* .pIAD = */ NULL, 375 /* .cbIAD = */ 0 372 376 }; 373 377 -
trunk/src/VBox/Devices/USB/VUSBDevice.cpp
r37359 r43960 716 716 for (uint32_t j = 0; j < pIf->cSettings; j++) 717 717 { 718 cbTotal += pIf->paSettings[j].cbIAD; 718 719 cbTotal += pIf->paSettings[j].Core.bLength; 719 720 cbTotal += pIf->paSettings[j].cbClass; … … 743 744 PCVUSBDESCINTERFACEEX pIfDesc = &pIf->paSettings[j]; 744 745 746 COPY_DATA(pbBuf, cbLeft, pIfDesc->pIAD, pIfDesc->cbIAD); 745 747 COPY_DATA(pbBuf, cbLeft, pIfDesc, VUSB_DT_INTERFACE_MIN_LEN); 746 748 COPY_DATA(pbBuf, cbLeft, pIfDesc->pvMore, pIfDesc->Core.bLength - VUSB_DT_INTERFACE_MIN_LEN);
Note:
See TracChangeset
for help on using the changeset viewer.