Intel Extensible Firmware Interface Network Router User Manual


  Open as PDF
of 1084
 
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.