10#ifndef _EFI_USBMASS_H_
11#define _EFI_USBMASS_H_
37#define USB_IS_IN_ENDPOINT(EndPointAddr) (((EndPointAddr) & BIT7) == BIT7)
38#define USB_IS_OUT_ENDPOINT(EndPointAddr) (((EndPointAddr) & BIT7) == 0)
39#define USB_IS_BULK_ENDPOINT(Attribute) (((Attribute) & (BIT0 | BIT1)) == USB_ENDPOINT_BULK)
40#define USB_IS_INTERRUPT_ENDPOINT(Attribute) (((Attribute) & (BIT0 | BIT1)) == USB_ENDPOINT_INTERRUPT)
41#define USB_IS_ERROR(Result, Error) (((Result) & (Error)) != 0)
43#define USB_MASS_1_MILLISECOND 1000
44#define USB_MASS_1_SECOND (1000 * USB_MASS_1_MILLISECOND)
46#define USB_MASS_CMD_SUCCESS 0
47#define USB_MASS_CMD_FAIL 1
48#define USB_MASS_CMD_PERSISTENT 2
117 IN BOOLEAN ExtendedVerification
176 BOOLEAN OpticalStorage;
EFI_STATUS(* USB_MASS_EXEC_COMMAND)(IN VOID *Context, IN VOID *Cmd, IN UINT8 CmdLen, IN EFI_USB_DATA_DIRECTION DataDir, IN VOID *Data, IN UINT32 DataLen, IN UINT8 Lun, IN UINT32 Timeout, OUT UINT32 *CmdStatus)
EFI_STATUS(* USB_MASS_CLEAN_UP)(IN VOID *Context)
EFI_STATUS(* USB_MASS_GET_MAX_LUN)(IN VOID *Context, IN UINT8 *MaxLun)
EFI_STATUS(* USB_MASS_RESET)(IN VOID *Context, IN BOOLEAN ExtendedVerification)
EFI_STATUS(* USB_MASS_INIT_TRANSPORT)(IN EFI_USB_IO_PROTOCOL *Usb, OUT VOID **Context OPTIONAL)
UINT8 Pdt
Peripheral Device Type.
UINT8 Lun
Logical Unit Number.
USB_MASS_TRANSPORT * Transport
USB mass storage transport protocol.
USB_MASS_GET_MAX_LUN GetMaxLun
Get max lun, only for bot.
USB_MASS_INIT_TRANSPORT Init
Initialize the mass storage transport protocol.
USB_MASS_RESET Reset
Reset the device.
USB_MASS_CLEAN_UP CleanUp
Clean up the resources.
USB_MASS_EXEC_COMMAND ExecCommand
Transport command to the device then get result.