beautypg.com

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

Page 556

background image

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

EFI_USB_HC_PROTOCOL

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.