/** @file\r
\r
-Copyright (c) 2007, Intel Corporation\r
+Copyright (c) 2007 - 2008, Intel Corporation\r
All rights reserved. This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
\r
#include <Protocol/BlockIo.h>\r
#include <Protocol/UsbIo.h>\r
+#include <Protocol/DevicePath.h>\r
\r
#include <Library/DebugLib.h>\r
#include <Library/BaseMemoryLib.h>\r
#include <Library/UefiBootServicesTableLib.h>\r
#include <Library/UefiLib.h>\r
#include <Library/MemoryAllocationLib.h>\r
+#include <Library/DevicePathLib.h>\r
\r
#define USB_IS_IN_ENDPOINT(EndPointAddr) (((EndPointAddr) & 0x80) == 0x80)\r
#define USB_IS_OUT_ENDPOINT(EndPointAddr) (((EndPointAddr) & 0x80) == 0)\r
EFI_STATUS\r
(*USB_MASS_INIT_TRANSPORT) (\r
IN EFI_USB_IO_PROTOCOL *Usb,\r
- IN EFI_HANDLE Controller,\r
OUT VOID **Context OPTIONAL\r
);\r
\r
IN EFI_USB_DATA_DIRECTION DataDir,\r
IN VOID *Data,\r
IN UINT32 DataLen,\r
+ IN UINT8 Lun,\r
IN UINT32 Timeout,\r
OUT UINT32 *CmdStatus\r
);\r
IN BOOLEAN ExtendedVerification\r
);\r
\r
+typedef\r
+EFI_STATUS\r
+(*USB_MASS_GET_MAX_LUN) (\r
+ IN VOID *Context,\r
+ IN UINT8 *MaxLun\r
+ );\r
+\r
typedef\r
EFI_STATUS\r
(*USB_MASS_FINI) (\r
USB_MASS_INIT_TRANSPORT Init; // Initialize the mass storage transport protocol\r
USB_MASS_EXEC_COMMAND ExecCommand; // Transport command to the device then get result\r
USB_MASS_RESET Reset; // Reset the device\r
+ USB_MASS_GET_MAX_LUN GetMaxLun; // Get max lun, only for bot\r
USB_MASS_FINI Fini; // Clean up the resources.\r
} USB_MASS_TRANSPORT;\r
\r