Efi_usb_io_protocol.usbsyncinterrupttransfer(), Usbsyncinterrupttransfer(), Func – Intel Extensible Firmware Interface User Manual

Page 588

Advertising
background image

Extensible Firmware Interface Specification

14-48 12/01/02

Version

1.10

EFI_USB_IO_PROTOCOL.UsbSyncInterruptTransfer()

Summary

This function is used to manage a USB device with an interrupt transfer pipe. The difference
between

UsbAsyncInterruptTransfer()

and

UsbSyncInterruptTransfer()

is that

the Synchronous interrupt transfer will only be executed one time. Once it returns, regardless of its
status, the interrupt request will be deleted in the system.

Prototype

typedef
EFI_STATUS
(EFIAPI *EFI_USB_IO_SYNC_INTERRUPT_TRANSFER) (
IN EFI_USB_IO_PROTOCOL

*This,

IN UINT8

DeviceEndpoint,

IN OUT VOID

*Data,

IN OUT UINTN

*DataLength,

IN UINTN

Timeout,

OUT UINT32

*Status

);

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.

Data

A pointer to the buffer of data that will be transmitted to USB
device or received from USB device.

DataLength

On input, then size, in bytes, of the buffer

Data

. On output, the

amount of data actually transferred.

Timeout

The time out, in seconds, for this transfer. If

Timeout

is 0, then

the caller must wait for the function to be completed until

EFI_SUCCESS

or

EFI_DEVICE_ERROR

is returned. If the

transfer is not completed in this time frame, then

EFI_TIMEOUT

is returned.

Status

This parameter indicates the USB transfer status.

Advertising