Intel Extensible Firmware Interface Network Router User Manual


  Open as PDF
of 1084
 
Protocols USB Support
Version 1.10 12/01/02 14-45
EFI_USB_IO_PROTOCOL.UsbAsyncInterruptTransfer()
Summary
This function is used to manage a USB device with an interrupt transfer pipe. An Asynchronous
Interrupt Transfer is typically used to query a devices status at a fixed rate. For example,
keyboard, mouse, and hub devices use this type of transfer to query their interrupt endpoints at
a fixed rate.
Prototype
typedef
EFI_STATUS
(EFIAPI *EFI_USB_IO_ASYNC_INTERRUPT_TRANSFER) (
IN EFI_USB_IO_PROTOCOL *This,
IN UINT8 DeviceEndpoint,
IN BOOLEAN IsNewTransfer,
IN UINTN PollingInterval OPTIONAL,
IN UINTN DataLength OPTIONAL,
IN EFI_ASYNC_USB_TRANSFER_CALLBACK InterruptCallBack OPTIONAL,
IN VOID *Context OPTIONAL
);
Parameters
This A pointer to the EFI_USB_IO_PROTOCOL instance. Type
EFI_USB_IO_PROTOCOL is defined in Section 14.2.5.
DeviceEndpoint The destination USB device endpoint to which the device request
is being sent. DeviceEndpoint must be between 0x01 and
0x0F or between 0x81 and 0x8F, otherwise
EFI_INVALID_PARAMETER is returned. If the endpoint is not
an INTERRUPT endpoint, EFI_INVALID_PARAMETER is
returned. The MSB of this parameter indicates the endpoint
direction. The number 1 stands for an IN endpoint, and 0
stands for an OUT endpoint.
IsNewTransfer If TRUE, a new transfer will be submitted to USB controller. If
FALSE, the interrupt transfer is deleted from the devices interrupt
transfer queue.
PollingInterval Indicates the periodic rate, in milliseconds, that the transfer is to be
executed. This parameter is required when IsNewTransfer is
TRUE. The value must be between 1 to 255, otherwise
EFI_INVALID_PARAMETER is returned. The units are in
milliseconds.
DataLength Specifies the length, in bytes, of the data to be received from the
USB device. This parameter is only required when
IsNewTransfer is TRUE.
Context Data passed to the InterruptCallback function. This is an
optional parameter and may be NULL.