13#ifndef _USB_HOSTCONTROLLER_H_
14#define _USB_HOSTCONTROLLER_H_
18#define EFI_USB_HC_PROTOCOL_GUID \
20 0xf5089266, 0x1aa0, 0x4953, {0x97, 0xd8, 0x56, 0x2f, 0x8a, 0x73, 0xb5, 0x19 } \
126 IN UINT8 DeviceAddress,
127 IN BOOLEAN IsSlowDevice,
128 IN UINT8 MaximumPacketLength,
134 OUT UINT32 *TransferResult
172 IN UINT8 DeviceAddress,
173 IN UINT8 EndPointAddress,
174 IN UINT8 MaximumPacketLength,
177 IN OUT UINT8 *DataToggle,
179 OUT UINT32 *TransferResult
228 IN UINT8 DeviceAddress,
229 IN UINT8 EndPointAddress,
230 IN BOOLEAN IsSlowDevice,
231 IN UINT8 MaxiumPacketLength,
232 IN BOOLEAN IsNewTransfer,
233 IN OUT UINT8 *DataToggle,
280 IN UINT8 DeviceAddress,
281 IN UINT8 EndPointAddress,
282 IN BOOLEAN IsSlowDevice,
283 IN UINT8 MaximumPacketLength,
286 IN OUT UINT8 *DataToggle,
288 OUT UINT32 *TransferResult
323 IN UINT8 DeviceAddress,
324 IN UINT8 EndPointAddress,
325 IN UINT8 MaximumPacketLength,
328 OUT UINT32 *TransferResult
366 IN UINT8 DeviceAddress,
367 IN UINT8 EndPointAddress,
368 IN UINT8 MaximumPacketLength,
390 OUT UINT8 *PortNumber
499extern EFI_GUID gEfiUsbHcProtocolGuid;
EFI_STATUS(EFIAPI * EFI_USB_HC_PROTOCOL_GET_ROOTHUB_PORT_NUMBER)(IN EFI_USB_HC_PROTOCOL *This, OUT UINT8 *PortNumber)
EFI_STATUS(EFIAPI * EFI_USB_HC_PROTOCOL_ISOCHRONOUS_TRANSFER)(IN EFI_USB_HC_PROTOCOL *This, IN UINT8 DeviceAddress, IN UINT8 EndPointAddress, IN UINT8 MaximumPacketLength, IN OUT VOID *Data, IN UINTN DataLength, OUT UINT32 *TransferResult)
EFI_STATUS(EFIAPI * EFI_USB_HC_PROTOCOL_SYNC_INTERRUPT_TRANSFER)(IN EFI_USB_HC_PROTOCOL *This, IN UINT8 DeviceAddress, IN UINT8 EndPointAddress, IN BOOLEAN IsSlowDevice, IN UINT8 MaximumPacketLength, IN OUT VOID *Data, IN OUT UINTN *DataLength, IN OUT UINT8 *DataToggle, IN UINTN TimeOut, OUT UINT32 *TransferResult)
EFI_STATUS(EFIAPI * EFI_USB_HC_PROTOCOL_ASYNC_ISOCHRONOUS_TRANSFER)(IN EFI_USB_HC_PROTOCOL *This, IN UINT8 DeviceAddress, IN UINT8 EndPointAddress, IN UINT8 MaximumPacketLength, IN OUT VOID *Data, IN UINTN DataLength, IN EFI_ASYNC_USB_TRANSFER_CALLBACK IsochronousCallBack, IN VOID *Context OPTIONAL)
EFI_STATUS(EFIAPI * EFI_USB_HC_PROTOCOL_CLEAR_ROOTHUB_PORT_FEATURE)(IN EFI_USB_HC_PROTOCOL *This, IN UINT8 PortNumber, IN EFI_USB_PORT_FEATURE PortFeature)
EFI_STATUS(EFIAPI * EFI_USB_HC_PROTOCOL_GET_STATE)(IN EFI_USB_HC_PROTOCOL *This, OUT EFI_USB_HC_STATE *State)
EFI_STATUS(EFIAPI * EFI_USB_HC_PROTOCOL_CONTROL_TRANSFER)(IN EFI_USB_HC_PROTOCOL *This, IN UINT8 DeviceAddress, IN BOOLEAN IsSlowDevice, IN UINT8 MaximumPacketLength, IN EFI_USB_DEVICE_REQUEST *Request, IN EFI_USB_DATA_DIRECTION TransferDirection, IN OUT VOID *Data OPTIONAL, IN OUT UINTN *DataLength OPTIONAL, IN UINTN TimeOut, OUT UINT32 *TransferResult)
EFI_STATUS(EFIAPI * EFI_USB_HC_PROTOCOL_SET_STATE)(IN EFI_USB_HC_PROTOCOL *This, IN EFI_USB_HC_STATE State)
EFI_STATUS(EFIAPI * EFI_USB_HC_PROTOCOL_GET_ROOTHUB_PORT_STATUS)(IN EFI_USB_HC_PROTOCOL *This, IN UINT8 PortNumber, OUT EFI_USB_PORT_STATUS *PortStatus)
EFI_STATUS(EFIAPI * EFI_USB_HC_PROTOCOL_SET_ROOTHUB_PORT_FEATURE)(IN EFI_USB_HC_PROTOCOL *This, IN UINT8 PortNumber, IN EFI_USB_PORT_FEATURE PortFeature)
EFI_STATUS(EFIAPI * EFI_USB_HC_PROTOCOL_RESET)(IN EFI_USB_HC_PROTOCOL *This, IN UINT16 Attributes)
EFI_STATUS(EFIAPI * EFI_USB_HC_PROTOCOL_ASYNC_INTERRUPT_TRANSFER)(IN EFI_USB_HC_PROTOCOL *This, IN UINT8 DeviceAddress, IN UINT8 EndPointAddress, IN BOOLEAN IsSlowDevice, IN UINT8 MaxiumPacketLength, IN BOOLEAN IsNewTransfer, IN OUT UINT8 *DataToggle, IN UINTN PollingInterval OPTIONAL, IN UINTN DataLength OPTIONAL, IN EFI_ASYNC_USB_TRANSFER_CALLBACK CallBackFunction OPTIONAL, IN VOID *Context OPTIONAL)
EFI_STATUS(EFIAPI * EFI_USB_HC_PROTOCOL_BULK_TRANSFER)(IN EFI_USB_HC_PROTOCOL *This, IN UINT8 DeviceAddress, IN UINT8 EndPointAddress, IN UINT8 MaximumPacketLength, IN OUT VOID *Data, IN OUT UINTN *DataLength, IN OUT UINT8 *DataToggle, IN UINTN TimeOut, OUT UINT32 *TransferResult)
EFI_STATUS(EFIAPI * EFI_ASYNC_USB_TRANSFER_CALLBACK)(IN VOID *Data, IN UINTN DataLength, IN VOID *Context, IN UINT32 Status)