Changeset 59704 in vbox for trunk/include/VBox
- Timestamp:
- Feb 16, 2016 2:13:25 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vusb.h
r59700 r59704 684 684 * @param pInterface Pointer to this struct. 685 685 * @param DstAddress The destination address of the URB. 686 * @param pDev Optional device pointer the URB is for. 686 687 * @param enmType Type of the URB. 687 688 * @param enmDir Data transfer direction. … … 690 691 * @param pszTag Custom URB tag assigned by the caller, only for 691 692 * logged builds and optional. 692 */ 693 DECLR3CALLBACKMEMBER(PVUSBURB, pfnNewUrb,(PVUSBIROOTHUBCONNECTOR pInterface, uint8_t DstAddress, VUSBXFERTYPE enmType, 694 VUSBDIRECTION enmDir, uint32_t cbData, uint32_t cTds, const char *pszTag)); 693 * 694 * @note pDev should be NULL in most cases. The only useful case is for USB3 where 695 * it is required for the SET_ADDRESS request because USB3 uses unicast traffic. 696 */ 697 DECLR3CALLBACKMEMBER(PVUSBURB, pfnNewUrb,(PVUSBIROOTHUBCONNECTOR pInterface, uint8_t DstAddress, PVUSBIDEVICE pDev, 698 VUSBXFERTYPE enmType, VUSBDIRECTION enmDir, uint32_t cbData, uint32_t cTds, const char *pszTag)); 699 700 /** 701 * Free an URB not submitted yet. 702 * 703 * @returns VBox status code. 704 * @param pInterface Pointer to this struct. 705 * @param pUrb Pointer to the URB to free returned by VUSBIROOTHUBCONNECTOR::pfnNewUrb. 706 */ 707 DECLR3CALLBACKMEMBER(int, pfnFreeUrb, (PVUSBIROOTHUBCONNECTOR pInterface, PVUSBURB pUrb)); 695 708 696 709 /** … … 778 791 } VUSBIROOTHUBCONNECTOR; 779 792 /** VUSBIROOTHUBCONNECTOR interface ID. */ 780 #define VUSBIROOTHUBCONNECTOR_IID " 481d7f23-f180-4fde-b636-094253eaf537"793 #define VUSBIROOTHUBCONNECTOR_IID "a593cc64-a821-4e57-af2d-f86b2a052ea4" 781 794 782 795 … … 789 802 790 803 /** @copydoc VUSBIROOTHUBCONNECTOR::pfnNewUrb */ 791 DECLINLINE(PVUSBURB) VUSBIRhNewUrb(PVUSBIROOTHUBCONNECTOR pInterface, uint32_t DstAddress, VUSBXFERTYPE enmType, 792 VUSBDIRECTION enmDir, uint32_t cbData, uint32_t cTds, const char *pszTag) 793 { 794 return pInterface->pfnNewUrb(pInterface, DstAddress, enmType, enmDir, cbData, cTds, pszTag); 804 DECLINLINE(PVUSBURB) VUSBIRhNewUrb(PVUSBIROOTHUBCONNECTOR pInterface, uint32_t DstAddress, PVUSBIDEVICE pDev, 805 VUSBXFERTYPE enmType, VUSBDIRECTION enmDir, uint32_t cbData, uint32_t cTds, const char *pszTag) 806 { 807 return pInterface->pfnNewUrb(pInterface, DstAddress, pDev, enmType, enmDir, cbData, cTds, pszTag); 808 } 809 810 /** @copydoc VUSBIROOTHUBCONNECTOR::pfnSubmitUrb */ 811 DECLINLINE(int) VUSBIRhFreeUrb(PVUSBIROOTHUBCONNECTOR pInterface, PVUSBURB pUrb) 812 { 813 return pInterface->pfnFreeUrb(pInterface, pUrb); 795 814 } 796 815 … … 948 967 } VUSBIDEVICE; 949 968 /** VUSBIDEVICE interface ID. */ 950 #define VUSBIDEVICE_IID " 79a31188-043d-432c-82ac-9485c9ab9a49"969 #define VUSBIDEVICE_IID "af576b38-e8ca-4db7-810a-2596d8d57ca0" 951 970 952 971 … … 1115 1134 /** Private controller emulation specific TD data. */ 1116 1135 typedef struct VUSBURBHCITDINT *PVUSBURBHCITD; 1136 /** Private VUSB/roothub related state for the associated URB. */ 1137 typedef struct VUSBURBVUSBINT *PVUSBURBVUSB; 1117 1138 1118 1139 /** … … 1143 1164 #endif 1144 1165 1145 /** The VUSB data. */ 1146 struct VUSBURBVUSB 1147 { 1148 /** URB chain pointer. */ 1149 PVUSBURB pNext; 1150 /** URB chain pointer. */ 1151 PVUSBURB *ppPrev; 1152 /** Pointer to the original for control messages. */ 1153 PVUSBURB pCtrlUrb; 1154 /** Pointer to the VUSB device. 1155 * This may be NULL if the destination address is invalid. */ 1156 struct VUSBDEV *pDev; 1157 /** Specific to the pfnFree function. */ 1158 void *pvFreeCtx; 1159 /** 1160 * Callback which will free the URB once it's reaped and completed. 1161 * @param pUrb The URB. 1162 */ 1163 DECLCALLBACKMEMBER(void, pfnFree)(PVUSBURB pUrb); 1164 /** Submit timestamp. (logging only) */ 1165 uint64_t u64SubmitTS; 1166 /** The allocated data length. */ 1167 uint32_t cbDataAllocated; 1168 /** Opaque data holder when this is a read-ahead URB. */ 1169 void *pvReadAhead; 1170 } VUsb; 1171 1166 /** The VUSB stack private data. */ 1167 PVUSBURBVUSB pVUsb; 1172 1168 /** Private host controller data associated with this URB. */ 1173 1169 PVUSBURBHCI pHci;
Note:
See TracChangeset
for help on using the changeset viewer.