Efi_usb_hc_protocol.asyncinterrupttransfer(), Asyncinterrupttransfer() – Intel Extensible Firmware Interface User Manual
Page 556

Extensible Firmware Interface Specification
14-16 12/01/02
Version
1.10
EFI_USB_HC_PROTOCOL.AsyncInterruptTransfer()
Summary
Submits an asynchronous interrupt transfer to an interrupt endpoint of a USB device.
Prototype
typedef
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
MaximumPacketLength,
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
);
Parameters
This
A pointer to the
instance. Type
EFI_USB_HC_PROTOCOL
is defined in Section 14.1.
DeviceAddress
Represents the address of the target device on the USB, which is
assigned during USB enumeration.
EndPointAddress
The combination of an endpoint number and an endpoint
direction of the target USB device. Each endpoint address
supports data transfer in one direction except the control
endpoint (whose default endpoint address is zero). It is the
caller’s responsibility to make sure that the
EndPointAddress
represents an interrupt endpoint.
IsSlowDevice
Indicates whether the target device is slow device or full-speed
device.
MaximumPacketLength
Indicates the maximum packet size the target endpoint is capable
of sending or receiving.
IsNewTransfer
If
TRUE
, an asynchronous interrupt pipe is built between the host
and the target interrupt endpoint. If
FALSE
, the specified
asynchronous interrupt pipe is canceled.