Changeset 26965 in vbox
- Timestamp:
- Mar 2, 2010 6:16:45 PM (15 years ago)
- svn:sync-xref-src-repo-rev:
- 58260
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Input/UsbMouse.cpp
r26935 r26965 990 990 } 991 991 992 case VUSB_REQ_GET_STATUS: 993 { 994 uint16_t wRet = 0; 995 996 if (pSetup->wLength != 2) 997 { 998 Log(("usbHid: Bad GET_STATUS req: wLength=%#x\n", pSetup->wLength)); 999 break; 1000 } 1001 Assert(pSetup->wValue == 0); 1002 switch (pSetup->bmRequestType) 1003 { 1004 case VUSB_TO_DEVICE | VUSB_REQ_STANDARD | VUSB_DIR_TO_HOST: 1005 { 1006 Assert(pSetup->wIndex == 0); 1007 Log(("usbHid: GET_STATUS (device)\n")); 1008 wRet = 0; /* Not self-powered, no remote wakeup. */ 1009 memcpy(&pUrb->abData[sizeof(*pSetup)], &wRet, sizeof(wRet)); 1010 return usbHidCompleteOk(pThis, pUrb, sizeof(wRet) + sizeof(*pSetup)); 1011 } 1012 1013 case VUSB_TO_INTERFACE | VUSB_REQ_STANDARD | VUSB_DIR_TO_HOST: 1014 { 1015 if (pSetup->wIndex == 0) 1016 { 1017 memcpy(&pUrb->abData[sizeof(*pSetup)], &wRet, sizeof(wRet)); 1018 return usbHidCompleteOk(pThis, pUrb, sizeof(wRet) + sizeof(*pSetup)); 1019 } 1020 else 1021 { 1022 Log(("usbHid: GET_STATUS (interface) invalid, wIndex=%#x\n", pSetup->wIndex)); 1023 } 1024 break; 1025 } 1026 1027 case VUSB_TO_ENDPOINT | VUSB_REQ_STANDARD | VUSB_DIR_TO_HOST: 1028 { 1029 if (pSetup->wIndex < RT_ELEMENTS(pThis->aEps)) 1030 { 1031 wRet = pThis->aEps[pSetup->wIndex].fHalted ? 1 : 0; 1032 memcpy(&pUrb->abData[sizeof(*pSetup)], &wRet, sizeof(wRet)); 1033 return usbHidCompleteOk(pThis, pUrb, sizeof(wRet) + sizeof(*pSetup)); 1034 } 1035 else 1036 { 1037 Log(("usbHid: GET_STATUS (endpoint) invalid, wIndex=%#x\n", pSetup->wIndex)); 1038 } 1039 break; 1040 } 1041 1042 default: 1043 Log(("usbHid: Bad GET_STATUS req: bmRequestType=%#x\n", pSetup->bmRequestType)); 1044 return usbHidCompleteStall(pThis, pEp, pUrb, "Bad GET_STATUS"); 1045 } 1046 break; 1047 } 1048 992 1049 case VUSB_REQ_CLEAR_FEATURE: 993 1050 break;
Note:
See TracChangeset
for help on using the changeset viewer.